一种多标签文本智能分类方法
技术领域
本发明属于自然语言处理的多标签分类领域,具体涉及一种多标签文本智能分类方法。
背景技术
文本分类是自然语言处理中的基本任务,由于现实世界中的文本大多都蕴含多层意思,其也意味着具有多个标签;所以多标签文本分类问题应运而生。近年来,随着数据规模的不断扩大,多标签文本分类技术在情感分析、情感识别、网页标注、推荐系统等领域得到了越来越广泛的应用。
目前在多标签文本分类研究中,大多数研究都集中在文本表示的进一步学习和标签依赖关系的建立上,以此来提高多标签分类的性能,主要包括传统的深度学习方法和基于seq2seq的方法。还有一些研究利用注意机制来探讨词汇和标签之间的相互作用,并学习了标签特定的文档分类表示法。但是文本与标签信息本身的嘈杂性给研究带来了很多困难,同时标签与文本的表征学习中的不同的特征空间以及稀疏程度也是一大挑战。
发明内容
为解决上述问题,本发明提供了一种多标签文本智能分类方法,包括以下步骤:
S1.获取多标签文本训练数据集,所述多标签文本训练数据集包括文本集合以及文本集合所对应的标签集合;
S2.构建多标签分类模型,其包括局部分层注意力模块、MV-MoE多视角专家分类模块和标签语义融合模块;
S3.对文本和文本所对应的标签分别预处理,得到文本向量和标签向量;
S4.将文本向量和标签向量输入局部分层注意力模块进行特征交互,得到交互文本特征向量和交互标签特征向量;
S5.采用MV-MoE多视角专家分类模块对交互文本特征向量进行多视角分类,对多视角分类结果加权求和得到预测标签概率;
S6.通过标签语义融合模块对预测标签概率和交互标签特征向量进行处理,得到多标签文本分类结果;采用分类损失函数计算损失调整模型参数;
S7.获取待分类文本输入训练好的多标签分类模型中,输出待分类文本的分类结果。
进一步的,步骤S3对文本及其标签进行处理的过程包括:
通过word2vec对文本和文本所对应的标签进行词向量处理,得到文本词向量Etext={a1,a2,...,ag}和标签词向量Elabel={b1,b2,...,bl},其中g表示文本最大长度,l表示标签的总数,ag表示文本第g个词的向量,bl表示第l个标签的向量;
对文本词向量和标签词向量分别进行Embeding得到文本向量和标签向量。
进一步的,步骤S4采用局部分层注意力模块处理文本特征向量和标签特征向量的过程包括:
S41.将文本向量送入transformer的encoder模块中处理得到文本特征向量;所述encoder模块包括多头注意力单元、FFN单元和残差单元;
S42.将文本特征向量通过带有dropout的第一线性层,得到表征向量将文本特征向量再次通过带有dropout的第二线性层,得到表征向量QT2;
S43.将标签向量通过带有dropout的第三线性层,得到特征向量KL;将标签向量再次通过带有dropout的第四线性层,得到特征向量VL;
S44.分别针对和(QT2,KL,VL)计算相应的注意力权重,并进行加权求和得到带有标签语义的交互文本特征向量;
S45.将标签向量通过带有dropout的第五线性层,得到表征向量QL1;将标签向量再次通过带有dropout的第六线性层,得到表征向量QL2;
S46.将文本特征向量通过带有dropout的第七线性层,得到表征向量KT;将文本特征向量再次通过带有dropout的第八线性层,得到表征向量VT;
S47.分别针对(QL1,KT,VT)和(QL2,KT,VT)计算相应的注意力权重,并进行加权求和得到带有文本语义的交互标签特征向量。
进一步的,步骤S5采用MV-MoE多视角专家分类模块对交互文本特征向量进行处理的过程包括:
S51.基于特征维度将交互文本特征向量分割为4块,采用平均池化对每一块交互文本特征向量进行压缩,得到4个局部文本句向量;
S52.对4个局部文本句向量进行组合排列得到24种组合局部特征向量;
S53.选用24个不同的专家分类网络对24种组合局部特征向量分别进行分类,得到24种分类结果,将24种分类结果拼接得到拼接向量;
S54.对拼接向量进行加权处理和维度压缩处理,得到预测标签概率。
进一步的,步骤S6采用标签语义融合模块处理预测标签概率和交互标签特征向量的过程:
S61.根据每个标签的出现次数计算得到对应的标签频率向量,通过标签的共现次数得到标签共现矩阵;
S62.根据每个标签的标签频率向量和标签共现矩阵计算标签共现概率矩阵;
S63.将预测标签概率与标签共现概率矩阵相乘得到带有标签共现信息的标签概率矩阵;对标签概率矩阵进行random drop处理;
S64.将处理后的标签概率矩阵与交互标签特征向量交互加权,得到新标签表征向量;
S65.计算新标签表征向量的标签分类权重,并与预测标签概率加权融合得到多标签文本分类结果。
进一步的,分类损失函数表示为:
L=-[yn·log(σ(xn))+(1-yn)·log(1-σ(xn))]
其中,xn表示第n个文本的预测结果,yn表示第n个文本的真是真实结果。
本发明的有益效果:
本发明采用的方法中,局部分层注意力模块把文本和标签都拉入到了同一个向量空间,解决了文本与标签信息本身的嘈杂性和不一致性,得到了稳定的表征向量;MV-MoE多视角专家分类网络充分利用了表征向量的局部性,采用多视角的方式自动组合了多种特征,并采用加权合并的方式得到了集成后的稳定结果;带有random drop的标签语义融合模块则是充分挖掘了标签之间的关联性,用标签的联系引导模型预测结果,并最终与原始预测结果融合,大大提高了模型在分类阶段的鲁棒性和准确性。
附图说明
图1为本发明的整体流程图;
图2为本发明的局部分层注意力模块结构图;
图3为本发明的MV-MoE多视角专家分类模块结构图;
图4为本发明的带有random drop的标签语义融合模块结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种多标签文本智能分类方法,如图1所示,包括:
S1.获取多标签文本训练数据集,所述多标签文本训练数据集包括文本集合以及文本集合所对应的标签集合;
S2.构建多标签分类模型,其包括局部分层注意力模块、MV-MoE多视角专家分类模块和标签语义融合模块;
S3.对文本和文本所对应的标签分别预处理,得到文本向量和标签向量;
S4.将文本向量和标签向量输入局部分层注意力模块进行特征交互,得到交互文本特征向量和交互标签特征向量;
S5.采用MV-MoE多视角专家分类模块对交互文本特征向量进行多视角分类,对多视角分类结果加权求和得到预测标签概率;
S6.通过标签语义融合模块对预测标签概率和交互标签特征向量进行处理,得到多标签文本分类结果;采用分类损失函数计算损失调整模型参数;
S7.获取待分类文本输入训练好的多标签分类模型中,输出待分类文本的分类结果。
具体地,获取多标签文本训练数据集并划分为训练集和测试集,将文本与自身的标签拼接,对拼接结果进行处理的过程包括:
通过word2vec对文本和文本所对应的标签进行词向量处理,得到文本词向量Etext={a1,a2,...,ag}和标签词向量Elabel={b1,b2,...,bl},其中g表示文本最大长度,l表示标签的总数,ag表示文本第g个词的向量,bl表示第l个标签的向量;
对文本词向量和标签词向量分别进行Embeding得到文本向量和标签向量。
在一实施例中,如图2所示,采用局部分层注意力模块处理文本特征向量和标签特征向量的过程包括:
S41.将文本向量送入12层transformer的encoder模块中处理得到文本特征向量;所述encoder模块包括多头注意力单元、FFN单元和残差单元等结构,最终得到的文本特征向量表示为Eb×a×r,其中b表示输入的批次大小,r表示文本特征向量的维度;
S42.将文本特征向量Eb×g×r通过带有dropout的第一线性层,得到表征向量(查询矩阵)将文本特征向量再次通过带有dropout的第二线性层,得到表征向量(查询矩阵)QT2;得到表征向量/>表征向量QT2的维度与文本特征向量保持一致;
S43.将标签向量通过带有dropout的第三线性层,得到特征向量(键矩阵)KL;将标签向量再次通过带有dropout的第四线性层,得到特征向量(值矩阵)VL;
S44.分别针对和(QT2,KL,VL)计算相应的注意力权重,将得到的两个注意力权重进行加权求和,权重比例为1∶1,得到带有标签语义的交互文本特征向量ETF;
S45.将标签向量通过带有dropout的第五线性层,得到表征向量(查询矩阵)QL1;将标签向量再次通过带有dropout的第六线性层,得到表征向量(查询矩阵)QL2;
S46.将文本特征向量通过带有dropout的第七线性层,得到表征向量(键矩阵)KT;将文本特征向量再次通过带有dropout的第八线性层,得到表征向量(值矩阵)VT;
S47.分别针对(QL1,KT,VT)和(QL2,KT,VT)计算相应的注意力权重,将得到的两个注意力权重进行加权求和,权重比例为1∶1,得到带有文本语义的交互标签特征向量ELF。
具体地,采用局部分层注意力模块处理文本特征向量和标签特征向量的过程中,每一个线性层都添加了dropout,这是为了对矩阵进行随机丢弃处理,保证丢失一部分信息以后,也能捕捉到重要的部分。
具体地,注意力权重的计算公式为:
其中,Q表示查询矩阵,K表示键矩阵,V表示值矩阵,dk表示维度大小。
在一实施例中,如图3所示,采用MV-MoE多视角专家分类模块对交互文本特征向量进行处理的过程包括:
S51.基于特征维度将交互文本特征向量ETF分割为4块,每一块的形状都为采用平均池化对每一块交互文本特征向量进行压缩,得到4个局部文本句向量Eb×r/4;
S52.对4个局部文本句向量进行组合排列得到24种组合局部特征向量;这24个局部特征向量的视角不同,组合排列公式为:
S53.选用24个不同的专家分类网络对24种组合局部特征向量分别进行分类,得到24种分类结果,将24种分类结果拼接得到拼接向量S54.采用权重控制单元对拼接向量/>进行加权处理,再对加权后的拼接向量进行维度压缩,得到预测标签概率。
在一实施例中,如图4所示,采用标签语义融合模块处理预测标签概率和交互标签特征向量的过程:
S61.根据每个标签的出现次数计算得到对应的标签频率向量,通过标签的共现次数得到标签共现矩阵;
S62.根据每个标签的标签频率向量和标签共现矩阵计算标签共现概率矩阵;
具体地,标签频率向量是一个标签在所有文本中出现的总次数,标签共现次数是两个不同标签在所有文本中一起出现的总次数,标签共现概率是两个不同标签在同一个文本中一起出现的概率。假设共有m个标签,那么通过标签间的共现次数得到一个m×m大小的标签共现矩阵,表示为:
|
1 |
2 |
… |
m |
1 |
V1 |
M12 |
… |
M1m |
2 |
M12 |
V2 |
… |
M2m |
… |
… |
… |
… |
… |
m |
M1m |
M2m |
… |
Vm |
其中,标签共现矩阵的第i行第j列表示的是标签i与标签j一起出现的次数;例如标签1与标签1的标签共现次数就是标签1的标签频率向量,V1表示标签1的标签频率向量,M12表示标签1与标签2的标签共现次数。
S63.将预测标签概率与标签共现概率矩阵相乘得到带有标签共现信息的标签概率矩阵;为了解决一些标签之间可能存在过度依赖的问题,对标签概率矩阵进行randomdrop处理;
S64.将处理后的标签概率矩阵与交互标签特征向量交互加权,得到新标签表征向量;
S65.计算新标签表征向量的标签分类权重,并与预测标签概率加权融合得到多标签文本分类结果。
具体地,模型通过优化损失函数,采用梯度下降算法训练得到最优的参数结果。模型的损失函数L的定义为:
L=-[yn·log(σ(xn))+(1-yn)·log(1-σ(xn))]
其中,xn表示第n个文本的预测结果,yn表示第n个文本的真是真实结果,σ(xn)的定义为:
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。