文本分类任务是文本挖掘与机器学习领域的重要研究内容之一,相关技术被广泛应用于推荐系统、信息检索、数据组织和舆情监控等领域.文本分类任务中文本表示方法可分为启发式方法和神经网络方法.启发式方法中,词袋模型(Bag of Word)[1]将文本的表示看作是词集合,易于理解,但文中每个词的出现都是独立的,不依赖其他词是否出现,没有考虑到词序;N-gram[2]方法第n个词出现与前n-1个词相关,在一定程度上考虑到词序信息,但仍有特征稀释问题.基于词向量的神经网络方法通过分布式的表示大幅降低了文本表示的维度并考虑到了词语之间的关系,其中fastText[3]通过聚合策略将整篇文本的词及N-gram向量叠加平均,从不同的角度构造单词的隐向量表示;SWEM[4]通过聚合策略对文本的词向量进行平均加权求和或最大池化.以上方法每个单词的词向量都是经过预训练且固定的,不能很好地刻画深层次的语境关系.基于深层次的文本隐状态表示的神经网络方法能够有效地捕捉到深层次文本语义、语境信息,深度卷积神经网络(convolutional neural networks,CNN)[5]通过多个卷积层,能够有效地捕捉到更加深层次局部的文本语义和语境信息[6].如Large/Small word CNN[1]取字符级别的文本特征进行卷积表示,其中Large word CNN通过卷积层输出的特征维度比Small word CNN更高、时间复杂度更大.通过长短时记忆网络(long short-term memory,LSTM)[7]表示文本用于分类能够适应单词远距离依赖的问题.以上方法同等的对待所有单词不考虑冗余和噪音,无法区分关键的单词信息.当前表现最佳的模型通常由通过注意力机制连接的编码器和解码器组成[8],并成功应用于情感分类、句子对建模和句子的总结.如Bi-BloSAN[9],阶层注意力网络[10],AoA模型[11]和多步注意力[12]等.通常情况下通过使用CNN得到具有上下文的文本隐藏状态表示计算注意力.由于文本内容序列本身缺乏全局分类信息线索,单纯的文本语义映射极有可能导致文本表示得到的语义信息和分类标签关注的语义信息有一定差异.如在文本情感分类任务中,类别标签为“积极、消极、中立”,评论文本“机械键盘轴好,打字时候清脆爽快”中的“机械键盘、轴、打字”均为文本语义表达的重要关键词,会被表示方法关注到,但分类标签的判别实际与这些关键词关系并不大.因此,如何有效利用标签的语义表示,让文本表示早期就感知分类任务的指导信息对文本分类任务是十分有价值的.LEAM[13]模型通过将标签映射到和文本内容同一个空间中构造文本表示与标签语义表示的交互矩阵,并用交互矩阵引导文本表示进行加权;但这种方法没有将标签的语义表示编码到文本表示中,无法得到经由标签的语义表示过滤下文本的新表示,在标签的语义表示和文本表示差距过大的情况下依旧缺乏全局分类信息线索.基于上述分析和数据启发,本研究提出一种融合文本内容编码和标签引导文本编码的文本分类方法(text classification method combining text content and label guided text encoding,TLE),通过文本标签交互注意力机制,得到标签的语义表示过滤文本的新表示,同时融合文本内容编码和建模面向分类任务的文本表示.实验结果表明,TLE在很大程度上优于当前具有代表性的文本分类方法.1 TLE文本分类方法1.1 问题描述数据集D={(xi,yi)}i=1N是由N个文本xi和对应的标签yi∈Y,Y={y1,y2,⋯,yl}组成,其中l为标签类别数.每个文本使用词向量初始化表示xi={e¯1,e¯2,⋯,e¯n},其中词向量表示e¯n∈Rk,n为文本的长度,k为词向量的维度.标签是具有语义的文本,标签的语义向量表示c¯i∈Rk,标签集合的语义表示为C={c¯1,c¯2,⋯,c¯l}.标签和文本表示所用词向量通过预训练得到的.文本分类的目的是训练一个模型,可以将一个新的文本进行分类标记.1.2 模型框架为了使模型能有效地利用标签的语义表示,TLE在文本表示阶段同时强调文本自身语义信息的表达和对全局分类信息的早期感知.模型框架如图1所示.在文本内容编码部分,{h¯1,h¯2,⋯,h¯n}为文本的隐藏状态,文本的隐藏状态通过自注意力层得到文本表示{u¯1sa,u¯2sa,⋯,u¯nsa}.在标签引导文本编码部分,通过文本与标签的交互注意力层得到文本表示{u¯1ia,u¯2ia,⋯,u¯nia}.在两阶段聚合阶段,第一阶段通过动态聚合得到文本表示{u¯1,u¯2,⋯,u¯n},第二阶段通过平均池化得到文本表示z¯.在分类预测部分通过全连接层得到z¯'.10.13245/j.hust.210818.F001图1TLE网络架构1.2.1 文本内容编码模块本研究通过更新单词的隐层表示获得文本序列累计语义表示,捕获和强化文本长距离语义依赖.给定xi={e¯1,e¯2,⋯,e¯n},LSTM在t时刻的更新状态为i¯t=σ(Wie¯t+Uih¯t-1+bi);f¯t=σ(Wfe¯t+Uf h¯t-1+bf);o¯t=σ(Woe¯t+Uoh¯t-1+bo);g¯t=tanh(Wge¯t+Ugh¯t-1+bg);v¯t=f¯t⊙v¯t-1+i¯t⊙g¯t;h¯t=o¯t⊙tanh(v¯t),式中:σ为sigmoid激活函数;i¯t,f¯t,o¯t,v¯t分别为LSTM的输入门、遗忘门、输出门、记忆门;g¯t和h¯t分别为t时刻记忆单元的输入状态和隐状态.Wi,Wf,Wo,Wg,Ui,Uf,Uo和Ug为模型参数;bi,bf,bo和bg为偏置项.将每个单词得到的隐状态进行串联得到H={h¯1,h¯2,⋯,h¯n}作为文本隐藏状态表示,其中H∈Rn×k.考虑文本中每个单词语义重要性是不同的,本研究通过文本自注意力层来获得每个单词的权重,获取词层面的语义交互,加强文本长距离无序语义依赖的表达.使用文本隐藏状态表示H作为下一层的输入,经过自注意力机制得到的文本表示为USA={u¯1sa,u¯2sa,⋯,u¯nsa},具体实现过程为Attention(Q1,K1,V1)=Softmax(Q1K1Tk)V1,定义[Q1,K1,V1]=H[WQ,WK,WV],(1)式中:Attention(•)表示自注意力机制;Softmax(•)表示归一化;Q1,K1和V1分别为自注意力层中文本的查询、键、值矩阵;{WQ,WK,WV}∈Rkxk为可训练的参数矩阵.在此基础上,进一步通过多头自注意力机制获取文本隐藏状态表示中不同位置不同特征子空间的语义信息,即USA=Concat(ha1,ha2,⋯,ham)Wo;hai=Attention(Q1WiQ1,K1WiK1,V1WiV1),式中:Concat(•)表示矩阵拼接;hai表示第i个子空间的头注意力,具体实现过程为式(1);{WiQ1,WiK1,WiV1}∈Rk×k/m,Wo∈Rk×k,m为多头自注意力的头数.至此,使用USA作为文本内容编码表示.1.2.2 标签引导文本编码模块分类标签可以描述文本内容表示.使用描述标签的文本内容词向量作为输入,取平均作为标签的语义表示,即c¯i=1p∑j=1pe¯j,式中:e¯j为标签描述文本中第j个单词的词向量表示;p为标签文本描述的长度,大小一般在1~3之间;c¯i∈Rk,为第i个标签对应的标签的语义向量表示,k为词向量的维度,大小和输入文本序列中词向量维度一致.标签的全局特征同样适用于自注意力机制自适应地捕获最相关的全局特征进行编码,为了解决文本本身关键语义表示和分类任务关注语义不匹配的问题,设计了文本标签交互注意力机制,通过对H和C编码,可得到标签全局特征的权重,输出得到的文本表示为UIA={u¯1ia,u¯2ia,⋯,u¯nia}.具体原理为:利用自注意力匹配机制的特点,首先将文本隐藏状态表示矩阵与标签集的语义表示矩阵相乘得出交互权重矩阵,然后将经过缩放归一化得到的权重矩阵与标签集的语义表示矩阵相乘,通过标签引导得到经由标签的语义表示过滤下文本的新表示,即Attention(Q2,K2,V2)=softmax(Q2K2Tk)V2;定义[Q2,K2,V2]=[HWQ',CWK',CWV'],式中:Q2,K2和V2分别为交互注意力层中文本的查询、键、值矩阵;{WQ',WK',WV'}∈Rkxk为可训练的参数矩阵.采用多头注意力机制获取文本隐藏状态表示与标签集的语义表示中多个子空间交互的语义信息,具体实现过程为UIA=Concat(ha1',ha2',⋯,ham')W'o;hai'=Attention(Q2WiQ2,K2WiK2,V2WiV2),式中:{WiQ2,WiK2,WiV2}∈Rk×k/m,W'o∈Rk×k.1.2.3 两阶段聚合模块本研究通过两阶段聚合操作获取融合的文本表示.第一阶段使用动态加权聚合文本内容编码和标签引导文本编码的输出表示,得到文本表示U={u¯1,u¯2,⋯,u¯n},即U=αUSA+βUIA,式中α和β为第一阶段动态聚合的加权参数,α+β=1,本研究α和β均取0.5.第二阶段聚合使用池化降低文本表示的维度防止过拟合,使用平均池化A(U)得到最终的文本表示z¯=A(U).式中z¯∈Rk.1.2.4 分类预测模块文本表示z¯通过全连接层得到z¯',z¯'=M(z¯),式中:z¯'∈Rl,l为标签的类别数,实现了文本表示到标签集的数值映射;M(•)为全连接层,通过Softmax层对z¯'进行归一化得到y¯∈Rl,通过最小化交叉熵损失函数优化模型参数,具体表示为min1N∑n=1NC(y¯n',y¯n),式中:N为训练集的文本总数;y¯n'为第n个文本的真实标签;y¯n为第n个文本的预测标签;C(•)为两个概率向量之间的交叉损失.2 实验结果与分析2.1 实验设置使用300维Glove词向量[14]作为文本表示和标签语义表示的初始化,LSTM隐藏单元数设置为300,多头自注意力机制的头数设置为4,α和β通过栅格搜索得到的最优值均为0.5.从范围为[-0.01,0.01]的均匀分布中初始化Common Crawl语料库以外单词的词向量.使用Adam优化器训练参数,初始学习率为0.001,批次大小设置为100,全连接层中神经元的随机失活率(Dropout)设为0.5.模型使用Tensorflow实现,使用分类准确率评价模型.2.2 数据集在四个基准数据集[15]上测试模型,详情见表1.10.13245/j.hust.210818.T001表1实验中使用的数据集数据集类别训练集测试集平均长度Yelp.F56.5×1053.8×104155Yelp.P25.6×1053.8×104153DBPedia145.6×1057.0×10455Yahoo101.4×1066.0×104104Yelp.F:来自2015年Yelp数据集挑战赛,任务是评论文本情感分类,范围从1~5分别是很差、差、适中、好、很好.Yelp.P:与2015年Yelp数据集挑战赛相同的文本评论,只考虑粗粒度的情感分类,其中1和2为差,3为适中,4和5为好.DBPedia:包含维基百科文本的分类数据集,共14类.Yahoo:雅虎问答1.0数据集的10个主要分类数据,包括问题标题、问题内容和最佳答案.2.3 对比方法对比方法包括基于启发式方法进行文本表示的分类方法词袋模型和基于神经网络方法进行文本表示的分类方法fastText,SWEM,Large/Small word CNN,LSTM,Bi-BloSA和LEAM.2.4 整体性能对比实验结果见表2,可以看出启发式的Bag-of-words效果较差.在基于神经网络的方法中,基于词向量简单聚合的SWEM和fastText方法在多个数据集上领先于基于深度学习的Small/Large word CNN和LSTM方法,基于注意力机制的Bi-BloSAN方法在短文本分类集合上优势显著.LEAM模型利用标签的语义表示效果优于不考虑标签的语义表示模型.本研究提出的TLE模型在Yelp.P,Yelp.F,DBPedia和Yahoo数据集上达到了最优的效果,与次优的基线模型相比,分类准确率分别提升了0.91%,2.63%,0.04%和0.44%,说明TLE模型得到了经由标签的语义表示过滤下文本的新表示,同时有效融合文本内容编码.通过对比发现在标签的语义表示和文本表示信息差距过大时,如情感类的数据集上提升尤其明显.说明TLE模型能将标签的语义表示编码到文本表示中,有效地提高分类性能.10.13245/j.hust.210818.T002表2TLE模型及相关基线模型在四个文本分类数据集上的分类准确率模型Yelp.PYelp.FDBPediaYahooBag-of-words92.2058.0096.6068.90Small word CNN94.4658.5998.1569.98Large word CNN95.1158.4898.2870.94LSTM94.7458.1798.5570.84SWEM93.7661.1198.4273.53fastText95.7063.9098.6072.30Bi-BloSAN94.5662.1398.7776.28LEAM95.3164.0999.0277.42TLE(本文模型)96.6166.7299.0677.86%2.5 框架各模块性能评测将去掉标签引导文本编码模块的TLE-L和去掉文本内容编码模块的TLE-T与完整模型做对比,结果如表3所示.局部模块在四个数据集中也取得了较好结果,说明本研究提出的基于文本内容编码可以有效地捕获和强化文本长距离语义依赖,基于标签引导文本编码模块可以有效地通过标签引导得到经由标签的语义表示过滤下文本的新表示.为了合理利用GPU资源,在计算资源不足的情况下,可以结合任务选取单模块进行分类实践.融合方法TLE在Yelp.P,Yelp.F,DBPedia和Yahoo数据集上分别比TLE-L提高了0.14%,1.01%,0.10%和0.15%,比TLE-T提高了0.26%,1.43%,0.11%和0.63%,证明了TLE融合框架的有效性.10.13245/j.hust.210818.T003表3TLE模型各个模块的分类准确率模型Yelp.PYelp.FDBPediaYahooTLE-L96.4765.7198.9677.71TLE-T96.3565.2998.9577.23TLE(本文模型)96.6166.7299.0677.86%2.6 表示能力评测图2可视化了Yahoo数据集在TLE模型学习到的每个类的平均文本表示z¯¯k和标签的语义表示ck的相似度矩阵,其中ck为第k个标签的语义表示,z¯¯k为预测第k个类别的平均文本表示,即z¯¯k=1|Sk|∑i∈Skz¯i,式中Sk为属于类别k的样本集.如图2所示,行为按类TLE模型得到的z¯¯k,列为ck,对角线元素颜色越深,表示类别标签表示与文本类中心表示越一致,模型表示学习能力越强.10.13245/j.hust.210818.F002图2Yahoo数据上平均文本表示与标签的语义表示的相似度矩阵为了评估聚类分布与分类结果之间的相关性,图3可视化了Yelp.P数据集在二维图上的文本级聚类概率分布,其中聚类点是由TLE模型学习到的文本表示z¯通过t-SNE[16]降维到二维所得,蓝色代表消极,红色代表积极.图3可以看出:同一类别的样本可以根据文本级别的聚类概率分布进行分组,不同类别之间的边界很明显,再次证明了TLE文本表示聚类与分类结果间的强烈相关性.10.13245/j.hust.210818.F003图3Yelp.P数据的可视化3 结语本研究提出了一种融合文本内容编码和标签引导文本编码的文本分类方法,通过使用文本自编码得到输入文本序列表示,使用标签引导文本编码标签的语义表示过滤下文本的新表示,并通过聚合池化得到最后的文本表示.相比于其他方法有两个明显优势:a. 提出的文本标签交互注意力机制可有效过滤和捕获文本中对分类任务有意义的语义信息;b. 提出的文本内容编码方法可有效建模文本关键核心语义信息.实验结果表明TLE可有效处理文本分类任务,尤其在标签的语义表示与文本表示信息差距过大的情况下具有显著优势.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读