刘 欢,窦全胜,2*
(1.山东工商学院 计算机科学与技术学院,山东 烟台 264005;2.山东省高等学校协同创新中心:未来智能计算,山东 烟台 264005)
随着科技的发展,社交网络变得日益繁荣,如何从海量文本信息中挖掘用户所表达的情感,即文本情感分析,引起学者们的广泛关注,成为自然语言处理(Natural Language Processing,NLP)领域的研究热点。情感分析可分为文档级、语句级和方面级三类:文档级和语句级情感分析分别将整篇文档或文档中的具体句子作为分析对象,常用于产品评价[1]、影评[2]等场景的文本内容情感识别;方面级情感分析(Aspect-Based Sentiment Analysis,ABSA)将句子中的单词或短语(通常称之为“方面”(Aspect))作为分析对象,判断其在特定上下文中的情感极性[3]。
本质上,三类情感分析属不同粒度的分类问题,与文档级和语句级情感分析相比,方面级情感分析的粒度更细,通过语句或文档中不同方面的情感极性,可以更细腻分析句子或文档所蕴含的不同情感。方面级情感极性依赖于上下文语境,同一方面在不同上下文语境中的情感极性未必相同。例如,在以下两个例句:“It is a great size and amazing Windows 8 included!”和“Lastly,Windows 8 is annoying.”中都包含方面“Windows 8”,在第一个例句中,其情感极性是积极的,而在第二个例句中却是消极的。同时,在同一上下文中,不同方面的情感极性也未必相同。考察以下语句:“The food,though served with bad service,is actually great”,句中方面“food”的情感极性是积极的,而方面“service”则是消极情感。从以上两个例子可以看出,方面情感极性与方面词所处的上下文及相应语法结构高度相关,如何在模型中利用这些信息进行有效表征,对分析结果有着重要影响。
随着深度学习的发展,基于深度神经网络的方面级情感分析已经成为研究的主流,常用的方法通常以循环神经网络(Recurrent Neural Network,RNN)[4]、长短期记忆(Long Short-Term Memory,LSTM)网络[5]和门控递归单元(Gated Recursive Unit,GRU)[6]等为基础,可以将先前模型处理的信息传递到后续处理中。事实证明,这类模型对于一些简单的时序任务是有效的,但很难有效捕捉复杂自然语句内在的句法结构和相应的邻域信息,而这些信息往往是决定方面情感极性的关键。
本文提出一种嵌入不同邻域表征(Embedding Different Neighborhood Representation,EDNR)的方面级情感分析模型,在BiGRU 编码基础上,加入邻域表征融合层(Neighborhood Representation Fusion Layer,NRF)。通过对方面词上下文的短距离约束获得方面词的邻域信息,同时构造并利用依存句法树,提取评论语句的句法信息,以缩短方面词与描述词之间的距离。融合这两个模块得到的邻域信息以提高情感分析模型的分类性能。在5 个数据集上的结果表明,本文方法的分类性能有明显提高,其中在14Lap 数据集获得的准确率和F1 值分别为77.08%和73.41%,相较于以往研究中的聚合图卷积网络-最大值函数(Aggregated Graph Convolutional Network-MAX,AGCN-MAX)模型提高了2.47 和2.83 个百分点。
情感分析是NLP 领域的重要研究内容,作为情感分析中最具挑战的问题,方面级情感分析一直广受关注。研究初期的代表性工作包括:Han 等[7]提出了一种新的特定领域情感词典生成方法和一个基于词典的情感分析框架,该框架使用所提出的特定领域情感词典生成方法生成特定领域情感词典。Chen 等[8]在已有情感词典基础上,利用主题模型获取新词并扩充情感词典,在情感分析任务中的几个测试数据集上,使用扩充后情感词典的分析结果有了不同程度的性能提升。早期方法多以情感词典为基础,通过模式匹配或传统机器学习方法实现情感分类,但由于自然语言上下文结构复杂,构建相对完备的情感词典并不容易,同时,在某一领域数据上构建的情感词典无法适用于其他领域,制约了这些方法在现实中的应用。
近年来,深度学习被广泛应用在NLP 领域,取得了令人瞩目的效果。方面级情感分析的深度模型通常以LSTM 网络为基础,代表性工作如下。
Tang 等[9]将给定的目标方面视为特征,提出基于目标依赖的长短期记忆(Target-Dependent LSTM,TD-LSTM)神经网络和基于目标关联的长短期记忆(Target-Connection LSTM,TC-LSTM)神经网络,该方法将目标方面与上下文特征连接起来进行方面级情感分析,获得了比LSTM 更好的实验结果。Ruder 等[10]提出了一种层次双向LSTM(Hierarchical Bidirectional LSTM,H-LSTM)分析模型,单词嵌入被输入到句子级双向LSTM 中,前向和后向LSTM 的最终状态与方面嵌入连接在一起。在每一个时间步,LSTM 正向和反向的输出被串联并馈送到最后一层,该层输出情绪的概率分布。
从结果上可知,这类模型可以对含有序列信息的句子进行有效表达,但句子不是简单序列,影响方面情感极性的关键点并不一定是离方面词较近的上下文特征。
在最近研究中,注意力机制也常被用于情感分析任务中以改善基于LSTM 模型的不足,将注意力集中在句子的关键部分可在一定程度上增强句子表达能力。Ma 等[11]提出了一种交互式注意力网络(Interactive Attention Network,IAN),使用两个注意力网络以获得正确判断方面级情感极性的重要特征。Tang 等[12]提出了深度记忆网络模型,该模型包括具有共享参数的多个计算层,每个层是基于上下文和位置的注意力机制模块,在推断某个方面的情感极性时,捕捉并利用该方面上下文信息,进而提高情感极性决策的准确性。李苑等[13]提出基于注意力的卷积-递归神经网络模型,以解决词语在不同上下文中的差异问题。
基于注意力机制的方面情感模型可以关注给定目标的特征信息,针对不同目标可以有效调整神经网络的最优参数。然而由于高度关注给定目标自身信息,这类模型通常无法对长度较短的自然语句进行有效判别。
针对上述注意力模型的不足,Xue 等[14]提出一种基于卷积神经网络(Convolutional Neural Network,CNN)和门控机制的网络模型,其门控Tanh-ReLU 单元(Gated Tanh-ReLU Unit,GTRU)可以根据给定方面或实体选择性地输出情感特征,该架构比现有模型中使用的注意力层简单。刘全等[15]提出一个深度分层网络模型,通过区域CNN 获得句子的时序关系,运用分层LSTM 获取句子内部之间的关系,以提高模型分类结果。赵亚欧等[16]提出了一种融合词嵌入和多尺度CNN 的情感分析模型,采用预训练的字符向量初始化ELMo(Embeddings from Language Models)嵌入层,并利用多尺度卷积神经网络对特征进行深层提取。
对于长度较短的语句,这类基于CNN 的方面情感分析模型可有效提取局部特征,并运用多种方法将方面信息嵌入到句子表示中,但是却容易忽略句子的句法结构,即当方面词与其情感描述词相距较远时,很难确定其情感极性。
针对上述问题,现有的其他情感分析模型引入了语句的语法信息或其他辅助信息。主要工作有:Sun 等[17]为判断方面词的情感极性,构造针对方面词的辅助句,将方面级情感分析任务转换为句子对分类任务,利用BERT(Bidirectional Encoder Representations from Transformers)模型并进行微调,在数据集SentiHood 和SemEval2014 Task 4 上取得较好的结果。针对现有方法难以有效捕捉长距离的依赖性,Zhao等[18]提出聚合图卷积网络(Aggregated Graph Convolutional Network,AGCN)以增强目标节点的表示能力。AGCN 引入了均值聚合函数和最大聚合函数来更新节点的特征表示,并采用注意力机制来获得不同节点的依赖信息。在中文和英文数据集上的实验结果表明,AGCN 的分类结果优于其他基于GCN 的模型。
受上文启发,本文提出嵌入不同邻域表征(EDNR)的方面级情感分析模型:结合将近邻策略和CNN 捕捉方面邻域信息,并引入语法信息,通过图卷积神经网络(Graph Convolutional Network,GCN)获取句法邻域信息。将这两种邻域信息融合后,运用屏蔽机制,与隐层输出向量做注意力机制,即可预测方面情感极性。
不妨用S=s1s2…sn表示由n个单词构成的任意自然语句,其中si(i=1,2,…,n) 为S中的第i个单词,且句子中一段连续且具有单一具体语义的单词子串A=sk…sk+m(m≥0)被称为方面(Aspect)。S的低维嵌入记,其中dim是词向量的嵌入维度。
利用自然语言处理库spaCy 容易获得S的语法分析树TreeS,例如句子“The food,though served with bad service,is actually great.”的语法树如图1 所示。
图1 依存关系示例Fig.1 Example of dependency
在TreeS中,称与单词si对应节点相连接边的个数di为节点si的度,由TreeS容易获得语句S的语法邻接矩阵WS=中任意元素由下式定义:
显然WS与S语法结构有关,它反映的是S中任意两个单词si与sj在语法层面上的联系,与单词在句中的位置无直接关系。
WS为语句S的语法邻接矩阵,称κS为S的信息评估系数。由式(2)可知,κS系数可用来评估语句中上下文信息或语法依赖信息对方面情感极性的影响。
上述所得语句S的低维嵌入E和关系矩阵WS作为EDNR 的输入,利用BiGRU 获得语句的序列化信息表示,通过融合方面局部信息和语法结构上的信息特征,获取方面词在不同层面的邻域信息,最终可获得S中某一具体方面A的情感极性分布概率。EDNR 模型整体架构如图2 所示,由信息表示层、邻域表征融合层、特征提取层和决策输出层构成。以下就EDNR 模型每个层次结构细节及信息处理过程进行描述。
EDNR 模型的信息表示层采用双向门控循环单元(Bidirectional Gated Recurrent Unit,BiGRU)将低维词嵌入向量[e1,e2,…,en]进行序列化表示,并将得到的特征向量H传递给邻域表征融合层进行下一步处理。
在方面情感分析任务中,仅依靠上下文信息不能满足分析的需要,自然语句通常具有更加复杂结构,判断方面情感极性的关键点是捕捉语句中描述方面的单词特征,本文的EDNR 模型不仅考虑方面邻域的特征信息,同时融合句子在语法结构中相邻节点的邻域特征,获取了方面词在物理层面和语法结构上的邻域依赖信息,提高了文本的特征表达能力。邻域表征融合层包括方面邻域表征模块和语法邻域表征模块,处理过程如下:
2.2.1 方面邻域表征模块
方面邻域表征(Aspect Neighborhood Representation,ANR)模块是利用CNN 提取句子更深层的局部特征信息,将信息表示层的输出特征H输入到CNN 之前,先对其使用近邻策略(Nearest Neighbor Strategy,NeNS),以捕捉方面邻域信息,使得离方面词较近的关键信息可获得较大的权重,具体实施细则如下所示。
设语句S=其 中A=sk…sk+m为方面,则S中任意非方面词si(i∉[k,k+m])对A的影响权值ui可通过式(4)计算:
通过近邻策略可得到方面词与其他词位置关系的权重大小,且将其与表示层特征信息进行融合,即如下所示:
其中:hi为BiGRU 模型编码后的输出表示;符号*表示乘积运算;vi是使用近邻策略后的特征向量表示。
在使用近邻策略得到方面词与上下文单词的相对位置编码后,利用CNN 进一步抽取得到的特征信息,计算公式如式(6)所示:
该模块不仅使用近邻策略获取方面词与上下文之间的位置关系,且利用CNN 模型提取更深层的特征信息,以提高方面情感极性的分类结果。
2.2.2 语法邻域表征模块
若仅依赖方面邻域信息并不能解决语句中方面词与其描述词相距较远的情况,因而语法邻域表征(Syntax Neighborhood Representation,SNR)模块利用依存句法树为语句生成相应邻接矩阵WS,可有效缩短方面词和其描述词之间的距离,且使用l层GCN 对文本数据进行表示。
GCN 将BiGRU 输出H和S的邻接矩阵WS作为网络输入,在第l=0 层时,图卷积网络输入的节点信息为=hj,则第l+1 层的第i个神经元的输出由式(7)确定:
其中:Wl是参数矩阵是第l层第j个神经元的输出表示;bl是偏置项;φ(·)是一个非线性激活函数;GCN 最终输出G=
语法邻域表征模块是通过依存句法树获取评论语句的语法信息,且将生成的邻接矩阵作为GCN 的输入,并捕捉单词在语法结构上的邻域信息。
将两个模块的输出表示进行点积操作,点积可用于测量方面A和句子中其他单词si的语义相关性,如式(8)所示:
由式(8)得两个模块融合后的特征向量为λ=[λ1;λ2;…;λn],λ融合句子中给定方面词的邻域信息和单词的语法结构信息。
令1A为与方面词A相关的位置标记向量,且满足如下定义:
为了减少非方面词对情感分析任务的影响,在得到λ之后,加入Mask 机制,以屏蔽掉非方面词的隐藏状态向量,如式(10)所示:
邻域表征融合层融合ANR 模块和SNR 模块捕捉的文本信息,并使用一个位置标记向量,避免非方面词的相关信息影响方面情感极性的判断。
特征提取层使用注意力机制,并为句子中每个单词设置相应的注意力权重使所产生的向量γt从隐藏状态向量H中提取与方面词A语义相关的重要信息,如式(11)是每个单词注意力权重的计算公式。
其中τt是计算后每个单词的注意力权重,最终的向量表示如式(12)所示。
由式(12)可知,ht是信息表示层的编码输出,f是EDNR模型中特征提取层的最终表示。
决策输出层将最终文本表示f输入到Softmax 函数进行分类,如式(13)所示,即可得到评论语句中所对应目标方面情感极性的输出。
本文的损失函数由训练时预测和真实标签分布的交叉熵定义,如式(14)所示。
其中:N为数据集样本量;C为标签数量;yiμ是真实标签;为情感极性预测的结果。
上述是对EDNR 模型的整体结构描述,其中邻域表征融合层提取文本中给定方面词的不同邻域信息,旨在提高方面级情感分析模型的分类结果。下面在5 个数据集上进行实验,以验证EDNR 模型的有效性。
将EDNR 模型在5 个公共数据集上进行实验,其中14Lap 和14Rest 来自SemEval 2014 task 4[19],15Rest 和16Rest分别来自SemEval 2015 task 12[20]和SemEval 2016 task 5[21],第5 个是Twitter 数据集[22]。5 个数据集的统计情况如表1 所示。这些数据集主要用于细粒度情感分析,大体可分为三个领域的用户评论数据,其中每一条评论数据包括评论语句、目标方面项和其目标方面对应的情感极性。情感极性主要分为积极的(Positive)、消积的(Negative)和中立的(Neutral),可在数据样本中用1、-1 和0 进行表示。
表1 数据集按类别标签分类的分布情况Tab.1 Distribution of datasets classified by class labels
文中使用300d GloVe[23]预训练模型初始化单词嵌入,实验参数设置如表2 所示。由表2 可知,隐藏状态向量的维数设置为300,批量大小设置为32;本文采用Adam 对模型进行优化,学习率设置为0.001;Dropout 层丢失率设置为0.6;将迭代次数设置为50,并在随机初始化的情况下进行5 次相同的实验,根据实验结果计算测试集上所有指标的平均最大值。
表2 参数设置Tab.2 Parameter setting
本文选取正确率(Accuracy,Acc)和F1 值(F1)作为评价指标,正确率是指预测正确的样本数与总样本数的比值,F1值可以对模型进行综合衡量。具体计算如下所示:
其中:Ttrue指预测正确的样本数,Ssum指总的样本数;pre表示精度,即预测为正例的样本中实际也是正例的比例;rec表示召回率,即预测的样本中有多少个正例被预测为是正例的比例。
为研究GCN 层数对情感分析任务的影响,在Twitter 和14Lap 数据集上根据正确率和F1 值确定GCN 在EDNR 模型的合理层数,实验结果如图3 所示。
从图3 可知,实验设置GCN 层数范围从1 到10,当l为3时,这两个数据集在指标正确率和F1 值上均达到最大值,即EDNR 模型获得最佳性能。当l较小时,这两个指标都呈现缓慢增长的趋势,但模型可能无法获得更加全面的语句信息;当l>3 时,这两个指标都呈现出下降趋势,主要原因可能是由于模型层数增多、参数量增大而变得难以训练或出现过拟合现象。
图3 GCN层数对EDNR模型的影响Fig.3 Influence of GCN layers on EDNR model
3.3.1 消融实验及分析
为了验证EDNR 模型中每个组成部分对情感分析任务的有效性,在5 个数据集上进行相应的消融实验,实验结果如表3 所示。其中:“BA”表示本文模型去掉NRF 层的基线模型;“+SNR”表示基于BA 模型添加SNR 模块;“+ANR”代表基于BA 模型添加ANR 模块。
表3 消融模型在5个数据集上的实验结果对比 单位:%Tab.3 Comparison of experimental results of ablation models on five datasets unit:%
由表3 可知,相较于其他3 个模型,EDNR 模型的正确率和F1 值有明显提高。在数据集14Lap 上,添加SNR 模块后的模型正确率提升了4.78 个百分点,F1 值提升了5.87 个百分点,表明SNR 模块将语句的语法信息与GCN 结合,可以捕捉单词在特定语境中的依存关系,以获得更好的句子表示。添加ANR 模块后,在数据集14Rest、15Rest、14Lap 和Twitter上,该模型的正确率和F1 值都有所提高,而在数据集16Rest上有所下降,这表明模块ANR 对于数据集中包含较多的目标方面词与情感描述词相近的句子,可以充分捕捉方面词邻近语境的特征信息,且近邻策略对判断目标方面的情感极性也产生一定的重要影响,而对于数据集16Rest 中的语句可能对方面词的邻域特征信息不够敏感,导致正确率和F1 值有所下降。EDNR 模型将模块SNR 和模块ANR 的表征信息进行融合,以有效提取方面和语句在句法结构中的邻域信息,提升文本表达能力,提高方面级情感分析模型的分类结果。
3.3.2 对比实验及分析
在5 个不同数据集上进行情感分析任务的实验中,将以下所列基线模型与本文的EDNR 模型进行对比实验,以正确率与F1 值作为评价指标,实验结果如表4 所示。
表4 不同模型在5个数据集上的实验结果对比 单位:%Tab.4 Comparison of experimental results of different models on five datasets unit:%
1)TD-LSTM[9]:在细粒度情感分析任务中,将单词按语序输入到模型中,利用两个LSTM 分别对方面的左侧和右侧上下文进行建模,以预测给定方面的情感极性。
2)TNet-LF(Transformation Networks-Lossless Forwarding)[24]:利用双向LSTM 模型进行上下文的表示,并实现一种上下文保存变换(Context-Preserving Transformation,CPT)机制来获得特定方面的单词表示,以保存和加强语境信息,并使用CNN获得句子表示。
3)IAN[11]:将词嵌入作为输入,利用两个LSTM 网络对目标方面和句子上下文进行特征表示,然后分别使用目标方面对上下文和上下文对目标方面的注意力机制,捕获重要特征信息,最终通过Softmax 函数预测情感极性。
4)MemNet[12]:引入深度记忆网络来实现注意力机制,以学习上下文单词与方面词的相关性,并根据最后的输出表示预测情感倾向。
5)BERT-pair-QA-M[17]:将方面级情感分析转换为句子对分类任务,并对预训练模型BERT 进行微调,提高模型的分类结果。
6)AGCN[18]:引入两个聚合函数来表示节点的邻域信息,并使用注意力机制捕获节点之间的依赖关系。其中,两种聚合函数分别为均值(MEAN)聚合函数和最大(MAX)聚合函数。
实验分析如下:
1)与性能较优的模型TNet-LF 相比,在数据集14Lap 上,EDNR 模型的正确率提升了2.47 个百分点,F1 值提升了3.27 个百分点,表明EDNR 模型中将不同邻域信息融合后对情感分析任务的有效性。
TD-LSTM 模型可以提取与语序高度相关的上下文信息,但在方面级情感分析任务中缺乏判断方面情感极性的关键内容信息。TNet-LF 模型在可以获得双向语序信息的BiLSTM 基础上,加入了给定方面的特征表示,并使用CNN 提取方面的显著特征,但未能考虑到语法信息对于判断方面级情感极性的影响。EDNR 模型提出的邻域表征融合层可有效解决上述问题,而且从实验数据中可知,本文的EDNR 模型在5 个公共数据集上的正确率和F1 值都取得了比上述两个模型更好的结果。
2)在5 个公共数据集上,EDNR 比MemNet 模型和IAN 模型在正确率上高了2.01~6.44 个百分点,在F1 值上提高了1.99~16.62 个百分点,而模型MemNet 和IAN 的正确率和F1值不相上下。
MemNet 模型将目标方面与它的上下文的单词嵌入做注意力机制,关注方面词在单词嵌入向量中的重要特征。IAN模型通过LSTM 分别用来获取目标方面和上下文的注意力权重,以获得一个交互注意网络,提高模型分类结果。这类模型特别关注方面词的上下文信息,能在一定程度上取得较好效果,但无法应对目标方面和描述词较远的句子或者语句较短的情况。本文的EDNR 模型将不同层面的邻域信息进行融合,并与隐层向量做注意力机制来进行情感分类,表明了不同邻域信息对方面级情感分析任务的有效性。
3)由表4 可知,与模型BERT-pair-QA-M、AGCN-MEAN 和AGCN-MAX 相 比,EDNR 模型在数据集14Rest、16Rest 和Twitter 上获得了最优的结果,相较于次优结果正确率提高了0.29~0.65 个百分点,F1 值提高了0.32~1.4 个百分点。BERT-pair-QA-M 模型在数据集15Rest 和14Lap 相较于次优结果正确率提升了1.13~1.27 个百分点,F1 值提升了0.15~2.41 个百分点,验证了BERT-pair-QA-M 模型和本文EDNR模型在方面级情感分析任务中的有效性。BERT-pair-QA-M构造了一个辅助句,并微调BERT 模型来提取语句的深层特征信息,但由表5 可知,相较于其他模型,该模型拥有最高的参数量,这会导致预训练模型需要更高的硬件设备和内存,也会在训练中花费较长时间,而本文EDNR 模型参数量少,且在方面级情感分析任务中取得了较好的结果。在数据集Twitter 上,AGCN-MEAN 模型的F1 值获得了次优结果。模型AGCN-MAX 在数据集15Rest 的正确率获得次优结果。在数据 集14Rest、14Lap 和16Rest 上,模型EDNR 相较于模 型AGCN-MEAN 和模型AGCN-MAX 取得了较优的实验结果。总的来说,模型EDNR 与模型AGCN-MEAN 和AGCN-MAX 的整体性能相当。
表5 不同模型在数据集15Rest上的参数量大小对比Tab.5 Comparison of parameter sizes of different models on dataset 15Rest
3.3.3κS系数对模型的特征评价
为了研究上述信息评估系数(κS)对EDNR 模型和去掉GCN 后模型正确率的影响。15Rest 的测试集中,本文根据每个样本的邻接矩阵计算出κS系数,并设置8 个区间,求得每个区间的中位数,使其为横坐标刻度,且为每个区间随机挑选10 个样本,计算样本正确率的平均值,实验结果如图4所示。
图4 中,随κS系数增长,折线图为样本在EDNR 模型和去掉GCN 后模型上的正确率变化情况,柱状图则是两条折线的数值差距。由图4 可知:当κS系数比较小时,删除GCN后的模型正确率较低,与EDNR 模型的正确率数值差距较大;而当κS系数较大时,两个模型的正确率数值几乎相近。由此可得,κS系数较小时,评论语句的语法信息对于判断情感极性的正确与否影响较大;而当κS系数较大时,情感极性的判断更多依赖于语句的上下文信息。
图4 κS系数对不同模型的影响Fig.4 Influence of κS coefficient on different models
在情感分析任务中,某些评价语句的描述词与方面词的距离不定,导致判断情感极性时,可能会将方面与不相关的特征信息关联起来,难以捕获有效信息。针对上述问题,本文提出了一种嵌入不同邻域表征的方面级情感分析模型。模型中利用邻域表征融合层来获取方面和句法邻域信息,并通过注意力机制捕捉文本数据的关键信息,提高了方面级情感分析模型性能。实验结果表明,EDNR 模型在5 个数据集上确实能够提高情感分析任务的性能。在今后的工作中,可将特定领域的相关信息作为外部知识嵌入到本文方法中,进一步提高模型的分类性能。