APP下载

基于BERT与注意力机制的方面级隐式情感分析模型

2023-10-26杨春霞,韩煜

南京信息工程大学学报 2023年5期
关键词:深层注意力语义

0 引言

方面级情感分析(Aspect-Based Sentiment Analysis,ABSA)属于情感分析中的细粒度任务,目的在于预测评论中某个具体方面的情感极性[1].互联网的高速发展大大提升了舆论的产生和传播速度,评论中所包含的情感指向性和应用价值也成为关注的热点[2].在常见的评论句中,存在着不少没有明确情感词的评论,却依旧可以清晰地表达情感.为了与带有明显情感倾向词的方面级显式情感区别开,将此类文本命名为方面级隐式情感.例如"Having USB3 is why I bought this Mini."句中方面词"USB3"并没有对应的情感词,但仍可以清楚地感受到对该方面的积极情感.如今互联网中存在大量类似的委婉评论,而开展方面级隐式情感分析研究可以有效提升对这些评论的理解,从中获得的数据可用于舆论分析、商品价格预测、民众心理分析等.

相比于显式情感,隐式情感的研究主要有以下两个难点:一是缺乏情感词导致情感语义特征不易识别;二是隐式情感与上下文中的主观表达联系更加紧密,导致对语义的理解难度加大.早期隐式情感分析的研究主要基于构建隐式情感数据集或者构建隐式情感词典.Russo等[3]提出在研究的语料中存在着隐含的情感极性,并提供了隐式情感数据集.Choi等[4]通过构造相应的EffectWordNet情感词典,检测到语料中的隐式情感.然而情感词典存在着更新代价大、效率不高等缺点,因此已经逐渐被更加高效的神经网络模型所取代.

为了方便提取句子中的语义信息,目前隐式情感研究通常会对输入句进行词向量化处理.词向量模型主要分为静态和动态两种.静态词向量模型的主要功能是为每个词提供固定的词向量,如Word2Vec[5]和Glove[6]模型,但它们不适用于一词多义的文本,因此出现了动态词向量模型.动态词向量模型能够依据同一个词在不同语境中与其他词之间的联系而建模,并生成对应的词向量,如ELMo[7]模型.近年出现的预训练模型如BERT(Bidirectional Encoder Representations from Transformers)[8]也属于动态词向量模型,Li等[9]利用BERT预训练模型和外部语料库知识来增强模型识别情感语义特征的能力,将方面级文本中的显式与隐式情感标签相匹配,有效地捕获了上下文中的隐含情感知识,得到了更好的方面级隐式情感分类结果.但是该模型需要额外添加方面词遮掩任务才能感知方面词信息,这导致其在使用BERT进行预训练的过程中可能会丢失与方面词相关的上下文信息,并且在后续的编码过程中很难弥补这种损失.

上下文感知模型与注意力(Attention)机制相结合的方法也在隐式情感分析中取得了不错的效果,其主要原理是先对句子中的上下文信息进行建模,再依据不同信息的权重去度量它们的重要程度.Klinger等[10]提出一个共享任务,对一个自动标记的Twitter数据集,要求系统在不需要捕获情感词特征的情况下能够识别其中的情感极性,参赛的前三名都采用BiLSTM与注意力机制相融合的模型,而他们的区别在于:Balazs等[11]采用基于深层的语境化(ELMo)表示编码词语信息;Chronopoulou等[12]使用预训练模型的权重来初始化网络的特定层;Rozental等[13]在大规模文本的基础上训练语言模型并获取词向量作为输入.此外在方面级显式情感分析中,杨春霞等[14]融合深度双向门控循环单元(Deep Bi-directional Gated Recurrent Unit,DBGRU)与注意力机制进行情感分类任务,通过实验说明DBGRU能更加高效地提取深层语义特征.受其启发,本文尝试将DBGRU与注意力机制相融合,用于提取方面级隐式情感中的深层特征.然而一般注意力机制存在无法有效利用深层特征中语境信息的缺点,导致其不能准确提取与方面词相关的深层情感特征.

