CN111368079B - 一种文本分类的方法、模型训练的方法、装置及存储介质 - Google Patents
一种文本分类的方法、模型训练的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111368079B CN111368079B CN202010129553.2A CN202010129553A CN111368079B CN 111368079 B CN111368079 B CN 111368079B CN 202010129553 A CN202010129553 A CN 202010129553A CN 111368079 B CN111368079 B CN 111368079B
- Authority
- CN
- China
- Prior art keywords
- word
- text
- target
- classified
- trained
- 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
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012549 training Methods 0.000 title claims abstract description 49
- 238000013145 classification model Methods 0.000 claims abstract description 145
- 239000013598 vector Substances 0.000 claims abstract description 143
- 238000005070 sampling Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 14
- 238000013527 convolutional neural network Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 10
- 230000002457 bidirectional effect Effects 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000008451 emotion Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 125000000484 butyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000006071 cream Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 235000013601 eggs Nutrition 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种应用于人工智能领域的文本分类方法,包括:获取待分类文本;通过编码器获取待分类文本中每个词语所对应的隐藏状态;根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值;根据每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量;基于每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果;通过文本分类模型获取待分类文本的分类结果。本申请还公开了一种模型训练的方法。本申请可以自适应地获取文本中每个词语所对应的深度值,使得文本分类模型根据不同的深度值对相应的词语进行编码,从而能够对文本中的词语进行执行充分计算。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种文本分类的方法、模型训练的方法、装置及存储介质。
背景技术
对说话人意图的识别极大地推进了自然语言理解任务的发展,为了能够提取词语特征以及词语之间的语义关系,通常可以采用双向长短期记忆网络(Bidirectional LongShort-Term Memory Networks for Relation,Bi-LSTM)模型,但是Bi-LSTM模型并没有考虑到词语与整个句子之间的信息联系。
目前,提出了一种句子状态-LSTM(Sentence-state LSTM,S-LSTM)模型,S-LSTM模型在每个词语位置上(即图1中白色节点)执行层级循环计算,并且提出一个共享的全局节点(即图1中的黑色节点),用于表示句子级别的特征。通过层级的循环计算,能够使得局部特征和全局特征可以进行充分地信息交互。
然而,S-LSTM模型在每个词语位置上进行相同深度的计算,这会使得句子中语义模糊的词语未能执行充分计算,从而降低了文本分类的准确率。
发明内容
本申请实施例提供了一种文本分类的方法、模型训练的方法、装置及存储介质,可以自适应地获取文本中每个词语所对应的深度值,使得文本分类模型根据不同的深度值对相应的词语进行编码,从而能够对文本中的词语进行执行充分计算,提升模型的性能。
有鉴于此,本申请第一方面提供一种文本分类的方法,包括:
获取待分类文本,其中,待分类文本包括至少一个词语,且每个词语对应于一个词嵌入;
通过编码器获取待分类文本中每个词语所对应的隐藏状态;
根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在文本分类模型中采用隐藏层处理的层级数,且文本分类模型包括多个隐藏层;
根据每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量;
基于每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,其中,文本编码结果为每个词语基于所对应的深度值经过编码后得到的结果;
基于待分类文本所对应的文本编码结果,通过文本分类模型确定待分类文本的分类结果。
本申请第二方面提供一种模型训练的方法,包括:
获取待训练文本集合,其中,待训练文本集合包括至少一个待训练文本,且每个待分类文本包括至少一个词语,每个词语对应于一个词嵌入,每个待训练文本对应于一个真实分类标签;
针对待训练文本集合中的每个待训练文本,通过编码器获取待训练文本中每个词语所对应的隐藏状态;
针对每个待训练文本中每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在待训练文本分类模型中采用隐藏层处理的层级数,且待训练文本分类模型包括多个隐藏层;
针对每个待训练文本中每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量样本;
针对每个待训练文本中每个词语所对应的词特征向量样本,通过待训练文本分类模型获取每个待训练文本所对应的文本编码结果,其中,文本编码结果为每个待训练文本中每个词语基于所对应的深度值经过编码后得到的结果;
针对每个待训练文本所对应的文本编码结果,通过待训练文本分类模型确定每个待训练文本所对应的预测分类标签;
基于每个待训练文本所对应的预测分类标签以及真实分类标签,采用损失函数对待训练文本分类模型的模型参数进行更新,得到文本分类模型,其中,该文本分类模型为上述第一方面涉及的文本分类模型。
本申请第三方面提供一种文本分类装置,包括:
获取模块,用于获取待分类文本,其中,待分类文本包括至少一个词语,且每个词语对应于一个词嵌入;
获取模块,还用于通过编码器获取待分类文本中每个词语所对应的隐藏状态;
获取模块,还用于根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在文本分类模型中采用隐藏层处理的层级数,且文本分类模型包括多个隐藏层;
生成模块,用于根据获取模块获取的每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量;
获取模块,还用于基于生成模块生成的每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,其中,文本编码结果为每个词语基于所对应的深度值经过编码后得到的结果;
确定模块,用于根据获取模块获取的待分类文本所对应的文本编码结果,确定待分类文本的分类结果。
在一种可能的设计中,在本申请实施例的第三方面的第一种实现方式中,
获取模块,具体用于根据待分类文本获取目标词语所对应的词嵌入,其中,词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且目标词语属于待分类文本中的任意一个词语;
若存在相邻词语所对应的目标隐藏状态,则采用编码器对目标词语所对应的词嵌入以及目标隐藏状态进行编码,得到目标词语所对应的隐藏状态,其中,相邻词语为在待分类文本中与目标词语相邻的一个词语;
若不存在相邻词语所对应的目标隐藏状态,则采用编码器对目标词语所对应的词嵌入进行编码,得到目标词语所对应的隐藏状态。
在一种可能的设计中,在本申请实施例的第三方面的第二种实现方式中,
获取模块,具体用于根据待分类文本获取目标词语所对应的词嵌入,其中,词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且目标词语属于待分类文本中的任意一个词语;
若存在第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入、第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态,其中,第一相邻词语为在待分类文本中与目标词语相邻的一个词语,第二相邻词语为在待分类文本中与目标词语相邻的另一个词语;
若仅存在第一相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态;
若仅存在第二相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态。
在一种可能的设计中,在本申请实施例的第三方面的第三种实现方式中,
获取模块,具体用于采用前向编码器对目标词语所对应的词嵌入以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的第一隐藏状态,其中,前向编码器属于编码器;
采用后向编码器对目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的第二隐藏状态,其中,后向编码器属于编码器;
将第一隐藏状态与第二隐藏状态进行拼接,得到目标词语所对应的隐藏状态。
在一种可能的设计中,在本申请实施例的第三方面的第四种实现方式中,
获取模块,具体用于基于目标词语所对应的隐藏状态,通过深度值预测模型获取目标词语所对应的深度分布,其中,目标词语属于待分类文本中的任意一个词语;
根据目标词语所对应的深度分布,获取目标词语所对应的深度概率分布,其中,深度概率分布表示词语在每个待选深度值上所对应的概率;
根据目标词语所对应的深度概率分布,确定目标词语所对应的深度值。
在一种可能的设计中,在本申请实施例的第三方面的第五种实现方式中,
获取模块,具体用于从目标词语所对应的深度概率分布中选择最大概率值;
将最大概率值所对应的待选深度值确定为目标词语所对应的深度值。
在一种可能的设计中,在本申请实施例的第三方面的第六种实现方式中,
获取模块,具体用于获取每个待选深度值所对应的权重值;
根据目标词语所对应的深度概率分布以及每个待选深度值所对应的权重值,确定目标词语所对应的深度累计值;
对深度累计值向下取整,得到目标词语所对应的深度值。
在一种可能的设计中,在本申请实施例的第三方面的第七种实现方式中,
获取模块,具体用于根据标准正态分布随机数确定随机噪声;
根据目标词语所对应的深度分布以及随机噪声,生成目标词语所对应的深度采样分布;
根据深度采样分布获取目标词语所对应的深度概率分布。
在一种可能的设计中,在本申请实施例的第三方面的第八种实现方式中,
获取模块,具体用于根据第一词语所对应的隐藏状态,获取第一词语所对应的第一深度值,其中,第一词语属于待分类文本中的任意一个词语;
根据第二词语所对应的隐藏状态,获取第二词语所对应的第二深度值,其中,第二词语属于待分类文本中不同于第一词语的任意一个词语;
获取模块,具体用于若第一深度值为M,则通过文本分类模型中的M个隐藏层,对第一词语所对应的词特征向量进行编码,得到第一词语所对应的词语编码结果,其中,M为大于或等于1的整数;
若第二深度值为N,则通过文本分类模型中的N个隐藏层,对第二词语所对应的词特征向量进行编码,得到第二词语所对应的词语编码结果,其中,N为大于或等于1的整数;
根据第一词语所对应的词语编码结果以及第二词语所对应的词语编码结果,获取待分类文本所对应的文本编码结果。
在一种可能的设计中,在本申请实施例的第三方面的第九种实现方式中,
确定模块,具体用于根据待分类文本所对应的文本编码结果,生成特征向量拼接结果,其中,特征向量拼接结果包括特征向量最大值、特征向量平均值以及句子特征向量,句子特征向量为待分类文本的句子特征经过文本分类模型后得到的,特征向量最大值与特征向量平均值为基于文本编码结果确定的;
采用激活函数对特征向量拼接结果进行计算,得到目标文本特征向量;
基于目标文本特征向量,通过文本分类模型获取待分类文本的类型概率分布;
从待分类文本的类型概率分布中选择最大概率值;
将最大概率值所对应的类型确定为待分类文本的分类结果。
本申请第四方面提供一种模型训练装置,包括:
获取模块,用于获取待训练文本集合,其中,待训练文本集合包括至少一个待训练文本,且每个待分类文本包括至少一个词语,每个词语对应于一个词嵌入,每个待训练文本对应于一个真实分类标签;
获取模块,还用于针对待训练文本集合中的每个待训练文本,通过编码器获取待训练文本中每个词语所对应的隐藏状态;
获取模块,还用于针对每个待训练文本中每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在待训练文本分类模型中采用隐藏层处理的层级数,且待训练文本分类模型包括多个隐藏层;
生成模块,用于针对每个待训练文本中每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量样本;
获取模块,还用于针对每个待训练文本中每个词语所对应的词特征向量样本,通过待训练文本分类模型获取每个待训练文本所对应的文本编码结果,其中,文本编码结果为每个待训练文本中每个词语基于所对应的深度值经过编码后得到的结果;
确定模块,用于针对每个待训练文本所对应的文本编码结果,通过待训练文本分类模型确定每个待训练文本所对应的预测分类标签;
更新模块,用于基于每个待训练文本所对应的预测分类标签以及真实分类标签,采用损失函数对待训练文本分类模型的模型参数进行更新,得到文本分类模型,其中,该文本分类模型为上述第一方面涉及的文本分类模型。
本申请的第五方面提供了一种计算机设备,其特征在于,包括:存储器、收发器、处理器以及总线***;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,包括执行上述各方面的方法;
总线***用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的第六方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种文本分类的方法,首先通过编码器获取待分类文本中每个词语所对应的隐藏状态,然后根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,再根据每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量,基于每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,最后基于待分类文本所对应的文本编码结果,通过文本分类模型确定待分类文本的分类结果。通过上述方式,可以自适应地获取文本中每个词语所对应的深度值,使得文本分类模型根据不同的深度值对相应的词语进行编码,词语的深度值越大,表示该词语需要经过网络层编码的次数越多,由此能够对文本中的词语进行执行充分计算,从而提升模型的性能,进而提升文本分类的准确率。
附图说明
图1为现有方案中S-LSTM模型的一个结构示意图;
图2为本申请实施例中应用于新闻自动分类场景的一个界面示意图;
图3为本申请实施例中应用于邮件自动过滤场景的一个界面示意图;
图4为本申请实施例中应用于评论情感分析场景的一个界面示意图;
图5为本申请实施例中文本分类***的一个环境示意图;
图6为本申请实施例中文本分类的方法一个实施例示意图;
图7为本申请实施例中具有自适应深度的图循环网络模型的一个结构示意图;
图8为本申请实施例中基于前向编码器提取词语对应的隐藏状态的一个示意图;
图9为本申请实施例中基于后向编码器提取词语对应的隐藏状态的一个示意图;
图10为本申请实施例中基于双向编码器提取词语对应的隐藏状态的一个示意图;
图11为本申请实施例中文本分类模型的一个结构示意图;
图12为本申请实施例中模型训练的方法一个实施例示意图;
图13为本申请实施例中基于全量深度值域自适应值深度预测的一个对比示意图;
图14为基于实验数据得到词语与深度值对应关系的一个直方图;
图15为本申请实施例中文本分类装置的一个实施例示意图;
图16为本申请实施例中模型训练装置的一个实施例示意图;
图17为本申请实施例中服务器的一个结构示意图。
具体实施方式
本申请实施例提供了一种文本分类的方法、模型训练的方法、装置及存储介质,可以自适应地获取文本中每个词语所对应的深度值,使得文本分类模型根据不同的深度值对相应的词语进行编码,从而能够对文本中的词语进行执行充分计算,提升模型的性能。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请采用基于人工智能(Artificial Intelligence,AI)的自然语言处理(Nature Language processing,NLP)技术实现文本分类。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
而自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
应理解,本申请提供的文本分类方法能够推断出给定文本(比如词语、句子或者文档等)的标签或者标签集合,其应用也较为广泛,例如新闻分类、垃圾信息过滤、用户评论分析以及词性标注等。下面将以三个具体的场景为例进行介绍:
场景一、新闻自动分类;
对于大量的新闻而言,可以采用自动分类***对这些新闻进行分类处理,分类的依据包含但不仅限于新闻标题、新闻内容以及作者信息。在分类结束后,通过客户端或者网站展示相关类别下的新闻内容。请参阅图2,图2为本申请实施例中应用于新闻自动分类场景的一个界面示意图,如图所示,以对新闻标题进行自动分类为例,新闻1的标题为“女足将附加赛场定在悉尼”,自动分类***采用本申请提供的文本分类方法可以得到新闻1属于“体育”标签。类似地,基于标题“如何烹调一晚暖暖胡辣汤”,可将新闻2归类于“美食”标签。基于标题“人工智能还能为你的生活带来什么”,可将新闻3归类于“科技”标签。基于标题“2019年下载量最高的十大手游”,可将新闻4归类于“游戏”标签。基于标题“2020年推荐的十大烧脑神剧”,可将新闻5归类于“娱乐”标签。基于标题“不要把鸡蛋放在一个篮子里的投资智慧”,可将新闻6归类于“财经”标签。基于标题“火爆剧组送福利啦快来看看有什么”,可将新闻7归类于“娱乐”标签。基于标题“奶油小蛋糕好吃到停不下来”,可将新闻8归类于“美食”标签。基于标题“新能源汽车的发展前景”,可将新闻9归类于“科技”标签。
场景二、邮件自动过滤;
对于邮件过滤***而言,通常会针对邮件中出现的一些文本进行识别,判断出该邮件是否属于垃圾邮件。识别的依据包含但不仅限于邮件标题、邮件正文以及发件人信息。请参阅图3,图3为本申请实施例中应用于邮件自动过滤场景的一个界面示意图,如图所示,以对邮件正文进行识别为例,采用本申请提供的文本分类方法,对“ABC团队为您提供最优惠的价格,酒店、机票、火车票以及船票,均打7折,欢迎前来咨询”进行分类,得到属于垃圾邮件的概率为0.8,于是可以判定这封邮件为垃圾邮件,从而可以对该邮件进行标注。
场景三、评论情感分析;
对于用户评论而言,可以采用本申请提供的文本分类方法对评论内容进行情感分析,再基于分析结果进行统计等处理。请参阅图4,图4为本申请实施例中应用于评论情感分析场景的一个界面示意图,如图所示,具体地,网友甲发表的评论为“哇,这部剧真的超级好看,推荐”,经过分类后得到该评论属于“非常积极”的标签。网友乙发表的评论为“我觉得还OK啦,打发时间看看”,经过分类后得到该评论属于“积极”的标签。网友丙发表的评论为“一般一般”,经过分类后得到该评论属于“消极”的标签。网友丁发表的评论为“哎呀,我觉得这剧情走向太混乱了,真的不喜欢啊”,经过分类后得到该评论属于“非常消极”的标签。
为了便于理解,本申请提出了一种文本分类的方法,该方法应用于图5所示的文本分类***,请参阅图5,图5为本申请实施例中文本分类***的一个环境示意图,如图所示,文本分类***可以包括客户端以及服务器,通常情况下,需要在服务器侧对待分类文本进行分类处理,假设有十万个待分类的文本(包括句子和文章等内容),服务器分别对这十万个文本进行分类,从而得到每个文本所对应的分类结果,再基于每个文本的分类结果对文本进行统计、归类或者过滤等处理,将处理结果反馈至客户端。可选地,也可以由终端设备对待分类的文本进行分类处理,得到分类结果之后,再基于每个文本的分类结果对文本进行处理,并将处理结果反馈至客户端。
需要说明的是,客户端部署于终端设备上,其中,终端设备包含但不仅限于平板电脑、笔记本电脑、掌上电脑、手机、语音交互设备及个人电脑(personal computer,PC),此处不做限定。其中,语音交互设备包含但不仅限于智能音响以及智能家电。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的自然语言处理等技术,结合上述介绍,下面将对本申请中文本分类的方法进行介绍,请参阅图6,本申请实施例中文本分类的方法一个实施例包括:
101、获取待分类文本,其中,待分类文本包括至少一个词语,且每个词语对应于一个词嵌入;
本实施例中,文本分类装置获取待分类文本,待分类文本包含但不仅限于词语、句子、段落以及文章等,且待分类文本的语种表示包含但不仅限于英文、中文以及日文等。待分类文本包括至少一个词语,每个词语生成一个对应的词嵌入(word embedding)。其中,词嵌入是一种将文本中的词转换成数字向量的方法,能够使机器学习算法对文本进行分析,每个词语被映射为实数域上的向量,即生成了词向量。
需要说明的是,文本分类装置可以部署于服务器,或者部署于终端设备,本申请以部署于服务器为例进行介绍,此处不做限定。
具体地,本申请涉及的词嵌入可以包括两种类型,即字符级词嵌入以及预训练词嵌入,预训练词嵌入可以为词向量(word to vector,Word2vec)或者单词表示的全局向量(Global vectors for word representation,Glove),本申请以采用Glove作为预训练词嵌入为例进行说明,然而这不应理解为对本身的限定。对于字符级词嵌入而言,需要针对一个词语中每个字符进行处理,比如词语“苹果”的英文是apple,字符级词嵌入需要将每个字符,即“a”、“p”、“p”、“l”及“e”分别经过卷积和池化处理,最终得到每个字符的表示,拼接后生成该词语的字符级词嵌入。Glove主要是将词语进行向量化表示。假设字符级词嵌入采用50维表示一个词语,预训练词嵌入采用300维表示一个词语,那么该词语的词嵌入为字符级词嵌入以及预训练词嵌入拼接后的结果,即采用350维表示。
102、通过编码器获取待分类文本中每个词语所对应的隐藏状态;
本实施例中,文本分类装置在获取到待分类文本中每个词语所对应的词嵌入之后,可以将每个词嵌入输入至编码器,由编码器经过编码之后输出与待分类文本序列等长的隐藏状态。
为了便于理解,下面将结合图7进行介绍,图7为本申请实施例中具有自适应深度的图循环网络模型的一个结构示意图,图循环网络模型主要包括两个部分,分别为编码器和文本分类模型。假设待分类文本包括n个词语,其中,第i个词语的词嵌入表示为xi,i表示1至n中任意一个整数。将n个词语所对应的词嵌入x1,...,xi-1,xi,xi+1,...xn输入至编码器,经过编码后输出每个词语所对应的隐藏状态,其中,第i个词语的隐藏状态表示为hi,n个词语所对应的隐藏状态为h1,...,hi-1,hi,hi+1,...hn。
103、根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在文本分类模型中采用隐藏层处理的层级数,且文本分类模型包括多个隐藏层;
本实施例中,文本分类装置基于自适应深度机制,以步骤102得到的每个词语所对应的隐藏状态作为输入,通过深度值预测模型计算每个词语所对应的深度值。深度值表示词语需要通过文本分类模型中隐藏层进行循环计算的层级数。其中,文本分类模型包括L个隐藏层,L为大于1的整数,通常L可以设置为9。
104、根据每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量;
本实施例中,文本分类装置根据每个词语所对应的深度值,确定对应的深度值嵌入,然后将每个待分类文本中每个词语所对应的深度值嵌入和词嵌入进行拼接,从而生成每个词语所对应的词特征向量。其中,深度值为深度值嵌入的索引,根据深度值可以得到深度值嵌入。
以待分类文本中的第1个词语为例,假设第1个词语的字符级词嵌入表示为预训练词嵌入表示为/>深度值与深度值的嵌入具有关系,深度值是一个0至L的整数,深度值的嵌入为一个向量,可以表示为/>第1个词语的词嵌入表示为/>第1个词语的词特征向量为/>
105、基于每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,其中,文本编码结果为每个词语基于所对应的深度值经过编码后得到的结果;
本实施例中,文本分类装置基于每个词语所对应的词特征向量,可以确定每个词语需要经过隐藏层编码的次数。为了便于说明,请继续参阅图7,以待分类文本中的第1个词语为例,首先通过编码器得到对应的隐藏状态h1,然后基于隐藏状态h1得到深度值为2,即表示第1个词语通过文本分类模型中的2个隐藏层(即图7中的2个灰色节点)进行循环计算,于是得到该词语的词语编码结果。当得到每个词语所对应的词语编码结果时,即获取到待分类文本所对应的文本编码结果。
由此可见,在每个词语计算出所需的深度值后,并发地执行对应深度值的计算,如果达到该词语的最大深度值,或者达到预定义的最大深度(比如第L层)后,则停止计算。
106、基于待分类文本所对应的文本编码结果,通过文本分类模型确定待分类文本的分类结果。
本实施例中,文本分类模型还包括一个全局节点,即表示为图7中黑色的节点,用于表示句子级别的特征向量,即得到待分类文本的句子特征向量。经过层级计算后,可以看出局部特征(词语级别的特征)与全局特征(句子级别的特征)进行了充分的信息交互。最后文本分类装置结合文本编码结果以及句子特征向量,执行分类任务的预测,从而通过文本分类模型得到待分类文本的分类结果。
需要说明的是,分类任务可以是一个二分类的任务,也可以是多分类任务,此处不做限定。
本申请实施例中,提供了一种文本分类的方法,首先通过编码器获取待分类文本中每个词语所对应的隐藏状态,然后根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,再根据每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量,基于每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,最后基于待分类文本所对应的文本编码结果,通过文本分类模型确定待分类文本的分类结果。通过上述方式,可以自适应地获取文本中每个词语所对应的深度值,使得文本分类模型根据不同的深度值对相应的词语进行编码,词语的深度值越大,表示该词语需要经过网络层编码的次数越多,由此能够对文本中的词语进行执行充分计算,从而提升模型的性能,进而提升文本分类的准确率。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,通过编码器获取待分类文本中每个词语所对应的隐藏状态,可以包括:
根据待分类文本获取目标词语所对应的词嵌入,其中,词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且目标词语属于待分类文本中的任意一个词语;
若存在相邻词语所对应的目标隐藏状态,则采用编码器对目标词语所对应的词嵌入以及目标隐藏状态进行编码,得到目标词语所对应的隐藏状态,其中,相邻词语为在待分类文本中与目标词语相邻的一个词语;
若不存在相邻词语所对应的目标隐藏状态,则采用编码器对目标词语所对应的词嵌入进行编码,得到目标词语所对应的隐藏状态。
本实施例中,介绍了一种基于单向编码器获得隐藏状态的方式,由于待分类文本包括至少一个词语,因此,为了便于说明,本申请以待分类文本中任意一个词语为例进行介绍,即从待分类文本中提取目标词语进行编码处理。
具体地,请参阅图8,图8为本申请实施例中基于前向编码器提取词语对应的隐藏状态的一个示意图,如图所示,假设待分类文本为“I like apple(我喜欢苹果)”,即包括三个词语分别为“I”、“like”以及“apple”,其中,词语“I”的词嵌入为x1,词语“like”的词嵌入为x2,词语“apple”的词嵌入为x3。假设目标词语为待分类文本中的第一个词语“I”,即该目标词语不存在上一个相邻词语,于是采用编码器仅对目标词语“I”的词嵌入x1进行编码,得到隐藏状态h1。假设目标词语为待分类文本中的第二个词语“like”,即该目标词语存在上一个相邻词语“I”,该相邻词语“I”的目标隐藏状态为h1,于是采用编码器对目标词语“like”的词嵌入x2以及目标隐藏状态为h1进行编码,得到隐藏状态h2。假设目标词语为待分类文本中的第三个词语“apple”,即该目标词语存在上一个相邻词语“like”,该相邻词语“like”的目标隐藏状态为h2,于是采用编码器对目标词语“apple”的词嵌入x3以及目标隐藏状态为h2进行编码,得到隐藏状态h3。
请参阅图9,图9为本申请实施例中基于后向编码器提取词语对应的隐藏状态的一个示意图,如图所示,继续以待分类文本为“I like apple”为例,其中,词语“apple”的词嵌入为x1,词语“like”的词嵌入为x2,词语“I”的词嵌入为x3。假设目标词语为待分类文本中的第一个词语“apple”,即该目标词语不存在上一个相邻词语,于是采用编码器仅对目标词语“apple”的词嵌入x1进行编码,得到隐藏状态h1。假设目标词语为待分类文本中的第二个词语“like”,即该目标词语存在上一个相邻词语“apple”,该相邻词语“apple”的目标隐藏状态为h1,于是采用编码器对目标词语“like”的词嵌入x2以及目标隐藏状态为h1进行编码,得到隐藏状态h2。假设目标词语为待分类文本中的第三个词语“I”,即该目标词语存在上一个相邻词语“like”,该相邻词语“like”的目标隐藏状态为h2,于是采用编码器对目标词语“I”的词嵌入x3以及目标隐藏状态为h2进行编码,得到隐藏状态h3。
需要说明的是,本申请涉及的编码器是循环神经网络(Recurrent NeuralNetwork,RNN),具体可以是长短期记忆(Long Short-Term Memory,LSTM)网络或者门控循环单元(Gate Recurrent Unit,GRU)网络,此处不做限定。
示例性地,编码器为LSTM网络,假设输入的词嵌入为xi,可以执行如下计算:
hi=LSTM(xi,hi-1,θ);
其中,hi表示第i个词语所对应的隐藏状态,hi-1表示第i-1个词语所对应的隐藏状态,xi表示第i个词语所对应的词嵌入,LSTM()表示编码器为LSTM网络,θ表示该LSTM网络的模型参数。
示例性地,假设编码器为GRU网络,假设输入的词嵌入为xi,可以执行如下计算:
hi=GRU(xi,hi-1,θ);
类似地,hi表示第i个词语所对应的隐藏状态,hi-1表示第i-1个词语所对应的隐藏状态,xi表示第i个词语所对应的词嵌入,GRU()表示编码器为GRU网络,θ表示该GRU网络的模型参数。
其次,本申请实施例中,提供了一种基于单向编码器获得隐藏状态的方式,针对任意一个词语,将该词语对应的词嵌入输入至编码器,通过编码器输出该词语对应的隐藏状态。通过上述方式,利用序列编码器能够有效地提取输入语句中的序列信息,对词语进行逐次编码,并且引入词语上文或者下文的信息,从而为文本分类模型提供更全面的文本信息,有利于提升模型预测的效果。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,通过编码器获取待分类文本中每个词语所对应的隐藏状态,可以包括:
根据待分类文本获取目标词语所对应的词嵌入,其中,词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且目标词语属于待分类文本中的任意一个词语;
若存在第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入、第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态,其中,第一相邻词语为在待分类文本中与目标词语相邻的一个词语,第二相邻词语为在待分类文本中与目标词语相邻的另一个词语;
若仅存在第一相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态;
若仅存在第二相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态。
本实施例中,提供了一种基于双向编码器获得隐藏状态的方式,由于待分类文本包括至少一个词语,因此,为了便于说明,本申请以待分类文本中任意一个词语为例进行介绍,即从待分类文本中提取目标词语进行编码处理。
具体地,在双向编码的过程中,假设待分类文本包括多个词语,且目标词语为待分类文本中的第一个词语,则表示目标词语不存在前一个相邻词语(即第二相邻词语),而仅存在后一个相邻词语(即第一相邻词语),于是采用双向编码器中的前向编码器,对目标词语所对应的词嵌入进行编码,得到隐藏状态A。采用双向编码器中的后向编码器,对该目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到隐藏状态B,将隐藏状态A和隐藏状态B拼接后得到目标词语所对应的隐藏状态。
又假设目标词语为待分类文本中的最后一个词语,则表示目标词语不存在后一个相邻词语(即第一相邻词语),而仅存在前一个相邻词语(即第二相邻词语),于是采用双向编码器中的前向编码器,对目标词语所对应的词嵌入以及第二相邻词语所对应的隐藏状态进行编码,得到隐藏状态A。采用双向编码器中的后向编码器,对该目标词语所对应的词嵌入进行编码,得到隐藏状态B,将隐藏状态A和隐藏状态B拼接后得到目标词语所对应的隐藏状态。
又假设目标词语为待分类文本中的中间某个词语,则表示目标词语即存在后一个相邻词语(即第一相邻词语),又存在前一个相邻词语(即第二相邻词语),于是采用双向编码器(即前向编码器以及后向编码器),对目标词语所对应的词嵌入、第一相邻词语的隐藏状态以及第二相邻词语的隐藏状态进行编码,得到目标词语所对应的隐藏状态。
其次,本申请实施例中,提供了一种基于双向编码器获得隐藏状态的方式,针对任意一个词语,将该词语对应的词嵌入输入至编码器,通过编码器输出该词语对应的隐藏状态。通过上述方式,利用序列编码器能够有效地提取输入语句中的序列信息,对词语进行逐次编码,并且引入词语上文以及下文的信息,从而为文本分类模型提供更全面的文本信息,有利于提升模型预测的效果。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,采用编码器对目标词语所对应的词嵌入、第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态,可以包括:
采用前向编码器对目标词语所对应的词嵌入以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的第一隐藏状态,其中,前向编码器属于编码器;
采用后向编码器对目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的第二隐藏状态,其中,后向编码器属于编码器;
将第一隐藏状态与第二隐藏状态进行拼接,得到目标词语所对应的隐藏状态。
本实施例中,提供了一种基于双向编码器对词语进行编码的方式,由于待分类文本包括至少一个词语,因此,为了便于说明,本申请以待分类文本中任意一个词语为例进行介绍,即从待分类文本中提取目标词语进行编码处理。
具体地,请参阅图10,图10为本申请实施例中基于双向编码器提取词语对应的隐藏状态的一个示意图,如图所示,假设待分类文本为“I like apple(我喜欢苹果)”,即包括三个词语分别为“I”、“like”以及“apple”,其中,词语“I”的词嵌入为x1,词语“like”的词嵌入为x2,词语“apple”的词嵌入为x3。假设目标词语为待分类文本中的第一个词语“I”,即该目标词语不存在上一个相邻词语,于是采用前向编码器对目标词语“I”的词嵌入x1进行编码,得到第一隐藏状态h1。并且采用后向编码器,对该目标词语“I”的词嵌入x1进行编码以及第一相邻词语“like”所对应的隐藏状态h5进行编码,得到第二隐藏状态h6。将第一隐藏状态h1和第二隐藏状态h6进行拼接,得到目标词语“I”所对应的隐藏状态h7。
又假设目标词语为待分类文本中的第二个词语“like”,即该目标词语存在上一个相邻词语“I”,且存在下一个相邻词语“apple”,于是采用前向编码器(即前向编码器)对目标词语“like”的词嵌入x2以及第二相邻词语“I”的隐藏状态h1进行编码,得到第一隐藏状态h2。并且采用后向编码器(即后向编码器),对该目标词语“like”的词嵌入x2以及第一相邻词语“apple”的隐藏状态h4进行编码,得到第二隐藏状态h5。将第一隐藏状态h2和第二隐藏状态h5进行拼接,得到目标词语“like”所对应的隐藏状态h8。
又假设目标词语为待分类文本中的第三个词语“apple”,即该目标词语存在上一个相邻词语“like”,且不存在下一个相邻词语,于是采用前向编码器(即前向编码器)对目标词语“apple”的词嵌入x3以及第二相邻词语“like”的隐藏状态h2进行编码,得到第一隐藏状态h3。并且采用后向编码器(即后向编码器),对该目标词语“apple”的词嵌入x3进行编码,得到第二隐藏状态h4。将第一隐藏状态h3和第二隐藏状态h4进行拼接,得到目标词语“apple”所对应的隐藏状态h9。
示例性地,编码器为LSTM网络,假设输入的词嵌入为xi,可以执行如下计算:
其中,表示前向编码器输出的第i个词语(即目标词语)所对应的第一隐藏状态,表示前向编码器输出的第i-1个词语所对应的第二隐藏状态,xi表示第i个词语(即目标词语)所对应的词嵌入,/>表示前向编码器为LSTM网络,/>表示前向编码器的模型参数,/>表示后向编码器输出的第i个词语(即目标词语)所对应的隐藏状态,/>表示后向编码器输出的第i-1个词语所对应的隐藏状态,/>表示后向编码器为LSTM网络,/>表示后向编码器的模型参数,hi表示第i个词语(即目标词语)所对应的隐藏状态。
示例性地,假设编码器为GRU网络,假设输入的词嵌入为xi,可以执行如下计算:
类似地,表示前向编码器为GRU网络,/>表示后向编码器为GRU网络。
再次,本申请实施例中,提供了一种基于双向编码器对词语进行编码的方式,即既需要采用前向编码器对目标词语所对应的词嵌入以及第二隐藏状态进行编码,又需要采用后向编码器对目标词语所对应的词嵌入以及第一隐藏状态进行编码,最后将两个编码结果进行拼接,然后得到该词语最终的隐藏状态。通过上述方式,能够有效地利用词语的上下文信息,为文本分类模型提供更全面的文本信息,有利于提升模型预测的效果。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,可以包括:
基于目标词语所对应的隐藏状态,通过深度值预测模型获取目标词语所对应的深度分布,其中,目标词语属于待分类文本中的任意一个词语;
根据目标词语所对应的深度分布,获取目标词语所对应的深度概率分布,其中,深度概率分布表示词语在每个待选深度值上所对应的概率;
根据目标词语所对应的深度概率分布,确定目标词语所对应的深度值。
本实施例中,介绍了一种确定词语深度值的方式,由于待分类文本包括至少一个词语,因此,为了便于说明,本申请以待分类文本中任意一个词语为例进行介绍,即从待分类文本中提取目标词语来计算其对应的深度值。
具体地,由编码器输出每个词语所对应的隐藏状态,将每个词语的隐藏状态输入至深度值预测模型,通过深度值预测模型计算出每个词语的深度分布。再分别基于每个词语,获取该词语所对应的深度概率分布,最后根据每个词语分别对应的深度概率分布,确定相应的深度值。其中,深度值预测模型可以为包括全连接层的前馈神经网络(feedforwardneural network,FNN),全连接层的每一个节点都与上一层的所有节点相连,用于把前面提取到的特征综合起来,而FNN采用一种单向多层结构,每一层包含若干个神经元。
假设目标词语为待分类文本中的第i个词语,由编码器输出目标词语所对应的隐藏状态hi,将目标词语的隐藏状态hi输入至深度值预测模型,通过深度值预测模型计算目标词语的深度分布,即:
li=max(0,hiW1+b1)W2+b2;
其中,li表示第i个词语(即目标词语)的深度分布,max()表示取最大值,hi表示第i个词语(即目标词语)的隐藏状态,W1、W2、b1和b2均为深度值预测模型的模型参数。
再将目标词语所对应的深度分布输入至softmax层,得到对应的深度概率分布,即:
其中,表示第i个词语(即目标词语)在每个深度的概率分布,j表示从1至L的整数,L表示文本分类模型中隐藏层的最大数量,k表示从1至L的整数,/>表示第i个词语(即目标词语)在第j个隐藏层的深度分布,/>表示第i个词语在第k个隐藏层的深度分布。
通过可以确定第i个词语(即目标词语)在每个待选深度值上所对应的概率,例如/>表示第i个词语(即目标词语)深度值为1的概率,/>表示第i个词语(即目标词语)深度值为2的概率,依次类推,得到目标词语深度值为L的概率。基于目标词语的深度概率分布/>可以确定第i个词语(即目标词语)所对应的深度值。
进一步地,本申请实施例中,提供了一种确定词语深度值的方式,首先通过深度值预测模型获取词语所对应的深度分布,然后根据该词语所对应的深度分布获取对应的深度概率分布,基于深度概率分布确定深度值。通过上述方式,能够针对每个词语构建对应的深度概率分布,基于深度概率分布的情况确定深度值,由此能够动态地计算每个词语的深度值,从而达到深度值自适应的目的。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,根据目标词语所对应的深度概率分布,确定目标词语所对应的深度值,可以包括:
从目标词语所对应的深度概率分布中选择最大概率值;
将最大概率值所对应的待选深度值确定为目标词语所对应的深度值。
本实施例中,介绍了一种利用硬选择模式获取词语深度值的方式,为了便于说明,本申请以待分类文本中任意一个词语为例进行介绍,即从待分类文本中提取目标词语来计算其对应的深度值。
具体地,结合上述介绍,得到目标词语所对应的深度概率分布,即:
通过可以确定第i个词语(即目标词语)在每个待选深度值上所对应的概率,再基于硬选择模式,采用如下方式计算深度值:
di=argmax(Pi);
其中,di表示第i个词语(即目标词语)的深度值。Pi表示第i个词语(即目标词语)所对应的深度概率分布,即基于从j=1,...,L得到的的集合。
为了便于理解,请参阅表1,表1为目标词语对应深度概率分布的一个示意。
表1
由表1可知,假设L为9,基于硬选择模式直接选择出最大概率值0.6,该最大概率值对应于第5层,即待选深度值为5,于是将目标词语的深度值di确定为5。
更进一步地,本申请实施例中,提供了一种利用硬选择模式获取词语深度值的方式,即直接从词语所对应的深度概率分布中选择最大概率值,然后将最大概率值所对应的待选深度值确定为该词语的深度值。通过上述方式,能够直接选择词语所的深度值,简化了深度值的确定过程,从而降低了深度值的计算难度。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,根据目标词语所对应的深度概率分布,确定目标词语所对应的深度值,可以包括:
获取每个待选深度值所对应的权重值;
根据目标词语所对应的深度概率分布以及每个待选深度值所对应的权重值,确定目标词语所对应的深度累计值;
对深度累计值向下取整,得到目标词语所对应的深度值。
本实施例中,介绍了一种利用软选择模式获取词语深度值的方式,为了便于说明,本申请以待分类文本中任意一个词语为例进行介绍,即从待分类文本中提取目标词语来计算其对应的深度值。
具体地,结合上述介绍,得到目标词语所对应的深度概率分布,即:
通过可以确定第i个词语(即目标词语)在每个待选深度值上所对应的概率,再基于软选择模式,采用如下方式计算深度值:/>
其中,di表示第i个词语(即目标词语)的深度值,表示向下取整。
为了便于理解,请参阅表2,表2为目标词语对应深度概率分布的一个示意。
表2
由表2可知,假设L为3,基于软选择模式可以计算得到:
由此可见,第i个词语(即目标词语)所对应的深度值为1。
更进一步地,本申请实施例中,提供了一种利用软选择模式获取词语深度值的方式,即需要获取每个待选深度值所对应的权重值,然后基于某个词语的的深度概率分布以及每个待选深度值所对应的权重值,确定该词语所对应的深度累计值,根据深度累计值得到词语的深度值。通过上述方式,考虑到不同层级的权重值对深度值的影响,相对于直接通过深度概率分布确定深度值而言,具有更好的合理性和可行性,有利于得到更准确的深度值。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,根据目标词语所对应的深度分布,获取目标词语所对应的深度概率分布,可以包括:
根据标准正态分布随机数确定随机噪声;
根据目标词语所对应的深度分布以及随机噪声,生成目标词语所对应的深度采样分布;
根据深度采样分布获取目标词语所对应的深度概率分布。
本实施例中,介绍了一种基于Gumbel-Max获取深度概率分布的方式,为了便于说明,本申请以待分类文本中任意一个词语为例进行介绍,即从待分类文本中提取目标词语来确定其对应的深度概率分布。为了更好地模拟离散分布,可以对深度概率分布添加随机噪声,在根据该随机噪声进行采样。通过控制参数还可以实现one-hot形式的采样结果。
具体地,首先从正态分布U(0,1)中随机选择一个标准正态分布随机数u,即u~U(0,1),根据标准正态分布随机数u确定目标词语的随机噪声。假设目标词语为第i个词语,那么目标词语的标准正态分布随机数表示为ui,即随机噪声ηi可以表示为:
ηi=-log(-logui);
其中,ηi表示第i个词语(即目标词语)的随机噪声,ui表示第i个词语(即目标词语)的标准正态分布随机数。
然后可以根据第i个词语(即目标词语)所对应的深度分布li以及随机噪声ηi,生成该第i个词语(即目标词语)所对应的深度采样分布,即:
其中,表示第i个词语(即目标词语)的深度采样分布,li表示第i个词语(即目标词语)的深度分布,ηi表示第i个词语(即目标词语)的随机噪声,τ表示温度系数,当τ接近0时,深度采样分布接近于one-hot形式,比如第i个词语(即目标词语)的深度分布li为(0.1,0.8,0.1),经过Gumbel-Max采样后得到深度采样分布为(0,1,0)。
最后,可以根据深度采样分布获取目标词语所对应的深度概率分布,即:
其中,表示第i个词语(即目标词语)在每个深度的概率分布,j表示从1至L的整数,L表示文本分类模型中隐藏层的最大数量,k表示从1至L的整数,/>表示第i个词语(即目标词语)在第j个隐藏层的深度采样分布,/>表示第i个词语在第k个隐藏层的深度采样分布。
更进一步地,本申请实施例中,提供了一种基于Gumbel-Max获取深度概率分布的方式,即根据标准正态分布随机数确定随机噪声,再根据词语的深度分布以及随机噪声,生成深度采样分布,基于深度采样分布获取该词语的深度概率分布。通过上述方式,基于Gumbel-Max的采样能够使得深度概率分布接近于one-hot的形式,从而更容易提取词语所对应的深度值,提升深度值选取的鲁棒性。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,可以包括:
根据第一词语所对应的隐藏状态,获取第一词语所对应的第一深度值,其中,第一词语属于待分类文本中的任意一个词语;
根据第二词语所对应的隐藏状态,获取第二词语所对应的第二深度值,其中,第二词语属于待分类文本中不同于第一词语的任意一个词语;
基于每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,可以包括:
若第一深度值为M,则通过文本分类模型中的M个隐藏层,对第一词语所对应的词特征向量进行编码,得到第一词语所对应的词语编码结果,其中,M为大于或等于1的整数;
若第二深度值为N,则通过文本分类模型中的N个隐藏层,对第二词语所对应的词特征向量进行编码,得到第二词语所对应的词语编码结果,其中,N为大于或等于1的整数;
根据第一词语所对应的词语编码结果以及第二词语所对应的词语编码结果,获取待分类文本所对应的文本编码结果。
本实施例中,介绍了一种基于不同深度值对词语进行编码的方式,通常情况下,待分类文本包括多个词语,下面将以包括两个词语的待分类文本为例进行介绍,即分别为第一词语和第二词语。其中,基于第一词语的隐藏状态获取对应的深度值为第一深度值,类似地,基于第二词语的隐藏状态获取对应的深度值为第二深度值。
基于此,假设第一词语的词特征向量表示为第二词语的词特征向量表示为/> 表示第i词语的预训练词嵌入,/>表示第i词语的字符级词嵌入,/>表示第一深度值对应的深度嵌入,/>表示第二深度值对应的深度嵌入。将第一词语的词特征向量输入至文本分类模型,若第一深度值为M,则表示第一词语的词特征向量需要经过M个隐藏层编码,类似地,将第二词语的词特征向量输入至文本分类模型,若第二深度值为N,则表示第二词语的词特征向量需要经过N个隐藏层编码。
为了便于理解,请参阅图11,图11为本申请实施例中文本分类模型的一个结构示意图,如图所示,假设待分类文本包括5个词语,这5个词语的词特征向量分别为X1、X2、X3、X4和X5。文本分类模型可以采用基于图循环网络(graph recurrent network,GRN)的S-LSTM结构,即文本分类模型包括输入层、L个隐藏层以及输出层。
以待分类文本中的第1个词语为例,首先通过编码器得到对应的隐藏状态,然后基于隐藏状态得到深度值为2,即表示第1个词语通过文本分类模型中的2个隐藏层(即图11中的2个灰色节点)进行循环计算,于是将第1个词语的词特征向量X1输入至输入层,通过2个隐藏层得到词语编码结果,此时将停止计算。
以待分类文本中的第3个词语为例,首先通过编码器得到对应的隐藏状态,然后基于隐藏状态得到深度值为3,即表示第3个词语通过文本分类模型中的3个隐藏层(即图11中的3个灰色节点)进行循环计算,于是将第3个词语的词特征向量X3输入至输入层,通过3个隐藏层得到词语编码结果,此时将停止计算。
由此可见,第1个词语需要经过2层计算,而第3个词语需要经过3层计算,因此,对于计算次数较少的节点而言,只需要将计算结果向顶层的节点拷贝,直至达到所有词语的最大层级,或者达到预先定义的最大层级。
当所有词语都计算得到对应的词语编码结果之后,获取待分类文本基于各个词语得到的文本编码结果。
其次,本申请实施例中,提供了一种基于不同深度值对词语进行编码的方式,对于每个词语而言都具有其对应的深度值,文本分类模型根据每个词语所对应的深度值,进行相应的编码操作。通过上述方式,能够根据不同的深度值进行相应的编码操作,达到深度值自适应的目的,深度值较小的词语编码次数较少,因此不会浪费计算和处理资源,而对于深度值较大的词语编码次数较多,从而可以更好地对该词语进行学习,提升预测的准确性。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的文本分类的方法另一个可选实施例中,基于待分类文本所对应的文本编码结果,通过文本分类模型确定待分类文本的分类结果,可以包括:
根据待分类文本所对应的文本编码结果,生成特征向量拼接结果,其中,特征向量拼接结果包括特征向量最大值、特征向量平均值以及句子特征向量,句子特征向量为待分类文本的句子特征经过文本分类模型后得到的,特征向量最大值与特征向量平均值为基于文本编码结果确定的;
采用激活函数对特征向量拼接结果进行计算,得到目标文本特征向量;
基于目标文本特征向量,通过文本分类模型获取待分类文本的类型概率分布;
从待分类文本的类型概率分布中选择最大概率值;
将最大概率值所对应的类型确定为待分类文本的分类结果。
本实施例中,介绍了一种基于文本编码结果确定分类结果的方式,基于上述介绍,在执行完动态深度值的计算之后,文本分类模型利用顶层输出的文本编码结果进行分类标签的预测,其中,文本编码结果可以表示为隐状态基于文本编码结果/>生成特征向量拼接结果,特征向量拼接结果表示为:
其中,表示特征向量最大值,/>表示特征向量平均值。假设待处理文本有10个词语,每个词语经过编码后得到一个300维的向量,因此,文本编码结果表示为10*300维的矩阵,于是基于文本编码结果/>中取最大值,从而得到1*300维的特征向量最大值,并基于文本编码结果/>中取平均值,从而得到1*300维的特征向量平均值。/>表示句子特征向量,也就是提取待分类文本中句子级别的特征,即句子特征g,将句子特征g输入至文本分类模型中,通过文本分类模型输出句子特征向量/>将特征向量最大值、特征向量平均值以及句子特征向量拼接后,得到1*900维的特征向量,即得到特征向量拼接结果。
接下来采用激活函数对特征向量拼接结果进行计算,得到目标文本特征向量,即:
其中,v表示目标文本特征向量,ReLU[]表示修正线性单元(The RectifiedLinear Unit,Relu)激活函数,用于隐藏层神经元输出。
再基于目标文本特征向量,通过文本分类模型获取待分类文本的类型概率分布,即:
其中,表示待分类文本的类型概率分布,/>表示预测的分类标签,Wcls表示权重向量,假设有5个类别,且目标文本特征向量为1*900维度,那么Wcls表示为5*900的矩阵。而bcls表示偏置向量,假设有5个类别,那么bcls表示为5*1的向量。Wcls和bcls均属于文本分类模型的模型参数。经过softmax()后转换为标准的概率分布。假设有5个分类标签,即待分类文本的类型概率分布可以是(0.1,0.2,0.5,0.1,0.1),其中,类型概率分布对应于分类标签A、分类标签B、分类标签C、分类标签D和分类标签E。
采用如下方式可以选择概率最大的标签作为待分类文本的分类结果:
其中,表示最大概率值所对应的分类标签,以类型概率分布(0.1,0.2,0.5,0.1,0.1)为例,即0.5为最大概率值,0.5对应的分类标签C,即待分类文本的分类结果为分类标签C。/>
需要说明的是,在利用隐含状态预测分类概率的时候,还可以采用其他的方式,例如前馈神经网络或自注意力机制等。
再次,本申请实施例中,提供了一种基于文本编码结果确定分类结果的方式,在得到文本编码结果可以先生成特征向量拼接结果,然后经过激活函数计算和处理后,最终确定待分类文本的分类结果。通过上述方式,结合来自文本中词语的局部特征以及来自文本中完整句子的全局特征,共同作为预测文本分类结果的依据,从而提升文本分类的准确性和可靠性。
结合上述介绍,下面将对本申请提供的模型训练方法进行介绍,请参阅图12,本申请实施例中模型训练的方法一个实施例包括:
201、获取待训练文本集合,其中,待训练文本集合包括至少一个待训练文本,且每个待分类文本包括至少一个词语,每个词语对应于一个词嵌入,每个待训练文本对应于一个真实分类标签;
本实施例中,模型训练装置获取待训练文本集合,待训练文本集合包括至少一个待训练文本,通常包括大量待训练文本,待训练文本包含但不仅限于词语、句子、段落以及文章等,且待分类文本的语种表示包含但不仅限于英文、中文以及日文等。
每个待训练文本包括至少一个词语,每个词语具有一个对应的词嵌入。需要说明的是,这里的词嵌入通常可以包括字符级词嵌入以及预训练词嵌入,此处不做赘述。
基于不同的分类任务,还可以对每个待训练文本预先标注一个真实分类标签。假设为二分类任务,则待训练文本可以标注“0”或者“1”。
需要说明的是,本申请提供的模型训练装置可以部署于服务器,也可以部署于终端设备,此处不做限定。
202、针对待训练文本集合中的每个待训练文本,通过编码器获取待训练文本中每个词语所对应的隐藏状态;
本实施例中,模型训练装置将待训练文本集合中的每个待训练文本输入至编码器,由编码器分别对每个待训练文本中每个词语提取隐藏状态。可以理解的是,编码器可以是单向编码器(如前向编码器或者后向编码器),也可以是双向编码器(包括前向编码器以及后向编码器),此处不做限定。
203、针对每个待训练文本中每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在待训练文本分类模型中采用隐藏层处理的层级数,且待训练文本分类模型包括多个隐藏层;
本实施例中,模型训练装置基于自适应深度机制,针对每个待训练文本中每个词语所对应的隐藏状态作为输入,通过深度值预测模型计算每个词语所对应的深度值。深度值表示词语需要通过待训练文本分类模型中隐藏层进行循环计算的层级数。其中,待训练文本分类模型包括L个隐藏层,L为大于1的整数,通常L可以设置为9。
204、针对每个待训练文本中每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量样本;
本实施例中,模型训练装置根据每个词语所对应的深度值,确定对应的深度值嵌入,然后将每个待训练文本中每个词语所对应的深度值嵌入和词嵌入进行拼接,从而生成每个词语所对应的词特征向量。由于没有针对深度值的具体监督信号,因此,每个词语所对应的词特征向量样本需要随着下游任务一起训练更新。其中,深度值为深度值嵌入的索引,根据深度值可以得到深度值嵌入。
205、针对每个待训练文本中每个词语所对应的词特征向量样本,通过待训练文本分类模型获取每个待训练文本所对应的文本编码结果,其中,文本编码结果为每个待训练文本中每个词语基于所对应的深度值经过编码后得到的结果;
本实施例中,模型训练装置针对每个待训练文本中每个词语所对应的词特征向量样本,可以确定每个词语需要经过隐藏层编码的次数。然后分别得到每个待训练文本所对应的文本编码结果。在每个词语计算出所需的深度值后,并发地执行对应深度值的计算,如果达到该词语的最大深度值,或者达到预定义的最大深度(比如第L层)后,则停止计算。具体方式与步骤105类似,此处不做赘述。
206、针对每个待训练文本所对应的文本编码结果,通过待训练文本分类模型确定每个待训练文本所对应的预测分类标签;
本实施例中,模型训练装置还包括一个全局节点,全局节点用于表示句子级别的特征向量,即得到待分类文本的句子特征向量。经过层级计算后,可以看出局部特征(词语级别的特征)与全局特征(句子级别的特征)进行了充分的信息交互。最后模型训练装置结合每个待训练文本的文本编码结果以及句子特征向量,通过待训练文本分类模型执行分类任务的预测,每个待训练文本所对应的预测分类标签。
207、基于每个待训练文本所对应的预测分类标签以及真实分类标签,采用损失函数对待训练文本分类模型的模型参数进行更新,得到文本分类模型,其中,文本分类模型为上述实施例中任一项的文本分类模型。
本实施例中,模型训练装置每个待训练文本所对应的预测分类标签以及真实分类标签,采用如下损失函数计算损失值:
其中,loss表示损失值,yi表示第i个待训练文本的真实分类标签,表示待训练文本的类型概率分布,/>表示待训练文本的预测分类标签。
基于损失值对待训练文本分类模型的模型参数进行更新,当损失值收敛,或者达到预设的训练迭代次数时,可以将待训练文本分类模型的模型参数确定为文本分类模型所使用的模型参数。
本申请实施例中,提供了一种模型训练的方法,通过上述方式,能够训练得到具有自适应深度的文本分类模型,使得文本分类模型根据输入的文本自适应地调整模型的深度值,从而实现更高效地编码。同时还引入了底层的编码器,用于提供全局序列信息,由此进一步提升模型的性能。
下面将以具体的实验数据为例对本申请提供的模型进行进一步说明。请参阅表3,表3为本申请提供的文本分类模型与其他对比模型在评论数据上的实验效果。
表3
数据/模型 | MS-Trans. | Transformer | Star-Trans. | 3L-BiLSTMs | S-LSTM | RCRN | 本申请 |
Apparel | 86.5 | 87.3 | 88.7 | 89.2 | 89.8 | 90.5 | 91.0 |
Baby | 86.3 | 85.6 | 88.0 | 88.5 | 89.3 | 89.0 | 89.8 |
Books | 87.8 | 85.3 | 86.9 | 87.2 | 88.8 | 88.0 | 89.0 |
Camera | 89.5 | 89.0 | 91.8 | 89.7 | 91.5 | 90.5 | 92.3 |
Dvd | 86.5 | 86.3 | 87.4 | 86.0 | 89.0 | 86.8 | 88.8 |
Electronics | 84.3 | 86.5 | 87.2 | 87.0 | 86.8 | 89.0 | 88.3 |
Health | 86.8 | 87.5 | 89.1 | 89.0 | 89.0 | 90.5 | 90.8 |
Imdb | 85.0 | 84.3 | 85.0 | 88.0 | 87.6 | 89.8 | 89.5 |
Kitchen | 85.8 | 85.5 | 86.0 | 84.5 | 86.6 | 86.0 | 88.5 |
Magazines | 91.8 | 91.5 | 91.8 | 92.5 | 93.3 | 94.8 | 94.3 |
Mr | 78.3 | 79.3 | 79.0 | 77.7 | 79.0 | 79.0 | 79.8 |
Music | 81.5 | 82.0 | 84.7 | 85.7 | 84.0 | 86.0 | 86.5 |
Software | 87.3 | 88.5 | 90.9 | 90.3 | 90.3 | 90.8 | 91.5 |
Sports | 85.5 | 85.8 | 86.8 | 86.5 | 86.0 | 88.0 | 87.0 |
Toys | 87.8 | 87.5 | 85.5 | 90.5 | 88.0 | 90.8 | 91.0 |
Video | 88.4 | 90.0 | 89.3 | 87.8 | 89.6 | 88.5 | 90.2 |
均值 | 86.2 | 86.4 | 87.4 | 87.5 | 88.0 | 88.6 | 89.3 |
其中,“MS-Trans.”为多尺度Transformer(Multi-Scale Transformer)模型,“Transformer”为机器翻译(Transformer)模型,“Star-Trans.”为星形-Transformer(Star-Transformer)模型,“3L-BiLSTMs”为三层堆叠的LSTM(tree layers stacked Bi-directional LSTM)网络,“RCRN”为循环控制的RNN(Recurrently Controlled RecurrentNetworks)模型。
由表3可知,在对16个数据进行精确度统计,该指标(精确度)越高表示效果越好。本申请提供的文本分类方法能够优于目前的最高平均分,且高于0.7%。
请参阅表4,表4为本申请提供的文本分类模型与其他对比模型在较大规模数据集上的实验效果。
表4
模型/数据集 | TREC | MR | Subj | IMDB | AG. | DBP. | Yelp P. | Yelp F. | 均值 |
RCRN | 96.20 | - | - | 92.80 | - | - | - | - | - |
Cove | 95.80 | - | - | 91.80 | - | - | - | - | - |
Text-CNN | 93.60 | 81.50 | 93.40 | - | - | - | - | - | - |
Multi-QT | 92.80 | 82.40 | 94.80 | - | - | - | - | - | - |
AdaSent | 92.40 | 83.10 | 95.50 | - | - | - | - | - | - |
CNN-MCFA | 94.20 | 81.80 | 94.40 | - | - | - | - | - | - |
Capsule-B | 92.80 | 82.30 | 93.80 | - | 92.60 | - | - | - | - |
DNC+CUW | - | - | - | - | 93.90 | - | 96.40 | 65.60 | - |
Region-Emb | - | - | - | - | 92.80 | 98.90 | 96.40 | 64.90 | - |
Char-CNN | - | - | - | 90.49 | 98.45 | 95.12 | 62.05 | - | |
DPCNN | - | - | 93.13 | 99.12 | 97.36 | 69.42 | - | ||
DRNN | - | - | - | 94.47 | 99.19 | 97.27 | 69.15 | - | |
SWEM-concat | 92.20 | 78.20 | 93.00 | - | 92.66 | 98.57 | 95.81 | 63.79 | - |
Star-Transformer | 93.00 | 79.76 | 93.40 | 94.52 | 92.50 | 98.62 | 94.20 | 63.21 | 88.65 |
Transformer | 92.00 | 80.75 | 94.00 | 94.58 | 93.66 | 98.27 | 95.07 | 63.40 | 88.97 |
S-LSTM | 96.00 | 82.92 | 95.10 | 94.92 | 94.55 | 99.02 | 96.22 | 65.37 | 90.51 |
3L-BiLSTMs | 95.60 | 83.50 | 95.30 | 93.89 | 93.99 | 98.97 | 96.86 | 66.86 | 90.62 |
本申请 | 96.40 | 83.42 | 95.50 | 96.27 | 94.93 | 99.16 | 97.34 | 70.14 | 91.64 |
其中,“Cove”为上下文相关词向量(Contextualized Word Vectors),“Text-CNN”为文本卷积神经网络(Text-Convolutional Neural Networks),“Multi-QT”为多通道快速建模(Multi-Channel Quick Thoughts Models),“AdaSent”为自适应层次化句子模型(Self-Adaptive Hierarchical Sentence Model),“CNN-MCFA”为CNN和多种上下文修复依赖的模型(CNN&Multiple Context Fixing Attachment),“Capsule-B”为胶囊-B模型,“DNC+CUW”为可导神经计算机和缓存统一读写模型(Differentiable Neural Computer&CachedUniform Writing),“Region-Emb”为区域嵌入模型(Region Embedding),“Char-CNN”为字符级卷积神经网络(Character-level Convolutional Networks),“DPCNN”为深金字塔卷积神经网络(Deep Pyramid Convolutional Neural Networks)模型,“DRNN”为深层循环神经网络(Deep RNN),“SWEM-concat”为简单的词向量模型-拼接(Simple word-embeddingmodel-concat)。
TREC、MR、Subj、IMDB、AG.、DBP.、Yelp P.以及Yelp F.均为数据集。
由表4可以看出中等规模和大规模数据集的准确率得分百分比,在相同的设置下,本申请提供的文本分类方法能够在8个数据集中的4个数据集上获得最新的结果。
为了进一步验证效果,请参阅图13,图13为本申请实施例中基于全量深度值域自适应值深度预测的一个对比示意图,如图所示,本申请提供的文本分类方法还应用于互联网电影数据库(Internet Movie Database,IMDB)测试集上,其中,X轴的1至9表示隐藏层的数量,由图可知,K1指示的实线段表示全量深度值的精度值,K2指示的虚线段表示全量深度值的速率,K3指示的实线段表示自适应深度值的精度值,K4指示的虚线段表示自适应深度值的速率。
在实际测试中,可以针对待分类文本生成每个词语所对应的深度值,请参阅图14,图14为基于实验数据得到词语与深度值对应关系的一个直方图,如图所示,基于IMDB数据集中随机选择一个例子,如“I have anticipated the various Sci-fi and thrillermovies this summer,but was so disappointed about this particular film.(我已经预料到今年夏天的各种科幻和惊悚电影,但对这部特别的电影非常失望。)”基于此,如图14所示,本申请采用的模型成功地关注了较难学习的词语“thriller(惊悚)”,并且为常用的词语,如“summer(夏天)”以及“and(和)”分配了较少的计算步骤。
下面对本申请中的文本分类装置进行详细描述,请参阅图15,图15为本申请实施例中文本分类装置一个实施例示意图,文本分类装置30包括:
获取模块301,用于获取待分类文本,其中,待分类文本包括至少一个词语,且每个词语对应于一个词嵌入;
获取模块301,还用于通过编码器获取待分类文本中每个词语所对应的隐藏状态;
获取模块301,还用于根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在文本分类模型中采用隐藏层处理的层级数,且文本分类模型包括多个隐藏层;
生成模块302,用于根据获取模块301获取的每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量;
获取模块301,还用于基于生成模块302生成的每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,其中,文本编码结果为每个词语基于所对应的深度值经过编码后得到的结果;
确定模块303,用于根据获取模块301获取的待分类文本所对应的文本编码结果,确定待分类文本的分类结果。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块301,具体用于根据待分类文本获取目标词语所对应的词嵌入,其中,词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且目标词语属于待分类文本中的任意一个词语;
若存在相邻词语所对应的目标隐藏状态,则采用编码器对目标词语所对应的词嵌入以及目标隐藏状态进行编码,得到目标词语所对应的隐藏状态,其中,相邻词语为在待分类文本中与目标词语相邻的一个词语;
若不存在相邻词语所对应的目标隐藏状态,则采用编码器对目标词语所对应的词嵌入进行编码,得到目标词语所对应的隐藏状态。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块301,具体用于根据待分类文本获取目标词语所对应的词嵌入,其中,词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且目标词语属于待分类文本中的任意一个词语;
若存在第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入、第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态,其中,第一相邻词语为在待分类文本中与目标词语相邻的一个词语,第二相邻词语为在待分类文本中与目标词语相邻的另一个词语;
若仅存在第一相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态;
若仅存在第二相邻词语所对应的隐藏状态,则采用编码器对目标词语所对应的词嵌入以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的隐藏状态。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块301,具体用于采用前向编码器对目标词语所对应的词嵌入以及第二相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的第一隐藏状态,其中,前向编码器属于编码器;
采用后向编码器对目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到目标词语所对应的第二隐藏状态,其中,后向编码器属于编码器;
将第一隐藏状态与第二隐藏状态进行拼接,得到目标词语所对应的隐藏状态。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块301,具体用于基于目标词语所对应的隐藏状态,通过深度值预测模型获取目标词语所对应的深度分布,其中,目标词语属于待分类文本中的任意一个词语;
根据目标词语所对应的深度分布,获取目标词语所对应的深度概率分布,其中,深度概率分布表示词语在每个待选深度值上所对应的概率;
根据目标词语所对应的深度概率分布,确定目标词语所对应的深度值。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块301,具体用于从目标词语所对应的深度概率分布中选择最大概率值;
将最大概率值所对应的待选深度值确定为目标词语所对应的深度值。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块301,具体用于获取每个待选深度值所对应的权重值;
根据目标词语所对应的深度概率分布以及每个待选深度值所对应的权重值,确定目标词语所对应的深度累计值;
对深度累计值向下取整,得到目标词语所对应的深度值。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块301,具体用于根据标准正态分布随机数确定随机噪声;
根据目标词语所对应的深度分布以及随机噪声,生成目标词语所对应的深度采样分布;
根据深度采样分布获取目标词语所对应的深度概率分布。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
获取模块,具体用于根据第一词语所对应的隐藏状态,获取第一词语所对应的第一深度值,其中,第一词语属于待分类文本中的任意一个词语;
根据第二词语所对应的隐藏状态,获取第二词语所对应的第二深度值,其中,第二词语属于待分类文本中不同于第一词语的任意一个词语;
获取模块,具体用于若第一深度值为M,则通过文本分类模型中的M个隐藏层,对第一词语所对应的词特征向量进行编码,得到第一词语所对应的词语编码结果,其中,M为大于或等于1的整数;
若第二深度值为N,则通过文本分类模型中的N个隐藏层,对第二词语所对应的词特征向量进行编码,得到第二词语所对应的词语编码结果,其中,N为大于或等于1的整数;
根据第一词语所对应的词语编码结果以及第二词语所对应的词语编码结果,获取待分类文本所对应的文本编码结果。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的文本分类装置30的另一实施例中,
确定模块303,具体用于根据待分类文本所对应的文本编码结果,生成特征向量拼接结果,其中,特征向量拼接结果包括特征向量最大值、特征向量平均值以及句子特征向量,句子特征向量为待分类文本的句子特征经过文本分类模型后得到的,特征向量最大值与特征向量平均值为基于文本编码结果确定的;
采用激活函数对特征向量拼接结果进行计算,得到目标文本特征向量;
基于目标文本特征向量,通过文本分类模型获取待分类文本的类型概率分布;
从待分类文本的类型概率分布中选择最大概率值;
将最大概率值所对应的类型确定为待分类文本的分类结果。
下面对本申请中的模型训练装置进行详细描述,请参阅图16,图16为本申请实施例中模型训练装置一个实施例示意图,模型训练装置40包括:
获取模块401,用于获取待训练文本集合,其中,待训练文本集合包括至少一个待训练文本,且每个待分类文本包括至少一个词语,每个词语对应于一个词嵌入,每个待训练文本对应于一个真实分类标签;
获取模块401,还用于针对待训练文本集合中的每个待训练文本,通过编码器获取待训练文本中每个词语所对应的隐藏状态;
获取模块401,还用于针对每个待训练文本中每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在待训练文本分类模型中采用隐藏层处理的层级数,且待训练文本分类模型包括多个隐藏层;
生成模块402,用于针对每个待训练文本中每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量样本;
获取模块401,还用于针对每个待训练文本中每个词语所对应的词特征向量样本,通过待训练文本分类模型获取每个待训练文本所对应的文本编码结果,其中,文本编码结果为每个待训练文本中每个词语基于所对应的深度值经过编码后得到的结果;
确定模块403,用于针对每个待训练文本所对应的文本编码结果,通过待训练文本分类模型确定每个待训练文本所对应的预测分类标签;
更新模块404,用于基于每个待训练文本所对应的预测分类标签以及真实分类标签,采用损失函数对待训练文本分类模型的模型参数进行更新,得到文本分类模型,其中,该文本分类模型为上述图15所涉及的文本分类模型。
本申请实施例还提供了另一种文本分类装置以及模型训练装置,文本分类装置以及模型训练装置可以部署于计算机设备上,计算机设备具体可以是服务器。图17是本申请实施例提供的一种服务器结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作***541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本申请实施例中,该终端设备所包括的CPU 522还具有以下功能:
获取待分类文本,其中,待分类文本包括至少一个词语,且每个词语对应于一个词嵌入;
通过编码器获取待分类文本中每个词语所对应的隐藏状态;
根据每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在文本分类模型中采用隐藏层处理的层级数,且文本分类模型包括多个隐藏层;
根据每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量;
基于每个词语所对应的词特征向量,通过文本分类模型获取待分类文本所对应的文本编码结果,其中,文本编码结果为每个词语基于所对应的深度值经过编码后得到的结果;
基于待分类文本所对应的文本编码结果,通过文本分类模型确定待分类文本的分类结果。
在本申请实施例中,该终端设备所包括的CPU 522还具有以下功能:
获取待训练文本集合,其中,待训练文本集合包括至少一个待训练文本,且每个待分类文本包括至少一个词语,每个词语对应于一个词嵌入,每个待训练文本对应于一个真实分类标签;
针对待训练文本集合中的每个待训练文本,通过编码器获取待训练文本中每个词语所对应的隐藏状态;
针对每个待训练文本中每个词语所对应的隐藏状态,获取每个词语所对应的深度值,其中,深度值表示表示词语在待训练文本分类模型中采用隐藏层处理的层级数,且待训练文本分类模型包括多个隐藏层;
针对每个待训练文本中每个词语所对应的深度值以及每个词语所对应的词嵌入,生成每个词语所对应的词特征向量样本;
针对每个待训练文本中每个词语所对应的词特征向量样本,通过待训练文本分类模型获取每个待训练文本所对应的文本编码结果,其中,文本编码结果为每个待训练文本中每个词语基于所对应的深度值经过编码后得到的结果;
针对每个待训练文本所对应的文本编码结果,通过待训练文本分类模型确定每个待训练文本所对应的预测分类标签;
基于每个待训练文本所对应的预测分类标签以及真实分类标签,采用损失函数对待训练文本分类模型的模型参数进行更新,得到文本分类模型。
上述实施例中由服务器所执行的步骤可以基于该图17所示的服务器结构。
可选地,本申请实施例还提供了另一种文本分类装置以及模型训练装置,文本分类装置以及模型训练装置可以部署于计算机设备上,计算机设备具体可以是终端设备。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述图1至图11所示实施例描述的方法中文本分类装置所执行的步骤,或者,使得计算机执行如前述图12所示实施例描述的方法中模型训练装置所执行的步骤。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图1至图11所示实施例描述的方法中文本分类装置所执行的步骤,或者,使得计算机执行如前述图12所示实施例描述的方法中模型训练装置所执行的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种文本分类的方法,其特征在于,包括:
获取待分类文本,其中,所述待分类文本包括至少一个词语,且所述每个词语对应于一个词嵌入;
通过编码器获取所述待分类文本中每个词语所对应的隐藏状态;
根据所述每个词语所对应的隐藏状态,获取所述每个词语所对应的深度值,其中,所述深度值表示表示词语在文本分类模型中采用隐藏层处理的层级数,且所述文本分类模型包括多个隐藏层;
根据所述每个词语所对应的深度值以及所述每个词语所对应的词嵌入,生成所述每个词语所对应的词特征向量;
基于所述每个词语所对应的词特征向量,通过所述文本分类模型获取所述待分类文本所对应的文本编码结果,其中,所述文本编码结果为所述每个词语基于所对应的深度值经过编码后得到的结果;
基于所述待分类文本所对应的文本编码结果,通过所述文本分类模型确定所述待分类文本的分类结果。
2.根据权利要求1所述的方法,其特征在于,所述通过编码器获取所述待分类文本中每个词语所对应的隐藏状态,包括:
根据所述待分类文本获取目标词语所对应的词嵌入,其中,所述词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且所述目标词语属于所述待分类文本中的任意一个词语;
若存在相邻词语所对应的目标隐藏状态,则采用所述编码器对所述目标词语所对应的词嵌入以及所述目标隐藏状态进行编码,得到所述目标词语所对应的隐藏状态,其中,所述相邻词语为在所述待分类文本中与所述目标词语相邻的一个词语;
若不存在所述相邻词语所对应的所述目标隐藏状态,则采用所述编码器对所述目标词语所对应的词嵌入进行编码,得到所述目标词语所对应的隐藏状态。
3.根据权利要求1所述的方法,其特征在于,所述通过编码器获取所述待分类文本中每个词语所对应的隐藏状态,包括:
根据所述待分类文本获取目标词语所对应的词嵌入,其中,所述词嵌入包括字符级词嵌入以及预训练词嵌入中至少一项,且所述目标词语属于所述待分类文本中的任意一个词语;
若存在第一相邻词语所对应的隐藏状态以及第二相邻词语所对应的隐藏状态,则采用所述编码器对所述目标词语所对应的词嵌入、所述第一相邻词语所对应的隐藏状态以及所述第二相邻词语所对应的隐藏状态进行编码,得到所述目标词语所对应的隐藏状态,其中,所述第一相邻词语为在所述待分类文本中与所述目标词语相邻的一个词语,所述第二相邻词语为在所述待分类文本中与所述目标词语相邻的另一个词语;
若仅存在第一相邻词语所对应的隐藏状态,则采用所述编码器对所述目标词语所对应的词嵌入以及所述第一相邻词语所对应的隐藏状态进行编码,得到所述目标词语所对应的隐藏状态;
若仅存在第二相邻词语所对应的隐藏状态,则采用所述编码器对所述目标词语所对应的词嵌入以及所述第二相邻词语所对应的隐藏状态进行编码,得到所述目标词语所对应的隐藏状态。
4.根据权利要求3所述的方法,其特征在于,所述采用所述编码器对所述目标词语所对应的词嵌入、所述第一相邻词语所对应的隐藏状态以及所述第二相邻词语所对应的隐藏状态进行编码,得到所述目标词语所对应的隐藏状态,包括:
采用前向编码器对所述目标词语所对应的词嵌入以及所述第二相邻词语所对应的隐藏状态进行编码,得到所述目标词语所对应的第一隐藏状态,其中,所述前向编码器属于所述编码器;
采用后向编码器对所述目标词语所对应的词嵌入以及第一相邻词语所对应的隐藏状态进行编码,得到所述目标词语所对应的第二隐藏状态,其中,所述后向编码器属于所述编码器;
将所述第一隐藏状态与所述第二隐藏状态进行拼接,得到所述目标词语所对应的隐藏状态。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述每个词语所对应的隐藏状态,获取所述每个词语所对应的深度值,包括:
基于目标词语所对应的隐藏状态,通过深度值预测模型获取所述目标词语所对应的深度分布,其中,所述目标词语属于所述待分类文本中的任意一个词语;
根据所述目标词语所对应的深度分布,获取所述目标词语所对应的深度概率分布,其中,所述深度概率分布表示词语在每个待选深度值上所对应的概率;
根据所述目标词语所对应的深度概率分布,确定所述目标词语所对应的深度值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标词语所对应的深度概率分布,确定所述目标词语所对应的深度值,包括:
从所述目标词语所对应的深度概率分布中选择最大概率值;
将所述最大概率值所对应的待选深度值确定为所述目标词语所对应的深度值。
7.根据权利要求5所述的方法,其特征在于,所述根据所述目标词语所对应的深度概率分布,确定所述目标词语所对应的深度值,包括:
获取每个待选深度值所对应的权重值;
根据所述目标词语所对应的深度概率分布以及所述每个待选深度值所对应的权重值,确定所述目标词语所对应的深度累计值;
对所述深度累计值向下取整,得到所述目标词语所对应的深度值。
8.根据权利要求5所述的方法,其特征在于,所述根据所述目标词语所对应的深度分布,获取所述目标词语所对应的深度概率分布,包括:
根据标准正态分布随机数确定随机噪声;
根据所述目标词语所对应的深度分布以及所述随机噪声,生成所述目标词语所对应的深度采样分布;
根据所述深度采样分布获取所述目标词语所对应的深度概率分布。
9.根据权利要求1所述的方法,其特征在于,所述根据所述每个词语所对应的隐藏状态,获取所述每个词语所对应的深度值,包括:
根据第一词语所对应的隐藏状态,获取所述第一词语所对应的第一深度值,其中,所述第一词语属于所述待分类文本中的任意一个词语;
根据第二词语所对应的隐藏状态,获取所述第二词语所对应的第二深度值,其中,所述第二词语属于所述待分类文本中不同于所述第一词语的任意一个词语;
所述基于所述每个词语所对应的词特征向量,通过所述文本分类模型获取所述待分类文本所对应的文本编码结果,包括:
若所述第一深度值为M,则通过所述文本分类模型中的M个隐藏层,对所述第一词语所对应的词特征向量进行编码,得到所述第一词语所对应的词语编码结果,其中,所述M为大于或等于1的整数;
若所述第二深度值为N,则通过所述文本分类模型中的N个隐藏层,对所述第二词语所对应的词特征向量进行编码,得到所述第二词语所对应的词语编码结果,其中,所述N为大于或等于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 |
---|---|---|---|
CN202010129553.2A CN111368079B (zh) | 2020-02-28 | 2020-02-28 | 一种文本分类的方法、模型训练的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129553.2A CN111368079B (zh) | 2020-02-28 | 2020-02-28 | 一种文本分类的方法、模型训练的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111368079A CN111368079A (zh) | 2020-07-03 |
CN111368079B true CN111368079B (zh) | 2024-06-25 |
Family
ID=71208310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010129553.2A Active CN111368079B (zh) | 2020-02-28 | 2020-02-28 | 一种文本分类的方法、模型训练的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111368079B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930940B (zh) * | 2020-07-30 | 2024-04-16 | 腾讯科技(深圳)有限公司 | 一种文本情感分类方法、装置、电子设备及存储介质 |
CN111951803B (zh) * | 2020-08-13 | 2022-12-16 | 东北林业大学 | 基于Star-Transformer的口语理解方法、***及设备 |
CN112035662B (zh) * | 2020-08-26 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备以及存储介质 |
CN112084410B (zh) * | 2020-09-10 | 2023-07-25 | 北京百度网讯科技有限公司 | 文档类型的推荐方法、装置、电子设备及可读存储介质 |
CN114186057A (zh) * | 2020-09-15 | 2022-03-15 | 智慧芽(中国)科技有限公司 | 基于多类型文本的自动分类方法、装置、设备和存储介质 |
CN113408266A (zh) * | 2020-12-02 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、设备以及存储介质 |
CN112597778B (zh) * | 2020-12-14 | 2023-06-13 | 华为技术有限公司 | 一种翻译模型的训练方法、翻译方法以及设备 |
CN112860889A (zh) * | 2021-01-29 | 2021-05-28 | 太原理工大学 | 一种基于bert的多标签分类方法 |
CN115114430A (zh) * | 2021-03-22 | 2022-09-27 | 京东科技控股股份有限公司 | 信息抽取方法、装置和计算机可读存储介质 |
CN113240036B (zh) * | 2021-05-28 | 2023-11-07 | 北京达佳互联信息技术有限公司 | 一种对象分类方法和装置、电子设备、存储介质 |
CN113611281B (zh) * | 2021-07-16 | 2024-07-12 | 北京捷通华声科技股份有限公司 | 一种语音合成方法、装置、电子设备及存储介质 |
CN117093783A (zh) * | 2023-04-12 | 2023-11-21 | 浙江卡赢信息科技有限公司 | 结合用户社交数据的积分兑换智能推荐***及其方法 |
CN116561314B (zh) * | 2023-05-16 | 2023-10-13 | 中国人民解放军国防科技大学 | 基于自适应阈值选择自注意力的文本分类方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196967A (zh) * | 2019-06-05 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 基于深度转换架构的序列标注方法和装置 |
CN110222349A (zh) * | 2019-06-13 | 2019-09-10 | 成都信息工程大学 | 一种深度动态上下文词语表示的模型及方法、计算机 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138392B2 (en) * | 2018-07-26 | 2021-10-05 | Google Llc | Machine translation using neural network models |
CN110442677A (zh) * | 2019-07-04 | 2019-11-12 | 平安科技(深圳)有限公司 | 文本匹配度检测方法、装置、计算机设备和可读存储介质 |
-
2020
- 2020-02-28 CN CN202010129553.2A patent/CN111368079B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196967A (zh) * | 2019-06-05 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 基于深度转换架构的序列标注方法和装置 |
CN110222349A (zh) * | 2019-06-13 | 2019-09-10 | 成都信息工程大学 | 一种深度动态上下文词语表示的模型及方法、计算机 |
Also Published As
Publication number | Publication date |
---|---|
CN111368079A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368079B (zh) | 一种文本分类的方法、模型训练的方法、装置及存储介质 | |
CN111368078B (zh) | 一种模型训练的方法、文本分类的方法、装置及存储介质 | |
CN111368996B (zh) | 可传递自然语言表示的重新训练投影网络 | |
CN111767405B (zh) | 文本分类模型的训练方法、装置、设备及存储介质 | |
CN110188358B (zh) | 自然语言处理模型的训练方法及装置 | |
CN112100383B (zh) | 一种面向多任务语言模型的元-知识微调方法及平台 | |
CN109614471B (zh) | 一种基于生成式对抗网络的开放式问题自动生成方法 | |
CN113239700A (zh) | 改进bert的文本语义匹配设备、***、方法及存储介质 | |
CN111930942B (zh) | 文本分类方法、语言模型训练方法、装置及设备 | |
CN110222163A (zh) | 一种融合cnn与双向lstm的智能问答方法及*** | |
CN112183747A (zh) | 神经网络训练的方法、神经网络的压缩方法以及相关设备 | |
CN111274790B (zh) | 基于句法依存图的篇章级事件嵌入方法及装置 | |
CN112131883B (zh) | 语言模型训练方法、装置、计算机设备和存储介质 | |
CN110796160A (zh) | 一种文本分类方法、装置和存储介质 | |
CN113392210A (zh) | 文本分类方法、装置、电子设备及存储介质 | |
CN111898636B (zh) | 一种数据处理方法及装置 | |
CN111522908A (zh) | 一种基于BiGRU和注意力机制的多标签文本分类方法 | |
CN111078833A (zh) | 一种基于神经网络的文本分类方法 | |
CN111858898A (zh) | 基于人工智能的文本处理方法、装置及电子设备 | |
CN110647919A (zh) | 一种基于k-均值聚类和胶囊网络的文本聚类方法及*** | |
CN113392179A (zh) | 文本标注方法及装置、电子设备、存储介质 | |
CN112528136A (zh) | 一种观点标签的生成方法、装置、电子设备和存储介质 | |
CN112925904A (zh) | 一种基于Tucker分解的轻量级文本分类方法 | |
CN113705315A (zh) | 视频处理方法、装置、设备及存储介质 | |
David et al. | Comparison of word embeddings in text classification based on RNN and CNN |
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 |