一种文本分类方法、装置及计算机设备与流程

文档序号:18940705发布日期:2019-10-23 01:08阅读:167来源:国知局
一种文本分类方法、装置及计算机设备与流程

本发明涉及计算机技术领域,特别涉及一种文本分类方法、装置及计算机设备。



背景技术:

相关技术中,将可能同时属于多个类别的文本称之为多标签文本,随着人工智能技术的发展,基于机器学习的多标签文本分类方法被广泛应用。

然而,现有技术一般把多标签任务分为多个单标签二元分类任务,使用待分类文本和类别标签的关系来进行分类,这种分类方法虽然能够捕获到待分类文本与类别标签间的关系,但是忽略了类别标签与类别标签之间的关系,从而导致文本分类的准确性差。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种文本分类方法、装置及计算机设备。所述技术方案如下:

一方面,提供了一种文本分类方法,所述方法包括:

获取待分类文本以及预设类别标签向量;

基于文本分类模型的编码通道对所述待分类文本进行内容编码处理,得到内容编码向量;

根据所述预设类别标签向量和所述内容编码向量,确定待解码向量;

基于所述文本分类模型的解码通道、目标条件向量和所述解码通道前一时刻所输出的目标类别标签向量对所述待解码向量解码,得到所述待分类文本的类别标签;所述目标条件向量为根据所述内容编码向量和所述解码通道前一时刻的隐层状态向量确定的向量。

另一方面,提供了一种文本分类装置,所述装置包括:

第一获取模块,用于获取待分类文本以及预设类别标签向量;

编码模块,用于基于文本分类模型的编码通道对所述待分类文本进行内容编码处理,得到内容编码向量;

第一确定模块,用于根据所述预设类别标签向量和所述内容编码向量,确定待解码向量;

解码模块,用于基于所述文本分类模型的解码通道、目标条件向量和所述解码通道前一时刻所输出的目标类别标签向量对所述待解码向量解码,得到所述待分类文本的类别标签;所述目标条件向量为根据所述内容编码向量和所述解码通道前一时刻的隐层状态向量确定的向量。

可选的,所述编码模块包括:

第一编码模块,用于基于文本分类模型的第一编码通道对所述待分类文本进行第一内容编码处理,得到第一内容编码向量;

第二编码模块,用于基于文本分类模型的第二编码通道对所述第一内容编码向量进行第二内容编码处理,得到第二内容编码向量;

第一组合模块,用于将所述第一内容编码向量和所述第二内容编码向量作为所述内容编码向量。

可选的,所述第一编码模块包括:

分词模块,用于对所述待分类文本进行分词处理,得到所述待分类文本的词序列;

第二确定模块,用于确定所述词序列中词对应的词元素序列,以及所述词序列中词的词性和位置标识;

向量映射模块,用于将所述词序列中的词、所述词元素序列中的词元素、所述词序列中词的词性和位置标识映射为对应的向量,得到所述待分类文本的词向量、词元素向量、词性向量和位置向量;

第二组合模块,用于对所述待分类文本的词向量、词元素向量、词性向量和位置向量进行组合,得到所述待分类文本的特征向量;

第一编码子模块,用于基于文本分类模型的第一编码通道对所述待分类文本的特征向量进第一内容编码处理,得到第一内容编码向量。

可选的,所述第二组合模块包括:

第三确定模块,用于根据所述词序列中词对应的词元素向量,确定所述词序列中词对应的词元素组合向量;

第一计算模块,用于将所述词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量进行加和,得到第一特征向量;

第四确定模块,用于确定所述词向量、词元素组合向量、词性向量和位置向量对应的权重值;

第二计算模块,用于根据所述权重值对所述词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量进行加权求和,得到第二特征向量;

第三计算模块,用于将所述第一特征向量和第二特征向量进行加和,得到所述待分类文本的特征向量。

可选的,所述第一确定模块包括:

第五确定模块,用于确定所述内容编码向量中的目标内容向量;

第六确定模块,用于确定所述目标内容向量与所述预设类别标签向量的第一相似度;

第一处理模块,用于对所述第一相似度进行归一化处理,得到所述预设类别标签向量的第一权重;

第四计算模块,用于根据所述第一权重对所述预设类别标签向量进行加权求和,得到第一注意力度量向量;

第七确定模块,用于根据所述第一注意力度量向量与所述目标内容向量,确定待解码向量。

可选的,所述解码模块包括第八确定模块,用于根据所述内容编码向量和所述解码通道前一时刻的隐层状态向量确定所述目标条件向量;

所述第八确定模块包括:

第二获取模块,用于获取前一时刻所述解码通道的隐层状态向量;