本文提出一种融合深度双向门控循环单元及语境感知注意力机制的方面词感知BERT(Deep Bi-directional Gated Recurrent Unit Context-Aware Attention Aspect-Aware BERT,DCAB)模型,主要贡献如下:

1)本文改进了基础BERT的输入嵌入部分,构造了方面词感知BERT(Aspect-Aware BERT,AABERT),对句子中方面级隐式情感语料进行了预训练编码.AABERT将方面词作为输入句的相邻句进行预测,通过下一句预测任务,能够在预训练过程中有效捕获与方面词相关的上下文信息,最终获得与方面词相关的动态词向量表示.

2)本文构造了一种语境感知注意力(Context-Aware Attention,CAT)机制,用于关注深层情感特征中与方面词相关的重要信息.对于由DBGRU编码器得到的深层特征向量,CAT机制在一般注意力机制的权重参数中引入了深层语境信息,并添加了一个学习参数来明确每一个隐藏特征向量和深层语境信息对注意力权重大小的影响,有效地捕捉了深度上下文中与方面词相关的语义信息和句法信息.

1 DCAB模型

本文提出的DCAB模型的结构框架如图 1所示,主要组成部分如下:

1)词嵌入层:将输入文本通过AABERT模型进行预训练,生成与方面词相关的动态词向量.

2)DBGRU词向量编码层:将AABERT词向量输入到DBGRU编码器中,提取包含上下文信息的深层特征向量,其中高层的隐藏特征包含上下文中的语义信息,低层的隐藏特征包含上下文中的句法信息.

3)CAT机制层:将DBGRU编码器输出的深层特征向量作为输入,使用CAT机制更加准确地关注上下文中与方面词相关的隐藏特征信息.

4)输出层:对CAT机制层输出的特征向量使用Softmax分类器进行不同情感类别概率的计算.

1.1 词嵌入层

BERT模型主要由输入嵌入、双向Transformer编码器[15]和无监督任务三部分构成,其主要原理是通过额外添加的输出层结合语境进行语义微调,能够联合所有层级中的上下文单词训练双向语义表示[16].其中:输入嵌入负责对输入句子进行标记处理;Transformer编码器是BERT的核心部分,由输入、自注意力和前馈神经网络组成,负责捕捉上下文中各个词之间的特征信息;无监督任务负责对Transformer编码器输出的隐藏向量进行预训练.而自注意力部分是Transformer中最重要的模块,它能够将文本中的每个输入单词依次与其他单词进行建模,从而直接捕获隐藏层状态之间的依赖关系[17].随后将得到的隐藏向量再传递到前馈神经网络部分,进行求和、归一化与前向反馈等流程后,最终得到输出词向量.

方面级隐式情感分析任务的目的是预测句子中给定方面所表达的情感,然而传统的BERT模型无论是输入嵌入、Transformer编码器还是无监督任务部分中都没有能够感知方面词的结构设计,这导致其在预训练过程中可能会丢失与方面词相关的上下文信息.为了解决这个问题,本文考虑从BERT的内部结构进行改进,使其获得方面词感知能力.但在实际情形中发现Transformer编码器和无监督任务部分的结构设计紧凑、逻辑严谨、修改难度较大,如果添加的参数过多很可能会导致模型的复杂度大幅增加,出现过拟合现象,反而会降低原有的优秀建模能力;而输入嵌入部分结构则较为灵活,由于直接与输入句子接触,添加方面词信息更加方便,且在修改的过程中不会影响到BERT原有的建模能力.因此为了使BERT在拥有方面词感知能力的同时保持其优秀的语言建模功能,本文通过修改输入嵌入部分,将BERT调整为能够感知上下文中与方面词相关信息的AABERT.

