CN112395419B - 文本分类模型的训练方法及装置、文本分类方法及装置 - Google Patents
文本分类模型的训练方法及装置、文本分类方法及装置 Download PDFInfo
- Publication number
- CN112395419B CN112395419B CN202110064739.9A CN202110064739A CN112395419B CN 112395419 B CN112395419 B CN 112395419B CN 202110064739 A CN202110064739 A CN 202110064739A CN 112395419 B CN112395419 B CN 112395419B
- Authority
- CN
- China
- Prior art keywords
- vector
- text
- label
- word
- classified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供文本分类模型的训练方法及装置、文本分类方法及装置,其中方法包括:根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合;将第一向量组和第二向量组集合输入词级注意力层,得到第三向量集合和第四向量集合,其中,第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与标签集中的标签数量相关;将第三向量集合和第四向量集合输入句级注意力层,得到与标签集相关的第一样本文本向量集;将第一样本文本向量集输入全连接层,得到第一样本文本的预测标签;基于预测标签和标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。上述方法提高了文本分类模型的准确率。
Description
技术领域
本说明书涉及自然语言处理技术领域,特别涉及文本分类模型的训练方法及装置、文本分类方法及装置、计算设备、计算机可读存储介质及芯片。
背景技术
多标签文本分类不同于多标签分类,多标签分类是为一份待分类文本分配多个标签中的一个标签,而多标签文本分类是为每份待分类文本分配多个标签,因此,多标签文本分类是自然语言处理中既复杂又具有挑战性的任务。
现有技术在解决多标签文本分类的问题时,可以通过样本文本和样本标签组对待训练模型进行训练,得到文本分类模型,用于实现多标签文本分类。具体地,可以将样本文本和样本标签组输入待训练模型中,该模型可以是样本标签组中每个样本标签随机初始化一个标签向量,并将标签向量与样本文本中的词单元进行注意力计算,以确定样本标签组中每个标签是样本文本的预测标签的概率,进而得到样本文本的预测标签组,并根据预测标签组和样本标签组对该模型进行训练,以得到文本分类模型。
但上述方式中,标签向量是随机初始化得到且与整个标签对应的,与标签中的词单元没有关系,即与标签的语义没有关系,因此,通过上述方式无法确定样本文本的与不同标签相关的样本文本向量之间的差异性,使得训练得到的模型的准确率较低,因此需要更简单更便捷的方法对文本分类模型进行训练,以得到准确率更高的文本分类模型。
发明内容
有鉴于此,本说明书实施例提供了一种文本分类模型的训练方法及装置、文本分类方法及装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种文本分类模型的训练方法,包括:
根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本;
将所述第一向量组和第二向量组集合输入词级注意力层,得到第三向量集合和第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集;
将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签;
基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。
根据本说明书实施例的第二方面,提供了一种文本分类方法,包括:
获取待分类文本和标签集;
将所述待分类文本和所述标签集输入文本分类模型的编码层,得到所述待分类文本的第一向量组和所述标签集的第二向量组集合,其中,所述文本分类模型是通过上述第一方面所述的文本分类模型的训练方法训练得到的;
将所述第一向量组和所述第二向量组集合输入词级注意力层,得到所述待分类文本的第三向量集合和所述标签集的第四向量集合,其中,所述第三向量集合和所述第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集;
将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。
根据本说明书实施例的第三方面,提供了一种文本分类模型的训练装置,包括:
第一确定模块,用于根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本;
第一注意力计算模块,用于将所述第一向量组和第二向量组集合输入词级注意力层,得到第三向量集合和第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
第二注意力计算模块,用于将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集;
预测模块,用于将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签;
训练模块,用于基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。
根据本说明书实施例的第四方面,提供了一种文本分类装置,包括:
获取模块,用于获取待分类文本和标签集;
编码模块,用于将所述待分类文本和所述标签集输入文本分类模型的编码层,得到所述待分类文本的第一向量组和所述标签集的第二向量组集合,其中,所述文本分类模型是通过上述第一方面所述的文本分类模型的训练方法训练得到的;
第三注意力计算模块,用于将所述第一向量组和所述第二向量组集合输入词级注意力层,得到所述待分类文本的第三向量集合和所述标签集的第四向量集合,其中,所述第三向量集合和所述第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
第四注意力计算模块,用于将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集;
第二确定模块,用于将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。
根据本说明书实施例的第五方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现上述第一方面所述的文本分类模型的训练方法的步骤,或者,实现上述第二方面所述的文本分类方法的步骤。
根据本说明书实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述第一方面所述的文本分类模型的训练方法的步骤,或者,实现上述第二方面所述的文本分类方法的步骤。
根据本说明书实施例的第七方面,提供了一种芯片,其存储有计算机指令,该指令被芯片执行时实现上述第一方面所述的文本分类模型的训练方法的步骤,或者,实现上述第二方面所述的文本分类方法的步骤。
本说明书提供的文本分类模型的训练方法,根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本;将所述第一向量组和第二向量组集合输入词级注意力层,得到第三向量集合和第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集;将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签;基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。上述方式通过词级注意力层,将标签的词单元与样本文本的词单元在词级进行注意力计算,而不是将整个标签和样本文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和样本文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和样本文本的相关性,以及不同的标签对应的样本文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
附图说明
图1是本说明书一实施例提供的一种计算设备的结构框图;
图2A是本说明书一实施例提供的一种文本分类模型的训练方法的流程图;
图2B是本说明书一实施例提供的一种文本分类模型的嵌入层和编码层的数据流向图;
图2C是本说明书一实施例提供的另一种文本分类模型的嵌入层和编码层的数据流向图;
图2D是本说明书一实施例提供的一种文本分类模型的层之间的数据流向图;
图3是本说明书一实施例提供的一种应用于文本分类任务中的文本分类模型的训练方法的处理流程图;
图4是本说明书一实施例提供的一种文本分类方法的流程图;
图5是本说明书一实施例提供的另一种文本分类方法的流程图;
图6A是本说明书一实施例提供的一种应用于文本分类任务中的文本分类方法的处理流程图;
图6B是本说明书一实施例提供的另一种文本分类模型的嵌入层和编码层的数据流向图;
图6C是本说明书一实施例提供的另一种文本分类模型的嵌入层和编码层的数据流向图;
图6D是本说明书一实施例提供的另一种文本分类模型的层之间的数据流向图;
图7是本说明书一实施例提供的一种文本分类模型的训练装置的结构示意图;
图8是本说明书一实施例提供的一种文本分类装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
编码层:Encoder Layer。对输入的文本进行编码处理的层,可以将文本从一种形式转换为另一种形式。在本申请中是指将文本的词向量转换为另一种向量形式。
嵌入层:Word Embedding Layer。用于对输入的文本进行嵌入式编码处理的层,可以通过一个映射或者一个函数生成文本在新的空间上的表达,该表达可以是文本的词向量。
词级注意力层:Word Attention Layer。可以包括注意力机制,以词单元为单位进行注意力计算。例如,对样本文本中每个词单元和标签中每个词单元进行注意力计算。
句级注意力层:Sentence Attention Layer。可以包括注意力机制,以句子为单位进行注意力计算。例如,对整个样本文本和整个标签进行注意力计算。
全连接层:Fully Connected Layer。
词向量:词的一种表示,是为了让计算机能够处理的一种表示。
词嵌入:是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量的处理过程。
词单元:对输入文本做任何实际处理前,都需要将其分割成诸如字、标点符号、数字或字母等语言单元,这些语言单元被称为词单元。对于英文文本,词单元可以是一个单词、一个标点符号、一个数字等;对于中文文本,最小的词单元可以是一个字、一个标点符号、一个数字等。
word2vec:进行词嵌入处理的一种方法,是Mikolov在Bengio Neural NetworkLanguage Model(NNLM)的基础上构建的一种高效的词向量训练方法。即通过使用该方法可以对文本进行词嵌入处理,得到文本的词向量。
双向LSTM结构:即双向LSTM(Long Short-Term Memory,长短期记忆网络)结构,可以认为是双向LSTM模型的模型结构,可以得到输入的文本结合上下文信息后的向量。
双向LSTM模型:是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。双向LSTM模型在确定当前词单元的新的向量表示时需要结合其之前的词单元的词向量和其之后的词单元的词向量,进而能够得到当前词单元结合上下文信息后的向量表示,该向量表示可以称为隐层向量。例如,预测一句话中缺失的单词不仅需要根据前文来判断,还需要考虑后面的内容,能够做到基于上下文判断。
隐层向量:词单元结合上下文信息后得到的向量表示,是一种向量表示形式。
注意力机制:在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息,上述机制通常被称为注意力机制。在神经网络模型中,注意力机制通过允许模型动态地关注有助于当前任务的输入的某些部分,可以提高对任务处理的效率。例如,在翻译任务中,输入序列中可能只有某些单词与预测下一个单词相关,因此可以通过关注这些单词来预测下一个单词,而不需要关注整个输入序列中所有的单词。
注意力计算:对于某个时刻的输出y,它在输入x上各个部分的注意力,这里的注意力也就是权重,即输入x的各个部分对某时刻输出y贡献的权重。
Label co-occurrence 矩阵:标签共现矩阵,用于表示标签集中标签与标签之间的相关性的矩阵。
神经网络模型:是借鉴了生物神经网络的工作原理形成的一种数学模型。
交叉熵损失函数(Cross Entropy Loss):用于度量两个概率分布间的差异性信息的函数。
第一词单元:在文本分类模型的模型训练阶段,第一词单元是指对样本文本进行分词处理后得到的词单元;在文本分类模型执行文本分类任务阶段,第一词单元是指对待分类文本进行分词处理后得到的词单元。
第二词单元:对标签进行分词处理后得到的词单元。
第一向量:在文本分类模型的模型训练阶段,第一向量是指样本文本中的第一词单元进行词嵌入处理后得到的向量;在文本分类模型执行文本分类任务阶段,第一向量是指对待分类文本的第一词单元进行词嵌入处理后得到的向量。
第一向量组:多个第一向量组成的向量组。
第二向量:标签中的第二词单元进行词嵌入处理后得到的向量。
第二向量组:多个第二向量组成的向量组。
第二向量组集合:标签集中多个标签的第二向量组组成的集合。
第三向量:在文本分类模型的模型训练阶段,第三向量是指词级注意力层输出的与标签相关的样本文本的句子级向量;在文本分类模型执行文本分类任务阶段,第三向量是指词级注意力层输出的与标签相关的待分类文本的句子级向量。
第三向量集合:在文本分类模型的模型训练阶段,第三向量集合是指分别与每个标签相关的样本文本的多个句子级向量组成的集合;在文本分类模型执行文本分类任务阶段,第三向量集合是指分别与每个标签相关的待分类文本的多个句子级向量组成的集合。
第四向量:在文本分类模型的模型训练阶段,第四向量是指词级注意力层输出的与样本文本相关的标签的句子级向量;在文本分类模型执行文本分类任务阶段,第四向量是指词级注意力层输出的与待分类本文本相关的标签的句子级向量。
第四向量集合:在文本分类模型的模型训练阶段,第四向量集合是指与样本文本相关的每个标签的句子级向量组成的集合;在文本分类模型执行文本分类任务阶段,第四向量集合是指与待分类本文本相关的标签的句子级向量组成的集合。
第一样本文本向量:句级注意力层输出的样本文本的与标签相关的向量。
第二样本文本向量:第一样本文本向量结合标签和标签之间的相关性后得到的向量。
第一待分类文本向量:句子级注意力层输出的待分类文本的与标签相关的向量。
第二待分类文本向量:第一待分类文本向量结合标签与标签之间的相关性后得到的向量。
注意力矩阵:第一向量组中每个第一向量与任一标签中每个第二向量进行注意力计算得到的矩阵。
注意力矩阵集合:多个注意力矩阵组成的集合。
目标标签:标签集中的任一标签。
目标注意力矩阵:第一向量组中每个第一向量与目标标签中每个标签进行注意力计算得到的矩阵。
词对:标签中词单元的词向量与文本中词单元的词向量。
标签:用于表示样本文本可能推理出来的含义。样本文本的标签可以是人工预先根据样本文本确定的,存储于标签集中。并且,标签集中的标签与样本文本集中的样本文本存在对应关系。
在本说明书中,提供了一种文本分类模型的训练方法、文本分类方法,本说明书同时涉及一种文本分类模型的训练装置、文本分类装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2A所示文本分类模型的训练方法中的步骤。
图2A示出了根据本说明书一实施例提供的一种文本分类模型的训练方法的流程图,具体可以包括以下步骤:
步骤202,将获取的样本文本集的第一样本文本和标签集输入文本分类模型的编码层,得到所述第一样本文本的第一向量组和所述标签集的第二向量组集合。
在本申请实施例中,对文本分类模型进行训练是有监督的训练,因此需要获取样本文本集和标签集,并且可以根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合。在一些实施例中,根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合的具体实现可以包括:将获取的样本文本集的第一样本文本和标签集输入文本分类模型的编码层,得到所述第一样本文本的第一向量组和所述标签集的第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本。
其中,样本文本集可以包括多个样本文本,且该样本文本集中的样本文本对应的标签组均是已知的。标签集中可以包括多个标签,且该多个标签是样本文本集中所有的样本文本对应的标签组的集合。
作为一种示例,第一样本文本可以是样本文本集中的任一样本文本。在本申请实施例中,获取的样本文本集中的每个样本文本均可以称为第一样本文本。
作为一种示例,文本分类模型是基于神经网络模型得到的,且文本分类模型用于对文本进行多标签分类,即为单个文本分配多个标签。文本分类模型由多个包括各种功能的层组成,编码层则是文本分类模型中用于进行编码的层,可以认为是文本分类模型的输入层。
作为一种示例,第一向量组可以是第一样本文本中多个词单元的第一向量组成的组。第二向量组可以是标签集中每个标签的第二向量组成的组。第二向量组集合可以是标签集中多个标签的第二向量组组成的集合。
在一些实施例中,样本文本集和标签集均是由人工根据对样本文本的推理预先建立的,可以从该样本文本集中获取第一样本文本,并且获取整个标签集作为文本分类模型的输入。
在本申请一种可能的实现方式中,将获取的样本文本集的第一样本文本和标签集输入文本分类模型的编码层,得到所述第一样本文本的第一向量组和所述标签集的第二向量组集合之前,还包括:对所述第一样本文本进行分词,得到所述第一样本文本的多个第一词单元;对所述标签集中的标签进行分词,得到所述标签集中每个标签的多个第二词单元。
相应地,所述将获取的样本文本集的第一样本文本和标签集输入文本分类模型的编码层,得到所述第一样本文本的第一向量组和所述标签集的第二向量组集合的具体实现可以包括:将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述编码层,得到所述多个第一词单元的第一向量和所述标签集中每个标签的多个第二词单元的第二向量;以所述多个第一词单元的第一向量为所述第一样本文本的第一向量组,以及以所述标签集中每个标签的多个第二词单元的第二向量为每个标签的第二向量组。
其中,第一词单元是对第一样本文本进行分词处理后得到的词单元。第二词单元是对标签进行分词处理后得到的词单元,即每个标签进行分词处理后得到的词单元均称为第二词单元。
也就是说,在将第一样本文本和标签集输入文本分类模型中之前,可以对第一样本文本和标签集中的标签进行分词处理,得到第一样本文本的多个第一词单元和标签集中每个标签的多个第二词单元,在这种情况下,可以将多个第一词单元和每个标签的多个第二词单元输入编码层,对多个第一词单元和每个标签的多个第二词单元进行编码,得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量,将多个第一词单元的第一向量组成的组称为第一样本文本的第一向量组,将每个标签的多个第二词单元组成的组称为每个标签的第二向量组。
作为一种示例,可以根据预先编制的词表对标签和样本文本分别进行分词处理。示例性地,在预先编制的词表中,若样本文本为中文文本,可以将一个字、一个标点符号作为一个词单元。若样本文本为外语文本,可以将一个单词、一个标点符号作为一个词单元。若样本文本中包括数字,可以将一个数字作为一个词单元。
例如,假设第一样本文本是“小王和小李婚后育有一女”,标签集中包括标签的数量为三个,且该三个标签分别为“婚后育有子女”、“存在婚姻关系”和“不存在婚姻关系”,可以对上述第一样本文本进行分词处理,得到分词结果为[小王、和、小李、婚后、育、有、一、女],对上述三个标签进行分词处理,可以得到分词结果为[婚后、育、有、子、女]、[存在、婚姻、关系]和[不、存在、婚姻、关系]。
作为一种示例,得到分词结果后,可以将多个第一词单元和每个标签的多个第二词单元输入编码层,对多个第一词单元和每个标签的多个第二词单元进行编码,可以得到多个第一词单元结合上下文信息的隐层向量,即第一向量,以及可以得到每个标签的多个第二词单元结合上下文信息的隐层向量,即第二向量。进而将多个第一词单元的第一向量进行拼接,可以得到第一样本文本的第一向量组,将每个标签的多个第二词单元的第二向量进行拼接,可以得到每个标签的第二向量组,进而得到标签集的第二向量组集合。
示例性地,在该种情况下编码层可以包括词嵌入模块和编码模块。可以将第一样本文本的多个第一词单元并行输入编码层,通过词嵌入模块的word2wec算法对每个第一词单元进行词嵌入处理,得到每个第一词单元的特征表示,即得到每个第一词单元的词向量,再通过编码模块确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。同理,可以将每个标签的多个第二词单元输入该嵌入层,通过词嵌入模块的word2wec算法对每个第二词单元进行词嵌入处理,得到每个标签中每个第二词单元的特征表示,即得到每个第二词单元的词向量,再通过编码模块确定每个第二词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第二词单元的第二向量。
进一步地,将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述编码层之前,还包括:将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量。
相应地,将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述编码层的具体实现可以包括:将所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量输入所述编码层。
也就是说,得到第一样本文本和标签集中每个标签的分词结果后,可以将多个第一词单元和每个标签的多个第二词单元输入嵌入层进行词嵌入处理,得到多个第一词单元的词向量和每个标签的多个第二词单元的词向量,再将词向量输入编码层。
作为一种示例,可以将第一样本文本的多个第一词单元并行输入嵌入层,在该嵌入层中,通过word2wec算法对每个第一词单元进行词嵌入处理,可以得到每个第一词单元的特征表示,即得到每个第一词单元的词向量。同理,可以将每个标签的多个第二词单元输入该嵌入层,通过word2wec算法对每个第二词单元进行词嵌入处理,可以得到每个标签中每个第二词单元的特征表示,即得到每个第二词单元的词向量。
示例性地,参见图2B,可以将多个第一词单元a、b、c输入文本分类模型的嵌入层,得到多个第一词单元的词向量。参见图2C,可以将多个第二词单元e和f输入文本分类模型的嵌入层,得到多个第二词单元的词向量。或者,参见图2D,可以将多个第一词单元a、b、c和多个第二词单元e和f输入文本分类模型的嵌入层,得到多个第一词单元的词向量和多个第二词单元的词向量。
在一些实施例中,在该种情况下,编码层可以采用双向LSTM结构。对于输入的一组词向量,编码层可以确定该组词向量中任一词向量结合上下文信息后的特征向量,该特征向量可以称为隐层向量。也即是,在编码层对每个词向量进行编码是确定每个词向量结合其之前的词向量和其之后的词向量得到的特征向量。
作为一种示例,可以将多个第一词单元的词向量输入编码层,通过该编码层可以确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。同理,可以将每个标签的多个第二词单元的词向量输入编码层,通过该编码层可以确定同一个标签中每个第二词单元结合上下文信息后的隐层向量,可以得到同一个标签的每个第二词单元的第二向量。
示例性地,参见图2B,可以将a、b、c的词向量输入文本分类模型的编码层,得到a、b、c的第一向量。参见图2C,可以将e、f的词向量输入文本分类模型的编码层,得到e、f的第二向量。或者,参见图2D,可以将多个第一词单元a、b、c的词向量和多个第二词单元e和f的词向量输入文本分类模型的编码层,得到多个第一词单元a、b、c的第一向量和多个第二词单元e和f的第二向量。
在一些实施例中,将获取的样本文本集的第一样本文本和标签集输入文本分类模型的编码层之前,还可以对所述第一样本文本进行分词,得到所述第一样本文本的多个第一词单元;对所述标签集中的标签进行分词,得到所述标签集中每个标签的多个第二词单元;将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量;
相应地,将获取的样本文本集的第一样本文本和标签集输入文本分类模型的编码层,包括:将所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量输入所述编码层。
也就是说,在将第一样本文本和标签集输入编码层之前,可以对第一样本文本进行分词处理,得到多个第一词单元,并对标签集中每个标签进行分词处理,得到每个标签的多个第二词单元,再将多个第一词单元和每个标签的多个第二词单元输入嵌入层进行词嵌入处理,可以得到多个第一词单元的词向量,和每个标签的多个第二词单元的词向量。再将多个第一词单元的词向量输入编码层,可以得到每个第一词单元结合上下文信息的第一向量,进而得到第一向量组,以及可以得到同一个标签中的每个第二词单元结合上下文信息的第二向量,进而可以得到每个标签的第二向量组,得到标签集的第二向量组集合。
需要说明的是,在该种情况下,文本分类模型可以包括嵌入层和编码层。该种实现方式中分词处理、词嵌入处理和编码层的处理均可参见上述相关描述,本申请实施例在此不再赘述。
在本说明书实施例中,可以对第一样本文本和标签集中每个标签进行分词处理,得到第一样本文本的多个第一词单元和标签集中每个标签的多个第二词单元,将多个第一词单元和每个标签的多个第二词单元输入嵌入层进行词嵌入处理,可以得到多个第一词单元的词向量和每个标签的多个第二词单元的词向量,将多个第一词单元的词向量和每个标签的多个第二词单元的词向量输入编码层,可以得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量,将多个第一词单元的第一向量进行组合,可以得到第一样本文本的第一向量组,同理,将每个标签的多个第二词单元的第二向量进行组合,可以得到每个标签的第二向量组。
在本申请另一种可能的实现方式中,编码层可以包括分词模块、词嵌入模块和编码模块,则将第一样本文本输入编码层,可以对该第一样本文本进行分词,得到第一样本文本的多个第一词单元,并对每个第一词单元进行词嵌入处理,可以得到每个第一词单元的词向量,基于每个第一词单元的词向量,可以确定每个第一词单元结合上下文信息后的第一向量,进而得到第一样本文本的第一向量组。同理,将标签集输入编码层可以对每个标签进行分词,得到每个标签的多个第二词单元,并对每个第二词单元进行词嵌入处理,可以得到每个第二词单元的词向量,基于同一个标签中每个第二词单元的词向量,可以确定同一标签中每个第二词单元结合上下文信息后的第二向量,进而得到每个标签的第二向量组,进而得到标签集的第二向量组集合。
需要说明的是,该种实现方式中分词处理和词嵌入处理均可参见上述相关描述,本申请实施例在此不再赘述。
作为一种示例,在上述另一种可能的实现方式中,编码层可以是包括分词功能、词嵌入功能和编码功能的任何结构,且该编码功能可以是采用LSTM结构的功能,本申请实施例对此不作限定。
需要说明的是,本申请实施例仅是以第一样本文本为例对获取第一样本文本的第一向量组进行说明,在本申请实施例中,通过本步骤,可以得到样本文本集中每个样本文本的第一向量组和标签集中每个标签的标签向量。
步骤204,将所述第一向量组和第二向量组集合输入词级注意力层,得到第三向量集合和第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关。
其中,第三向量是与标签相关的样本文本的句子级向量。第三向量集合是分别与每个标签相关的样本文本的多个句子级向量组成的集合。
其中,第四向量是与样本文本相关的标签的句子级向量,第四向量集合是与样本文本相关的每个标签的句子级向量组成的集合。
其中,词级注意力层是以词单元为单位进行注意力计算的层。
示例性地,参见图2D,可以将第一样本文本的第一向量组即a的第一向量、b的第一向量和c的第一向量输入词级注意力层,以及将标签集中每个标签的第二向量组,即e的第二向量和f的第二向量输入词级注意力层,得到第一样本文本的第三向量集合和标签集的第四向量集合。
作为一种示例,第三向量集合中包括的第三向量的数量与标签集中的标签数量相同,第四向量集合中包括的第四向量的数量与标签集中的标签数量相同。
在实施中,本步骤的具体实现可以包括:将所述第一向量组分别与所述标签集中每个标签的第二向量组进行注意力计算,得到注意力矩阵集合,其中,所述注意力矩阵集合包括的注意力矩阵的数量与所述标签集中的标签数量相关。基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述第一样本文本的第三向量集合和所述标签集的第四向量集合。
也就是说,需要将第一向量组和标签集中每个标签对应的第二向量组进行注意力计算,则可以得到注意力矩阵集合,且注意力矩阵集合中包括的注意力矩阵的数量与标签集中的标签数量相同。根据注意力矩阵集合、第一向量组和第二向量组集合,可以确定第一样本文本的第三向量集合和标签集的第四向量集合。
作为一种示例,注意力矩阵可以称为词对匹配矩阵。其中,词对可以包括标签中的词单元和第一样本文本中的词单元。
作为一种示例,第一向量组中包括多个第一向量,每个第一向量与第一样本文本中的一个词单元对应。第二向量组集合包括多个第二向量组,每个第二向量组与标签集中的一个标签对应,一个第二向量组中包括多个第二向量,每个第二向量和一个标签中的一个词单元对应。
在一些实施例中,对于标签集中的目标标签,可以将第一向量组中的第一向量与目标标签的第二向量组中的第二向量进行注意力计算,可以得到该目标标签对应的注意力矩阵。
其中,目标标签可以是标签集中的任一标签。
通过上述方式,可以确定标签集中每个标签对应的注意力矩阵,进而可以得到注意力矩阵集合。
作为一种示例,对第一向量和第二向量进行注意力计算可以是确定第一向量和第二向量之间的相似度,可以通过相似度计算的方法得到第一向量和第二向量之间的相似度,将该相似度作为第一向量和第二向量之间的相关性取值,该相关性取值也可以称为第一向量和第二向量的注意力值。
示例性地,假设第一样本文本包括三个第一词单元a、b、c,目标标签包括3个第二词单元o、p、q,将第一样本文本中每个第一词单元的第一向量和目标标签中每个第二词单元的第二向量进行注意力计算,得到注意力矩阵可以包括:确定a的第一向量与o的第一向量的相似度,作为注意力矩阵第一行第一列的元素;确定a的第一向量与p的第一向量的相似度,作为注意力矩阵第一行第二列的元素确定a的第一向量与q的第一向量的相似度,作为注意力矩阵第一行第三列的元素;确定b的第一向量与o的第一向量的相似度,作为注意力矩阵第二行第一列的元素;确定b的第一向量与p的第一向量的相似度,作为注意力矩阵第二行第二列的元素确定b的第一向量与q的第一向量的相似度,作为注意力矩阵第二行第三列的元素;确定c的第一向量与o的第一向量的相似度,作为注意力矩阵第三行第一列的元素;确定c的第一向量与p的第一向量的相似度,作为注意力矩阵第三行第二列的元素确定c的第一向量与q的第一向量的相似度,作为注意力矩阵第三行第三列的元素。如此,则可以得到注意力矩阵,且该注意力矩阵与目标标签对应。
例如,假设目标标签为“婚后育有子女”,且目标标签包括的词单元为“婚后”、“育”、“有”、“子”和“女”,样本文本为“小王和小李婚后育有一女”,且样本文本包括的词单元为“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”,则将目标标签中词单元的第二向量和样本文本中词单元的第一向量进行注意力计算,可以得到如下注意力矩阵:
,其中,该矩阵中的元素Aij表示第一样本文本中第i个第一词单元的第一向量与目标标签中第j个第二词单元的第二向量之间的相关性取值。例如,A11表示词单元“小王”与词单元“婚后”之间的相关性取值,A12表示词单元“小王”与词单元“育”之间的相关性取值,A13表示词单元“小王”与词单元“有”之间的相关性取值,A14表示词单元“小王”与词单元“子”之间的相关性取值,A15表示词单元“小王”与词单元“女”之间的相关性取值,A41表示词单元“婚后”与词单元“婚后”之间的相关性取值,A42表示词单元“婚后”与词单元“育”之间的相关性取值,A43表示词单元“婚后”与词单元“有”之间的相关性取值,A81表示词单元“女”与词单元“婚后”之间的相关性取值,A82表示词单元“女”与词单元“育”之间的相关性取值,A83表示词单元“女”与词单元“有”之间的相关性取值等等。
本说明书实施例,在训练的过程中,将样本文本集中的每个样本文本输入文本分类模型,通过上述方式可以确定每个样本文本对应的注意力矩阵集合,则可以得到多个注意力矩阵集合。
在一些实施例中,所述注意力矩阵集合包括的每个注意力矩阵中元素的行数与所述第一样本文本的词单元的数量相关,元素的列数与所述标签集中标签的词单元的数量相关,每个注意力矩阵中包括的元素为所述第一样本文本的词单元与所述标签集中标签的词单元的相关性取值。在这种情况下,基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述第一样本文本的第三向量集合和所述标签集的第四向量集合的具体实现可以包括:
按行对目标注意力矩阵中的相关性取值进行归一化处理,得到第一相关性取值,并将每行的第一相关性取值中最大的第一相关性取值确定为与所述第一样本文本的词单元对应的第一权重值,得到所述第一样本文本中每个词单元对应的第一权重值,其中,所述目标注意力矩阵是所述第一向量组与目标标签的第二向量组进行注意力计算得到的,所述目标标签为所述标签集中的任一标签;基于每个第一权重值和所述第一向量组,确定所述第一样本文本的与所述目标标签相关的第三向量;按列对目标注意力矩阵中的相关性取值进行归一化处理,得到第二相关性取值,并将每列的第二相关性取值中最大的第二相关性取值确定为与所述目标标签的词单元对应的第二权重值,得到所述目标标签中每个词单元对应的第二权重值;基于所述目标标签中每个词单元的第二权重值和所述目标标签的第二向量组,确定所述目标标签的第四向量。
也就是说,由于每个注意力矩阵中某一行的元素为第一样本文本中的一个词单元的第一向量与标签的每个第二向量的相关性取值,因此注意力矩阵的行数与第一样本文本中词单元的数量相同,每个注意力矩阵的列数与每个标签中词单元的数量相同。对于目标注意力矩阵来说,目标注意力矩阵中的元素是第一样本文本的词单元与标签集中的目标标签的词单元之间的相关性取值,可以认为是第一样本文本和目标标签在词级的注意力值,为了进一步确定第一样本文本和标签之间的相关性,还需要确定第一样本文本和目标标签在句子级的注意力值。具体的,可以将目标注意力矩阵中同一行的多个相关性取值进行归一化处理,得到每行的多个第一相关性取值,并将每行的多个第一相关性取值中最大的第一相关性取值确定为与第一样本文本的词单元对应的第一权重值,可以得到第一样本文本中每个词单元对应的第一权重值,由于每个词单元的第一权重值是词单元与目标标签的最大的相关性取值,即第一权重值可以反映第一样本文本与标签之间最大的相关性,根据每个第一权重值和第一向量组,可以将第一样本文本的第一向量组转换为与目标标签的相关性更高的第三向量。同理,可以将目标注意力矩阵中同一列的多个相关性取值进行归一化处理,得到每列的多个第二相关性取值,并将每列的多个第二相关性取值中最大的第二相关性取值确定为与目标标签中每个词单元对应的第二权重值,得到目标标签中每个词单元对应的第二权重值,由于每个词单元的第二权重值是目标标签与词单元的最大的相关性取值,即第二权重值可以反映目标标签与第一样本文本之间的最大的相关性,根据每个第二权重值和第二向量组,可以将目标标签的第二向量组转换为与第一样本文本相关性更高的第四向量。
继续上述举例,按行对上述目标标签对应的注意力矩阵中的相关性取值进行归一化处理。例如,假设对第一行的相关性取值进行归一化处理后,可以得到a11,a12,a13,a14和a15,按照从大到小的顺序对a11,a12,a13,a14和a15进行排序,假设a12最大,可以将a12确定为词单元“小王”对应的第一权重值,以此类推,可以确定第一样本文本中每个词单元的第一权重值。例如,在本例中,可以得到8个第一权重值,且每个第一权重值与第一样本文本中一个第一词单元对应,该8个第一权重值可以组成一个8×1的矩阵。假设第一样本文本中每个词单元的第一向量为M维向量,则可以将得到的8×1的矩阵的转置与第一样本文本的第一向量组,即8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与目标标签“婚后育有子女”相关的该第一样本文本的句子级的向量表示,即与目标标签“婚后育有子女”相关的该第一样本文本的第三向量。例如,假设目标标签为标签1,该与目标标签“婚后育有子女”相关的该第一样本文本的第三向量可以是[X11、X12、X13、X14……XM-1、XM]。
其中,M表示第三向量的维度,X1M表示该第一样本文本的与标签1相关的第三向量中第M维的取值。
需要说明的是,通过上述方式,可以确定与每个标签相关的第一样本文本的第三向量,进而可以得到第一样本文本的第三向量集合。
同理,按列对第一个注意力矩阵中的相关性取值进行归一化处理。例如,假设对第一列的相关性取值进行归一化处理后,可以得到a'11,a'21,a'31,a'41、a'51、a'61、a'71和a'81,按照从大到小的顺序对a'11,a'21,a'31,a'41、a'51、a'61、a'71和a'81进行排序,将最大的相关性取值确定为词单元“婚后”对应的第二权重值,以此类推,可以确定目标标签“婚后育有子女”中每个词单元的第二权重值。例如,在本例中,可以得到8个第二权重值,且每个第一权重值与目标标签中一个第二词单元对应,该8个第二权重值可以组成一个1×8的矩阵。假设目标标签中每个词单元的第二向量为M维向量,可以将得到的1×8的矩阵与目标标签的第二向量组相乘,即将1×8的矩阵与8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与第一样本文本相关的目标标签“婚后育有子女”的句子级的向量表示,即与第一样本文本相关的目标标签“婚后育有子女”的第四向量。例如,假设目标标签为标签1,该与第一样本文本相关的目标标签“婚后育有子女”的第四向量可以是[R11、R12、R13、R14……RM-1、RM]。
其中,M表示第四向量的维度,Z1M表示与第一样本文本相关的标签1“婚后育有子女”的第四向量中第M维的取值。
需要说明的是,通过上述方式,可以确定与第一样本文本相关的标签集中每个标签的第四向量,将多个标签的第四向量组成的集合称为标签集的第四向量集合。
在本申请实施例中,可以先通过词级注意力层确定第一样本文本中词单元和标签集中每个标签的词单元之间在词级的相关性取值,即词级注意力值,然后根据词级注意力值确定第一样本文本与标签相关的句子级的向量表示,即第三向量,以及确定标签集中每个标签与第一样本文本相关的句子级的向量表示,即第四向量,考虑到了标签中词单元的信息,可以更加准确地捕捉第一样本文本与标签集中标签之间的相关性,进而提高文本分类模型的准确率。
需要说明的是,本申请实施例仅是以第一样本文本为例对确定第一样本文本的第三向量集合和标签集的第四向量集合进行说明,在本申请实施例中,通过本步骤,对于样本文本集中的每个样本文本,可以得到与每个标签相关的每个样本文本的第三向量,以及对于标签集中的每个标签,可以得到与每个样本文本相关的每个标签的第四向量。
例如,假设样本文本集中包括两个样本文本,标签集中包括三个标签,则对于样本文本1,可以得到分别与这三个标签相关的第三向量,即可以得到样本文本1的三个第三向量,一个第三向量与一个标签对应,同理,对于样本文本2,可以得到样本文本2的三个第三向量,一个第三向量与一个标签对应。对于标签1,可以得到分别与这两个样本文本相关的第四向量,即可以得到标签1的两个第四向量,一个第四向量与一个样本文本对应,同理,对于标签2,可以得到标签2的两个第四向量,一个第四向量与一个样本文本对应,对于标签3,可以得到标签3的两个第四向量,一个第四向量与一个样本文本对应。
需要说明的是,第三向量是第一样本文本的句子级的向量表示,其中每个维度的值与第一样本文本中的第一词单元是没有对应关系的,即该第三向量是整个第一样本文本的向量表示。同理,第四向量是标签的句子级的向量表示,其中每个维度的值与标签中的第二词单元是没有对应关系的,即该第四向量是整个标签的向量表示。另外,为了便于后续计算,词级注意力层得到的第三向量和第四向量的维度是相同的,若用矩阵表示,第三向量和第四向量均可以是1×M的矩阵。
步骤206:将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集。
其中,第三向量集合包括多个第三向量,且每个第三向量与一个标签对应。第四向量集合包括多个第四向量,且每个第四向量与一个标签对应。第一样本文本向量集包括多个第一样本文本向量,且每个第一样本文本向量与每个标签相关。
示例性地,参见图2D,可以将第三向量集合和第四向量集合输入句级注意力层,可以得到与标签集相关的第一样本文本向量集。
在实施中,本步骤的具体实现可以包括:对所述第三向量集合中与目标标签相关的第三向量和所述第四向量集合中所述目标标签的第四向量进行注意力计算,得到与所述目标标签相关的第一样本文本向量,其中,所述目标标签为所述标签集中的任一标签。
在一些实施例中,第一样本文本的第三向量集合中包括与每个标签相关的第三向量,可以获取第一样本文本的与目标标签相关的第三向量。并且,标签集的第四向量集合中包括与第一样本文本相关的每个标签的第四向量,可以获取目标标签的与第一样本文本相关的第四向量。将上述获取的第三向量和第四向量进行注意力计算,可以得到第一样本文本的与目标标签相关的第一样本文本向量。
作为一种示例,第三向量和第四向量是句子级的向量,若用矩阵表示,则第三向量和第四向量均可以是1×M的矩阵,在句级注意力层中进行注意力计算可以是将第三向量和第四向量均表示成矩阵,将第三向量得到的矩阵和目标标签的第四向量得到的矩阵的转置相乘,可以得到第一样本文本的与目标标签相关的目标权重值,可以将目标权重值与该第一样本文本的与目标标签相关的第三向量相乘,可以得到第一样本文本的与目标标签相关的第一样本文本向量。
例如,可以将第一样本文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]和与第一样本文本相关的目标标签“婚后育有子女”的第四向量[R11、R12、R13、R14……RM-1、RM]的转置进行注意力计算,可以得到第一样本文本的与该目标标签“婚后育有子女”相关的目标权重,将该目标权重与第一样本文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]相乘,可以得到第一样本文本的与目标标签相关的第一样本文本向量。同理,通过上述方式可以得到与其他标签相关的第一样本文本向量,将与每个标签相关的第一样本文本向量的集合称为与标签集相关的第一样本文本向量集。
需要说明的是,本申请实施例仅是以第一样本文本为例,对确定第一样本文本向量集进行说明,在本申请实施例中,通过本步骤,可以得到样本文本集中每个样本文本的第一样本文本向量集。
在本申请实施例中,将第一样本文本的第三向量和标签集中每个标签的第四向量进行句子级的注意力计算,可以进一步准确地捕捉第一样本文本和标签集中每个标签之间的相关性,以及确定不同的标签对应的样本文本向量之间的差异性,进而可以提高文本分类模型的模型性能。
步骤208:将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签。
其中,在多标签文本分类任务中,第一样本文本的预测标签的数量可以是多个。
示例性地,参见图2D,可以将与标签集相关的第一样本文本向量集输入全连接层,可以得到与第一样本文本的预测标签。
作为一种示例,全连接层可以称为Fully Connected Layer,且该全连接层中包括激活函数。示例性地,该激活函数可以是Sigmoid函数。该Sigmoid函数可以对输入进行归一化处理,以将输入的变量映射到0,1之间。并且,Sigmoid函数对K个向量进行归一化处理后得到的K个概率的总和不是1,如此,可以从K个输出中确定至少两个输出,因此,可以在本申请提出的文本分类模型中使用Sigmoid函数。其中,K大于或等于2。
在实施中,本步骤的具体实现可以包括:确定标签集中每个标签为所述第一样本文本的预测标签的概率;将概率大于概率阈值的标签确定为所述预测标签。
需要说明的是,概率阈值可以由用户根据实际需求进行设置,也可以由计算设备默认设置,本申请实施例对此不作限定。
在一些实施例中,可以将不同的标签对应的第一样本文本向量进行拼接,将拼接后的第一样本文本向量集输入全连接层,通过全连接层的参数对第一样本文本向量集进行转换,得到第一样本文本与每个标签的相关性分值,再通过激活函数对相关性分值进行处理,可以确定第一样本文本的标签集中每个标签可能是预测标签的概率,并将概率大于概率阈值的标签确定为预测标签。
作为一种示例,用矩阵表示第一样本文本向量,则第一样本文本向量是1×M的矩阵,将N个第一样本文本向量进行拼接,可以是通过N个第一样本文本向量组成一个M×N的矩阵,即该矩阵中每一列与一个标签对应,将该M×N的矩阵可以称为第一样本文本向量集的矩阵表示,将全连接层的参数组成的转换矩阵1×M与该M×N的矩阵相乘,可以得到一个1×N的矩阵,该矩阵中每一列的数值表示第一样本文本与每个标签的相关性分值,再将该1×N的矩阵输入激活函数进行处理,可以得到每个标签可能是第一样本文本的预测标签的概率,并且可以将大于概率阈值的概率对应的标签确定为预测标签。
进一步地,上述方式仅获取第一样本文本和标签之间的相关性,但并未考虑到标签与标签之间的相关性,为了获取标签集中标签之间的相关性,并将标签之间的相关性融合第一样本文本向量集中,在本步骤之前,还可以获取标签共现矩阵,所述标签共现矩阵用于表征所述标签集中标签与标签之间的相关性;基于所述标签共现矩阵和所述第一样本文本向量集,确定第二样本文本向量集。
相应地,在这种情况下,本步骤的具体实现可以包括:将所述第二样本文本向量集输入所述全连接层,得到所述第一样本文本的预测标签。
其中,标签共现矩阵可以称为Label co-occurrence矩阵,也可以称为类别共生矩阵。
也就是说,为了得到标签相关性分布下的样本文本向量,在将第一样本文本向量输入全连接层之前,可以先获取标签共现矩阵,并将标签共现矩阵融入第一样本文本向量集中,得到第二样本文本向量集,再将第二样本文本向量集输入全连接层,可以得到第一样本文本的预测标签。
示例性地,参见图2D,可以将与标签集相关的第一样本文本向量集和标签共现矩阵输入全连接层中,可以得到第一样本文本的预测标签。
作为一种示例,可以根据样本文本集中的样本文本和标签集中的标签的对应关系,确定标签共现矩阵,将标签共现矩阵与第一样本文本向量集对应的矩阵相乘,可以得到第二样本文本向量集。
例如,假设标签集包括三个标签,分别为标签1“婚后育有子女”、标签2“存在婚姻关系”和标签3“不存在婚姻关系”,假设标签共现矩阵可以是。其中,第i行第j列表示标签i与标签j属于同一个样本文本的标签的概率。例如,第一行第二列0.8是标签1“婚后育有子女”和标签2“存在婚姻关系”属于同一个样本文本的标签的概率,第一行第三列0是标签1“婚后育有子女”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率,第二行第三列0是标签2“存在婚姻关系”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率等等。
例如,假设第一样本文本向量集中包括3个第一样本文本向量,且该3个样本文本向量均为M维的向量,表示成矩阵则均是1×M的矩阵,可以将该3个矩阵进行拼接,得到一个M×3的矩阵,则该矩阵中第一列是与“婚后育有子女”对应的第一样本文本向量,第二列是与“存在婚姻关系”对应的第一样本文本向量,第三列是与“不存在婚姻关系”对应的第一样本文本向量。将标签共现矩阵与上述M×3的矩阵相乘,可以得到结合标签相关性分布的第二样本文本向量集,该第二样本文本向量集表示成矩阵则是一个M×3的矩阵,该矩阵中第一列是与“婚后育有子女”对应的第二样本文本向量,第二列是与“存在婚姻关系”对应的第二样本文本向量,第三列是与“不存在婚姻关系”对应的第二样本文本向量。
例如,用矩阵表示第二样本文本向量集为M×3的矩阵,将该M×3的矩阵输入全连接层,将全连接层的参数组成的转换矩阵1×M与该M×3的矩阵相乘,则可以得到一个1×3的矩阵,该矩阵中第一列的数值表示第一样本文本与“婚后育有子女”的相关性分值,第二列的数值表示第一样本文本与“存在婚姻关系”的相关性分值,第三列的数值表示第一样本文本与“不存在婚姻关系”的相关性分值,再将该1×3的矩阵输入激活函数进行处理,可以得到该三个标签中每个标签可能是第一样本文本的预测标签的概率,并且可以将大于概率阈值的概率对应的标签确定为预测标签。
需要说明的是,本申请实施例仅是以第一样本文本为例,对确定第一样本的预测标签进行说明,在本申请实施例中,通过本步骤,可以得到样本文本集中每个样本文本的预测标签。
在本申请实施例中,将标签共现矩阵与第一样本文本向量集进行处理,将处理结果输入全连接层,可以使得模型学习到标签间的相关性,能够有效地提高文本分类的准确率。
步骤210:基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。
本申请实施例是对文本进行多标签文本分类,则一个第一样本文本可以对应多个第一标签,因此,获取的标签集中与第一样本文本对应的多个标签均可以称为第一标签组。
作为一种示例,在文本分类模型的训练过程中,文本分类模型需要获取到样本文本和标签组之间的对应关系,因此,不仅要将样本文本和标签集输入至文本分类模型中,还需要将第一样本文本和与该第一样本文本对应的标签组的对应关系输入至文本分类模型中,以便文本分类模型可以获取到该第一样本文本对应的正确的第一标签组,进而基于该正确的第一标签组和预测标签对文本分类模型的参数进行调整。
在实施中,本步骤的具体实现可以包括:将所述预测标签和所述第一标签组输入损失函数,确定损失值;基于所述损失值对所述文本分类模型进行训练,直到达到训练停止条件。
作为一种示例,该损失函数可以是二分类交叉熵损失函数。
也就是说,可以将预测标签和第一标签组作为损失函数的输入参数,确定损失值,并基于损失值对文本分类模型进行训练,直至达到训练停止条件。
在一些实施例中,基于所述损失值对所述文本分类模型进行训练,直到达到训练停止条件的具体实现可以包括:若所述损失值大于或等于预设阈值,继续对所述文本分类模型进行训练;若所述损失值小于所述预设阈值,停止训练。
需要说明的是,预设阈值可以由用户根据实际需求进行设置,也可以由计算设备默认设置,本申请实施例对此不作限定。
也就是说,若损失值大于或等于预设阈值,说明预测标签和第一标签组的差异比较大,文本分类模型的性能不够好,因此,需要继续对文本分类模型进行训练。若损失值小于预设阈值,说明预测标签和第一标签组的差异较小,文本分类模型的性能已经比较好,可以认为文本分类模型的训练已经结束,因此,可以停止对文本分类模型的训练。
需要说明的是,本申请实施例仅是以第一样本文本为例,对文本分类模型的训练进行说明,在本申请实施例中,可以根据每个样本文本的预测标签和第一标签组,对文本分类模型进行训练。
本说明书提供的文本分类模型的训练方法,根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本;将所述第一向量组和第二向量组集合输入词级注意力层,得到第三向量集合和第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集;将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签;基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。上述方式通过词级注意力层,将标签的词单元与样本文本的词单元在词级进行注意力计算,而不是将整个标签和样本文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和样本文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和样本文本的相关性,以及不同的标签对应的样本文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
下述结合附图3,以本说明书提供的文本分类模型的训练方法在文本分类任务中的应用为例,对所述文本分类模型的训练方法进行进一步说明。其中,图3示出了本说明书一实施例提供的一种应用于文本分类任务中的文本分类模型的训练方法的处理流程图,具体包括以下步骤:
步骤302,获取样本文本集和标签集,其中,样本文本集中包括多个第一样本文本,标签集中包括与样本文本集中每个第一样本文本对应的第一标签组。
其中,样本文本集可以包括多个样本文本,且该样本文本集中的样本文本对应的标签组均是已知的。标签集中可以包括多个标签,且该多个标签是样本文本集中所有的样本文本对应的标签组的集合。
在本申请实施例中,对样本文本集中第一样本文本的数量以及标签集中标签的数量不作限定。在本实施例中,仅以样本文本集中包括2个第一样本文本,标签集中包括3个标签为例,对文本分类模型的训练的方法进行说明。
例如,假设样本文本集包括的第一样本文本1是“小王和小李婚后育有一女”,第一样本文本2是“小明和小丽刚结婚”。假设标签集包括的标签1是“婚后育有子女”,标签2是“存在婚姻关系”,标签3是“不存在婚姻关系”。
步骤304,对第一样本文本进行分词,得到第一样本文本的多个第一词单元。
其中,第一词单元是第一样本文本进行分词处理后得到的词单元。
作为一种示例,可以根据预先编制的词表对标签和样本文本分别进行分词处理。
继续上述举例,对第一样本文本1进行分词,得到多个第一词单元分别是[小王、和、小李、婚后、育、有、一、女],对第一样本文本2进行分词,得到多个第一词单元分别是[小明、和、小丽、刚、结婚]。
步骤306,对标签集中的标签进行分词,得到标签集中每个标签的多个第二词单元。
其中,第二词单元是对标签进行分词处理后得到的词单元,即每个标签进行分词处理后得到的词单元均称为第二词单元。
作为一种示例,可以根据预先编制的词表对标签和样本文本分别进行分词处理。
继续上述举例,对标签1进行分词,得到多个第二词单元分别是[婚后、育、有、子、女],对标签2进行分词,得到多个第二词单元分别是[存在、婚姻、关系],对标签3进行分词,得到多个第二词单元分别是[不、存在、婚姻、关系]。
步骤308,将多个第一词单元和标签集中每个标签的多个第二词单元输入文本分类模型的嵌入层,得到多个第一词单元的词向量和每个标签的多个第二词单元的词向量。
作为一种示例,文本分类模型是基于神经网络模型得到的,且文本分类模型用于对文本进行多标签分类,即为单个文本分配多个标签。
继续上述举例,将上述多个第一词单元和每个标签的多个第二词单元输入文本分类模型的嵌入层,通过word2wec算法对每个第一词单元进行词嵌入处理,可以得到第一样本文本1中每个第一词单元的词向量,即分别得到“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”的词向量,得到第一样本文本2中每个词单元的词向量,即分别得到“小明”、“和”、“小丽”、“刚”和“结婚”的词向量;以及通过word2wec算法对每个第二词单元进行词嵌入处理,可以得到标签1中每个词单元的词向量,即分别得到“婚后”、“育”、“有”、“子”和“女”的词向量,可以得到标签2中每个词单元的词向量,即分别得到“存在”、“婚姻”和“关系”的词向量,可以得到标签3中每个词单元的词向量,即分别得到“不”、“存在”、“婚姻”和“关系”的词向量。
步骤310,将多个第一词单元的词向量和每个标签的多个第二词单元的词向量输入编码层,得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量。
在一些实施例中,编码层可以采用双向LSTM结构。对于输入的一组词向量,编码层可以确定该组词向量中任一词向量结合上下文信息后的特征向量,该特征向量可以称为隐层向量。也即是,在编码层对每个词向量进行编码是确定每个词向量结合其之前的词向量和其之后的词向量得到的特征向量。
作为一种示例,可以将多个第一词单元的词向量输入编码层,通过该编码层可以确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。例如,将样本文本1的第一词单元的同理,可以将每个标签的多个第二词单元的词向量输入编码层,通过该编码层可以确定同一个标签中每个第二词单元结合上下文信息后的隐层向量,可以得到同一个标签的每个第二词单元的第二向量。
继续上述举例,以第一样本文本1为例,可以将“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”的词向量按照顺序并行输入编码层,结合每个词向量之前和之后的词向量,对“小王”的词向量、“和”的词向量、“小李”的词向量、“婚后”的词向量、“育”的词向量、“有”的词向量、“一”的词向量和“女”的词向量进行编码,可以得到“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”分别结合上下文信息的隐层向量,即可以得到第一样本文本1中每个第一词单元的第一向量。
同理,以标签1“婚后育有子女”为例,可以将“婚后”的词向量、“育”的词向量、“有”的词向量、“子”的词向量和“女”的词向量按顺序并行输入编码层,结合每个词向量之前和之后的词向量,对每个词向量进行编码,可以得到标签1中每个第二词单元的词向量结合上下文信息的隐层向量,即可以得到标签1中每个第二词单元的第二向量。通过上述方法,可以确定标签2中每个第二词单元的第二向量和标签3中每个第二词单元的第二向量。
通过上述方式,可以确定第一样本文本1、第一样本文本2和第一样本文本3中每个第一词单元的第一向量,并且可以确定标签1、标签2和标签3中每个第二词单元的第二向量。
步骤312,以多个第一词单元的第一向量为第一样本文本的第一向量组,以及以每个标签的多个第二词单元的第二向量为标签集中每个标签的第二向量组。
需要说明的是,步骤308-步骤312是对步骤202的下位描述,具体实现可以参见步骤202的相关描述,本实施例在此不再赘述。
步骤314,将第一向量组和标签集的第二向量组集合分别输入词级注意力层,并将第一向量组分别与每个标签的第二向量组进行注意力计算,得到注意力矩阵集合。
其中,注意力矩阵集合包括的注意力矩阵的数量与标签集中的标签数量相同。
继续上述举例,对于第一样本文本1,可以将第一样本文本1“小王和小李婚后育有一女”中每个第一词单元的第一向量与标签1“婚后育有子女”中每个第二词单元的第二向量进行注意力计算,得到如下第一个注意力矩阵;可以将第一样本文本1“小王和小李婚后育有一女”中每个第一词单元的第一向量与标签2“存在婚姻关系”中每个第二词单元的第二向量进行注意力计算,可以得到如下第二个注意力矩阵;可以将第一样本文本1“小王和小李婚后育有一女”中每个第一词单元的第一向量与标签3“不存在婚姻关系”中每个第二词单元的第二向量进行注意力计算,可以得到如下第三个注意力矩阵。
其中,第一个矩阵中的元素Aij表示第一样本文本1中第i个第一词单元的第一向量与标签1中第j个第二词单元的第二向量之间的相关性取值。例如,A11表示词单元“小王”的第一向量与词单元“婚后”的第一向量之间的相关性取值,A42表示词单元“婚后”的第一向量与词单元“育”的第一向量之间的相关性取值,A85表示词单元“女”的第一向量与词单元“子女”的第一向量之间的相关性取值。同理,第二个矩阵中的元素Bij表示第一样本文本1中第i个词单元的第一向量与标签2中第j个词单元的第二向量之间的相关性取值。例如,B22表示词单元“和”的第一向量与词单元“婚姻”的第一向量之间的相关性取值,B53表示词单元“育”的第一向量与词单元“关系”的第一向量之间的相关性取值。同理,第三个矩阵中的元素Cij表示第一样本文本1中第i个词单元的第一向量与标签3中第j个词单元的第二向量之间的相关性取值。例如,C41表示词单元“婚后”与词单元“不”之间的相关性取值,C32表示词单元“小李”与词单元“存在”之间的相关性取值。
同理,对于第一样本文本2,也可以通过上述方式得到第一样本文本2的四个注意力矩阵,即得到第一样本文本2的注意力矩阵集合。
在本申请实施例中,对第一向量和第二向量进行注意力计算可以是确定第一向量和第二向量的相似度,将相似度确定为第一向量和第二向量的相关性取值。
步骤316,按行对目标注意力矩阵中的相关性取值进行归一化处理,得到目标注意力矩阵中每个元素的权重值,并将每行的归一化权重值中最大的归一化权重值确定为与该行对应的第一词单元对应的第一权重值,得到第一样本文本中每个第一词单元对应的第一权重值。
其中,目标注意力矩阵是第一向量组与目标标签的第二向量组进行注意力计算得到的,目标标签为标签集中的任一标签。注意力矩阵集合包括的每个注意力矩阵中元素的行数与第一样本文本的词单元的数量相关,元素的列数与标签集中标签的词单元的数量相关,每个注意力矩阵中包括的元素为第一样本文本的词单元与标签集中标签的词单元的相关性取值。
继续上述举例,以第一个注意力矩阵为目标注意力矩阵为例,对目标注意力矩阵中第一行的元素进行归一化处理后,可以得到e11,e12,e13,e14和e15,按照从大到小的顺序对e11,e12,e13,e14和e15进行排序,假设e12最大,可以将e12确定为词单元“小王”对应的第一权重值。对目标注意力矩阵中第二行的元素进行归一化处理后,可以得到e21,e22,e23,e24和e25,按照从大到小的顺序对e21,e22,e23,e24和e25进行排序,假设e23最大,可以将e23确定为词单元“和”对应的第一权重值。以此类推,可以确定第一样本文本1中每个第一词单元的第一权重值。例如,在本例中,可以得到8个第一权重值,且每个第一权重值与第一样本文本1中一个第一词单元对应,该8个第一权重值可以组成一个8×1的矩阵。
同理,以第二个注意力矩阵为目标注意力矩阵,可以得到第一样本文本1中每个第一词单元的第一权重值,该第一权重值是标签2相关的。以第三个注意力矩阵为目标注意力矩阵,可以得到第一样本文本1中每个第一词单元的第一权重值,该第一权重值是与标签3相关的。
需要说明的是,在本步骤中,为了使得目标注意力矩阵中同一行的元素在同一个数量级,可以对目标注意力矩阵中的元素按行进行归一化处理,便于在同一行的元素之间进行比较。在本申请实施例中,也可以不对注意力矩阵中的元素按行进行归一化处理,根据相关性取值确定每个第一词单元的第一权重值,可以减少设备的处理操作。
步骤318,基于每个第一权重值和第一向量组,确定第一样本文本的与目标标签相关的第三向量。
其中,目标标签与目标注意力矩阵对应。
继续上述举例,以标签1为目标标签,假设第一样本文本1中每个第一词单元的第一向量为M维向量,且第一样本文本1包括8个第一词单元,则第一样本文本1的第一向量组可以是8×M的矩阵,可以将得到的8×1的矩阵的转置与第一样本文本1的第一向量组,即8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是该第一样本文本1的与标签1“婚后育有子女”相关的句子级的向量表示,即与标签1“婚后育有子女”相关的该第一样本文本1的第三向量。例如,该第一样本文本1的与标签1“婚后育有子女”相关的第三向量可以是[Y11、Y12、Y13、Y14……Y1M-1、Y1M]。
其中,M表示第三向量的维度,Y1M表示该第一样本文本1的与标签1相关的第三向量中第M维的取值。
同理,以标签2为目标标签,可以确定该第一样本文本1的与标签2“存在婚姻关系”相关的第三向量。例如,该第一样本文本1的与标签2相关的第三向量可以是[Y21、Y22、Y23、Y24……Y2M-1、Y2M]。其中,M表示第三向量的维度,Y2M表示该第一样本文本1的与标签2相关的第三向量中第M维的取值。以标签3为目标标签,可以确定该第一样本文本1的与标签3“不存在婚姻关系”相关的第三向量。例如,该第一样本文本1的与标签3相关的第三向量可以是[Y31、Y32、Y33、Y34……Y3M-1、Y3M]。其中,M表示第三向量的维度,Y3M表示该第一样本文本1的与标签3相关的第三向量中第M维的取值。
需要说明的是,通过上述方法可以确定第一样本文本1的多个第三向量,且每个第三向量与标签集中的一个标签对应,可以将第一样本文本1的多个第三向量称为第一样本文本1的第三向量集合。
步骤320,按列对目标注意力矩阵中的元素进行归一化处理,得到目标注意力矩阵中每个元素的归一化权重值,并将每列的归一化权重值中最大的归一化权重值确定为与该行对应的第二词单元对应的第二权重值,进而得到所述目标标签中每个第二词单元对应的第二权重值。
其中,目标注意力矩阵是样本文本1的注意力矩阵集合中的任一注意力矩阵。
继续上述举例,以第一个注意力矩阵为目标注意力矩阵为例,对目标注意力矩阵中第一列的元素进行归一化处理后,可以得到e'11,e'21,e'31,e'41和e'51,按照从大到小的顺序对e'11,e'21,e'31,e'41和e'51进行排序,假设e'21最大,则可以将e'21确定为词单元“婚后”对应的第二权重值。对目标注意力矩阵中第二列的元素进行归一化处理后,可以得到e'12,e'22,e'32,e'42、e'52、e'62、e'72和e'82,按照从大到小的顺序对e'12,e'22,e'32,e'42、e'52、e'62、e'72和e'82进行排序,假设e'22最大,则可以将e'22确定为词单元“育”对应的第二权重值。以此类推,可以确定标签1“婚后育有子女”中每个第二词单元的第二权重值。例如,在本例中,可以得到5个第二权重值,且每个第二权重值与标签1中一个第二词单元对应,该5个第二权重值可以组成一个1×5的矩阵。
同理,以第二个注意力矩阵为目标注意力矩阵,可以得到标签2中每个第二词单元的第二权重值。以第三个注意力矩阵为目标注意力矩阵,可以得到标签3中每个第二词单元的第二权重值。
需要说明的是,在本步骤中,为了使得目标注意力矩阵中同一列的元素在同一个数量级,可以对目标注意力矩阵中的元素按列进行归一化处理,便于在同一列的元素之间进行比较。在本申请实施例中,也可以不对注意力矩阵中的元素按列进行归一化处理,根据相关性取值确定每个第二词单元的第二权重值,可以减少设备的处理操作。
步骤322,基于目标标签中每个词单元的第二权重值和目标标签的第二向量组,确定目标标签的与每个样本文本相关的第四向量。
继续上述举例,对于第一样本文本1来说,以标签1为目标标签,假设目标标签中每个第二词单元的第二向量为M维向量,且标签1包括5个第二词单元,则标签1的第一向量组可以是5×M的矩阵,可以将得到的1×5的矩阵与标签1的第二向量组,即5×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与第一样本文本1相关的标签1“婚后育有子女”的句子级的向量表示,即该1×M的矩阵是标签1“婚后育有子女”的与第一样本文本1相关的第四向量。例如,标签1“婚后育有子女”的与该第一样本文本1相关的第四向量可以是[Z11、Z12、Z13、Z14……ZM-1、ZM]。
其中,M表示第四向量的维度,Z1M表示标签1“婚后育有子女”的与该第一样本文本1相关的第四向量中第M维的取值。
同理,以标签2为目标标签,可以确定与第一样本文本1相关的标签2“存在婚姻关系”的第四向量。例如,标签2“存在婚姻关系”的与该第一样本文本1相关的第四向量可以是[Z21、Z22、Z23、Z24……Z2M-1、Z2M]。其中,M表示第四向量的维度,Z2M表示标签2“存在婚姻关系”的与该第一样本文本1相关的第四向量中第M维的取值。以标签3为目标标签,可以确定与第一样本文本1相关的标签3“不存在婚姻关系”的第四向量。例如,标签3“不存在婚姻关系”的与该第一样本文本1相关的第四向量可以是[Z31、Z32、Z33、Z34……Z3M-1、Z3M]。其中,M表示第四向量的维度,Z3M表示标签3“不存在婚姻关系”的与该第一样本文本1相关的第四向量中第M维的取值。
需要说明的是,通过上述方式可以确定每个标签与第一样本文本1相关的第四向量,以及每个标签与第一样本文本2相关的第四向量。
需要说明的是,步骤314-步骤322是对步骤204的下位描述,其具体实现可以参见步骤204的相关描述,本实施例在此不再赘述。
步骤324,将第三向量集合和第四向量集合输入句级注意力层,对第三向量集合中与目标标签相关的第三向量和第四向量集合中目标标签的第四向量进行注意力计算,得到与目标标签相关的第一样本文本向量。
其中,目标标签为标签集中的任一标签。第四向量集合中目标标签的第四向量是指第四向量集合中目标标签的与第一样本文本向量相关的第四向量。
例如,可以将第一样本文本1的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]和与第一样本文本相关的目标标签“婚后育有子女”的第四向量[R11、R12、R13、R14……RM-1、RM]的转置进行注意力计算,可以得到第一样本文本的与该目标标签“婚后育有子女”相关的目标权重,将该目标权重与第一样本文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]相乘,可以得到第一样本文本的与目标标签相关的第一样本文本向量。同理,通过上述方式可以得到第一样本文本1的与其他标签相关的第一样本文本向量,将第一样本文本1的与每个标签相关的第一样本文本向量的集合称为第一样本文本1的与标签集相关的第一样本文本向量集。
同理,通过上述方式可以得到第一样本文本2的与标签集相关的第一样本文本向量集。
需要说明的是,步骤324的实现方式与步骤206的实现方式相同,具体实现可以参见步骤206的相关描述,本实施例在此不再赘述。
步骤326,获取标签共现矩阵,标签共现矩阵用于表征标签集中标签与标签之间的相关性。
例如,假设标签集包括三个标签,分别为标签1“婚后育有子女”、标签2“存在婚姻关系”和标签3“不存在婚姻关系”,假设标签共现矩阵可以是。其中,第i行第j列表示标签i与标签j属于同一个样本文本的标签的概率。例如,第一行第二列0.8是标签1“婚后育有子女”和标签2“存在婚姻关系”属于同一个样本文本的标签的概率,第一行第三列0是标签1“婚后育有子女”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率,第二行第三列0是标签2“存在婚姻关系”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率等等。
步骤328,基于标签共现矩阵和第一样本文本向量集,确定第二样本文本向量集。
例如,假设第一样本文本向量集中包括3个第一样本文本向量,且该3个样本文本向量均为M维的向量,表示成矩阵则均是1×M的矩阵,可以将该3个矩阵进行拼接,得到一个M×3的矩阵,则该矩阵中第一列是与“婚后育有子女”对应的第一样本文本向量,第二列是与“存在婚姻关系”对应的第一样本文本向量,第三列是与“不存在婚姻关系”对应的第一样本文本向量。将标签共现矩阵与上述M×3的矩阵相乘,可以得到结合标签相关性分布的第二样本文本向量集,该第二样本文本向量集表示成矩阵则是一个M×3的矩阵,该矩阵中第一列是与“婚后育有子女”对应的第二样本文本向量,第二列是与“存在婚姻关系”对应的第二样本文本向量,第三列是与“不存在婚姻关系”对应的第二样本文本向量。
步骤330,将第二样本文本向量集输入全连接层,确定标签集中每个标签为第一样本文本的预测标签的概率。
例如,用矩阵表示第二样本文本向量集为M×3的矩阵,将该M×3的矩阵输入全连接层,将全连接层的参数组成的转换矩阵1×M与该M×3的矩阵相乘,则可以得到一个1×3的矩阵,该矩阵中第一列的数值表示第一样本文本与“婚后育有子女”的相关性分值,第二列的数值表示第一样本文本与“存在婚姻关系”的相关性分值,第三列的数值表示第一样本文本与“不存在婚姻关系”的相关性分值,再将该1×3的矩阵输入激活函数进行处理,可以得到该三个标签中每个标签可能是第一样本文本的预测标签的概率,并且可以将大于概率阈值的概率对应的标签确定为预测标签。
步骤332,将概率大于概率阈值的标签确定为预测标签。
例如,将第一样本文本1对应的概率中大于概率阈值的标签确定为第一样本文本1的预测标签,将第一样本文本2对应的概率中大于概率阈值的标签确定为第一样本文本2的预测标签。
需要说明的是,步骤326-步骤332是对步骤208的下位描述,其具体实现可以参见步骤208的相关描述,本实施例在此不再赘述。
步骤334,将第一样本文本对应的第一标签组输入文本分类模型中,将预测标签和与该第一样本文本对应的第一标签组输入损失函数,确定损失值。
需要说明的是,本申请实施例仅是以第一样本文本为例,对文本分类模型的训练进行说明,在本申请实施例中,可以根据每个样本文本的预测标签和其对应的第一标签组,对文本分类模型进行训练。
步骤336,若损失值大于或等于预设阈值,继续对文本分类模型进行训练。
步骤338,若损失值小于预设阈值,停止训练。
例如,基于预测标签“婚后育有子女”和“存在婚姻关系”与第一样本文本1对应的第一标签组“婚后育有子女”和“存在婚姻关系”对文本分类模型进行训练,可以将该预测标签和第一标签组输入损失函数中,确定损失值,在损失值大于或等于预设阈值的情况下,说明文本分类模型的预测结果与真实结果之间仍存在一定偏差,仍需调整文本分类模型的参数并获取样本文本继续对该模型进行训练;在损失值小于预设阈值的情况下,说明文本分类模型的预测结果与真实结果的接近程度已经足够,可以停止训练。
需要说明的是,步骤334-步骤338是对步骤210的下位描述,其具体实现可以参见步骤210的相关描述,本实施例在此不再赘述。
本说明书提供的文本分类模型的训练方法,通过词级注意力层,将标签的词单元与样本文本的词单元在词级进行注意力计算,而不是将整个标签和样本文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和样本文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和样本文本的相关性,以及不同的标签对应的样本文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
图4示出了根据本说明书一实施例提供的一种文本分类方法的流程图,具体可以包括以下步骤:
步骤402,获取待分类文本和标签集。
在本实施例中,标签集可以是训练文本分类模型时使用的标签集。该标签集不仅可以包括该待分类文本可能对应的标签,也可以包括样本文本集中其他样本文本可能对应的标签。
例如,假设待分类文本为“小王是小李的妻子”。标签集中的标签可以包括“存在婚姻关系”、“不存在婚姻关系”、“婚后育有子女”、“婚后没有子女”等。
步骤404,将所述待分类文本和所述标签集输入文本分类模型的编码层,得到所述待分类文本的第一向量组和所述标签集的第二向量组集合。
作为一种示例,文本分类模型是基于神经网络模型得到的,且文本分类模型用于对文本进行多标签分类,即为单个文本分配多个标签。文本分类模型由多个包括各种功能的层组成,编码层则是文本分类模型中用于进行编码的层,可以认为是文本分类模型的输入层。
作为一种示例,第一向量组可以是待分类文本中多个词单元的第一向量组成的组。第二向量组可以是标签集中每个标签的第二向量组成的组。第二向量组集合可以是标签集中多个标签的第二向量组组成的集合。
在本申请一种可能的实现方式中,执行本步骤之前,可以先对待分类文本进行分词,得到待分类文本的多个第一词单元;以及对标签集中每个标签进行分词,得到每个标签的多个第二词单元。相应地,本步骤的具体实现可以包括:将多个第一词单元和每个标签的多个第二词单元输入编码层,得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量;以多个第一词单元的第一向量为待分类文本的第一向量组,以及以每个标签的多个第二词单元的第二向量为每个标签的第二向量组,得到标签集的第二向量组集合。
其中,第一词单元是对待分类文本进行分词处理后得到的词单元。第二词单元是对标签进行分词处理后得到的词单元,即每个标签进行分词处理后得到的词单元均称为第二词单元。
也就是说,在将待分类文本和标签集输入文本分类模型之前,可以对待分类文本和标签集中每个标签进行分词处理,得到待分类文本的多个第一词单元和标签集中每个标签的多个第二词单元,在这种情况下,可以将多个第一词单元和每个标签的多个第二词单元输入编码层,对多个第一词单元和每个标签的多个第二词单元进行编码,得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量,将多个第一词单元的第一向量组成的组称为待分类文本的第一向量组,将每个标签的多个第二词单元组成的组称为每个标签的第二向量组。
作为一种示例,可以根据预先编制的词表对标签和待分类文本分别进行分词处理。示例性地,在预先编制的词表中,若待分类文本为中文文本,可以将一个字、一个标点符号作为一个词单元。若待分类文本为外语文本,可以将一个单词、一个标点符号作为一个词单元。若待分类文本中包括数字,可以将一个数字作为一个词单元。
例如,假设待分类文本是“小王和小李婚后育有一女”,标签集中包括标签的数量为三个,且该三个标签分别为“婚后育有子女”、“存在婚姻关系”和“不存在婚姻关系”,可以对上述待分类文本进行分词处理,得到分词结果为[小王、和、小李、婚后、育、有、一、女],对上述三个标签进行分词处理,可以得到分词结果为[婚后、育、有、子、女]、[存在、婚姻、关系]和[不、存在、婚姻、关系]。
作为一种示例,得到分词结果后,可以将多个第一词单元和每个标签的多个第二词单元输入编码层,对多个第一词单元和每个标签的多个第二词单元进行编码,可以得到多个第一词单元结合上下文信息的隐层向量,即第一向量,以及可以得到每个标签的多个第二词单元结合上下文信息的隐层向量,即第二向量。进而将多个第一词单元的第一向量进行拼接,可以得到待分类文本的第一向量组,将每个标签的多个第二词单元的第二向量进行拼接,可以得到每个标签的第二向量组,进而得到标签集的第二向量组集合。
示例性地,在该种情况下编码层可以包括词嵌入模块和编码模块。可以将待分类文本的多个第一词单元并行输入编码层,通过词嵌入模块的word2wec算法对每个第一词单元进行词嵌入处理,得到每个第一词单元的特征表示,即得到每个第一词单元的词向量,再通过编码模块确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。同理,可以将每个标签的多个第二词单元输入该嵌入层,通过词嵌入模块的word2wec算法对每个第二词单元进行词嵌入处理,得到每个标签中每个第二词单元的特征表示,即得到每个第二词单元的词向量,再通过编码模块确定每个第二词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第二词单元的第二向量。
进一步地,将所述多个第一词单元和每个标签的多个第二词单元输入所述编码层之前,还可以将所述多个第一词单元和每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和每个标签的多个第二词单元的词向量。相应地,所述将所述多个第一词单元和每个标签的多个第二词单元输入所述编码层,包括:将所述多个第一词单元的词向量和每个标签的多个第二词单元的词向量输入所述编码层。
也就是说,得到多个第一词单元和每个标签的第二词单元之后,可以将多个第一词单元和每个标签的多个第二词单元输入嵌入层进行词嵌入处理,得到多个第一词单元的词向量和每个标签的多个第二词单元的词向量,再将词向量输入编码层。
作为一种示例,可以将待分类文本的多个第一词单元并行输入嵌入层,在该嵌入层中,通过word2wec算法对每个第一词单元进行词嵌入处理,可以得到每个第一词单元的特征表示,即得到每个第一词单元的词向量。同理,可以将每个标签的多个第二词单元输入该嵌入层,通过word2wec算法对每个第二词单元进行词嵌入处理,可以得到每个标签中每个第二词单元的特征表示,即得到每个第二词单元的词向量。
在一些实施例中,在该种情况下,编码层可以采用双向LSTM结构。对于输入的一组词向量,编码层可以确定该组词向量中任一词向量结合上下文信息后的特征向量,该特征向量可以称为隐层向量。也即是,在编码层对每个词向量进行编码是确定每个词向量结合其之前的词向量和其之后的词向量得到的特征向量。
作为一种示例,可以将多个第一词单元的词向量输入编码层,通过该编码层可以确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。同理,可以将每个标签的多个第二词单元的词向量输入编码层,通过该编码层可以确定同一个标签中每个第二词单元结合上下文信息后的隐层向量,可以得到同一个标签的每个第二词单元的第二向量。
在一些实施例中,将获取的待分类文本和标签集输入文本分类模型的编码层之前,还可以对所述待分类文本进行分词,得到所述待分类文本的多个第一词单元;对所述标签集中的标签进行分词,得到所述标签集中每个标签的多个第二词单元;将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量;
相应地,将获取的待分类文本和标签集输入文本分类模型的编码层,包括:将所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量输入所述编码层。
也就是说,在将待分类文本和标签集输入编码层之前,可以对待分类文本进行分词处理,得到多个第一词单元,并对标签集中每个标签进行分词处理,得到每个标签的多个第二词单元,再将多个第一词单元和每个标签的多个第二词单元输入嵌入层进行词嵌入处理,可以得到多个第一词单元的词向量,和每个标签的多个第二词单元的词向量。再将多个第一词单元的词向量输入编码层,可以得到每个第一词单元结合上下文信息的第一向量,进而得到第一向量组,以及可以得到同一个标签中的每个第二词单元结合上下文信息的第二向量,进而可以得到每个标签的第二向量组,得到标签集的第二向量组集合。
需要说明的是,在该种情况下,文本分类模型可以包括嵌入层和编码层。该种实现方式中分词处理、词嵌入处理和编码层的处理均可参见上述相关描述,本申请实施例在此不再赘述。
本说明书实施例中,可以对待分类文本和标签集中的每个标签进行分词处理,得到待分类文本的多个第一词单元和每个标签的多个第二词单元,将多个第一词单元和每个标签的多个第二词单元输入嵌入层进行词嵌入处理,可以得到多个第一词单元的词向量和每个标签的多个第二词单元的词向量,将多个第一词单元的词向量和每个标签的多个第二词单元的词向量输入编码层,可以得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量,将多个第一词单元的第一向量进行组合,可以得到待分类文本的第一向量组,同理,将每个标签的多个第二词单元的第二向量进行组合,可以得到每个标签的第二向量组,进而可以得到标签集的第二向量组集合。
在本申请另一种可能的实现方式中,编码层可以包括分词模块和词嵌入模块,则将待分类文本输入编码层,可以对该待分类文本进行分词,得到待分类文本的多个第一词单元,并对每个第一词单元进行词嵌入处理,可以得到每个第一词单元的词向量,基于每个第一词单元的词向量,可以确定每个第一词单元结合上下文信息后的第一向量,进而得到待分类文本的第一向量组。同理,将标签集输入编码层可以对每个标签进行分词,得到每个标签的多个第二词单元,并对每个第二词单元进行词嵌入处理,可以得到每个第二词单元的词向量,基于同一个标签中每个第二词单元的词向量,可以确定同一标签中每个第二词单元结合上下文信息后的第二向量,进而得到每个标签的第二向量组,进而得到标签集的第二向量组集合。
需要说明的是,该种实现方式中分词处理和词嵌入处理均可参见上一种实现方式的相关描述,本申请实施例在此不再赘述。
作为一种示例,在上述另一种可能的实现方式中,编码层可以是包括分词功能、词嵌入功能和编码功能的任何结构,且该编码功能可以是采用LSTM结构的功能,本申请实施例对此不作限定。
步骤406,将所述第一向量组和所述第二向量组集合输入词级注意力层,得到所述待分类文本的第三向量集合和所述标签集的第四向量集合。
其中,第三向量是与标签相关的待分类文本的句子级向量。第三向量集合是分别与每个标签相关的待分类文本的多个句子级向量组成的集合。
其中,第四向量是与待分类文本相关的标签的句子级向量,第四向量集合是与待分类文本相关的每个标签的句子级向量组成的集合。
其中,词级注意力层是以词单元为单位进行注意力计算的层。
其中,所述第三向量集合和所述标签集的第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关。
作为一种示例,第三向量集合中包括的第三向量的数量与标签集中的标签数量相同,第四向量集合中包括的第四向量的数量与标签集中的标签数量相同。
在实施中,本步骤的具体实现可以包括:将所述第一向量组分别与所述标签集中每个标签的第二向量组进行注意力计算,得到注意力矩阵集合;基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述待分类文本的第三向量集合和所述标签集的第四向量集合。
其中,所述注意力矩阵集合包括的注意力矩阵的数量与所述标签集中的标签数量相关。
也就是说,需要将第一向量组和标签集中每个标签对应的第二向量组进行注意力计算,则可以得到待分类文本的注意力矩阵集合,且注意力矩阵集合中包括的注意力矩阵的数量与标签集中的标签数量相同。根据注意力矩阵集合、第一向量组和第二向量组集合,可以确定待分类文本的第三向量集合和标签集的第四向量集合。
作为一种示例,注意力矩阵可以称为词对匹配矩阵。其中,词对可以包括标签中的词单元和待分类文本中的词单元。
作为一种示例,对于标签集中的目标标签,可以将第一向量组中的第一向量与目标标签的第二向量组中的第二向量进行注意力计算,可以得到该待分类文本的与目标标签对应的注意力矩阵。
其中,目标标签为标签集中的任一标签。
通过上述方式,可以确定待分类文本的与每个标签对应的注意力矩阵,进而可以得到该待分类文本的注意力矩阵集合。
作为一种示例,对第一向量和第二向量进行注意力计算可以是确定第一向量和第二向量之间的相似度,可以通过相似度计算的方法得到第一向量和第二向量之间的相似度,将该相似度作为第一向量和第二向量之间的相关性取值,该相关性取值也可以称为第一向量和第二向量的注意力值。
示例性地,假设待分类文本包括三个第一词单元a、b、c,目标标签包括3个第二词单元o、p、q,将待分类文本中每个第一词单元的第一向量和目标标签中每个第二词单元的第二向量进行注意力计算,得到注意力矩阵可以包括:确定a的第一向量与o的第一向量的相似度,作为注意力矩阵第一行第一列的元素;确定a的第一向量与p的第一向量的相似度,作为注意力矩阵第一行第二列的元素确定a的第一向量与q的第一向量的相似度,作为注意力矩阵第一行第三列的元素;确定b的第一向量与o的第一向量的相似度,作为注意力矩阵第二行第一列的元素;确定b的第一向量与p的第一向量的相似度,作为注意力矩阵第二行第二列的元素确定b的第一向量与q的第一向量的相似度,作为注意力矩阵第二行第三列的元素;确定c的第一向量与o的第一向量的相似度,作为注意力矩阵第三行第一列的元素;确定c的第一向量与p的第一向量的相似度,作为注意力矩阵第三行第二列的元素确定c的第一向量与q的第一向量的相似度,作为注意力矩阵第三行第三列的元素。如此,则可以得到注意力矩阵,且该注意力矩阵与目标标签对应。
例如,假设目标标签为“婚后育有子女”,且目标标签包括的词单元为“婚后”、“育”、“有”、“子”和“女”,待分类文本为“小王和小李婚后育有一女”,且待分类文本包括的词单元为“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”,则将目标标签中词单元的第二向量和待分类文本中词单元的第一向量进行注意力计算,可以得到如下注意力矩阵:
,其中,该矩阵中的元素Aij表示待分类文本中第i个第一词单元的第一向量与目标标签中第j个第二词单元的第二向量之间的相关性取值。例如,A11表示词单元“小王”与词单元“婚后”之间的相关性取值,A12表示词单元“小王”与词单元“育”之间的相关性取值,A13表示词单元“小王”与词单元“有”之间的相关性取值,A14表示词单元“小王”与词单元“子”之间的相关性取值,A15表示词单元“小王”与词单元“女”之间的相关性取值,A41表示词单元“婚后”与词单元“婚后”之间的相关性取值,A42表示词单元“婚后”与词单元“育”之间的相关性取值,A43表示词单元“婚后”与词单元“有”之间的相关性取值,A81表示词单元“女”与词单元“婚后”之间的相关性取值,A82表示词单元“女”与词单元“育”之间的相关性取值,A83表示词单元“女”与词单元“有”之间的相关性取值等等。
在一些实施例中,所述注意力矩阵集合包括的每个注意力矩阵中元素的行数与所述待分类文本的词单元的数量相关,元素的列数与所述标签集中标签的词单元的数量相关,每个注意力矩阵中包括的元素为所述待分类文本的词单元与所述标签集中标签的词单元的相关性取值,所述基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述待分类文本的第三向量集合和所述标签集的第四向量集合,包括:
按行对目标注意力矩阵中的相关性取值进行归一化处理,得到第一相关性取值,并将每行的第一相关性取值中最大的第一相关性取值确定为与所述待分类文本的词单元对应的第一权重值,得到所述待分类文本中每个词单元对应的第一权重值,基于每个第一权重值和所述第一向量组,确定所述待分类文本的与所述目标标签相关的第三向量;按列对目标注意力矩阵中的相关性取值进行归一化处理,得到第二相关性取值,并将每列的第二相关性取值中最大的第二相关性取值确定为与所述目标标签的词单元对应的第二权重值,得到所述目标标签中每个词单元对应的第二权重值;基于所述目标标签中每个词单元的第二权重值和所述目标标签的第二向量组,确定所述目标标签的第四向量。
其中,所述目标注意力矩阵是所述第一向量组与所述目标标签的第二向量组进行注意力计算得到的,所述目标标签为所述标签集中的任一标签。目标注意力矩阵中的相关性取值即为该矩阵中的元素。
也就是说,由于每个注意力矩阵中某一行的元素为待分类文本中的一个词单元的第一向量与标签的每个第二向量的相关度取值,因此每个注意力矩阵的行数与待分类文本中词单元的数量相同,每个注意力矩阵的列数与每个标签中词单元的数量相同。对于目标注意力矩阵来说,目标注意力矩阵中的元素是待分类文本的词单元与标签集中的目标标签的词单元之间的相关性取值,可以认为是待分类文本和目标标签在词级的注意力值,为了进一步确定待分类文本和标签之间的相关性,还需要确定待分类文本和目标标签在句子级的注意力值。具体的,可以将目标注意力矩阵中同一行的多个相关性取值进行归一化处理,得到每行的多个第一相关性取值,并将每行的多个第一相关性取值中最大的第一相关性取值确定为与待分类文本的词单元对应的第一权重值,可以得到待分类文本中每个词单元对应的第一权重值,由于每个词单元的第一权重值是词单元与目标标签的最大的相关性取值,即第一权重值可以反映待分类文本与标签之间最大的相关性,根据每个第一权重值和第一向量组,可以将待分类文本的第一向量组转换为与目标标签的相关性更高的第三向量。同理,可以将目标注意力矩阵中同一列的多个相关性取值进行归一化处理,得到每列的多个第二相关性取值,并将每列的多个第二相关性取值中最大的第二相关性取值确定为与目标标签中每个词单元对应的第二权重值,得到目标标签中每个词单元对应的第二权重值,由于每个词单元的第二权重值是目标标签与词单元的最大的相关性取值,即第二权重值可以反映目标标签与待分类文本之间的最大的相关性,根据每个第二权重值和第二向量组,可以将目标标签的第二向量组转换为与待分类文本相关性更高的第四向量。
继续上述举例,按行对上述目标标签对应的注意力矩阵中的相关性取值进行归一化处理。例如,假设对第一行的相关性取值进行归一化处理后,可以得到a11,a12,a13,a14和a15,按照从大到小的顺序对a11,a12,a13,a14和a15进行排序,假设a12最大,可以将a12确定为词单元“小王”对应的第一权重值,以此类推,可以确定待分类文本中每个词单元的第一权重值。例如,在本例中,可以得到8个第一权重值,且每个第一权重值与待分类文本中一个第一词单元对应,该8个第一权重值可以组成一个8×1的矩阵。假设待分类文本中每个词单元的第一向量为M维向量,则可以将得到的8×1的矩阵的转置与待分类文本的第一向量组,即8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与目标标签“婚后育有子女”相关的该待分类文本的句子级的向量表示,即与目标标签“婚后育有子女”相关的该待分类文本的第三向量。例如,假设目标标签为标签1,该与目标标签“婚后育有子女”相关的该待分类文本的第三向量可以是[X11、X12、X13、X14……XM-1、XM]。
其中,M表示第三向量的维度,X1M表示该待分类文本的与标签1相关的第三向量中第M维的取值。
需要说明的是,通过上述方式,可以确定与每个标签相关的待分类文本的第三向量,进而可以得到待分类文本的第三向量集合。
同理,按列对第一个注意力矩阵中的相关性取值进行归一化处理。例如,假设对第一列的相关性取值进行归一化处理后,可以得到a'11,a'21,a'31,a'41、a'51、a'61、a'71和a'81,按照从大到小的顺序对a'11,a'21,a'31,a'41、a'51、a'61、a'71和a'81进行排序,将最大的相关性取值确定为词单元“婚后”对应的第二权重值,以此类推,可以确定目标标签“婚后育有子女”中每个词单元的第二权重值。例如,在本例中,可以得到8个第二权重值,且每个第一权重值与目标标签中一个第二词单元对应,该8个第二权重值可以组成一个1×8的矩阵。假设目标标签中每个词单元的第二向量为M维向量,可以将得到的1×8的矩阵与目标标签的第二向量组相乘,即将1×8的矩阵与8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与待分类文本相关的目标标签“婚后育有子女”的句子级的向量表示,即与待分类文本相关的目标标签“婚后育有子女”的第四向量。例如,假设目标标签为标签1,该与待分类文本相关的目标标签“婚后育有子女”的第四向量可以是[R11、R12、R13、R14……RM-1、RM]。
其中,M表示第四向量的维度,Z1M表示与待分类文本相关的标签1“婚后育有子女”的第四向量中第M维的取值。
需要说明的是,通过上述方式,可以确定与待分类文本相关的标签集中每个标签的第四向量,将多个标签的第四向量组成的集合称为标签集的第四向量集合。
需要说明的是,通过上述方式,可以确定与每个标签相关的待分类文本的第三向量,进而可以得到待分类文本的第三向量集合,以及确定与待分类文本相关的每个标签的第四向量,进而可以得到标签集的第四向量集合。
在本申请实施例中,可以先通过词级注意力层确定待分类文本中词单元和标签集中标签的词单元之间在词级的相关性取值,即词级注意力值,然后根据词级注意力值确定待分类文本与标签相关的句子级的向量表示,即第三向量,以及确定标签集中标签与待分类文本的相关的句子级的向量表示,即第四向量,考虑到了标签中词单元的信息,可以更加准确地捕捉待分类文本与标签之间的相关性,进而提高文本分类模型的准确率。
步骤408,将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集。
其中,第三向量集合包括多个第三向量,且每个第三向量与一个标签对应。第四向量集合包括多个第四向量,且每个第四向量与一个标签对应。第一待分类文本向量集包括多个第一待分类文本向量,且每个第一待分类文本向量与每个标签相关。
在实施中,本步骤的具体实现可以包括:对所述第三向量集合中与目标标签相关的第三向量和所述第四向量集合中所述目标标签的第四向量进行注意力计算,得到与所述目标标签相关的第一待分类文本向量。
其中,所述目标标签为所述标签集中的任一标签。所述目标标签的第四向量是所述目标标签的与所述待分类文本相关的第四向量。
在一些实施例中,待分类文本的第三向量集合中包括与每个标签相关的第三向量,可以获取待分类文本的与目标标签相关的第三向量。并且,标签集的第四向量集合中包括与待分类文本相关的每个标签的第四向量,可以获取目标标签的与待分类文本相关的第四向量。将上述获取的第三向量和第四向量进行注意力计算,可以得到待分类文本的与目标标签相关的第一待分类文本向量。
作为一种示例,第三向量和第四向量是句子级的向量,若用矩阵表示,则第三向量和第四向量均可以是1×M的矩阵,在句级注意力层中进行注意力计算可以是将第三向量和第四向量均表示成矩阵,将第三向量得到的矩阵和目标标签的第四向量得到的矩阵的转置相乘,可以得到待分类文本的与目标标签相关的目标权重值,可以将目标权重值与该待分类文本的与目标标签相关的第三向量相乘,可以得到待分类文本的与目标标签相关的第一待分类文本向量。
例如,可以将待分类文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]和与待分类文本相关的目标标签“婚后育有子女”的第四向量[R11、R12、R13、R14……RM-1、RM]的转置进行注意力计算,可以得到待分类文本的与该目标标签“婚后育有子女”相关的目标权重,将该目标权重与待分类文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]相乘,可以得到待分类文本的与目标标签相关的第一待分类文本向量。同理,通过上述方式可以得到与其他标签相关的第一待分类文本向量,将与每个标签相关的第一待分类文本向量的集合称为与标签集相关的第一待分类文本向量集。
在本申请实施例中,将待分类文本的第三向量和标签集中标签的第四向量进行句子级的注意力计算,可以进一步准确地捕捉待分类文本和标签之间的相关性,以及确定不同的标签对应的第一待分类文本向量之间的差异性,进而可以提高文本分类模型的准确率。
步骤410,将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。
其中,在多标签文本分类任务中,待分类文本的预测标签的数量可以是多个。
作为一种示例,全连接层可以称为Fully Connected Layer,且该全连接层中包括激活函数。示例性地,该激活函数可以是Sigmoid函数。该Sigmoid函数可以对输入进行归一化处理,以将输入的变量映射到0,1之间。并且,Sigmoid函数对K个向量进行归一化处理后得到的K个概率的总和不是1,如此,可以从K个输出中确定至少两个输出,因此,可以在本申请提出的文本分类模型中使用Sigmoid函数。其中,K大于或等于2。
在实施中,本步骤的具体实现可以包括:确定标签集中每个标签为所述待分类文本的标签的概率;将概率大于概率阈值的多个标签确定为所述待分类文本的目标标签组。
需要说明的是,概率阈值可以由用户根据实际需求进行设置,也可以由计算设备默认设置,本申请实施例对此不作限定。
在一些实施例中,可以将不同的标签对应的第一待分类文本向量进行拼接,将拼接后的第一待分类文本向量集输入全连接层,通过全连接层的参数对第一待分类文本向量集进行转换,得到待分类文本与每个标签的相关性分值,再通过激活函数对相关性分值进行处理,可以确定待分类文本的标签集中每个标签可能是预测标签的概率,并将概率大于概率阈值的标签确定为预测标签。
作为一种示例,用矩阵表示第一待分类文本向量,则第一待分类文本向量是1×M的矩阵,将N个第一待分类文本向量进行拼接,可以是通过N个第一待分类文本向量组成一个M×N的矩阵,即该矩阵中每一列与一个标签对应,将该M×N的矩阵可以称为第一待分类文本向量集的矩阵表示,将全连接层的参数组成的转换矩阵1×M与该M×N的矩阵相乘,可以得到一个1×N的矩阵,该矩阵中每一列的数值表示待分类文本与每个标签的相关性分值,再将该1×N的矩阵输入激活函数进行处理,可以得到每个标签可能是待分类文本的预测标签的概率,并且可以将大于概率阈值的概率对应的标签确定为预测标签。
进一步地,上述方式仅获取待分类文本和标签之间的相关性,但并未考虑到标签之间的相关性,为了获取标签集中标签之间的相关性,并将标签之间的相关性融入第一待分类文本向量集中,在本步骤之前,还可以获取标签共现矩阵,所述标签共现矩阵用于表征所述标签集中标签与标签之间的相关性;基于所述标签共现矩阵和所述第一待分类文本向量集,确定第二待分类文本向量集。
相应地,所述将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的预测标签,包括:将所述第二待分类文本向量集输入所述全连接层,得到所述待分类文本的目标标签组。
其中,标签共现矩阵可以称为Label co-occurrence矩阵。
也就是说,为了得到标签相关性分布下的待分类文本向量,在将第一待分类文本向量集输入全连接层之前,可以先获取标签共现矩阵,并将标签共现矩阵融入第一待分类文本向量集中,得到第二待分类文本向量集,再将第二待分类文本向量集输入全连接层,可以得到待分类文本的目标标签组。
作为一种示例,可以根据样本文本集中的样本文本和标签集中的标签的对应关系,确定标签共现矩阵,将标签共现矩阵与第一待分类文本向量集对应的矩阵相乘,可以得到第二待分类文本向量集。
例如,假设标签集包括三个标签,分别为标签1“婚后育有子女”、标签2“存在婚姻关系”和标签3“不存在婚姻关系”,假设标签共现矩阵可以是。其中,第i行第j列表示标签i与标签j属于同一个样本文本的标签的概率。例如,第一行第二列0.8是标签1“婚后育有子女”和标签2“存在婚姻关系”属于同一个样本文本的标签的概率,第一行第三列0是标签1“婚后育有子女”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率,第二行第三列0是标签2“存在婚姻关系”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率等等。
例如,假设第一待分类文本向量集中包括3个第一待分类文本向量,且该3个样本文本向量均为M维的向量,表示成矩阵则均是1×M的矩阵,可以将该3个矩阵进行拼接,得到一个M×3的矩阵,则该矩阵中第一列是与“婚后育有子女”对应的第一待分类文本向量,第二列是与“存在婚姻关系”对应的第一待分类文本向量,第三列是与“不存在婚姻关系”对应的第一待分类文本向量。将标签共现矩阵与上述M×3的矩阵相乘,可以得到结合标签相关性分布的第二待分类文本向量集,该第二待分类文本向量集表示成矩阵则是一个M×3的矩阵,该矩阵中第一列是与“婚后育有子女”对应的第二待分类文本向量,第二列是与“存在婚姻关系”对应的第二待分类文本向量,第三列是与“不存在婚姻关系”对应的第二待分类文本向量。
例如,用矩阵表示第二待分类文本向量集为M×3的矩阵,将该M×3的矩阵输入全连接层,将全连接层的参数组成的转换矩阵1×M与该M×3的矩阵相乘,则可以得到一个1×3的矩阵,该矩阵中第一列的数值表示待分类文本与“婚后育有子女”的相关性分值,第二列的数值表示待分类文本与“存在婚姻关系”的相关性分值,第三列的数值表示待分类文本与“不存在婚姻关系”的相关性分值,再将该1×3的矩阵输入激活函数进行处理,可以得到该三个标签中每个标签可能是待分类文本的预测标签的概率,并且可以将大于概率阈值的概率对应的标签确定为预测标签。
在本申请实施例中,将标签共现矩阵与第一待分类文本向量集进行处理,将处理结果输入全连接层,可以考虑到标签间的相关性,能够有效地提高文本分类的准确率。
本说明书提供的文本分类方法,获取待分类文本和标签集;将所述待分类文本和所述标签集输入文本分类模型的编码层,得到所述待分类文本的第一向量组和所述标签集的第二向量组集合;将所述第一向量组和所述第二向量组集合输入词级注意力层,得到所述待分类文本的第三向量集合和所述标签集的第四向量集合,其中,所述第三向量集合和所述第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集;将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。如此,通过词级注意力层,将标签的词单元与待分类文本的词单元在词级进行注意力计算,而不是将整个标签和待分类文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和待分类文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和待分类文本的相关性,以及不同的标签对应的待分类文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
图5示出了根据本说明书一实施例提供的另一种文本分类方法的流程图,具体可以包括以下步骤:
步骤502,获取待分类文本。
在本实施例中,在对文本分类模型进行训练的过程中,模型中可以存储标签集中每个标签的第二词单元的第二向量,因此可以不需要获取标签集。
步骤504,将所述待分类文本输入文本分类模型的编码层,得到所述待分类文本的第一向量组。
作为一种示例,文本分类模型是基于神经网络模型得到的,且文本分类模型用于对文本进行多标签分类,即为单个文本分配多个标签。文本分类模型由多个包括各种功能的层组成,编码层则是文本分类模型中用于进行编码的层,可以认为是文本分类模型的输入层。
作为一种示例,第一向量组可以是待分类文本中多个词单元的第一向量组成的组。
在本申请一种可能的实现方式中,执行本步骤之前,可以先对待分类文本进行分词,得到待分类文本的多个第一词单元。相应地,本步骤的具体实现可以包括:将多个第一词单元和每个标签的多个第二词单元输入编码层,得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量;以多个第一词单元的第一向量为待分类文本的第一向量组。
其中,第一词单元是对待分类文本进行分词处理后得到的词单元。
也就是说,在将待分类文本输入文本分类模型之前,可以对待分类文本进行分词处理,得到待分类文本的多个第一词单元,在这种情况下,可以将多个第一词单元输入编码层,对多个第一词单元进行编码,得到多个第一词单元的第一向量,将多个第一词单元的第一向量组成的组称为待分类文本的第一向量组。
作为一种示例,可以根据预先编制的词表对待分类文本进行分词处理。示例性地,在预先编制的词表中,若待分类文本为中文文本,可以将一个字、一个标点符号作为一个词单元。若待分类文本为外语文本,可以将一个单词、一个标点符号作为一个词单元。若待分类文本中包括数字,可以将一个数字作为一个词单元。
例如,假设待分类文本是“小王和小李婚后育有一女”,可以对上述待分类文本进行分词处理,得到分词结果为[小王、和、小李、婚后、育、有、一、女]。
作为一种示例,得到分词结果后,可以将多个第一词单元输入编码层,对多个第一词单元进行编码,可以得到多个第一词单元结合上下文信息的隐层向量,即第一向量。进而将多个第一词单元的第一向量进行拼接,可以得到待分类文本的第一向量组。
示例性地,在该种情况下编码层可以包括词嵌入模块和编码模块。可以将待分类文本的多个第一词单元并行输入编码层,通过词嵌入模块的word2wec算法对每个第一词单元进行词嵌入处理,得到每个第一词单元的特征表示,即得到每个第一词单元的词向量,再通过编码模块确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。
进一步地,将所述多个第一词单元输入所述编码层之前,还可以将所述多个第一词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量。相应地,所述将所述多个第一词单元输入所述编码层,包括:将所述多个第一词单元的词向量输入所述编码层。
也就是说,得到多个第一词单元之后,可以将多个第一词单元输入嵌入层进行词嵌入处理,得到多个第一词单元的词向量,再将词向量输入编码层。
作为一种示例,可以将待分类文本的多个第一词单元并行输入嵌入层,在该嵌入层中,通过word2wec算法对每个第一词单元进行词嵌入处理,可以得到每个第一词单元的特征表示,即得到每个第一词单元的词向量。
在一些实施例中,在该种情况下,编码层可以采用双向LSTM结构。对于输入的一组词向量,编码层可以确定该组词向量中任一词向量结合上下文信息后的特征向量,该特征向量可以称为隐层向量。也即是,在编码层对每个词向量进行编码是确定每个词向量结合其之前的词向量和其之后的词向量得到的特征向量。
作为一种示例,可以将多个第一词单元的词向量输入编码层,通过该编码层可以确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。
在一些实施例中,将获取的待分类文本输入文本分类模型的编码层之前,还可以对所述待分类文本进行分词,得到所述待分类文本的多个第一词单元;将所述多个第一词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量;
相应地,将获取的待分类文本输入文本分类模型的编码层,包括:将所述多个第一词单元的词向量输入所述编码层。
也就是说,在将待分类文本输入编码层之前,可以对待分类文本进行分词处理,得到多个第一词单元,再将多个第一词单元输入嵌入层进行词嵌入处理,可以得到多个第一词单元的词向量。再将多个第一词单元的词向量输入编码层,可以得到每个第一词单元结合上下文信息的第一向量,进而得到第一向量组。
需要说明的是,在该种情况下,文本分类模型可以包括嵌入层和编码层。该种实现方式中分词处理、词嵌入处理和编码层的处理均可参见上述相关描述,本申请实施例在此不再赘述。
本说明书实施例中,可以对待分类文本进行分词处理,得到待分类文本的多个第一词单元,将多个第一词单元和输入嵌入层进行词嵌入处理,可以得到多个第一词单元的词向量,将多个第一词单元的词向量输入编码层,可以得到多个第一词单元的第一向量,将多个第一词单元的第一向量进行组合,可以得到待分类文本的第一向量组。
在本申请另一种可能的实现方式中,编码层可以包括分词模块和词嵌入模块,则将待分类文本输入编码层,可以对该待分类文本进行分词,得到待分类文本的多个第一词单元,并对每个第一词单元进行词嵌入处理,可以得到每个第一词单元的词向量,基于每个第一词单元的词向量,可以确定每个第一词单元结合上下文信息后的第一向量,进而得到待分类文本的第一向量组。
需要说明的是,该种实现方式中分词处理和词嵌入处理均可参见上一种实现方式的相关描述,本申请实施例在此不再赘述。
作为一种示例,在上述另一种可能的实现方式中,编码层可以是包括分词功能、词嵌入功能和编码功能的任何结构,且该编码功能可以是采用LSTM结构的功能,本申请实施例对此不作限定。
步骤506,将所述第一向量组和标签集的第二向量组集合输入词级注意力层,得到所述待分类文本的第三向量集合和所述标签集的第四向量集合。
其中,第三向量是与标签相关的文本的句子级向量。第三向量集合是分别与每个标签相关的文本的多个句子级向量组成的集合。
其中,第四向量是与文本相关的标签的句子级向量,第四向量集合是与待分类文本相关的每个标签的句子级向量组成的集合。
其中,词级注意力层是以词单元为单位进行注意力计算的层。
其中,所述第三向量集合和所述标签集的第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关。
在本申请实施例中,标签集的第二向量组集合是预先存储在文本识别模型中的。
作为一种示例,第三向量集合中包括的第三向量的数量与标签集中的标签数量相同,第四向量集合中包括的第四向量的数量与标签集中的标签数量相同。
在实施中,本步骤的具体实现可以包括:将所述第一向量组分别与所述标签集中每个标签的第二向量组进行注意力计算,得到注意力矩阵集合;基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述待分类文本的第三向量集合和所述标签集的第四向量集合。
其中,所述注意力矩阵集合包括的注意力矩阵的数量与所述标签集中的标签数量相关。
也就是说,需要将第一向量组和标签集中每个标签对应的第二向量组进行注意力计算,则可以得到待分类文本的注意力矩阵集合,且注意力矩阵集合中包括的注意力矩阵的数量与标签集中的标签数量相同。根据注意力矩阵集合、第一向量组和第二向量组集合,可以确定待分类文本的第三向量集合和标签集的第四向量集合。
作为一种示例,注意力矩阵可以称为词对匹配矩阵。其中,词对可以包括标签中的词单元和待分类文本中的词单元。
作为一种示例,对于标签集中的目标标签,可以将第一向量组中的第一向量与目标标签的第二向量组中的第二向量进行注意力计算,可以得到该待分类文本的与目标标签对应的注意力矩阵。
其中,目标标签为标签集中的任一标签。
通过上述方式,可以确定待分类文本的与每个标签对应的注意力矩阵,进而可以得到该待分类文本的注意力矩阵集合。
作为一种示例,对第一向量和第二向量进行注意力计算可以是确定第一向量和第二向量之间的相似度,可以通过相似度计算的方法得到第一向量和第二向量之间的相似度,将该相似度作为第一向量和第二向量之间的相关性取值,该相关性取值也可以称为第一向量和第二向量的注意力值。
示例性地,假设待分类文本包括三个第一词单元a、b、c,目标标签包括3个第二词单元o、p、q,将待分类文本中每个第一词单元的第一向量和目标标签中每个第二词单元的第二向量进行注意力计算,得到注意力矩阵可以包括:确定a的第一向量与o的第一向量的相似度,作为注意力矩阵第一行第一列的元素;确定a的第一向量与p的第一向量的相似度,作为注意力矩阵第一行第二列的元素确定a的第一向量与q的第一向量的相似度,作为注意力矩阵第一行第三列的元素;确定b的第一向量与o的第一向量的相似度,作为注意力矩阵第二行第一列的元素;确定b的第一向量与p的第一向量的相似度,作为注意力矩阵第二行第二列的元素确定b的第一向量与q的第一向量的相似度,作为注意力矩阵第二行第三列的元素;确定c的第一向量与o的第一向量的相似度,作为注意力矩阵第三行第一列的元素;确定c的第一向量与p的第一向量的相似度,作为注意力矩阵第三行第二列的元素确定c的第一向量与q的第一向量的相似度,作为注意力矩阵第三行第三列的元素。如此,则可以得到注意力矩阵,且该注意力矩阵与目标标签对应。
例如,假设目标标签为“婚后育有子女”,且目标标签包括的词单元为“婚后”、“育”、“有”、“子”和“女”,待分类文本为“小王和小李婚后育有一女”,且待分类文本包括的词单元为“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”,则将目标标签中词单元的第二向量和待分类文本中词单元的第一向量进行注意力计算,可以得到如下注意力矩阵:
,其中,该矩阵中的元素Aij表示待分类文本中第i个第一词单元的第一向量与目标标签中第j个第二词单元的第二向量之间的相关性取值。例如,A11表示词单元“小王”与词单元“婚后”之间的相关性取值,A12表示词单元“小王”与词单元“育”之间的相关性取值,A13表示词单元“小王”与词单元“有”之间的相关性取值,A14表示词单元“小王”与词单元“子”之间的相关性取值,A15表示词单元“小王”与词单元“女”之间的相关性取值,A41表示词单元“婚后”与词单元“婚后”之间的相关性取值,A42表示词单元“婚后”与词单元“育”之间的相关性取值,A43表示词单元“婚后”与词单元“有”之间的相关性取值,A81表示词单元“女”与词单元“婚后”之间的相关性取值,A82表示词单元“女”与词单元“育”之间的相关性取值,A83表示词单元“女”与词单元“有”之间的相关性取值等等。
在一些实施例中,所述注意力矩阵集合包括的每个注意力矩阵中元素的行数与所述待分类文本的词单元的数量相关,元素的列数与所述标签集中标签的词单元的数量相关,每个注意力矩阵中包括的元素为所述待分类文本的词单元与所述标签集中标签的词单元的相关性取值,所述基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述待分类文本的第三向量集合和所述标签集的第四向量集合,包括:
按行对目标注意力矩阵中的相关性取值进行归一化处理,得到第一相关性取值,并将每行的第一相关性取值中最大的第一相关性取值确定为与所述待分类文本的词单元对应的第一权重值,得到所述待分类文本中每个词单元对应的第一权重值,基于每个第一权重值和所述第一向量组,确定所述待分类文本的与所述目标标签相关的第三向量;按列对目标注意力矩阵中的相关性取值进行归一化处理,得到第二相关性取值,并将每列的第二相关性取值中最大的第二相关性取值确定为与所述目标标签的词单元对应的第二权重值,得到所述目标标签中每个词单元对应的第二权重值;基于所述目标标签中每个词单元的第二权重值和所述目标标签的第二向量组,确定所述目标标签的第四向量。
其中,所述目标注意力矩阵是所述第一向量组与所述目标标签的第二向量组进行注意力计算得到的,所述目标标签为所述标签集中的任一标签。
也就是说,由于每个注意力矩阵中某一行的元素为待分类文本中的一个词单元的第一向量与标签的每个第二向量的相关度取值,因此每个注意力矩阵的行数与待分类文本中词单元的数量相同,每个注意力矩阵的列数与每个标签中词单元的数量相同。对于目标注意力矩阵来说,目标注意力矩阵中的元素是待分类文本的词单元与标签集中的目标标签的词单元之间的相关性取值,可以认为是待分类文本和目标标签在词级的注意力值,为了进一步确定待分类文本和标签之间的相关性,还需要确定待分类文本和目标标签在句子级的注意力值。具体的,可以将目标注意力矩阵中同一行的多个相关性取值进行归一化处理,得到每行的多个第一相关性取值,并将每行的多个第一相关性取值中最大的第一相关性取值确定为与待分类文本的词单元对应的第一权重值,可以得到待分类文本中每个词单元对应的第一权重值,由于每个词单元的第一权重值是词单元与目标标签的最大的相关性取值,即第一权重值可以反映待分类文本与标签之间最大的相关性,根据每个第一权重值和第一向量组,可以将待分类文本的第一向量组转换为与目标标签的相关性更高的第三向量。同理,可以将目标注意力矩阵中同一列的多个相关性取值进行归一化处理,得到每列的多个第二相关性取值,并将每列的多个第二相关性取值中最大的第二相关性取值确定为与目标标签中每个词单元对应的第二权重值,得到目标标签中每个词单元对应的第二权重值,由于每个词单元的第二权重值是目标标签与词单元的最大的相关性取值,即第二权重值可以反映目标标签与待分类文本之间的最大的相关性,根据每个第二权重值和第二向量组,可以将目标标签的第二向量组转换为与待分类文本相关性更高的第四向量。
继续上述举例,按行对上述目标标签对应的注意力矩阵中的相关性取值进行归一化处理。例如,假设对第一行的相关性取值进行归一化处理后,可以得到a11,a12,a13,a14和a15,按照从大到小的顺序对a11,a12,a13,a14和a15进行排序,假设a12最大,可以将a12确定为词单元“小王”对应的第一权重值,以此类推,可以确定待分类文本中每个词单元的第一权重值。例如,在本例中,可以得到8个第一权重值,且每个第一权重值与待分类文本中一个第一词单元对应,该8个第一权重值可以组成一个8×1的矩阵。假设待分类文本中每个词单元的第一向量为M维向量,则可以将得到的8×1的矩阵的转置与待分类文本的第一向量组,即8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与目标标签“婚后育有子女”相关的该待分类文本的句子级的向量表示,即与目标标签“婚后育有子女”相关的该待分类文本的第三向量。例如,假设目标标签为标签1,该与目标标签“婚后育有子女”相关的该待分类文本的第三向量可以是[X11、X12、X13、X14……XM-1、XM]。
其中,M表示第三向量的维度,X1M表示该待分类文本的与标签1相关的第三向量中第M维的取值。
需要说明的是,通过上述方式,可以确定与每个标签相关的待分类文本的第三向量,进而可以得到待分类文本的第三向量集合。
同理,按列对第一个注意力矩阵中的相关性取值进行归一化处理。例如,假设对第一列的相关性取值进行归一化处理后,可以得到a'11,a'21,a'31,a'41、a'51、a'61、a'71和a'81,按照从大到小的顺序对a'11,a'21,a'31,a'41、a'51、a'61、a'71和a'81进行排序,将最大的相关性取值确定为词单元“婚后”对应的第二权重值,以此类推,可以确定目标标签“婚后育有子女”中每个词单元的第二权重值。例如,在本例中,可以得到8个第二权重值,且每个第一权重值与目标标签中一个第二词单元对应,该8个第二权重值可以组成一个1×8的矩阵。假设目标标签中每个词单元的第二向量为M维向量,可以将得到的1×8的矩阵与目标标签的第二向量组相乘,即将1×8的矩阵与8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与待分类文本相关的目标标签“婚后育有子女”的句子级的向量表示,即与待分类文本相关的目标标签“婚后育有子女”的第四向量。例如,假设目标标签为标签1,该与待分类文本相关的目标标签“婚后育有子女”的第四向量可以是[R11、R12、R13、R14……RM-1、RM]。
其中,M表示第四向量的维度,Z1M表示与待分类文本相关的标签1“婚后育有子女”的第四向量中第M维的取值。
需要说明的是,通过上述方式,可以确定与待分类文本相关的标签集中每个标签的第四向量,将多个标签的第四向量组成的集合称为标签集的第四向量集合。
需要说明的是,通过上述方式,可以确定与每个标签相关的待分类文本的第三向量,进而可以得到待分类文本的第三向量集合,以及确定与待分类文本相关的每个标签的第四向量,进而可以得到标签集的第四向量集合。
在本申请实施例中,可以先通过词级注意力层确定待分类文本中词单元和标签集中标签的词单元之间在词级的相关性取值,即词级注意力值,然后根据词级注意力值确定待分类文本与标签相关的句子级的向量表示,即第三向量,以及确定标签集中标签与待分类文本的相关的句子级的向量表示,即第四向量,考虑到了标签中词单元的信息,可以更加准确地捕捉待分类文本与标签之间的相关性,进而提高文本分类模型的准确率。
步骤508,将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集。
其中,第三向量集合包括多个第三向量,且每个第三向量与一个标签对应。第四向量集合包括多个第四向量,且每个第四向量与一个标签对应。第一待分类文本向量集包括多个第一待分类文本向量,且每个第一待分类文本向量与每个标签相关。
在实施中,本步骤的具体实现可以包括:对所述第三向量集合中与目标标签相关的第三向量和所述第四向量集合中所述目标标签的第四向量进行注意力计算,得到与所述目标标签相关的第一待分类文本向量。
其中,所述目标标签为所述标签集中的任一标签。所述目标标签的第四向量是所述目标标签的与所述待分类文本相关的第四向量。
在一些实施例中,待分类文本的第三向量集合中包括与每个标签相关的第三向量,可以获取待分类文本的与目标标签相关的第三向量。并且,标签集的第四向量集合中包括与待分类文本相关的每个标签的第四向量,可以获取目标标签的与待分类文本相关的第四向量。将上述获取的第三向量和第四向量进行注意力计算,可以得到待分类文本的与目标标签相关的第一待分类文本向量。
作为一种示例,第三向量和第四向量是句子级的向量,若用矩阵表示,则第三向量和第四向量均可以是1×M的矩阵,在句级注意力层中进行注意力计算可以是将第三向量和第四向量均表示成矩阵,将第三向量得到的矩阵和目标标签的第四向量得到的矩阵的转置相乘,可以得到待分类文本的与目标标签相关的目标权重值,可以将目标权重值与该待分类文本的与目标标签相关的第三向量相乘,可以得到待分类文本的与目标标签相关的第一待分类文本向量。
例如,可以将待分类文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]和与待分类文本相关的目标标签“婚后育有子女”的第四向量[R11、R12、R13、R14……RM-1、RM]的转置进行注意力计算,可以得到待分类文本的与该目标标签“婚后育有子女”相关的目标权重,将该目标权重与待分类文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]相乘,可以得到待分类文本的与目标标签相关的第一待分类文本向量。同理,通过上述方式可以得到与其他标签相关的第一待分类文本向量,将与每个标签相关的第一待分类文本向量的集合称为与标签集相关的第一待分类文本向量集。
在本申请实施例中,将待分类文本的第三向量和标签集中标签的第四向量进行句子级的注意力计算,可以进一步准确地捕捉待分类文本和标签之间的相关性,以及确定不同的标签对应的第一待分类文本向量之间的差异性,进而可以提高文本分类模型的准确率。
步骤510,将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。
其中,在多标签文本分类任务中,待分类文本的预测标签的数量可以是多个。
作为一种示例,全连接层可以称为Fully Connected Layer,且该全连接层中包括激活函数。示例性地,该激活函数可以是Sigmoid函数。该Sigmoid函数可以对输入进行归一化处理,以将输入的变量映射到0,1之间。并且,Sigmoid函数对K个向量进行归一化处理后得到的K个概率的总和不是1,如此,可以从K个输出中确定至少两个输出,因此,可以在本申请提出的文本分类模型中使用Sigmoid函数。其中,K大于或等于2。
在实施中,本步骤的具体实现可以包括:确定标签集中每个标签为所述待分类文本的标签的概率;将概率大于概率阈值的多个标签确定为所述待分类文本的目标标签组。
需要说明的是,概率阈值可以由用户根据实际需求进行设置,也可以由计算设备默认设置,本申请实施例对此不作限定。
在一些实施例中,可以将不同的标签对应的第一待分类文本向量进行拼接,将拼接后的第一待分类文本向量集输入全连接层,通过全连接层的参数对第一待分类文本向量集进行转换,得到待分类文本与每个标签的相关性分值,再通过激活函数对相关性分值进行处理,可以确定待分类文本的标签集中每个标签可能是预测标签的概率,并将概率大于概率阈值的标签确定为预测标签。
作为一种示例,用矩阵表示第一待分类文本向量,则第一待分类文本向量是1×M的矩阵,将N个第一待分类文本向量进行拼接,可以是通过N个第一待分类文本向量组成一个M×N的矩阵,即该矩阵中每一列与一个标签对应,将该M×N的矩阵可以称为第一待分类文本向量集的矩阵表示,将全连接层的参数组成的转换矩阵1×M与该M×N的矩阵相乘,可以得到一个1×N的矩阵,该矩阵中每一列的数值表示待分类文本与每个标签的相关性分值,再将该1×N的矩阵输入激活函数进行处理,可以得到每个标签可能是待分类文本的预测标签的概率,并且可以将大于概率阈值的概率对应的标签确定为预测标签。
进一步地,上述方式仅获取待分类文本和标签之间的相关性,但并未考虑到标签之间的相关性,为了获取标签集中标签之间的相关性,并将标签之间的相关性融入第一待分类文本向量集中,在本步骤之前,还可以获取标签共现矩阵,所述标签共现矩阵用于表征所述标签集中标签与标签之间的相关性;基于所述标签共现矩阵和所述第一待分类文本向量集,确定第二待分类文本向量集。
相应地,所述将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的预测标签,包括:将所述第二待分类文本向量集输入所述全连接层,得到所述待分类文本的目标标签组。
其中,标签共现矩阵可以称为Label co-occurrence矩阵。
也就是说,为了得到标签相关性分布下的待分类文本向量,在将第一待分类文本向量集输入全连接层之前,可以先获取标签共现矩阵,并将标签共现矩阵融入第一待分类文本向量集中,得到第二待分类文本向量集,再将第二待分类文本向量集输入全连接层,可以得到待分类文本的目标标签组。
作为一种示例,可以根据样本文本集中的样本文本和标签集中的标签的对应关系,确定标签共现矩阵,将标签共现矩阵与第一待分类文本向量集对应的矩阵相乘,可以得到第二待分类文本向量集。
例如,假设标签集包括三个标签,分别为标签1“婚后育有子女”、标签2“存在婚姻关系”和标签3“不存在婚姻关系”,假设标签共现矩阵可以是。其中,第i行第j列表示标签i与标签j属于同一个样本文本的标签的概率。例如,第一行第二列0.8是标签1“婚后育有子女”和标签2“存在婚姻关系”属于同一个样本文本的标签的概率,第一行第三列0是标签1“婚后育有子女”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率,第二行第三列0是标签2“存在婚姻关系”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率等等。
例如,假设第一待分类文本向量集中包括3个第一待分类文本向量,且该3个样本文本向量均为M维的向量,表示成矩阵则均是1×M的矩阵,可以将该3个矩阵进行拼接,得到一个M×3的矩阵,则该矩阵中第一列是与“婚后育有子女”对应的第一待分类文本向量,第二列是与“存在婚姻关系”对应的第一待分类文本向量,第三列是与“不存在婚姻关系”对应的第一待分类文本向量。将标签共现矩阵与上述M×3的矩阵相乘,可以得到结合标签相关性分布的第二待分类文本向量集,该第二待分类文本向量集表示成矩阵则是一个M×3的矩阵,该矩阵中第一列是与“婚后育有子女”对应的第二待分类文本向量,第二列是与“存在婚姻关系”对应的第二待分类文本向量,第三列是与“不存在婚姻关系”对应的第二待分类文本向量。
例如,用矩阵表示第二待分类文本向量集为M×3的矩阵,将该M×3的矩阵输入全连接层,将全连接层的参数组成的转换矩阵1×M与该M×3的矩阵相乘,则可以得到一个1×3的矩阵,该矩阵中第一列的数值表示待分类文本与“婚后育有子女”的相关性分值,第二列的数值表示待分类文本与“存在婚姻关系”的相关性分值,第三列的数值表示待分类文本与“不存在婚姻关系”的相关性分值,再将该1×3的矩阵输入激活函数进行处理,可以得到该三个标签中每个标签可能是待分类文本的预测标签的概率,并且可以将大于概率阈值的概率对应的标签确定为预测标签。
在本申请实施例中,将标签共现矩阵与第一待分类文本向量集进行处理,将处理结果输入全连接层,可以考虑到标签间的相关性,能够有效地提高文本分类的准确率。
本说明书提供的文本分类方法,通过词级注意力层,将标签的词单元与待分类文本的词单元在词级进行注意力计算,而不是将整个标签和待分类文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和待分类文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和待分类文本的相关性,以及不同的标签对应的样本文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
下述结合附图6A、图6B、图6C和图6D,以本说明书提供的文本分类方法在文本分类任务中的应用为例,对所述文本分类方法进行进一步说明。其中,图6A示出了本说明书一实施例提供的一种应用于文本分类任务中的文本分类方法的处理流程图,具体包括以下步骤:
步骤602,获取待分类文本和标签集。
在本实施例中,标签集可以是训练文本分类模型时使用的标签集。该标签集不仅可以包括该待分类文本可能对应的标签,也可以包括样本文本集中其他样本文本可能对应的标签。样本文本对应的标签可以用于描述该样本文本可能推理出来的含义,可以是多种多层的关系。
在本实施例中,以待分类文本是“小王和小李婚后育有一女”,标签集中的标签包括标签1“婚后育有子女”、标签2“存在婚姻关系”和标签3“不存在婚姻关系”。
在本具体实施例中,待分类文本可以是从文档文件中读取或识别出的多种语言的文字文本,可以是一句文字、一段文字,或者一个成语词等。其中一个最佳实施例是,获取的待分类文本是简体中文或繁体中文。
步骤604,对待分类文本进行分词,确定待分类文本划分后的多个词单元,得到多个第一词单元。
其中,第一词单元是待分类文本进行分词处理后得到的词单元。
作为一种示例,可以根据预先编制的词表对标签和待分类文本分别进行分词处理。
继续上述举例,对待分类文本进行分词,得到的多个第一词单元分别是[小王、和、小李、婚后、育、有、一、女]。
步骤606,对标签集中每个标签进行分词,确定每个标签划分后的多个词单元,得到每个标签的多个第二词单元。
其中,第二词单元是待分类文本进行分词处理后得到的词单元。
作为一种示例,可以根据预先编制的词表对标签和待分类文本分别进行分词处理。
继续上述举例,对标签1进行分词,得到的多个第二词单元分别是[婚后、育、有、子、女],对标签2进行分词,得到的多个第二词单元分别是[存在、婚姻、关系],对标签3进行分词,得到的多个第二词单元分别是[不、存在、婚姻、关系]。
步骤608,将所述多个第一词单元和每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和对应于每个标签的所述多个第二词单元的词向量。
在本具体实施例中,可以是将多个第一词单元和每个标签的多个第二词单元,分别输入所述文本分类模型的嵌入层,分别得到所述多个第一词单元的词向量和对应于每个标签的所述多个第二词单元的词向量。
作为一种示例,可以将待分类文本的多个第一词单元并行输入嵌入层(WordEmbedding Layer),在该嵌入层中,通过word2wec编码方式对每个第一词单元进行编码,可以得到每个第一词单元的特征表示,即得到每个第一词单元的词向量。参见图6B,假设待分类文本包括第一词单元a、b和c,可以将第一词单元a、b和c输入嵌入层,可以得到a的词向量、b的词向量和c的词向量。
同理,可以将每个标签的多个第二词单元输入该嵌入层,通过word2wec编码方式对每个第二词单元进行编码,可以得到每个标签中每个第二词单元的特征表示,即得到每个第二词单元的词向量。参见图6C,假设每个标签包括第二词单元e和f,可以将每个标签的第二词单元e和f输入嵌入层,可以得到e的词向量和f的词向量。
继续上述举例,将上述多个第一词单元并行输入文本分类模型的嵌入层,可以得到每个第一词单元的词向量,即分别得到“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”的词向量;将上述每个标签的多个第二词单元作为一个整体输入文本分类模型的嵌入层,可以得到标签1中每个第二词单元的词向量,即分别得到“婚后”、“育”、“有”、“子”和“女”的词向量,可以得到标签2中每个第二词单元的词向量,即分别得到“存在”、“婚姻”和“关系”的词向量,以及可以得到标签3中每个第二词单元的词向量,即分别得到“不”、“存在”、“婚姻”和“关系”的词向量。
步骤610,将所述多个第一词单元的词向量和每个标签的多个第二词单元的词向量输入所述编码层,得到多个第一词单元的第一向量和每个标签的每个第二词单元的第二向量。
在一些实施例中,编码层可以采用双向LSTM网络结构,对于输入的一组词向量,编码层可以确定该组词向量中任一词向量结合上下文信息后的特征向量,该特征向量可以称为隐层向量。也即是,在编码层对每个词向量进行编码是确定每个词向量结合其之前的词向量和其之后的词向量得到的特征向量。
作为一种示例,可以将多个第一词单元的词向量输入编码层,通过该编码层可以确定每个第一词单元的词向量结合上下文信息后的隐层向量,即可以得到每个第一词单元的第一向量。参见图6B,可以将a的词向量,b的词向量和c的词向量输入编码层,编码层可以确定a的第一向量、b的第一向量和c的第一向量。
同理,可以将每个标签的多个第二词单元的词向量输入编码层,通过该编码层可以确定同一个标签中每个第二词单元结合上下文信息后的隐层向量,可以得到每个标签的每个第二词单元的第二向量。参见图6C,可以将每个标签的e的词向量和f的词向量输入编码层,编码层可以确定基于每个标签的e的词向量和f的词向量,确定每个标签的e的第二向量和f的第二向量。
需要说明的是,在本申请实施例中,为了便于后续计算,待分类文本中多个第一词单元的第一向量的维度可以是相同的。同一个标签的多个第二词单元的第二向量的维度也可以是相同的。
示例性地,对于待分类文本来说,可以将“小王”的词向量、“和”的词向量、“小李”的词向量、“婚后”的词向量、“育”的词向量、“有”的词向量、“一”的词向量和“女”的词向量按顺序并行输入编码层,结合每个词向量之前和之后的词向量,对“小王”的词向量、“和”的词向量、“小李”的词向量、“婚后”的词向量、“育”的词向量、“有”的词向量、“一”的词向量和“女”的词向量进行编码,可以得到“小王”、“和”、“小李”、“婚后”、“育”、“有”、“一”和“女”分别结合上下文信息的隐层向量,即可以得到待分类文本每个第一词单元的第一向量。
同理,以标签1“婚后育有子女”为例,可以将“婚后”的词向量、“育”的词向量、“有”的词向量、“子”的词向量和“女”的词向量按顺序并行输入编码层,结合每个词向量之前和之后的词向量,对每个词向量进行编码,可以得到标签1中每个第二词单元的词向量结合上下文信息的隐层向量,即可以得到标签1中每个第二词单元的第二向量。通过上述方法,可以确定标签2中每个第二词单元的第二向量和标签3中每个第二词单元的第二向量。
步骤612,基于多个第一向量确定第一向量组,基于每个标签的多个第二向量确定每个标签的第二向量组,并基于每个标签的多个第二向量组确定标签集的第二向量组集合。
需要说明的是,每个第二向量组由同一个标签的多个第二词单元的第二向量组成,即每个第二向量组包括多个第二向量,且每个第二向量组包括的第二向量的数量与其对应的标签中词单元的数量相同。第二向量组集合由多个标签的第二向量组成,即第二向量组集合包括多个第二向量,且第二向量组集合包括的第二向量组的数量与标签集中标签的数量相同。
在一些实施例中,可以以每个第一词单元对应的每个第一向量组成待分类文本的第一向量组。作为一种示例,可以将待分类文本的多个第一词单元对应的第一向量进行拼接,得到该待分类文本的第一向量组。继续上述举例,假设“小王”的第一向量是一个1×m的矩阵x1、“和”的第一向量是一个1×m的矩阵x2、“小李”的第一向量是一个1×m的矩阵x3、“婚后”的第一向量是一个1×m的矩阵x4、“育”的第一向量是一个1×m的矩阵x5、“有”的第一向量是一个1×m的矩阵x6、“一”的第一向量是一个1×m的矩阵x7、“女”的第一向量是一个1×m的矩阵x8,将这8个矩阵进行拼接,可以得到一个8×m的矩阵x9,即,将该矩阵x9作为待分类文本的第一向量组。
在一些实施例中,可以以每个标签的多个第二词单元的第二向量为每个标签的第二向量组。作为一种示例,可以将每个标签的多个第二词单元对应的第二向量进行拼接,得到每个标签的第二向量组。继续上述举例,以标签1“婚后育有子女”为例,假设“婚后”的第二向量是一个1×n的矩阵y1、“育”的第二向量是一个1×n的矩阵y2、“有”的第二向量是一个1×n的矩阵y3、“子”的第二向量是一个1×n的矩阵y4、“女”的第二向量是一个1×n的矩阵y5,将这5个矩阵进行拼接,可以得到一个5×n的矩阵y6,即,将该矩阵y6作为标签1的第二向量组。同理,通过上述方法可以分别确定标签2和标签3的第二向量组。
在一些实施例中,可以将每个标签的第二向量组进行组合,可以得到标签集的第二向量组集合。例如,假设标签1的第二向量组为,标签2的第二向量组为,标签3的第二向量组为,则可以得到第二向量组集合为、、。即基于每个标签的第二向量组得到第二向量组集合是将多个第二向量组称为标签集的第二向量组集合。
步骤614,将所述第一向量组和标签集的第二向量组集合分别输入词级注意力层,将所述第一向量组分别与每个标签的第二向量组进行注意力计算,得到与每个标签对应的待分类文本的注意力矩阵,进而得到与标签集对应的待分类文本的注意力矩阵集合。
示例性地,参见图6D,可以将待分类文本中第一词单元a的第一向量、第一词单元b的第一向量和第一词单元c的第一向量输入词级注意力层,以及将每个标签中第二词单元e的第二向量和第二词单元f的第二向量输入词级注意力层。通过词级注意力层,可以确定待分类文本的与每个标签相关的第三向量,以及每个标签的与待分类文本相关的第四向量。
继续上述举例,在词级注意力层,可以将待分类文本的第一向量组与标签1的第二向量组进行注意力计算,可以得到第1个注意力矩阵;可以将待分类文本的第一向量组与标签2的第二向量组进行注意力计算,可以得到第2个注意力矩阵;可以将待分类文本的第一向量组与标签3的第二向量组进行注意力计算,可以得到第3个注意力矩阵。将该三个注意力矩阵组成的集合称为与标签集对应的待分类文本的注意力矩阵集合。
示例性地,可以将待分类文本“小王和小李婚后育有一女”中每个第一词单元的第一向量与标签1“婚后育有子女”中每个第二词单元的第二向量进行注意力计算,得到如下第一个注意力矩阵;可以将待分类文本“小王和小李婚后育有一女”中每个第一词单元的第一向量与标签2“存在婚姻关系”中每个第二词单元的第二向量进行注意力计算,可以得到如下第二个注意力矩阵;可以将待分类文本“小王和小李婚后育有一女”中每个第一次单元的第一向量与标签3“不存在婚姻关系”中每个第二词单元的第二向量进行注意力计算,可以得到如下第三个注意力矩阵。
其中,第一个矩阵中的元素Fij表示待分类文本中第i个第一词单元的第一向量与标签1中第j个第二词单元的第二向量之间的相关性取值。例如,E11表示词单元“小王”的第一向量与词单元“婚后”的第一向量之间的相关性取值,E42表示词单元“婚后”的第一向量与词单元“育”的第一向量之间的相关性取值,E85表示词单元“女”的第一向量与词单元“子女”的第一向量之间的相关性取值。同理,第二个矩阵中的元素Fij表示待分类文本中第i个词单元的第一向量与标签2中第j个词单元的第二向量之间的相关性取值。例如,F22表示词单元“和”的第一向量与词单元“婚姻”的第一向量之间的相关性取值,F53表示词单元“育”的第一向量与词单元“关系”的第一向量之间的相关性取值。同理,第三个矩阵中的元素Gij表示待分类文本中第i个词单元的第一向量与标签3中第j个词单元的第二向量之间的相关性取值。例如,G41表示词单元“婚后”与词单元“不”之间的相关性取值,G32表示词单元“小李”与词单元“存在”之间的相关性取值。
在本申请实施例中,对第一向量和第二向量进行注意力计算可以是确定第一向量和第二向量的相似度,将相似度确定为第一向量和第二向量的相关性取值。
步骤616,按行对目标注意力矩阵中的元素进行归一化处理,得到目标注意力矩阵中每个元素的归一化权重值,并将每行的归一化权重值中最大的归一化权重值确定为与该行对应的第一词单元对应的第一权重值,进而得到所述待分类文本中每个第一词单元对应的第一权重值。
其中,目标注意力矩阵是待分类文本的注意力矩阵集合中的任一注意力矩阵。按行归一化处理后得到的每个元素的归一化权重值可以称为第一相关性取值。
继续上述举例,以第一个注意力矩阵为目标注意力矩阵为例,对目标注意力矩阵中第一行的元素进行归一化处理后,可以得到e11,e12,e13,e14和e15,按照从大到小的顺序对e11,e12,e13,e14和e15进行排序,假设e12最大,可以将e12确定为词单元“小王”对应的第一权重值。对目标注意力矩阵中第二行的元素进行归一化处理后,可以得到e21,e22,e23,e24和e25,按照从大到小的顺序对e21,e22,e23,e24和e25进行排序,假设e23最大,可以将e23确定为词单元“和”对应的第一权重值。以此类推,可以确定待分类文本中每个第一词单元的第一权重值。例如,在本例中,可以得到8个第一权重值,且每个第一权重值与待分类文本中一个第一词单元对应,该8个第一权重值可以组成一个8×1的矩阵。
同理,以第二个注意力矩阵为目标注意力矩阵,可以得到待分类文本中每个第一词单元的第一权重值,该第一权重值是标签2相关的。以第三个注意力矩阵为目标注意力矩阵,可以得到待分类文本中每个第一词单元的第一权重值,该第一权重值是与标签3相关的。
需要说明的是,在本步骤中,为了使得目标注意力矩阵中同一行的元素在同一个数量级,可以对目标注意力矩阵中的元素按行进行归一化处理,便于在同一行的元素之间进行比较。在本申请实施例中,也可以不对注意力矩阵中的元素按行进行归一化处理,根据相关性取值确定每个第一词单元的第一权重值,可以减少设备的处理操作。
步骤618,基于每个第一权重值和所述第一向量组,确定所述待分类文本的与目标标签相关的第三向量。
其中,目标标签与目标注意力矩阵对应。
继续上述举例,以标签1为目标标签,假设待分类文本中每个第一词单元的第一向量为M维向量,且待分类文本包括8个第一词单元,则待分类文本的第一向量组可以是8×M的矩阵,可以将得到的8×1的矩阵的转置与待分类文本的第一向量组,即8×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是该待分类文本的与标签1“婚后育有子女”相关的句子级的向量表示,即与标签1“婚后育有子女”相关的该待分类文本的第三向量。例如,该待分类文本的与标签1“婚后育有子女”相关的第三向量可以是[Y11、Y12、Y13、Y14……Y1M-1、Y1M]。
其中,M表示第三向量的维度,Y1M表示该待分类文本的与标签1相关的第三向量中第M维的取值。
同理,以标签2为目标标签,可以确定该待分类文本的与标签2“存在婚姻关系”相关的第三向量。例如,该待分类文本的与标签2相关的第三向量可以是[Y21、Y22、Y23、Y24……Y2M-1、Y2M]。其中,M表示第三向量的维度,Y2M表示该待分类文本的与标签2相关的第三向量中第M维的取值。以标签3为目标标签,可以确定该待分类文本的与标签3“不存在婚姻关系”相关的第三向量。例如,该待分类文本的与标签3相关的第三向量可以是[Y31、Y32、Y33、Y34……Y3M-1、Y3M]。其中,M表示第三向量的维度,Y3M表示该待分类文本的与标签3相关的第三向量中第M维的取值。
需要说明的是,通过上述方法可以确定待分类文本的多个第三向量,且每个第三向量与标签集中的一个标签对应,可以将待分类文本的多个第三向量称为待分类文本的第三向量集合。
步骤620,按列对目标注意力矩阵中的元素进行归一化处理,得到目标注意力矩阵中每个元素的归一化权重值,并将每列的归一化权重值中最大的归一化权重值确定为与该行对应的第一词单元对应的第二权重值,进而得到所述目标标签中每个第二词单元对应的第二权重值。
其中,目标注意力矩阵是待分类文本的注意力矩阵集合中的任一注意力矩阵。按列归一化处理后得到的每个元素的归一化权重值可以称为第二相关性取值。
继续上述举例,以第一个注意力矩阵为目标注意力矩阵为例,对目标注意力矩阵中第一列的元素进行归一化处理后,可以得到e'11,e'21,e'31,e'41和e'51,按照从大到小的顺序对e'11,e'21,e'31,e'41和e'51进行排序,假设e'21最大,则可以将e'21确定为词单元“婚后”对应的第二权重值。对目标注意力矩阵中第二列的元素进行归一化处理后,可以得到e'12,e'22,e'32,e'42、e'52、e'62、e'72和e'82,按照从大到小的顺序对e'12,e'22,e'32,e'42、e'52、e'62、e'72和e'82进行排序,假设e'22最大,则可以将e'22确定为词单元“育”对应的第二权重值。以此类推,可以确定标签1“婚后育有子女”中每个第二词单元的第二权重值。例如,在本例中,可以得到5个第二权重值,且每个第二权重值与标签1中一个第二词单元对应,该5个第二权重值可以组成一个1×5的矩阵。
同理,以第二个注意力矩阵为目标注意力矩阵,可以得到标签2中每个第二词单元的第二权重值。以第三个注意力矩阵为目标注意力矩阵,可以得到标签3中每个第二词单元的第二权重值。
需要说明的是,在本步骤中,为了使得目标注意力矩阵中同一列的元素在同一个数量级,可以对目标注意力矩阵中的元素按列进行归一化处理,便于在同一列的元素之间进行比较。在本申请实施例中,也可以不对注意力矩阵中的元素按列进行归一化处理,根据相关性取值确定每个第二词单元的第二权重值,可以减少设备的处理操作。
步骤622,基于所述目标标签中每个词单元的第二权重值和所述目标标签的第二向量组,确定所述目标标签的与待分类文本相关的第四向量。
其中,目标标签与目标注意力矩阵对应。
继续上述举例,以标签1为目标标签,假设目标标签中每个第二词单元的第二向量为M维向量,且标签1包括5个第二词单元,则标签1的第一向量组可以是5×M的矩阵,可以将得到的1×5的矩阵与标签1的第二向量组,即5×M的矩阵相乘,可以得到一个1×M的矩阵。该1×M的矩阵是与待分类文本相关的标签1“婚后育有子女”的句子级的向量表示,即该1×M的矩阵是标签1“婚后育有子女”的与待分类文本相关的第四向量。例如,标签1“婚后育有子女”的与该待分类文本相关的第四向量可以是[Z11、Z12、Z13、Z14……ZM-1、ZM]。
其中,M表示第四向量的维度,Z1M表示标签1“婚后育有子女”的与该待分类文本相关的第四向量中第M维的取值。
同理,以标签2为目标标签,可以确定与待分类文本相关的标签2“存在婚姻关系”的第四向量。例如,标签2“存在婚姻关系”的与该待分类文本相关的第四向量可以是[Z21、Z22、Z23、Z24……Z2M-1、Z2M]。其中,M表示第四向量的维度,Z2M表示标签2“存在婚姻关系”的与该待分类文本相关的第四向量中第M维的取值。以标签3为目标标签,可以确定与待分类文本相关的标签3“不存在婚姻关系”的第四向量。例如,标签3“不存在婚姻关系”的与该待分类文本相关的第四向量可以是[Z31、Z32、Z33、Z34……Z3M-1、Z3M]。其中,M表示第四向量的维度,Z3M表示标签3“不存在婚姻关系”的与该待分类文本相关的第四向量中第M维的取值。
需要说明的是,通过上述方式可以确定每个标签与待分类文本相关的第四向量,可以将每个标签的与待分类文本相关的第四向量的集合称为标签集的第四向量集合。
步骤624,将所述第三向量集合和所述第四向量集合输入句级注意力层,对所述第三向量集合中待分类文本的与目标标签相关的第三向量和所述第四向量集合中所述目标标签的与待分类文本相关的第四向量进行注意力计算,得到所述待分类文本的与所述目标标签相关的第一待分类文本向量。
其中,第三向量集合包括待分类文本的与每个标签相关的第三向量。第四向量集合包括每个标签的与待分类文本相关的第四向量。
参见图6D,可以将词级注意力层得到的待分类文本的与每个标签相关的第三向量输入句级注意力层,且可以将词级注意力层得到的每个标签的与待分类文本相关的第四向量输入句级注意力层,通过句级注意力层,可以得到待分类文本的与每个标签相关的第一待分类文本向量。
作为一种示例,第三向量和第四向量是句子级的向量,若用矩阵表示,则第三向量和第四向量均可以是1×M的矩阵,在句级注意力层中进行注意力计算可以是将第三向量和第四向量均表示成矩阵,将第三向量得到的矩阵和目标标签的第四向量得到的矩阵的转置相乘,可以得到待分类文本的与目标标签相关的目标权重值,可以将目标权重值与该待分类文本的与目标标签相关的第三向量相乘,可以得到待分类文本的与目标标签相关的第一待分类文本向量。
例如,以标签1为目标标签为例,可以将待分类文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]和与待分类文本相关的目标标签“婚后育有子女”的第四向量[R11、R12、R13、R14……RM-1、RM]的转置进行注意力计算,可以得到待分类文本的与该目标标签“婚后育有子女”相关的目标权重,将该目标权重与待分类文本的与目标标签“婚后育有子女”相关的第三向量[X11、X12、X13、X14……XM-1、XM]相乘,可以得到待分类文本的与目标标签相关的第一待分类文本向量。同理,通过上述方式可以得到与其他标签相关的第一待分类文本向量,将与每个标签相关的待分类文本向量的集合称为与标签集相关的第一待分类文本向量集。
同理,以标签2为目标标签,可以得到该待分类文本的与标签2相关的第一待分类文本向量,以标签3为目标标签,可以得到该待分类文本的与标签3相关的第一待分类文本向量。
进一步地,在本实施例中,可以得到三个第一待分类文本向量,将该三个第一待分类文本向量称为第一待分类文本向量集。
步骤626,获取标签共现矩阵,所述标签共现矩阵用于表征所述标签集中标签与标签之间的相关性。
作为一种示例,可以预先根据样本文本集中的样本文本和标签集中的标签的对应关系,确定标签共现矩阵。
例如,假设标签集中包括三个标签,标签共现矩阵为。其中,第i行第j列表示标签i与标签j属于同一个样本文本的标签的概率。例如,第一行第二列0.8是标签1“婚后育有子女”和标签2“存在婚姻关系”属于同一个样本文本的标签的概率,第一行第三列0是标签1“婚后育有子女”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率,第二行第三列0是标签2“存在婚姻关系”和标签3“不存在婚姻关系”属于同一个样本文本的标签的概率等等。
步骤628,基于所述标签共现矩阵和所述第一待分类文本向量集,确定第二待分类文本向量集。
参见图6D,在将与每个标签相关的第一待分类文本向量输入全连接层之前,将标签共现矩阵和与每个标签相关的第一待分类文本向量进行相关处理,将处理结果输入全连接层。
继续上述举例,假设每个第一待分类文本向量是1×M的矩阵,可以将得到的3个第一待分类文本向量进行拼接,得到一个M×3的矩阵,该矩阵中第一列是待分类文本的与标签1“婚后育有子女”对应的第一待分类文本向量,第二列是待分类文本的与标签2“存在婚姻关系”对应的第一待分类文本向量,第三列是待分类文本的与标签3“不存在婚姻关系”对应的第一待分类文本向量。将标签共现矩阵与该M×3的矩阵相乘,可以得到结合标签相关性分布的第二待分类文本向量集,该第二待分类文本向量集是一个M×3的矩阵,该矩阵中第一列是待分类文本的与标签1“婚后育有子女”对应的第二待分类文本向量,第二列是待分类文本的与标签2“存在婚姻关系”对应的第二待分类文本向量,第三列是待分类文本的与标签3“不存在婚姻关系”对应的第二待分类文本向量。
步骤630,将所述第二待分类文本向量集输入所述全连接层,确定标签集中每个标签为所述待分类文本的标签的概率。
继续上述举例,用矩阵表示第二待分类文本向量集为M×3的矩阵,将该M×3的矩阵输入全连接层,将全连接层的参数组成的转换矩阵1×M与该M×3的矩阵相乘,则可以得到一个1×3的矩阵,该矩阵中第一列的数值表示待分类文本与“婚后育有子女”的相关性分值,第二列的数值表示待分类文本与“存在婚姻关系”的相关性分值,第三列的数值表示待分类文本与“不存在婚姻关系”的相关性分值,再将该1×3的矩阵输入激活函数进行处理,可以得到该三个标签中每个标签可能是待分类文本的标签的概率,并且可以将大于概率阈值的概率对应的标签确定为待分类文本的标签。
步骤632,将概率大于概率阈值的多个标签确定为所述待分类文本的目标标签组。
参见图6D,通过全连接层,可以得到该待分类文本的目标标签组。
继续上述举例,可以将概率大于概率阈值的多个标签确定为目标标签组。例如,假设概率阈值是0.4,标签1“婚后育有子女”对应的概率是0.48,标签2“存在婚姻关系”对应的概率是0.5,标签3“不存在婚姻关系”对应的概率是0.02,可以将“存在婚姻关系”和“婚后育有子女”确定为待分类文本“小王和小李婚后育有一女”的目标标签组。即从“小王和小李婚后育有一女”这段文本中可以推测出小王和小李存在婚姻关系,以及小王和小李婚后育有子女。
本说明书提供的文本分类方法,通过词级注意力层,将标签的词单元与待分类文本的词单元在词级进行注意力计算,而不是将整个标签和待分类文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和待分类文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和待分类文本的相关性,以及不同的标签对应的待分类文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
与上述方法实施例相对应,本说明书还提供了文本分类模型的训练装置实施例,图7示出了本说明书一实施例提供的一种文本分类模型的训练装置的结构示意图。如图7所示,该装置可以包括:
第一确定模块702,用于根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本;
第一注意力计算模块704,用于将所述第一向量组和第二向量组集合输入词级注意力层,得到第三向量集合和第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
第二注意力计算模块706,用于将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集;
预测模块708,用于将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签;
训练模块710,用于基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。
可选地,所述第一确定模块702用于:
将获取的样本文本集的第一样本文本和标签集输入所述文本分类模型的编码层,得到所述第一样本文本的第一向量组和所述标签集的第二向量组集合。
可选地,第一确定模块702用于:
对所述第一样本文本进行分词,得到所述第一样本文本的多个第一词单元;
对所述标签集中的标签进行分词,得到所述标签集中每个标签的多个第二词单元;
将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量;
将所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量输入所述编码层。
可选地,第一注意力计算模块704用于:
将所述第一向量组分别与所述标签集中每个标签的第二向量组进行注意力计算,得到注意力矩阵集合,其中,所述注意力矩阵集合包括的注意力矩阵的数量与所述标签集中的标签数量相关;
基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述第一样本文本的第三向量集合和所述标签集的第四向量集合。
可选地,所述第一注意力计算模块704用于:
所述注意力矩阵集合包括的每个注意力矩阵中元素的行数与所述第一样本文本的词单元的数量相关,元素的列数与所述标签集中标签的词单元的数量相关,每个注意力矩阵中包括的元素为所述第一样本文本的词单元与所述标签集中标签的词单元的相关性取值,按行对目标注意力矩阵中的相关性取值进行归一化处理,得到第一相关性取值,并将每行的第一相关性取值中最大的第一相关性取值确定为与所述第一样本文本的词单元对应的第一权重值,得到所述第一样本文本中每个词单元对应的第一权重值,其中,所述目标注意力矩阵是所述第一向量组与目标标签的第二向量组进行注意力计算得到的,所述目标标签为所述标签集中的任一标签;
基于每个第一权重值和所述第一向量组,确定所述第一样本文本的与所述目标标签相关的第三向量;
按列对目标注意力矩阵中的相关性取值进行归一化处理,得到第二相关性取值,并将每列的第二相关性取值中最大的第二相关性取值确定为与所述目标标签的词单元对应的第二权重值,得到所述目标标签中每个词单元对应的第二权重值;
基于所述目标标签中每个词单元的第二权重值和所述目标标签的第二向量组,确定所述目标标签的第四向量。
可选地,第二注意力计算模块706用于:
对所述第三向量集合中与目标标签相关的第三向量和所述第四向量集合中所述目标标签的第四向量进行注意力计算,得到与所述目标标签相关的第一样本文本向量,其中,所述目标标签为所述标签集中的任一标签。
可选地,预测模块708用于:
确定标签集中每个标签为所述第一样本文本的预测标签的概率;
将概率大于概率阈值的标签确定为所述预测标签。
可选地,预测模块708还用于:
获取标签共现矩阵,所述标签共现矩阵用于表征所述标签集中标签与标签之间的相关性;
基于所述标签共现矩阵和所述第一样本文本向量集,确定第二样本文本向量集;
将所述第二样本文本向量集输入所述全连接层,得到所述第一样本文本的预测标签。
可选地,训练模块710用于:
将所述预测标签和所述标签集中第一样本文本对应的第一标签组输入损失函数,确定损失值;
基于所述损失值对所述文本分类模型进行训练,直到达到训练停止条件。
可选地,训练模块710用于:
若所述损失值大于或等于预设阈值,继续对所述文本分类模型进行训练;
若所述损失值小于所述预设阈值,停止训练。
本说明书提供的文本分类模型的训练方法,通过词级注意力层,将标签的词单元与样本文本的词单元在词级进行注意力计算,而不是将整个标签和样本文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和样本文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和样本文本的相关性,以及不同的标签对应的样本文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
上述为本实施例的一种文本分类模型的训练装置的示意性方案。需要说明的是,该文本分类模型的训练装置的技术方案与上述的文本分类模型的训练方法的技术方案属于同一构思,文本分类模型的训练装置的技术方案未详细描述的细节内容,均可以参见上述文本分类模型的训练方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了文本分类装置实施例,图8示出了本说明书一实施例提供的一种文本分类装置的结构示意图。如图8所示,该装置可以包括:
获取模块802,用于获取待分类文本和标签集;
编码模块804,用于将所述待分类文本和所述标签集输入文本分类模型的编码层,得到所述待分类文本的第一向量组和所述标签集的第二向量组集合,其中,所述文本分类模型是通过上述实施例所述的文本分类模型的训练方法训练得到的;
第三注意力计算模块806,用于将所述第一向量组和所述第二向量组集合输入词级注意力层,得到所述待分类文本的第三向量集合和所述标签集的第四向量集合,其中,所述第三向量集合和所述第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
第四注意力计算模块808,用于将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集;
第二确定模块810,用于将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。
可选地,所述编码模块804还用于:
对待分类文本进行分词,得到待分类文本的多个第一词单元;
对标签集中每个标签进行分词,得到每个标签的多个第二词单元。
将多个第一词单元和每个标签的多个第二词单元输入编码层,得到多个第一词单元的第一向量和每个标签的多个第二词单元的第二向量;
以多个第一词单元的第一向量为待分类文本的第一向量组,以及以每个标签的多个第二词单元的第二向量为每个标签的第二向量组,得到标签集的第二向量组集合。
可选地,所述编码模块804还用于:
将所述多个第一词单元和每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和每个标签的多个第二词单元的词向量;
将所述多个第一词单元的词向量和每个标签的多个第二词单元的词向量输入所述编码层。
可选地,所述第三注意力计算模块806用于:
将所述第一向量组分别与所述标签集中每个标签的第二向量组进行注意力计算,得到注意力矩阵集合;
基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述待分类文本的第三向量集合和所述标签集的第四向量集合。
可选地,所述第三注意力计算模块806用于:
所述注意力矩阵集合包括的每个注意力矩阵中元素的行数与所述待分类文本的词单元的数量相关,元素的列数与所述标签集中标签的词单元的数量相关,每个注意力矩阵中包括的元素为所述待分类文本的词单元与所述标签集中标签的词单元的相关性取值;
按行对目标注意力矩阵中的相关性取值进行归一化处理,得到第一相关性取值,并将每行的第一相关性取值中最大的第一相关性取值确定为与所述待分类文本的词单元对应的第一权重值,得到所述待分类文本中每个词单元对应的第一权重值;
基于每个第一权重值和所述第一向量组,确定所述待分类文本的与所述目标标签相关的第三向量;
按列对目标注意力矩阵中的相关性取值进行归一化处理,得到第二相关性取值,并将每列的第二相关性取值中最大的第二相关性取值确定为与所述目标标签的词单元对应的第二权重值,得到所述目标标签中每个词单元对应的第二权重值;
基于所述目标标签中每个词单元的第二权重值和所述目标标签的第二向量组,确定所述目标标签的第四向量。
可选地,第四注意力计算模块808用于:
对所述第三向量集合中与目标标签相关的第三向量和所述第四向量集合中所述目标标签的第四向量进行注意力计算,得到与所述目标标签相关的第一待分类文本向量。
可选地,所述第二确定模块810用于:
确定标签集中每个标签为所述待分类文本的标签的概率;
将概率大于概率阈值的多个标签确定为所述待分类文本的目标标签组。
可选地,所述第二确定模块810还用于:
获取标签共现矩阵,所述标签共现矩阵用于表征所述标签集中标签与标签之间的相关性;
基于所述标签共现矩阵和所述第一待分类文本向量集,确定第二待分类文本向量集。
将所述第二待分类文本向量集输入所述全连接层,得到所述待分类文本的目标标签组。
本说明书提供的文本分类方法,通过词级注意力层,将标签的词单元与待分类文本的词单元在词级进行注意力计算,而不是将整个标签和待分类文本中的词单元进行注意力计算,考虑到了标签中词单元的信息,又将标签和待分类文本进行句子级的注意力计算,能够更加准确地获取到不同的标签和待分类文本的相关性,以及不同的标签对应的样本文本向量之间的差异性,进而提高文本分类模型的准确率,使得文本分类模型执行多标签文本分类任务的分类结果更加准确。
上述为本实施例的一种文本分类装置的示意性方案。需要说明的是,该文本分类装置的技术方案与上述的文本分类方法的技术方案属于同一构思,文本分类装置的技术方案未详细描述的细节内容,均可以参见上述文本分类方法的技术方案的描述。
需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的文本分类模型的训练方法的步骤,或者,实现所述的文本分类方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的文本分类模型的训练方法或者上述的文本分类方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述文本分类模型的训练方法或者上述的文本分类方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述的文本分类模型的训练方法的步骤,或者,实现所述的文本分类方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的文本分类模型的训练方法或者上述的文本分类方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述文本分类模型的训练方法或者上述的文本分类方法的技术方案的描述。
本申请实施例公开了一种芯片,其存储有计算机指令,该指令被处理器执行时实现如前所述文本分类模型的训练方法的步骤,或者,实现所述的文本分类方法的步骤。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以是源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (15)
1.一种文本分类模型的训练方法,其特征在于,所述方法包括:
根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本;
将所述第一向量组和第二向量组集合输入词级注意力层,得到所述第一样本文本的与所述标签集相关的第三向量集合,并且,得到所述标签集的与所述第一样本文本相关的第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集;
将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签;
基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。
2.如权利要求1所述的文本分类模型的训练方法,其特征在于,所述根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,包括:
将获取的样本文本集的第一样本文本和标签集输入所述文本分类模型的编码层,得到所述第一样本文本的第一向量组和所述标签集的第二向量组集合。
3.如权利要求2所述的文本分类模型的训练方法,其特征在于,将获取的样本文本集的第一样本文本和标签集输入所述文本分类模型的编码层之前,还包括:
对所述第一样本文本进行分词,得到所述第一样本文本的多个第一词单元;
对所述标签集中的标签进行分词,得到所述标签集中每个标签的多个第二词单元;
将所述多个第一词单元和所述标签集中每个标签的多个第二词单元输入所述文本分类模型的嵌入层,得到所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量;
相应地,将获取的样本文本集的第一样本文本和标签集输入所述文本分类模型的编码层,包括:
将所述多个第一词单元的词向量和所述标签集中每个标签的多个第二词单元的词向量输入所述编码层。
4.如权利要求1所述的文本分类模型的训练方法,其特征在于,将所述第一向量组和第二向量组集合输入词级注意力层,得到所述第一样本文本的与所述标签集相关的第三向量集合,并且,得到所述标签集的与所述第一样本文本相关的第四向量集合,包括:
将所述第一向量组分别与所述标签集中每个标签的第二向量组进行注意力计算,得到注意力矩阵集合,其中,所述注意力矩阵集合包括的注意力矩阵的数量与所述标签集中的标签数量相关;
基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述第一样本文本的第三向量集合和所述标签集的第四向量集合。
5.如权利要求4所述的文本分类模型的训练方法,其特征在于,所述注意力矩阵集合包括的每个注意力矩阵中元素的行数与所述第一样本文本的词单元的数量相关,元素的列数与所述标签集中标签的词单元的数量相关,每个注意力矩阵中包括的元素为所述第一样本文本的词单元与所述标签集中标签的词单元的相关性取值,所述基于所述注意力矩阵集合、所述第一向量组和所述第二向量组集合,确定所述第一样本文本的第三向量集合和所述标签集的第四向量集合,包括:
按行对目标注意力矩阵中的相关性取值进行归一化处理,得到第一相关性取值,并将每行的第一相关性取值中最大的第一相关性取值确定为与所述第一样本文本的词单元对应的第一权重值,得到所述第一样本文本中每个词单元对应的第一权重值,其中,所述目标注意力矩阵是所述第一向量组与目标标签的第二向量组进行注意力计算得到的,所述目标标签为所述标签集中的任一标签;
基于每个第一权重值和所述第一向量组,确定所述第一样本文本的与所述目标标签相关的第三向量;
按列对目标注意力矩阵中的相关性取值进行归一化处理,得到第二相关性取值,并将每列的第二相关性取值中最大的第二相关性取值确定为与所述目标标签的词单元对应的第二权重值,得到所述目标标签中每个词单元对应的第二权重值;
基于所述目标标签中每个词单元的第二权重值和所述目标标签的第二向量组,确定所述目标标签的第四向量。
6.如权利要求1所述的文本分类模型的训练方法,其特征在于,将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集,包括:
对所述第三向量集合中与目标标签相关的第三向量和所述第四向量集合中所述目标标签的第四向量进行注意力计算,得到与所述目标标签相关的第一样本文本向量,其中,所述目标标签为所述标签集中的任一标签。
7.如权利要求1所述的文本分类模型的训练方法,其特征在于,将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签,包括:
确定标签集中每个标签为所述第一样本文本的预测标签的概率;
将概率大于概率阈值的标签确定为所述预测标签。
8.如权利要求1所述的文本分类模型的训练方法,其特征在于,将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签之前,还包括:
获取标签共现矩阵,所述标签共现矩阵用于表征所述标签集中标签与标签之间的相关性;
基于所述标签共现矩阵和所述第一样本文本向量集,确定第二样本文本向量集;
相应地,所述将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签,包括:
将所述第二样本文本向量集输入所述全连接层,得到所述第一样本文本的预测标签。
9.如权利要求1所述的文本分类模型的训练方法,其特征在于,基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件,包括:
将所述预测标签和所述第一标签组输入损失函数,确定损失值;
基于所述损失值对所述文本分类模型进行训练,直到达到训练停止条件。
10.如权利要求9所述的文本分类模型的训练方法,其特征在于,基于所述损失值对所述文本分类模型进行训练,直到达到训练停止条件,包括:
若所述损失值大于或等于预设阈值,继续对所述文本分类模型进行训练;
若所述损失值小于所述预设阈值,停止训练。
11.一种文本分类方法,其特征在于,所述方法包括:
获取待分类文本和标签集;
将所述待分类文本和所述标签集输入文本分类模型的编码层,得到所述待分类文本的第一向量组和所述标签集的第二向量组集合,其中,所述文本分类模型是通过上述权利要求1-10中任一项所述的文本分类模型的训练方法训练得到的;
将所述第一向量组和所述第二向量组集合输入词级注意力层,得到所述待分类文本的与所述标签集相关的第三向量集合,并且,得到所述标签集的与所述待分类文本相关的第四向量集合,其中,所述第三向量集合和所述第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集;
将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。
12.一种文本分类模型的训练装置,其特征在于,所述装置包括:
第一确定模块,用于根据样本文本集的第一样本文本和标签集确定第一向量组和第二向量组集合,其中,所述第一样本文本为所述样本文本集中的任一样本文本;
第一注意力计算模块,用于将所述第一向量组和第二向量组集合输入词级注意力层,得到所述第一样本文本的与所述标签集相关的第三向量集合,并且,得到所述标签集的与所述第一样本文本相关的第四向量集合,其中,所述第三向量集合和第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
第二注意力计算模块,用于将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一样本文本向量集;
预测模块,用于将所述第一样本文本向量集输入全连接层,得到所述第一样本文本的预测标签;
训练模块,用于基于所述预测标签和所述标签集中第一样本文本对应的第一标签组对文本分类模型进行训练,直到达到训练停止条件。
13.一种文本分类装置,其特征在于,所述装置包括:
获取模块,用于获取待分类文本和标签集;
编码模块,用于将所述待分类文本和所述标签集输入文本分类模型的编码层,得到所述待分类文本的第一向量组和所述标签集的第二向量组集合,其中,所述文本分类模型是通过上述权利要求1-10中任一项所述的文本分类模型的训练方法训练得到的;
第三注意力计算模块,用于将所述第一向量组和所述第二向量组集合输入词级注意力层,得到所述待分类文本的与所述标签集相关的第三向量集合,并且,得到所述标签集的与所述待分类文本相关的第四向量集合,其中,所述第三向量集合和所述第四向量集合中分别包含的第三向量和第四向量的数量与所述标签集中的标签数量相关;
第四注意力计算模块,用于将所述第三向量集合和所述第四向量集合输入句级注意力层,得到与所述标签集相关的第一待分类文本向量集;
第二确定模块,用于将所述第一待分类文本向量集输入全连接层,得到所述待分类文本的目标标签组。
14.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现权利要求1-10中任一项所述的文本分类模型的训练方法的步骤,或者,实现权利要求11所述的文本分类方法的步骤。
15.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1-10中任一项所述的文本分类模型的训练方法的步骤,或者,实现权利要求11所述的文本分类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064739.9A CN112395419B (zh) | 2021-01-18 | 2021-01-18 | 文本分类模型的训练方法及装置、文本分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064739.9A CN112395419B (zh) | 2021-01-18 | 2021-01-18 | 文本分类模型的训练方法及装置、文本分类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395419A CN112395419A (zh) | 2021-02-23 |
CN112395419B true CN112395419B (zh) | 2021-04-23 |
Family
ID=74625678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110064739.9A Active CN112395419B (zh) | 2021-01-18 | 2021-01-18 | 文本分类模型的训练方法及装置、文本分类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395419B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271513A (zh) * | 2018-09-07 | 2019-01-25 | 华南师范大学 | 一种文本分类方法、计算机可读储存介质及系统 |
CN109492101A (zh) * | 2018-11-01 | 2019-03-19 | 山东大学 | 基于标签信息与文本特征的文本分类方法、系统及介质 |
CN110209823A (zh) * | 2019-06-12 | 2019-09-06 | 齐鲁工业大学 | 一种多标签文本分类方法及系统 |
CN111143550A (zh) * | 2019-11-27 | 2020-05-12 | 浙江大学 | 一种基于层次注意力神经网络模型的争议焦点自动识别方法 |
CN111291183A (zh) * | 2020-01-16 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 利用文本分类模型进行分类预测的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552807B (zh) * | 2020-04-17 | 2023-05-30 | 银江技术股份有限公司 | 一种短文本多标签分类方法 |
-
2021
- 2021-01-18 CN CN202110064739.9A patent/CN112395419B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271513A (zh) * | 2018-09-07 | 2019-01-25 | 华南师范大学 | 一种文本分类方法、计算机可读储存介质及系统 |
CN109492101A (zh) * | 2018-11-01 | 2019-03-19 | 山东大学 | 基于标签信息与文本特征的文本分类方法、系统及介质 |
CN110209823A (zh) * | 2019-06-12 | 2019-09-06 | 齐鲁工业大学 | 一种多标签文本分类方法及系统 |
CN111143550A (zh) * | 2019-11-27 | 2020-05-12 | 浙江大学 | 一种基于层次注意力神经网络模型的争议焦点自动识别方法 |
CN111291183A (zh) * | 2020-01-16 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 利用文本分类模型进行分类预测的方法及装置 |
Non-Patent Citations (2)
Title |
---|
A Label-Specific Attention-Based Network with Regularized Loss for Multi-label Classification;Xiangyan Lou等;《Artificial Neural Networks and Machine Learning – ICANN 2019: Deep Learning》;20190909;第737页 * |
Label-Specific Document Representation for Multi-Label Text Classification;Lin Xiao等;《Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing》;20191107;第2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN112395419A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN108959246B (zh) | 基于改进的注意力机制的答案选择方法、装置和电子设备 | |
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
CN111783462A (zh) | 基于双神经网络融合的中文命名实体识别模型及方法 | |
CN112818861B (zh) | 一种基于多模态上下文语义特征的情感分类方法及系统 | |
CN112183747A (zh) | 神经网络训练的方法、神经网络的压缩方法以及相关设备 | |
CN111401084A (zh) | 一种机器翻译的方法、设备以及计算机可读存储介质 | |
CN112015868A (zh) | 基于知识图谱补全的问答方法 | |
CN111930942A (zh) | 文本分类方法、语言模型训练方法、装置及设备 | |
CN111339780B (zh) | 一种基于多任务模型的词语处理方法及装置 | |
CN113987187A (zh) | 基于多标签嵌入的舆情文本分类方法、系统、终端及介质 | |
CN113849653B (zh) | 一种文本分类方法及装置 | |
CN111767697B (zh) | 文本处理方法、装置、计算机设备以及存储介质 | |
CN113705315A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN115393933A (zh) | 一种基于帧注意力机制的视频人脸情绪识别方法 | |
Li | Codewithzichao@ DravidianLangTech-EACL2021: Exploring multimodal transformers for meme classification in Tamil language | |
CN117093692A (zh) | 一种基于深度融合的多粒度图像-文本匹配方法及系统 | |
CN112395419B (zh) | 文本分类模型的训练方法及装置、文本分类方法及装置 | |
CN116662924A (zh) | 基于双通道与注意力机制的方面级多模态情感分析方法 | |
CN114611529B (zh) | 意图识别方法和装置、电子设备及存储介质 | |
CN113792121B (zh) | 阅读理解模型的训练方法及装置、阅读理解方法及装置 | |
CN115221315A (zh) | 文本处理方法以及装置、句向量模型训练方法以及装置 | |
CN114896404A (zh) | 文档分类方法及装置 | |
CN114510561A (zh) | 答案选择方法、装置、设备及存储介质 | |
CN112507081A (zh) | 相似句匹配方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |