基于注意力的多通道特征融合情感分析
2022-03-01陈德刚艾孜尔古丽
陈德刚,艾孜尔古丽
(新疆师范大学 计算机科学技术学院,新疆 乌鲁木齐 830054)
0 引 言
情感分析领域[1],也被称为观点挖掘,主要通过NLP相关技术对于用户所产生的文本评论信息中带有情绪的内容进行分析处理,判别其情感倾向。传统的情感词典方法,对于情感词典资源的需求尤为重要,并且语法规则设定的优劣,决定了文本情感倾向分析结果准确率的上限。而采用机器学习方法,预处理常需要人工进行大量繁琐的特征工程,消耗大量的精力,也存在特征矩阵稀疏等问题。
而近年来深度学习迎来新生,CNN[2]利用卷积滑动窗口提取文本的局部有效特征,再通过池化操作进一步降低特征维度,但仍存在解释性不强的缺陷。RNN[3]循环神经网络对于序列文本虽能较好提取上下文内容,但对于过长序列可能会出现梯度爆炸或梯度消失等情况。后续出现了改进的GRU[4]与LSTM[5]模型,解决了传统循环神经网络对于较长信息可能会出现语义丢失的问题。谷歌[6]深度阐述了注意力机制,即使不使用RNN、CNN等网络,单一注意力机制在图像、文字工程领域也能取得较好收益。
基于上述方法,提出了一种Tri-BiGRU-Atten模型,结合GRU与注意力机制的优点,在多特征融合下,形成多通道平行输入,大大提高了模型挖掘深层情感语义特征,且在情感决策分类层前引入特征图扰动Disout[7]技术。
1 相关工作
深度学习技术的不断发展,近年来越来越受人们所关注,在NLP领域大受人们欢迎。在用CNN进行情感识别领域中,Poria等[8]构建了七层深度卷积CNN模型,并将其与其它网络模型集成分类器,以判定文本中每个词是否为Aspect词。Lai等[9]将RNN和CNN结合起来,利用前后双向RNN将文本中当前词的前后词与该词连接起来,再通过池化操作,能够比较均匀获取该词的上下文信息。Wang等[10]为篇章级文本情感分析提供了一种新思路,即按文本句子区域划分的CNN-LSTM结构。首先利用CNN对每个区域特征的特征进行提取,对于包含情感信息区域分配较大权重,反之亦然。再利用LSTM结构提取区域文本的序列时序关系,最后使用线性解码器获得最终预测结果。梁斌等[11]利用CNN与attention机制,将输入文本先经过注意力提取词性和位置特征以利用,再通过卷积挖掘文本语义信息,这表明了attention这种机制在文本预测情感倾向时会有更好表现,并能更好解释模型中关键词对于文本情感倾向分析的影响。Nikolaos等[12]在论文中,将RNN与attention机制结合起来。提出了HAN神经网络结构,其中编码阶段使用了词等级和句子等级两层attention机制。其中单词编码器和句子等级编码器均使用了双向GRU编码,各句子及词语在分类任务时的重要性占比都能较好表现出来。Ji等[13]将词汇特征与位置特征相结合,引入双向GRU与多头注意力机制,在情感分析任务取得较高成效。
综上所述,本文提出了基于多通道的注意力机制情感分析模型Tri-BiGRU-Atten,BiGRU解决了CNN固定的卷积核尺寸视野比较有限,很难获得更长的序列语义有效信息,导致长序列输入部分语义特征表达缺失等问题。多通道输入基础上,引入了attention机制与特征图扰动Disout算法,在解决了单一RNN、CNN解释性不强问题的同时,也能充分挖掘输入情感文本的深层语义,而Disout算法有效增强了模型泛化性能,相较于现有模型具备更好分类结果。
2 模 型
本文提出的Tri-BiGRU-Atten模型利用双向GRU在嵌入层分别接收来自3个平行通道的融合特征,来实现充分挖掘文本中的情感隐藏信息,以提高模型分类性能。Tri-BiGRU-Atten整体结构如图1所示,主要由嵌入层、多通道层、融合层、自注意力层、Disout层以及情感输出层。
图1 Tri-BiGRU-Atten结构模型
2.1 词嵌入层
词嵌入层是由词向量与词性向量、位置向量、依存句法向量分别组合形成三通道平行输入模型。
2.1.1 词向量
词向量传统常用的是one-hot编码表示,这种方法比较简单直接,但它的向量矩阵纬度高且存在稀疏,容易造成维度困难,难以训练。而且one-hot编码固有的算法思想决定了词语之间的向量表示相互正交,如果将其用于情感分析任务,会缺失意想不到的重要信息,对下层模型训练造成较大影响。因此,Mikolov等[14]提出了Word2Vec算法,其有效解决了one-hot编码语义缺失的问题,论文提出了CBOW及Skip-gram两个模型。其中CBOW模型优化如式(1)所示
LossCBOW=∑logp(wi|Context(wi))
(1)
Skip-gram模型优化如式(2)
LossSkip-gram=∑logp(Context(wi)|wi)
(2)
通过比较两个需优化的损失函数,可以看出两者所使用的先验概率刚好相反。CBOW模型使用第i位置的w词的前后信息去预测当前词wi的概率,Skip-gram模型则是使用当前词wi去预测前后信息。本文实验我们选择word2vec词嵌入方式获得词语向量化表示。ti∈Va, 其中第i个单词的词性向量为ti,向量的维度为a。如输入n长度的句子s,其向量化矩阵计算如式(3)所示
Va=t1⊕t2⊕t3…⊕tn
(3)
2.1.2 词性向量
词性,即以单个词汇为单位,按照它所使用的语言的语法规则和词本身的意义不同,将其划分到不同类别。本文利用HowNet(知网)英文情感集合对原始的输入文本s进行词性标注,再将标注后的词汇信息进行特征向量化,形成多维度的连续值词性向量矩阵。tagi∈Vb,其中第i个单词的词性向量为tagi,向量的维度为b。如输入n长度的句子s,其向量化矩阵计算如式(4)所示
Vb=tag1⊕tag2⊕tag3…⊕tagn
(4)
通过将词性特征向量化输入,我们可以研究融合词性特征后特征输入对于情感分析任务的影响。
2.1.3 位置向量
情感分析任务中应用注意力机制主要是挖掘输入文本中词汇之间的相似性,而缺少了对句子时间序列信息的挖掘,由于句子的词序信息也对模型性能有很大影响,因此我们同样在输入层引用位置信息,将原始输入文本的位置信息进行编码,再和词向量相结合,就可以得到位置向量。我们采用Vaswani等[6]在文中提出了正弦位置编码(sinusoidal position encoding),其计算如式(5)、式(6)所示
POSE(pos,2i)=sin(pos/100002i/d(model))
(5)
POSE(pos,2i+1)=cos(pos/100002i/d(model))
(6)
其中,i表示输入文本序列的第i单词,公式中将pos位置的单词映射为维度为d的向量,其维度和原始文本的词向量维度相同,通过矩阵相加操作[15]即可得到融合位置的特征的位置向量。位置向量可表示为posi∈Vc,其中第i个单词的句法特征向量为posi,向量的维度为c。如输入n长度的句子s,其计算如式(7)所示
Vc=pos1⊕pos2⊕pos3…⊕posn
(7)
2.1.4 依存句法向量
依存句法分析是通过对输入文本句子进行分析,挖掘句子中存在的句法结构、层次关系以及词汇之间的相互依存关系。将每个句子分析出的句法特征映射成多维度的连续值句法矩阵向量化表示。grami∈Vd,其中第i个单词的句法特征向量为grami,向量的维度为d。如输入n长度的句子s,其向量化矩阵计算如式(8)所示
Vd=gram1⊕gram2⊕gram3…⊕gramn
(8)
通过将句法特征向量化输入,我们可以研究融合各类特征的输入对于情感分析任务的影响。
2.2 多通道特征融合Bi-GRU
2.2.1 多通道特征融合
为防止喂入神经网络的模型过于复杂,我们将特征进行分别组合拼接,形成如式(9)、式(10)、式(11)
(9)
(10)
(11)
2.2.2 Bi-GRU
GRU即为门控循环单元(gated recurrent units),它是RNN(recurrent neural network)的一种,GRU是通过门控机制对于进入神经网络的神经元状态进行设置。GRU在模型上对LSTM进行了改进,取消了输出门,只有reset和update两个门控机制。GRU内部结构展开如图2所示。
图2 GRU内部结构
GRU核心算法计算如式(12)~式(15)所示
rt=σ(Wr·[ht-1,xt])
(12)
zt=σ(Wz·[ht-1,xt])
(13)
(14)
(15)
图3 Bi-GRU结构
Bi-GRU算法核心如式(16)~式(18)所示
(16)
(17)
(18)
2.3 自注意力层
注意力是人脑固有的一种特殊视觉处理方式,依靠这种方式,人将会更多关注自己感兴趣的局部区域,而自动过滤掉无关信息,以此对局部区域进行放大来获得更多细节信息,有效解决了信息量过大导致难以处理等问题。情感分析任务同样如此,通过对局部的语义信息放大,减少对情感分类结果影响较小的文本内容注意力。因此,在模型这层引入注意力机制,其计算如式(19)所示
(19)
其中,在NLP领域中,常使用的是自注意力机制。Key普遍即为Values的值,可以将注意力机制理解为:首先计算Query与Values的相似度,其次使用Softmax函数对权重进行归一化处理,最后将权重与Values进行加权求和,得到最终自注意力计算结果。
2.4 Disout层
特征图扰动(feature map distortion,Disout)算法是由华为提出的一种新型算法,它区别于传统工业界常使用的Dropout[16]正则化方法。Dropout是按一定概率p随机屏蔽掉部分神经元,使其停止工作,减少神经网络模型对该部分神经元的过分依赖。Dropout技术是一种启发式的方法,能部分解决模型过拟合问题,增强其健壮性,但这种方法并不是解决模型过拟合的最优选择。因此,Tang等[7]研究了一种通过计算神经网络中间层的拉德马赫尔复杂度(empirical rademacher complexity,ERC),来评估期望风险和经验风险间的关系,建立泛化误差界限,并在特征映射上引入扰动,降低ERC值,以提高模型泛化能力。图4对比了常规神经网络、使用正则化方法Dropout以及Disout这3种神经网络结构中神经元之间的信号传递。
图4 3种神经网络结构对比
(20)
获取模型训练的最优扰动如式(21)所示
(21)
2.5 全连接情感输出层
Disout层通过扰动神经元,减少了对部分神经元的过分依赖,增强模型的泛化性能,再将隐藏信息H传入全连接层,通过sigmoid函数将经过非线性变化后的分类结果输出。其中输入的文本都会匹配0-1之间的标签分类,结果越接近1,则输入文本预测结果则为积极,反之亦然。分类计算如式(22)
(22)
3 实 验
3.1 数据集
为测试Tri-BiGRU-Atten模型性能,本文使用公开数据集IMDB(www.imdb.com)的50 000条电影影评数据验证模型有效性,其中25 000条正面评价,25 000条负面评价。我们利用正则表达式对数据集进行了相关预处理:清洗掉Html标签、标点符号,输入文本转换为小写、去掉与情感分析任务无意义的相关词汇等,最终数据集包含88 273个词汇。
3.2 实验评估指标
本文提出的Tri-BiGRU-Atten模型实质是应用于NLP领域中的情感分类模型。为验证模型分类的有效性,我们采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)及F1值(F1-Measure)4项指标对于Tri-BiGRU-Atten性能进行评估。衡量分类模型指标的主要成分可以用表1所示的2×2混淆矩阵表示,表1表明了样本集真实标签情况分类与实际预测结果分类之间的相互关系。
表1 混淆矩阵
其中TP表示正类别样本能够正确地被模型预测为正类别的数目;同理,TN表示负类别样本能够正确地被模型预测为负类别的数目;FP表示负类别样本能够错误地被模型预测为正类别的数目;FN表示负类别样本能够错误地被模型预测为负类别的数目。以下4个指标就是在以上这4种样本预测结果的基础上衍生出来的模型衡量指标。
Accuracy即为模型所预测正确的所占的比例。其计算公如式(23)所示
(23)
Precision表示为模型预测为正样本数中,实际为正样本所占的比例。其计算公如式(24)所示
(24)
Recall表示为样本集中的所有正样本数,实际被预测为正样本所占的比例。其计算公如式(25)所示
(25)
现实实验中,Precision和Recall值的一方过高一方过低都会对模型性能优劣造成影响。因此,在二者的基础上引用了F1值,算法上,它是两者的加权平均,它有效解决了样本集分布不平衡所造成的难以评估等情况,F1值是Precision和Recall值的综合评价,本实验中设置的β系数为1,其计算公如式(26)所示
(26)
3.3 实验平台及参数设置
模型数据处理采用了Stanford CoreNLP工具对IMDB数据集进行分词、词性标注、句法依存分析。贯穿整个实验,训练设置的词向量维度为300,其余特征向量维度都是30。其中输入句子的最大长度设置为400,训练中的Batch_Size的大小为32,全连接层正则化L2参数为0.001,实验环境见表2。
表2 实验环境
3.4 实验结果及分析
3.4.1 不同特征组合分析
为验证本文提出的模型在多重特征融合的情况下能够获得最高性能,我们在构建的BiGRU-Atten模型上,对比原始向量(Original)输入,以及单(Single)、双(Double)、三(Triple)通道条件下的特征融合输入见表3。表中W表示原始词向量,T表示词性向量,P表示位置向量,G表示句法依存向量,W+T即表示词特征与词性特征融合。
表3 不同特征融合实验对比
对比实验结果表明,原始文本特征基础上,每附加一种特征能够有效提升模型性能,但通道数较少情况下,收益并不算高。而随着通道数量增加,附加特征种类越多,在结合词向量、位置向量、依存句法向量、词性向量后,能够深度挖掘语义信息,在Accuracy指标上取得最高成绩。三通道条件下的特征融合模型比起原始、单、双通道模型能挖掘更多的语义特征,说明该3种附加词汇特征并不存在特征冗余,词汇特征越丰富对于模型分类性能效果越显著。
3.4.2 不同特征扰动形式
为验证采用Disout技术处理神经网络过拟合方法优于现在常使用的Dropout技术,我们同样在我们所构建的Tri-BiGRU-Atten模型基础上,将Disout层替换为使用Dropout层进行对比实验。Dropout层参数设置为0.5,即随机失活50%的神经元,而Disout层需设置3个参数,dist_prob为0.5,block_size为1,alpha为0.5。其中dist_prob代表元素扰动的概率,block_size为扰动的尺寸大小,alpha即Disout方法特征图扰动的强度大小。实验结果对比见表4。
表4 Dropout与Disout方法对比
利用Disout技术,在3个指标上均高于Dropout方法,仅在Precison率上低了0.2%,因此本模型在特征扰动形式上采用Disout方法,相较于Dropout随机失活神经元的方法也更具备理论支撑。
3.4.3 不同模型评判
如图5所示,本节将构建的Tri-BiGRU-Atten模型与其它模型在IMDB数据集上进行实验比较。相比于传统LSTM、BiLSTM、两层CNN、CNN-LSTM[10]以及文献[13]提出的MA-BGRU模型等,我们模型的性能在Accuracy、Precision、Recall、F1值均高于以上模型,验证我们模型充分挖掘了情感文本的深层语义信息。
图5 不同模型对比
通过上述实验,可以验证本文提出的Tri-BiGRU-Atten模型融合不同词汇特征输入,能够充分提高模型语义信息提取能力。而采用自注意力机制能将更多网络权重分配给情感特征,便于模型下层情感极性分类,Disout技术优于传统特征扰动形式,能更好提高模型泛化性能。在情感分析任务上,我们构建的模型结合了特征融合的多通道双向门控注意力机制取得最优结果,验证本模型可为情感分析任务提供理论依据。
4 结束语
本文提出了一种基于多通道双向门控注意机制的情感分析模型(Tri-BiGRU-Atten),它针对文本情感分析任务能够发挥较好效果。该模型结合人类所认知的词汇、词性、词序位置、句法依存多重特征融合进行建模。考虑到多重特征输入会增加模型复杂度,我们构建了三道并行通道将不同特征相互融合利用双向门控循环单元GRU分别提取上下文隐藏表示,再将提取的隐藏信息进行融合操作,添加注意力机制深度挖掘语义关系,利用Disout技术提高模型鲁棒性,在文本情感分析任务上具备有效性。下一步工作中,我们将对现有模型进一步优化,并尝试融合其它特征进行建模,以提高模型性能。