AABERT的改进主要分为三个步骤:首先,对于输入句子s={w1,w2,…,wn},每次输入结束时的标点符号(比如句号‘.’)可以认为是一个弱分隔符,同时将给定的方面词插入到标点符号和最后的结束标记([SEP])之间,在标记嵌入(Token Embeddings)过程中对所有输入词汇(包括正常词汇和特殊符号)进行嵌入,就能生成对应的标点符号和方面词的位置标记,即提供了一个给定方面词的感知信号.其次在输入中再采用一个显式分隔符[SEP]来分隔输入的句子和方面词,进一步加深给定方面词的信号,它在位置嵌入(Position Embeddings)中的初始化标记与句尾的[SEP]设置相同.最后将方面词的片段嵌入(Segment Embeddings)标记与前句的片段嵌入标记分别设置为A、B,即在嵌入过程中将前句与方面词视为两个不同的句子.其输入部分结构如图2所示.

图2 AABERT输入序列Fig.2 AABERT input sequence

图3 语境感知注意力网络结构Fig.3 Context-aware attention network structure

改进后,输入句的格式被设置为Ik=[CLS]+wk+[SEP]+waspect+[SEP].在预训练过程中,先将输入句嵌入Ik输入到Transformer编码器中进行编码,其过程如式(1)所示:

xk,…,xaspect=TransEnc(Ik)

(1)

其中,xi为输入句单词的隐藏输出向量,xaspect为方面词的隐藏输出向量.再将得到的隐藏向量送入掩码语言模型(Masked Language Model,MLM)和下一句预测(Next Sentence Prediction,NSP)两个无监督任务中来完成词向量的预训练[8].MLM会随机对单词遮掩(mask),让模型通过语境学习被遮掩的单词,它很好地利用了语境中的信息,但是不能直观地判断文本对之间的逻辑关系.而NSP解决了这个问题,它通过判断后句即方面词是否为前句的下一个句子,挖掘了句子之间的逻辑关系,最终捕获了与方面词相关的词向量表示{e1,e2,…,en}.

1.2 深度双向门控循环单元编码层

门控循环单元(Gated Recurrent Unit,GRU)[14]是由长短期记忆网络(Long Short-Term Memory,LSTM)改进而来的,它能够获取文本语境中的语义信息,并且相比于LSTM拥有更高的信息获取效率.但是GRU只能传递某一时刻中词向量序列的语义信息,忽略了全局文本中的语境所带来的影响,而BiGRU解决了这个问题,它由正反向GRU最后一个状态向量连接而成,可以提取正反向时间序列中的隐藏状态.DBGRU由多层BiGRU叠加而来,其中每层BiGRU的输出将作为下一层的输入.本文采用由两层BiGRU组成的DBGRU来进一步挖掘方面级隐式情感语料中的深层语义信息.

GRU的更新公式如下:

zt=σ(Wzet+Uzht-1+bz),

(2)

rt=σ(Wret+Urht-1+br),

(3)

(4)

(5)

BiGRU的计算公式如下:

(6)

(7)

(8)

DBGRU每个单元如下:

(9)

(10)

(11)

1.3 语境感知注意力机制

在方面级语料中往往存在着不少具有情感倾向的词汇,它们对方面的情感极性有着不小的影响.为了提高情感分析的准确率,以往模型通常会采用一般注意力机制捕捉这些情感特征并分配其较大权重,其注意力权重向量uh计算过程如下:

(12)

其中:tanh为激活函数;Wh∈Rn×d为可训练的权重参数矩阵,d为单词嵌入的维度;bh为偏置项.本文在应用一般注意力机制后发现分析效果不太理想,原因可能是:1)本文研究的方面级隐式情感语料与普通的方面级情感语料最大的不同在于句子中没有明显的情感词,这会导致一般注意力机制无法准确地捕获相关词向量;2)DBGRU得到的特征向量为多层,其中含有不同类型的语义和句法信息,而一般注意力权重向量uh仅由一个可训练的参数矩阵Wh控制,错失了有效利用这些深层语境信息的机会.由于注意力机制中最重要的部分是计算权重系数,权重系数越高,此部分信息越重要.因此,为了有效突出方面级隐式情感文本中隐含的重要信息,本文对一般注意力机制进行了改进,将DBGRU中的多层语境信息引入到权重参数中,从而构造了CAT机制.CAT的结构如图 3所示.