第九确定模块,用于确定获取的所述隐层状态向量与所述内容编码向量的第二相似度;

第二处理模块,用于对所述第二相似度进行归一化处理,得到第二权重;

第五计算模块,用于根据所述第二权重对所述内容编码向量进行加权求和,得到第二注意力度量向量,所述第二注意力度量向量作为所述目标条件向量。

可选的,所述第二编码模块包括:

局部特征提取模块,用于通过所述第二编码通道中的卷积神经网络编码器,对所述第一内容编码向量进行局部特征提取;

第十确定模块,用于根据提取的所述局部特征确定所述第二内容编码向量;

其中,所述卷积神经网络编码器的卷积层包括至少一种卷积核。

可选的,所述装置还包括用于训练所述文本分类模型的训练模块;

所述训练模块包括:

第三获取模块,用于获取用于训练的样本文本集;

聚类模块,用于对所述样本文本集进行聚类,得到样本文本子集;

第十一确定模块,用于确定所述样本文本子集对应的类别标签组;所述类别标签组包括至少一个类别标签;

训练子模块,用于根据所述样本文本子集和对应的类别标签组对预设机器学习模型进行文本分类训练,在训练过程中调整所述预设机器学习模型的模型参数至满足训练停止条件时结束训练;将结束训练时的模型参数所对应的机器学习模型作为所述文本分类模型。

另一方面,提供了一种计算机设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述文本分类方法。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的文本分类方法。

本发明实施例通过预设类别标签向量与待分类文本的内容编码向量的联合得到待解码向量,在基于文本分类模型的解码通道对待解码向量解码时,将根据内容编码向量和解码通道前一时刻的隐层状态向量确定的目标条件向量以及解码通道前一时刻所输出的目标类别标签向量作为当前时刻解码通道的输入,从而增强了捕获待分类文本与类别标签之间关系以及捕获类别标签与类别标签之间关系的能力,使文本分类模型输出的待分类文本的类别标签更加准确,提升了文本分类的准确率。实际应用中,能够显著改善多意图识别应用场景中的意图识别准确率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种文本分类方法的流程示意图;

图2是本发明实施例提供的基于文本分类模型的第一编码通道对待分类文本进行第一内容编码处理得到第一内容编码向量的一种方法流程示意图;

图3是本发明实施例提供的对待分类文本的词向量、词元素向量、词性向量和位置向量进行组合得到待分类文本的特征向量的一种方法流程示意图;

图4是本发明实施例提供的对应于图3的一种示意图;

图5是本发明实施例提供的根据预设类别标签向量和内容编码向量确定待解码向量的一种方法流程示意图;

图6是本发明实施例提供的对应于图5的一种示意图;

图7是本发明实施例提供的待解码向量的一种解码过程示意图;

图8是本发明实施例提供的文本分类方法在一个具体实例中的示意图;

图9是本发明实施例提供的训练文本分类模型的一种方法流程示意图;

图10是本发明实施例提供的一种文本分类装置的结构示意图;

图11是本发明实施例提供的另一种文本分类装置的结构示意图;

图12是本发明实施例提供的一种服务器的硬件结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

请参阅图1,其所示为本发明实施例提供的一种文本分类方法的流程示意图,该文本分类方法可以应用于本发明实施例的文本分类装置,该文本分类装置可配置于计算机设备中,该计算机设备可以是终端或者服务器。其中,终端可以是智能手机、台式电脑、平板电脑、笔记本电脑等具有各种操作系统的硬件设备。服务器可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。

需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,所述方法可以包括:

s101,获取待分类文本以及预设类别标签向量。

其中,待分类文本为需要进行意图识别的文本,也就是需要确定类别标签的文本,类别标签用于对文本进行标识以便于确定文本所体现出的意图。该待分类文本可以是短文本如客服领域中的用户的问答日志,也可以是长文本如一篇文章等等。

预设类别标签向量为预先根据文本的预设类别信息构建的向量,该预设类别标签向量可以包括与预设类别信息中预设类别相对应的多个类别标签子向量。实际应用中,可以采用随机矩阵来构建得到预设类别标签向量,该预设类别标签向量可以表示为lm={c1,c2,…,ci},i=1...k,其中,k表示预设类别,ci表示与预设类别i相对应的类别标签子向量,该类别子向量ci的维度d可以根据实际需求进行设定,一般可以将维度d设定在150~300之间。

s103,基于文本分类模型的编码通道对所述待分类文本进行内容编码处理,得到内容编码向量。

其中,文本分类模型为预先训练好的能够实现输入文本分类的机器学习模型,该文本分类模型可以输出输入文本的类别标签,该类别标签可以是一个类别标签,也可以多个类别标签的序列。