(13)

λw=σ(WhVh+CUwVc),

(14)

C=[C1,…,Cl-1],

(15)

(16)

(17)

(18)

1.4 输出层

本文将CAT机制输出的特征向量sh输入到Softmax分类层中,并计算其在不同情感极性中的概率,其计算过程如下:

g=Softmax(Wsh+b),

(19)

其中,W为权重矩阵,b为偏置项,g为模型最终的输出向量.此外,选用了基于L2正则化的交叉熵损失函数作为损失函数,其计算过程如下:

(20)

2 实验

2.1 实验数据集与实验环境

本文选取的方面级隐式情感数据集来自SemEval2014 task4数据集[18]中的隐式情感语料.其中:Restaurant主题中的隐式数据占比达27.47%,被称为餐厅隐式情感表达(Restaurant Implicit Sentiment Expression,Rest_ISE);Laptop主题中的隐式数据占比达30.09%,被称为笔记本电脑隐式情感表达(Laptop Implicit Sentiment Expression,Lap_ISE).这些数据说明ABSA数据集中广泛存在隐式情感语料,值得研究.此外,为了保证本文模型能够充分捕捉方面级隐式情感的特征,引入了数据集Yelp和Amazon[19]用于AABERT的预训练.以上数据集都将语料标记为积极、消极和中性三种情感极性.其具体数据分布如表1所示.

表1 数据集中的样本标签分布

表2 实验环境

本文的实验环境如表 2所示.

2.2 实验参数与评价指标

模型提取方面级隐式情感特征的能力不仅与自身的设计结构相关,还会受到参数设置的影响,合理的参数能够有效提升模型的实验效果,因此参数调优是实验过程中不可或缺的一个步骤.本文在数据集Rest_ISE上以对实验结果影响较大的可调参数随机失活率(Dropout)与DBGRU隐藏层参数维度为例进行分析,使用控制变量法,在两种参数上分别选取了10个大小不同的指标进行对比,每个指标进行了10次反复实验并计算准确率的平均值作为结果.本文从对比实验中选取了具有代表性的5个指标,其实验结果如表3所示.

表3 参数设置对准确率的影响

Dropout在模型训练阶段的前向传播过程中,让某些神经元的激活值以一定的概率停止工作,在一定程度上可以避免过拟合现象.由对比实验可知,DCAB模型的Dropout取值为0.1时模型的准确率较高,其原因在于当Dropout值设置过小时,缓解过拟合现象的能力并不强,而当Dropout值设置过大时,又会使激活值失活较多从而丢失部分特征,导致准确率下降.DBGRU的隐藏层参数维度即提取到的特征维度,由对比实验可知,当隐藏层参数维度设置为128时模型效果较好,其原因在于当隐藏层参数维度过小时,模型的特征提取能力较弱,而当维度过大时,可能会出现过拟合现象,并且模型的训练时间大大增加.

经过对比实验确定DCAB模型的参数后,在数据集Rest_ISE上对模型进行训练.由于本文模型使用了12层Transformer,多头自注意力的个数为12,因此AABERT的隐藏层参数维度为768.当模型参数迭代至最优时需要大约4个Epoch,并且使用了Adam优化器进行优化.模型整体参数如表4所示.

表4 实验参数

本文选取了准确率(Accuracy,A)和F1值作为模型的评价指标,具体公式如下:

(21)

(22)

(23)

(24)

2.3 对比模型

由于目前隐式情感分析研究较少,本文选用了一些常见的显式情感分析模型作为对比模型的补充.对比实验具体模型如下:

1)TD-LSTM[20]:模型将目标信息合并到LSTM中,对句子中的目标及其上下文进行建模.