在本说明书实施例中,文本分类模型为基于编码解码框架训练得到的神经网络模型,该编码解码框架由编码通道和解码通道组成,通过编码通道对输入序列进行编码得到中间编码向量,再由解码通道解码得到输出序列,该中间编码向量是可以是对输入文本的内容进行编码得到的内容编码向量。一般,编码通道可以包括一个或者多个编码器,解码通道可以包括一个或者多个解码器,其中,编码器和解码器可以采用相同类型的神经网络模型,也可以采用不同类型的神经网络模型。

在一个具体的实施例中,文本分类模型的编码通道包括第一编码通道和第二编码通道,可以基于文本分类模型的第一编码通道对待分类文本进行第一内容编码处理得到第一内容编码向量;基于文本分类模型的第二编码通道对上述第一内容编码向量进行第二内容编码处理得到第二内容编码向量;该第一内容编码向量和第二内容编码向量可以作为步骤s103得到的内容编码向量,即内容编码向量包括第一内容编码向量和第二内容编码向量。

实际应用中,为了在编码阶段对文本内容进行更加全面的编码以增强后续捕获文本与类别标签之间关系的能力,第一编码通道可以包括编码待分类文本的整体内容的编码器,如该编码器可以是transformer编码器、循环神经网络(英文全称:recurrentneuralnetworks,英文缩写:rnn)、长短期记忆人工神经网络(英文全称:longshort-termmemory,英文缩写:lstm)等等。以transformer编码器为例,可以使用四层堆叠的transformer编码器,得到transformer编码器编码输出的第一内容编码向量可以表示为t_enc={t1,t2,...,ti},i=1...n,其中,n对应于待分类文本的词序列中词的个数。

第二编码通道可以包括编码待分类文本局部内容的编码器,如该编码器可以是卷积神经网络(英文全称:convolutionalneuralnetworks,英文缩写:cnn)。具体的,可以通过第二编码通道中的卷积神经网络编码器对第一内容编码向量进行局部特征提取,然后根据提取的局部特征确定第二内容编码向量;所述卷积神经网络编码器的卷积层包括至少一种卷积核。例如,卷积神经网络编码器可以包括三种卷积核,分别表示为fw1∈r3×d,fw2∈r4×d,fw3∈r6×d,各种卷积核的输出通道数量为维度d,步长为1,对应最大池化层的步长为2,由此可以得到第二编码通道输出的相应三类第二内容编码向量,分别表示为:

实际应用中,为了能够更加有效的从多个层次挖掘待分类文本中的信息,以提高待分类文本的分类准确率,可以采用图2中的方法实现基于文本分类模型的第一编码通道对待分类文本进行第一内容编码处理得到第一内容编码向量的步骤,具体的,如图2所示,该方法可以包括:

s201,对所述待分类文本进行分词处理,得到所述待分类文本的词序列。

在本说明书实施例中,在对待分类文本进行分词处理时,可以先对待分类文本进行过滤处理,该过滤处理可以包括规则过滤和数据预处理过滤,其中,规则过滤包括去除文本中的无意义短字符和纯表情输入,数据预处理过滤包括对文本中的特殊字或词进行替换,如时间替换为time,金额替换为money,数据预处理过滤还可以包括同义词和同类型词替换,如腾讯视频=qq视频等,实际应用中,可以通过维护的业务词典和同义词表来实现同义词和同类型词的替换。

在对待分类文本完成过滤处理后,可以使用开源的jieba分词工具对过滤处理后的文本进行分词。jieba开源分词工具主要支持三种分词模式:一种为精确模式,即将句子最精确地切开;另一种为全模式,即将句子中所有的可以成词的词语都扫描出来;最后一种为搜索引擎模式,其在精确模式的基础上对长词再次切分。本发明实施例可以基于上述任何一种或者几种分词模式对过滤处理后的待分类文本进行分词处理。

s203,确定所述词序列中词对应的词元素序列,以及所述词序列中词的词性和位置标识。

在本说明书实施例中,词元素是指构成词的元素,对于中文词而言,词元素为字,对于英文词而言,词元素为字母。使用词元素特征可以缓解未登陆词即业务词典和同义词表中未录入词的问题。

词性用来描述一个词在上下文中的作用,确定词序列中词的词性就是识别词的词性以确定其在上下文中的作用。实际应用中,可以采用jieba分词工具对分词的词性进行标注,jieba分词工具中的词性类别可以包括:形语素、形容词、副形容词、名形词、区别词、连词、副语素、副词、叹词、方位词、语素、前接成分等等。

位置标识用来提供词序列中的词在对应句子中的位置信息,有助于确定每个词的位置或序列中不同词之间的距离。

在本说明书实施例中,通过步骤s203可以得到对应于待分类文本的四种粒度的特征输入其中,表示词序列中的词特征,n为词序中词个数,为第i个词;表示词元素特征,m为字个数,为第i个字,并且有即词元素特征由对应的词分解得到;表示词性特征;表示位置标识特征。

在本说明书实施例中,为了提升文本分类的鲁棒性和泛化性,可以对上述四种粒度的特征分别进行随机剔除小部分特征,例如可以随机剔除10%的特征。

s205,将所述词序列中的词、所述词元素序列中的词元素、所述词序列中词的词性和位置标识映射为对应的向量,得到所述待分类文本的词向量、词元素向量、词性向量和位置向量。

在得到待分类文本对应的特征输入后,需要分别对这个四种粒度的特征进行向量化。实际应用中,可以但不限于采用预训练词向量模型和随机向量矩阵这两种方式进行向量化。其中,预训练词向量可以但不限于采用ngram2vec(词转向量)方式对领域语料进行训练得到对应的词向量,该词向量在训练时考虑到了ngram特征,因此效果比基准的cbow和skip-gram模型效果更好。

对上述四种粒度的特征进行向量转换后得到的向量可以分别表示为:表示词向量;表示词元素向量,并且有表示词性向量;表示位置向量;其中,d表示向量的维度,该维度可以根据实际需要进行设定,一般维度d为150~300,如可以将上述的维度d设定为300。

s207,对所述待分类文本的词向量、词元素向量、词性向量和位置向量进行组合,得到所述待分类文本的特征向量。

在本说明书实施例中,对待分类文本的词向量、词元素向量、词性向量和位置向量进行组合得到待分类文本的特征向量可以但不限于采用图3所示的方法,该方法可以包括:

s301,根据所述词序列中词对应的词元素向量,确定所述词序列中词对应的词元素组合向量。

在本说明书实施例中,将基于词元素的词元素向量经过组合得到词级别的词元素组合向量,具体可以表示为:其中,

s303,将所述词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量进行加和,得到第一特征向量。

在本说明书实施例中,将词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量相加可以得到待分类文本的第一特征向量,即第一特征向量

s305,确定所述词向量、词元素组合向量、词性向量和位置向量对应的权重值。

实际应用中,可以根据实际需要设定词向量、词元素组合向量、词性向量和位置向量对应的权重值,也可以根据历史经验值来确定相对应向量的权重值。在本说明书实施例中,可以将确定的权重值转换为相应的向量表示,从而得到权重值对应的权重向量we∈r4×d,d为向量的维度,与前述各向量的维度相一致。

s307,根据所述权重值对所述词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量进行加权求和,得到第二特征向量。

在本说明书实施例中,根据权重值对词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量进行加权求和可以得到待分类文本的第二特征向量,即第二特征向量wim=we·[xew,xr′c,xepos,xep]。

以中文词为例,词元素为字,上述步骤s301至步骤s307可以表示为如图4的示意图。

s309,将所述第一特征向量和第二特征向量进行加和,得到所述待分类文本的特征向量。

在本说明书实施例中,第一特征向量sim和第二特征向量wim都是维度为d的分别与词序列中n个词相关联的向量集合,对第一特征向量sim和第二特征向量wim进行加和即可得到输入至第一编码通道的待分类文本的特征向量im,且该待分类文本的特征向量im∈rn×d

s209,基于文本分类模型的第一编码通道对所述待分类文本的特征向量进第一内容编码处理,得到第一内容编码向量。

在本说明书实施例中,将待分类文本的特征向量im∈rn×d输入至文本分类模型的第一编码通道,通过该第一编码通道进行第一内容编码处理,从而可以得到第一内容编码向量t_enc={t1,t2,...,ti},i=1...n,其中,n对应于待分类文本的词序列中词的个数,ti表示对应于待分类文本的第i个内容向量。

s105,根据所述预设类别标签向量和所述内容编码向量,确定待解码向量。

其中,待解码向量为待输入至文本分类模型的解码通道进行解码的向量。

为了在解码过程中能够更好的捕捉文本与类别标签之间的关系以及类别标签与类别标签之间的关系,在本说明书实施例中,可以但不限于采用图5中的方法实现根据预设类别标签向量和内容编码向量确定待解码向量,图6为对应于图5中步骤s501至步骤s507的一种示意图。具体的,如图5和6所示,该方法可以包括:

s501,确定所述内容编码向量中的目标内容向量。