2)IIIDYT[11]:采用基于深层语境化(ELMo)的嵌入方法,将得到的词向量表示传递到BiLSTM中,再结合注意力机制去提取相关的隐式语义信息.

3)RAM[21]:该模型使用GloVe嵌入,将得到的词向量传递到DBLSTM中编码,再使用注意力机制捕获深层语义特征中的重要信息,最终识别评论句中方面词的情感极性.

4)GloVe+BiGRU+Attention(GBA)[22]:一种融合了BiGRU和注意力机制的模型,能够在Glove词嵌入过程中保留方面词向量的位置信息并消除其位置嵌入.

5)Amobee[13]:使用Transformer遍码器进行预训练,将得到的词向量传递到BiLSTM与注意力机制相结合的框架中分析隐式语料的情感极性.

6)BERT+BiGRU+Attention(BBA)[23]:该模型将BERT模型作为输入层,BiGRU模型作为隐藏层,再结合注意力机制提取其中的重要隐式情感特征,最后用Softmax作为输出层来进行情感分类.

2.4 实验结果与分析

对比实验的结果如表5所示.由表 5可知,在数据集Rest_ISE和Lap_ISE中,本文提出的DCAB模型的准确率和F1值均高于其余基线模型,说明DCAB模型的性能要优于其他基线模型.TD-LSTM仅对目标词及其上下文进行建模,IIIDYT在BiLSTM的基础上加入了注意力机制,在提取上下文隐式情感特征的同时关注了其中与方面词相关的重要信息,因此性能要优于TD-LSTM.RAM在IIIDYT的基础上使用DBLSTM代替BiLSTM作为模型的编码器,它能够提取文本中更深层次的语义特征,所以效果较IIIDYT有所提升.而GBA使用了BiGRU对词向量进行建模,BiGRU相比BiLSTM参数更少更容易收敛,因此GBA模型的精度在一定程度上要优于IIIDYT模型.另外,Amobee和BBA模型都是基于BERT或Transformer结构的模型,Transformer相比于RNN能直接并行计算序列数据,为不同的头分配不同的任务,从而更好地捕捉上下文中隐藏层状态之间的依赖关系,因此性能较其他仅使用RNN结构的模型有了较大提升,进而也说明本文使用AABERT作为预训练模型是合理的.

表5 对比模型分类结果

本文提出的DCAB模型在两个数据集上相比性能最优的基线模型BBA准确率分别提升2.60和1.28个百分点;F1值分别提升4.16和1.58个百分点.其原因在于DCAB模型改进了提取与方面词相关的上下文信息的方法,即使用AABERT预训练模

型生成与方面词相关的词向量,AABERT在基础BERT的输入嵌入结构中引入了方面词,通过在标记嵌入、位置嵌入和片段嵌入中设置特殊标记格式从而加强方面词的信号,使模型获得方面词信息的感知能力,并且构造了语境感知注意力机制学习上下文中与方面词相关的深层特征,CAT机制在分配注意力权重时能够感知上下文隐藏状态中的语义信息和句法信息,更加精准地关注与方面词相关的深层信息.综上所述,DCAB模型是有效的,不仅能够在预训练过程中保留与方面词相关的上下文信息,还能准确提取上下文中与方面词相关的深层特征信息.

2.5 模型分析实验

2.5.1 不同词向量对模型性能的影响

为了验证AABERT预训练模型对文本向量化表示的能力,本文将DCAB中的AABERT词向量模型分别替换为GloVe、ELMo、BERT,并在Rest_ISE数据集上进行对比实验,结果如图4所示.

图4 词嵌入模型对比实验结果Fig.4 Comparative experimental results of word embedding models

图5 注意力机制对比实验结果Fig.5 Comparative experimental results of attention mechanism