在本说明书实施例中,通过文本分类模型的编码通道得到的待分类文本的内容编码向量包括n个对应于待分类文本的内容向量,每个内容向量均是对待分类文本内容的一种向量。实际应用中,可以取内容编码向量中的任意一个内容向量作为目标内容向量se,也可以将多个内容向量加和后的向量作为目标内容向量se。

在一个具体的实施例中,可以将前述第一内容编码向量t_enc={t1,t2,...,ti}中的第i个内容向量ti作为目标内容向量se如第一个内容向量t1,也可以将第一内容编码向量t_enc={t1,t2,...,ti}中的预设多个内容向量的加和作为目标内容向量se。

s503,确定所述目标内容向量与所述预设类别标签向量的第一相似度。

具体的,可以但不限于采用点积的方式计算目标内容向量se与预设类别标签向量中各类别标签子向量ci的相似度,即si=r(se,ci)=set·ci,i=1...k,第一相似度s={s1,s2,...,sk}。

s505,对所述第一相似度进行归一化处理,得到所述预设类别标签向量的第一权重。

具体的,可以但不限于采用softmax函数进行归一化处理,即通过softmax函数将第一相似度s={s1,s2,...,sk}映射为0-1之间,并且归一化后的和为1,即第一权重可以表示为{a1,a2,...,ak},ak∈(0,1),且有a1+…+ak=1。

s507,根据所述第一权重对所述预设类别标签向量进行加权求和,得到第一注意力度量向量。

在本说明书实施例中第一注意力度量向量se_att可以根据第一权重对预设类别标签向量进行加权求和得到,即第一注意力度量向量

s509,根据所述第一注意力度量向量与所述目标内容向量,确定待解码向量。

具体的,可以但不限于将第一注意力度量向量se_att与目标内容向量se进行拼接以得到待解码向量fse。

s107,基于所述文本分类模型的解码通道、目标条件向量和所述解码通道前一时刻所输出的目标类别标签向量对所述待解码向量解码,得到所述待分类文本的类别标签。

其中,目标条件向量为当前时刻的目标条件向量,该目标条件向量为根据所述内容编码向量和所述解码通道前一时刻的隐层状态向量确定的向量。解码通道的解码器可以是transformer编码器、循环神经网络(英文全称:recurrentneuralnetworks,英文缩写:rnn)、长短期记忆人工神经网络(英文全称:longshort-termmemory,英文缩写:lstm)等等。

实际应用中,在根据所述内容编码向量和所述解码通道前一时刻的隐层状态向量确定目标条件向量时可以但不限于包括以下步骤:

获取前一时刻所述解码通道的隐层状态向量。其中,隐层状态向量是指输入向量输入至解码通道的解码器的隐层中计算得到向量。这里解码器的隐层是相对于解码器的输入层和解码器的输出层的中间层。解码器的隐层可以包括多个神经网络层。实际应用中,解码通道的解码器在初始时刻的隐层状态向量可以是模型训练得到的模型参数,也可以是默认设置的模型参数。

确定获取的所述隐层状态向量与所述内容编码向量的第二相似度。具体的,可以但不限于采用点积的方式计算隐层状态向量ht与内容编码向量中各内容向量的相似度。在一个具体的实施例中,内容编码向量包括第一内容编码向量和第二内容编码向量,以第一内容编码向量为前述t_enc,第二内容编码向量为前述c1_enc,c2_enc和c3_enc为例,计算隐层状态向量ht与内容编码向量{t_enc,c1_enc,c2_enc,c3_enc}的第二相似度,即第二相似度s={s1,s2,s3,s4},其中,

对所述第二相似度进行归一化处理,得到第二权重。具体的,可以但不限于采用softmax函数进行归一化处理,即通过softmax函数将第二相似度s={s1,s2,s3,s4}映射为0-1之间,并且归一化后的和为1,即第二权重可以表示为{a1,a2,a3,a4},其中,an∈(0,1),且有a1+…+an=1。

根据所述第二权重对所述内容编码向量进行加权求和,得到第二注意力度量向量,所述第二注意力度量向量作为所述目标条件向量。具体的,根据第二权重{a1,a2,a3,a4}对内容编码向量{t_enc,c1_enc,c2_enc,c3_enc}进行加权求和得到第二注意力度量向量,本说明书实施例中将该第二注意力度量向量作为当前时刻的目标条件向量,即目标条件向量可以表示为

在本说明书实施例中,当前时刻解码通道的解码器的输入包括待解码向量、上述的目标条件向量和解码通道前一时刻所输出的目标类别标签向量,该目标类别标签向量可以是解码通道前一时刻所输出的类别标签向量中最大概率的类别标签向量,也可以是解码通道前一时刻所输出的类别标签向量中概率大于预设概率的多个类别标签向量或者是概率排在前面的前预设数量个类别标签向量,本发明对此不作具体限定。