由图4可知:GloVe作为静态词向量模型,针对每个输入单词会生成固定的词向量,忽略了一词多义的情况,因此效果较差;ELMo是一种动态词向量模型,它将输入句传递到BiLSTM中,生成的词向量包含了上下文语义信息,所以其性能要优于GloVe;BERT使用了双向Transformer语言模型,并结合MLM和NSP任务,从而生成动态词向量,能够有效解决一词多义的问题,因此效果要优于ELMo;AABERT在BERT的基础上对输入嵌入部分进行了改进,在引入方面词的同时加强了其信号,使模型获得了方面词相关信息的感知能力,因此性能要优于BERT.综上,这组实验说明了AABERT模型的优越性.

2.5.2 不同注意力机制对模型性能的影响

为了验证语境感知注意力机制的有效性,本文移除注意力机制,建立了AD(AABERT+DBGRU)模型;使用传统的注意力机制代替CAT机制,建立了ADA (AABERT+DBGRU+Attention)模型.对比实验结果如图 5所示.

由图 5可知,在两个数据集Rest_ISE和Lap_ISE中,DCAB模型的准确率和F1值相比AD和ADA模型均有所提升,这说明DCAB模型的效果相较于AD和ADA模型要更加优秀.AD模型仅提取词向量中的深层上下文语义特征,效果较差;ADA模型在AD模型的基础上还关注了上下文语义特征中的重要隐式情感特征,效果次之;而DCAB模型在AD模型的基础上使用的CAT机制不仅能够提取上下文中的重要隐式情感特征,还能充分挖掘深层特征中所包含的语义信息与句法信息.这组实验结果说明了语境感知注意力机制的优越性.

2.5.3 实例分析

为了进一步分析DCAB模型捕获的深层隐式情感特征在方面级隐式情感分析中的有效性,本文选取数据集中的几个例句,将本文的DCAB模型与RAM和BBA模型进行实例对比分析,结果如表 6所示.句子中存在的方面词已用下划线标出,其中加粗的单词需要判断隐式情感极性.

从表6中可以看出,第1及第2句中只存在1个方面词,第4及第5句中存在2个方面词.由第1和第2句可知,对情感极性为积极或消极的方面级隐式情感句的判断准确率较低,难度较大,但是本文提出的DCAB模型相比RAM和BBA模型在积极或消极情感句上的性能最优.由第3句可知,3种模型在中性情感句上的判断都比较准确.由第4句可知,RAM和BBA模型准确率较低,本文推测可能是由于存在着显式情感词"good"修饰方面词"battery life",影响了方面词"cord"隐式情感极性的判断;而DCAB的效果较好,其原因在于CAT机制能够关注与给定方面词相关的上下文特征信息,并忽略其他方面词的信息.综上,本文提出的DCAB模型在方面级隐式情感分析任务上有效提高了深层隐式情感特征提取的准确性.

表6 方面级隐式情感句对比

虽然本文模型在总体效果上有一定的提升,但也引入了一些新的问题.由第5句可知,当句子中存在着两个隐式情感的方面词时,DCAB模型会将方面词"online chat"的情感极性误判为消极,可能是受到了整个句子消极情感的影响,这是本文模型的局限所在.

3 结束语

为解决现有模型可能会在预训练过程中丢失方面词信息和提取深层特征信息不准确的问题,本文提出DCAB模型.首先通过AABERT生成与方面词相关的词向量,再通过DBGRU进行编码,接着使用CAT机制感知深层隐藏特征中的语义信息和句法信息,提取上下文中与给定方面词相关的深层特征信息.方面级隐式情感分析的对比实验结果表明,DCAB模型性能优于基线模型.本文没有考虑到更大范围语境的影响,下一步将研究句子层面的信息是如何影响隐式情感的.

猜你喜欢

深层注意力语义
让注意力“飞”回来
考虑各向异性渗流的重力坝深层抗滑稳定分析
语言与语义
SAM系统对TDCS数据的优化处理与深层应用
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
“上”与“下”语义的不对称性及其认知阐释
对“医患失去信任”的深层忧虑
认知范畴模糊与语义模糊
电视节目低俗化的深层反思