实际应用中,目标条件向量输入至当前时刻的解码通道的解码器的方式可以是与当前输入的待解码向量进行拼接后输入,也可以是与当前输入的待解码向量同时分别输入到解码器。

可以理解的,文本分类模型输出的待分类文本的类别标签可以为一个类别标签,也可以为包含多个类别标签的序列。

如图7所示为本发明实施例提供的待解码向量的一种解码过程示意图,在图7中目标类别标签向量为解码通道的解码器前一时刻所输出的类别标签向量中最大概率的类别标签向量。需要说明的是,图7中的一个节点对应于解码通道的一个时刻。可见,本发明实施例的解码过程能够在层次上从上至下进行推断,下一个层级的类别标签由上一个层级决定,即能够根据当前的类别标签预测下一个类别标签,从而学习到类别标签之间的关系,提升了待分类文本的分类准确率。

由本发明实施例的上述技术方案可见,本发明实施例通过预设类别标签向量与待分类文本的内容编码向量的联合得到待解码向量,在基于文本分类模型的解码通道对待解码向量解码时,将根据内容编码向量和解码通道前一时刻的隐层状态向量确定的目标条件向量以及解码通道前一时刻所输出的目标类别标签向量作为当前时刻解码通道的输入,从而提高了解码过程中捕获待分类文本与类别标签之间关系以及捕获类别标签与类别标签之间关系的能力,使文本分类模型输出的待分类文本的类别标签更加准确,提升了文本分类的准确率。实际应用中,能够显著改善多意图识别应用场景中的意图识别准确率。

为了更加清楚地说明本发明实施例的文本分类方法,下面以第一编码通道为transformer编码器,第二编码通道为卷积神经网络cnn编码器,解码通道为循环神经网络rnn解码器为例进行阐述,如图8所示的文本分类方法的一种流程示意图。

其中,步骤s801至步骤s803为对待分类文本进行处理以得到待分类文本的特征向量im的过程,该过程的详细内容可以参见前述图2至图4所示方法实施例中的相关描述,在此不再赘述。

步骤s804中,将待分类文本的特征向量im作为transformer编码器的输入,通过transformer编码器进行第一内容编码得到输出的第一内容编码向量,该第一内容编码向量一方面作为步骤s805中cnn编码器的输入,通过cnn编码器进行第二内容编码得到输出的第二内容编码向量,另一方面第一内容编码向量还与第二内容编码向量一起作为内容编码向量在步骤s808中与rnn解码器前一时刻的隐层状态向量来确定当前时刻的目标条件向量,该目标条件向量作为步骤s807中rnn解码器当前时刻的一个输入。

另外,步骤s804在输出第一内容编码向量时还会基于第一内容编码向量确定一目标内容向量,该目标内容向量与步骤s806中预先构建的预设类别标签向量进行交互处理得到待解码向量,该待解码向量被输入至步骤s807中rnn解码器,通过rnn解码器结合目标条件向量对其进行解码,解码过程的详细内容可以参见前述图1和图7中的相关描述,在此不再赘述。

在一些实施例中,上述的文本分类方法还包括训练文本分类模型,如图9所示,训练文本分类模型的步骤可以包括:

s901,获取用于训练的样本文本集。

具体的,样本文本集中的样本文本可以是与模型的具体应用领域相关联的文本。例如,对于客服领域,该样本文本可以是用户的问答日志,实际应用中可以从原始海量的用户问答数据中提取原始记录,然后对原始记录进行过滤处理以得到样本文本,该过滤处理可以包括规则过滤和数据预处理过滤,其中,规则过滤包括去除文本中的无意义短字符和纯表情输入,数据预处理过滤包括对文本中的特殊字或词进行替换,如时间替换为time,金额替换为money,数据预处理过滤还可以包括同义词和同类型词替换,如腾讯视频=qq视频等,实际应用中,可以通过维护的业务词典和同义词表来实现同义词和同类型词的替换。。

s903,对所述样本文本集进行聚类,得到样本文本子集。

在本说明书实施例中,还需要通过聚类的方法将样本文本集中类别相似的样本文本聚集成一个集合得到样本文本子集。实际应用中,可以先将样本文本集中的样本文本表示为向量,然后采用k-means聚类算法对多个向量进行聚类,从而确定属于同一个样本文本子集的样本文本。

为了提升训练得到的文本分类模型的准确性,需要考虑各样本文本子集的均衡性,尽可能使得各个样本文本子集中的样本个数相近。在一个具体的实施例中,可以对样本文本数量少的样本文本子集进行过采样(添加部分样本文本的副本)或数据增强(句子顺序打乱、句内词序打乱)等处理以提升样本数量;而对于样本文本数量超过预设数量的样本文本子集进行欠采样(删除部分样本)处理以减少样本数量。

s905,确定所述样本文本子集对应的类别标签组;所述类别标签组包括至少一个类别标签。

具体的,可以通过对样本文本子集中各样本文本的内容进行分析以确定该样本文本子集对应的类别标签组,一般类别标签组包括至少一个类别标签。可选的,可以人工为聚类得到的样本文本子集标记类别标签。

s907,根据所述样本文本子集和对应的类别标签组对预设机器学习模型进行文本分类训练,在训练过程中调整所述预设机器学习模型的模型参数至满足训练停止条件时结束训练。

在本说明书实施例中,预设机器学习模型可以是预先构建的基于神经网络的编码解码框架,该框架中编码器和解码器可以采用相同类型的神经网络模型,也可以采用不同类型的神经网络模型。例如,编码器和解码器可以均采用卷积神经网络模型,也可以是编码器采用长短期记忆人工神经网络模型和卷积神经网络模型,解码器采用循环神经网络模型等等。

实际应用中,将样本文本子集中的样本文本以及对应样本文本子集的类别标签组输入至预设机器学习模型中的编码通道(可以包括多个编码器),通过编码通道中的编码器确定内容编码向量,该内容编码向量进一步作为预设机器学习模型中解码通道(包括解码器)的输入,得到解码通道中解码器输出的类别标签,根据输入类别标签组中的类别标签与解码器输出的类别标签使用交叉熵损失函数计算损失值,并根据计算的损失值判断当前预设机器学习模型是否收敛,如果收敛即为满足训练停止条件结束训练;如果不收敛即为不满足训练停止条件结束训练,则采用梯度下降法对当前预设机器学习模型中的编码器和解码器中的参数进行调整,得到新的机器学习模型,并利用新的机器学习模型和样本文本子集以及对应的类别标签组继续进行训练。

s909,将结束训练时的模型参数所对应的机器学习模型作为所述文本分类模型。

实际应用中,为了进一步提高训练到的模型分类的准确性,还可以根据均衡后的各样本文本子集中样本文本的数量确定各样本文本子集的权重,在后续使用交叉熵损失函数计算损失值时考虑相应样本文本子集的权重。

与上述几种实施例提供的文本分类方法相对应,本发明实施例还提供一种文本分类装置,由于本发明实施例提供的文本分类装置与上述几种实施例提供的文本分类方法相对应,因此前述文本分类方法的实施方式也适用于本实施例提供的文本分类装置,在本实施例中不再详细描述。

请参阅图10,其所示为本发明实施例提供的一种文本分类装置的结构示意图,该装置具有实现上述方法实施例中文本分类方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。如图10所示,该装置可以包括:

第一获取模块710,用于获取待分类文本以及预设类别标签向量;

编码模块1020,用于基于文本分类模型的编码通道对所述待分类文本进行内容编码处理,得到内容编码向量;

第一确定模块1030,用于根据所述预设类别标签向量和所述内容编码向量,确定待解码向量;

解码模块1040,用于基于所述文本分类模型的解码通道、目标条件向量和所述解码通道前一时刻所输出的目标类别标签向量对所述待解码向量解码,得到所述待分类文本的类别标签;所述目标条件向量为根据所述内容编码向量和所述解码通道前一时刻的隐层状态向量确定的向量。

可选的,编码模块1020可以包括:

第一编码模块,用于基于文本分类模型的第一编码通道对所述待分类文本进行第一内容编码处理,得到第一内容编码向量;

第二编码模块,用于基于文本分类模型的第二编码通道对所述第一内容编码向量进行第二内容编码处理,得到第二内容编码向量;

第一组合模块,用于将所述第一内容编码向量和所述第二内容编码向量作为所述内容编码向量。

在一些实施例中,第一编码模块可以包括:

分词模块,用于对所述待分类文本进行分词处理,得到所述待分类文本的词序列;

第二确定模块,用于确定所述词序列中词对应的词元素序列,以及所述词序列中词的词性和位置标识;

向量映射模块,用于将所述词序列中的词、所述词元素序列中的词元素、所述词序列中词的词性和位置标识映射为对应的向量,得到所述待分类文本的词向量、词元素向量、词性向量和位置向量;

第二组合模块,用于对所述待分类文本的词向量、词元素向量、词性向量和位置向量进行组合,得到所述待分类文本的特征向量;

第一编码子模块,用于基于文本分类模型的第一编码通道对所述待分类文本的特征向量进第一内容编码处理,得到第一内容编码向量。

可选的,第二组合模块可以包括:

第三确定模块,用于根据所述词序列中词对应的词元素向量,确定所述词序列中词对应的词元素组合向量;

第一计算模块,用于将所述词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量进行加和,得到第一特征向量;

第四确定模块,用于确定所述词向量、词元素组合向量、词性向量和位置向量对应的权重值;

第二计算模块,用于根据所述权重值对所述词序列中每个词对应的词向量、词元素组合向量、词性向量和位置向量进行加权求和,得到第二特征向量;

第三计算模块,用于将所述第一特征向量和第二特征向量进行加和,得到所述待分类文本的特征向量。

可选的,第一确定模块1030可以包括:

第五确定模块,用于确定所述内容编码向量中的目标内容向量;

第六确定模块,用于确定所述目标内容向量与所述预设类别标签向量的第一相似度;

第一处理模块,用于对所述第一相似度进行归一化处理,得到所述预设类别标签向量的第一权重;

第四计算模块,用于根据所述第一权重对所述预设类别标签向量进行加权求和,得到第一注意力度量向量;

第七确定模块,用于根据所述第一注意力度量向量与所述目标内容向量,确定待解码向量。

在一些实施例中,解码模块1040可以包括第八确定模块,用于根据所述内容编码向量和所述解码通道前一时刻的隐层状态向量确定所述目标条件向量;

上述第八确定模块可以包括:

第二获取模块,用于获取前一时刻所述解码通道的隐层状态向量;

第九确定模块,用于确定获取的所述隐层状态向量与所述内容编码向量的第二相似度;

第二处理模块,用于对所述第二相似度进行归一化处理,得到第二权重;

第五计算模块,用于根据所述第二权重对所述内容编码向量进行加权求和,得到第二注意力度量向量,所述第二注意力度量向量作为所述目标条件向量。

在一些实施例中,第二编码模块可以包括:

局部特征提取模块,用于通过所述第二编码通道中的卷积神经网络编码器,对所述第一内容编码向量进行局部特征提取;

第十确定模块,用于根据提取的所述局部特征确定所述第二内容编码向量;

其中,所述卷积神经网络编码器的卷积层包括至少一种卷积核。

在一些实施例中,如图11所示,该装置还可以包括用于训练所述文本分类模型的训练模块1050。

可选的,训练模块1050可以包括:

第三获取模块,用于获取用于训练的样本文本集;

聚类模块,用于对所述样本文本集进行聚类,得到样本文本子集;

第十一确定模块,用于确定所述样本文本子集对应的类别标签组;所述类别标签组包括至少一个类别标签;

训练子模块,用于根据所述样本文本子集和对应的类别标签组对预设机器学习模型进行文本分类训练,在训练过程中调整所述预设机器学习模型的模型参数至满足训练停止条件时结束训练;将结束训练时的模型参数所对应的机器学习模型作为所述文本分类模型。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本发明实施例的文本分类装置通过预设类别标签向量与待分类文本的内容编码向量的联合得到待解码向量,在基于文本分类模型的解码通道对待解码向量解码时,将根据内容编码向量和解码通道前一时刻的隐层状态向量确定的目标条件向量以及解码通道前一时刻所输出的目标类别标签向量作为当前时刻解码通道的输入,从而提高了解码过程中捕获待分类文本与类别标签之间关系以及捕获类别标签与类别标签之间关系的能力,使文本分类模型输出的待分类文本的类别标签更加准确,提升了文本分类的准确率。实际应用中,能够显著改善多意图识别应用场景中的意图识别准确率。

本发明实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的文本分类方法。

存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及文本分类。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。

本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括计算机终端、服务器或者类似的运算装置。以运行在服务器上为例,图12是本发明实施例提供的运行一种文本分类方法的服务器的硬件结构框图。如图10所示,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1210(处理器1210可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1230,一个或一个以上存储应用程序1223或数据1222的存储介质1220(例如一个或一个以上海量存储设备)。其中,存储器1230和存储介质1220可以是短暂存储或持久存储。存储在存储介质1220的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1210可以设置为与存储介质1220通信,在服务器1200上执行存储介质1220中的一系列指令操作。服务器1200还可以包括一个或一个以上电源1260,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1240,和/或,一个或一个以上操作系统1221,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

输入输出接口1240可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1200的通信供应商提供的无线网络。在一个实例中,输入输出接口1240包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1240可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1200还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。

本发明的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于服务器之中以保存用于实现一种文本分类方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的文本分类方法。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1