APP下载

用于方面情感分析的结合图卷积神经网络的注意力模型

2022-09-05赵志影邵新慧

中文信息学报 2022年7期
关键词:句法注意力神经网络

赵志影,邵新慧,林 幸

(东北大学 理学院,辽宁 沈阳 110000)

0 引言

随着社交媒体网站的出现和在线评论数据的迅速增长,情感分析(或观点挖掘)[1-2]已成为自然语言处理领域中最受关注的任务之一。情感分析是利用在线社交媒体(如博客、论坛、微博、电子商务平台等)数据分析人们对某一产品或事件的观点和情感。作为一项基础性研究,其在文本挖掘[3]、信息检索[4]、智能推荐系统[5]和人机交互[6]等任务中也得到了广泛应用。在生产生活中,情感分析应用于消费产品、服务、医疗保健、社会事件和选举等领域,已成为各行业发展进步的重要推力[7]。

特定方面情感分析(Aspect-based Sentiment Analysis,ABSA)[1]首先是提取方面,再对其情感极性进行分类和聚合[8]。本文只研究特定方面的情感极性分类,不研究方面提取。ABSA旨在利用自然语言处理技术识别同一评论中特定方面对应的情感极性,例如,“The fish is fresh but the variety of fish is nothing out of ordinary.”,方面“fish”的情感极性是积极的,而方面“variety of fish”却是消极的,二者具有相反的情感极性。传统的情感分析任务主要是推断整个句子的情感极性,当句子中出现上述情况时,其整体情感极性是复杂且难以计算的。在实际生活应用中,同一个评论往往包含多个评论方面,需要提取出更加细粒度的信息。所以,特定方面情感分析研究更具有实际应用价值。

在早期,传统的机器学习方法在情感分析中取得了较好的分类效果,如支持向量机(Support Vector Machine,SVM)[9],但是需要大量的人工特征提取工作。随着深度学习在自然语言处理领域的成功应用,各类深度学习模型在特定方面情感分析任务中也取得了更好的效果。

现有方法大多通过设计有效的神经网络模型获取特定方面的语义特征和上下文信息,进而生成基于特定方面的向量表示,提高情感分析的分类效果[10-19]。卷积神经网络(Convolutional Neural Network,CNN)因其高效的局部特征提取能力以及没有时间依赖性[11],在特定方面情感分析任务中也有较多应用,如GCAE[12]、 PWCN[13]等。但是,由于CNN是以卷积核为计算单位提取特征,忽略了句子的全局信息,因此,分类效果受到了一定的影响。结合注意力机制或记忆网络的循环神经网络(Recurrent Neural Network,RNN)是特定方面情感分析任务中常用的深度学习算法之一,如TD-LSTM[14]、TC-LSTM[14]、ATAE-LSTM[15]、IAN[16]、RAM[17]、TNet[18]、CAN[19]等。大多数方法通过RNN捕获句子的序列特征,并利用注意力机制的语义对齐性进一步挖掘特定方面和上下文的隐含信息,进而获得语义更加丰富的句子表示。但是,RNN缺乏提取句子句法特征和结构信息的能力,而在特定方面情感分析中,由于个人表达方式、语法等因素,距特定方面较近的一般为“the”“a”等语义无关的修饰词,而情感词与之距离相对较远,可能导致RNN将重要的情感信息“忘记”。此外,单一的注意力可能会为与特定方面无关的单词赋予较大的权重,引入一定的噪声[15,18],降低模型的准确率。

针对上述问题,本文提出一种基于图卷积神经网络的注意力模型(GCN-aware Attention Networks, GCAN),主要贡献如下:

(1) 引入了基于句法分析树的图卷积神经网络,以挖掘句子的句法特征和结构信息,从而更好地将全局信息整合到特定方面的向量表示中。

(2) 提出了两种方式进行方面的特征融合: 在利用GCN提取句法特征之前先通过LSTM捕获句子序列信息的级联融合方式,以及在聚合特征之前同时提取句法特征和序列信息的并行融合方式,有效地丰富了特定方面的特征表示。

(3) 介绍了一种基于特定方面的双向注意力机制,捕获方面和上下文之间的隐含特征,获得更准确的基于特定方面的上下文表示,解决了特定方面包含多个单词的问题。

(4) 相较于现有的结合注意力机制的循环神经网络模型,本文提出的GCAN在Twitter数据集和SemEval14/15/16数据集上均取得了较好的分类效果,进一步验证了句法信息和交互信息对特定方面情感分析的预测准确率具有积极作用。

1 相关工作

特定方面情感分析是一类细粒度情感分析任务,现有的研究方法大体可以分为基于知识、基于机器学习和基于深度学习三类方法。

基于知识的方法主要是通过构建词典[20]、本体[21]或规则[22]等来推断特定方面的情感极性。例如,当同一句子包含多个方面时,文献[20]将句子分割成多个子句,并将其与各个方面进行匹配,再根据构建的情感词典来确定特定方面的情感极性;为减少人工操作,文献[21]提出了一种半自动化构造本体库的方法,并融合语义信息来提高情感分类的准确性;文献[22]设计了一种基于依存关系的规则,并将词典作为额外的参考进行情感分析。传统的机器学习方法在ABSA任务中有较好的表现,大多数方法主要通过提取描述上下文和方面之间的相关特征,将其输入到分类器中进行情感极性分类[9,23]。例如,利用词性、依存关系、特定方面的上下文信息等特征训练SVM线性分类器进行情感分析[9]。Jiang等人通过将“与特定方面无关的特征”分类方法和引入“方面相关的特征”分类方法进行对比,表明了特定方面在该任务的重要作用[23]。但是可以发现,这两类方法的分类性能在很大程度上取决于知识和特征的质量,且耗时耗力。

近年来,深度学习方法被广泛应用于特定方面情感分析任务中,主要分为基于循环神经网络的方法和基于卷积神经网络的方法。

基于RNN的方法通过捕获评论数据的序列信息,以保留重要的上下文信息。例如,在文献[14]中,Tang等人首次将长短时记忆网络(Long Short-Term Memory,LSTM)应用到特定方面的情感分析任务中,并提出三个模型,但LSTM模型并未考虑方面的影响,直接将最后输出的隐含向量用于分类;TD-LSTM模型以特定方面为界,将上下文分为左右两个部分,分别利用LSTM进行处理;而TC-LSTM模型则将每个单词与特定方面直接串联,再利用LSTM进行分类。随着注意力机制在机器翻译中的成功应用[24],现有方法将注意力机制引入深度学习模型,用于特定方面情感分析任务,取得了很好的分类效果。Wang等人在TC-LSTM模型的基础上结合注意力机制,通过计算特定方面和上下文单词的语义相关性来为上下文单词赋予不同的权重,增强方面对情感分类的影响[15];在文献[16]中,Ma等人利用LSTM分别对方面和上下文进行建模,并利用注意力机制提取二者之间的隐含信息,获得更精准的方面表示和上下文表示,最后将二者直接串联进行分类;与其相似的工作还有文献[25],Fan等人在文献[16]的基础上加入一个细粒度注意力机制,构造了一个多粒度注意力网络模型,并通过方面对齐损失来区分同一句子带有不同情感极性的方面之间的上下文注意力权重;Hu等人通过对同一句子中多个方面共同建模,以降低注意力机制在ABSA任务中引入的噪声[19]。还有一部分工作是基于CNN[12-13]构建模型,如Xue等人提出基于门控机制和卷积神经网络的模型,利用卷积核计算多粒度语法特征,并利用门控机制更新掉不相关的特征[12]。

近期,图卷积神经网络(Graph Convolutional Network,GCN)在各个自然语言任务中取得了良好的成绩,如神经机器翻译[26]、文本分类[27]、语义角色标注[28]、自然语言推理[29]和命名实体识别[30]等,也包括ABSA任务[31-32],例如,Zhang等人首次在ABSA任务中引入GCN解决句子的单词长距离依赖问题[31];Huang等人将图注意力神经网络(Graph Attention Network,GAT)首次应用到ABSA任务中,以获得上下文节点对方面节点的贡献度[32]。本文提出的GCAN模型首先通过LSTM获得句子的重要序列信息,然后利用GCN捕获句子的句法特征,并提出两种方法融合序列信息和句法特征,获得特定方面的特征表示。

此外,在各个数据集中,特定方面可能包含多个单词,每个单词对特定方面的重要程度不同。为了减少介词(例如特定方面 “variety of fish”中的“of”)等修饰词对特定方面的影响,以及充分利用特定方面的关键词来学习上下文表示,我们用一种双向注意力机制对方面和上下文进行建模,来捕获二者之间的隐含信息,以得到更全面的句子表示。

2 模型

本节主要介绍GCAN模型的总体框架和相关细节,模型框架如图1所示,主要包括词嵌入层、特定方面表示层、双向注意力层和情感分类层。

图1 GCAN模型框架

2.1 词嵌入层

给定句子S和方面T,其中,S={w1,…,wa+1,…,wa+q,…,wn}包含n个单词,T={wa+1,…,wa+q}包含q个单词,我们的主要目的是计算特定方面T在句子S中的情感极性。首先,本文以词为单位,通过词嵌入层将每一个单词映射成低维空间中的连续实值向量[10],获得文本的词向量表示V={v1,…,va+1,…,va+q,…,vn},其中vt∈Rdemb,demb是词嵌入的维度。

2.2 特定方面表示层

Jiang等人指出了“方面”在ABSA任务中的重要作用[23]。因此,为获得各全面的方面特征表示,本文通过LSTM提取数据序列信息,并引入GCN捕获具有句法特征的节点表示。在此基础上,提出两种方法融合序列信息和句法特征,并利用示性函数得到特定方面的最终表示。

2.2.1 长短时记忆网络

本文在词嵌入层的基础上利用LSTM[33]对句子进一步编码,提取每个单词的上下文信息。LSTM作为一个序列感知函数,在t时刻,给定输入xt,单向LSTM网络的更新过程如式(1)~式(5)所示。

其中,ht-1是前一时刻输出的隐藏向量,i、f和o分别是输入门、忘记门和输出门,σ表示sigmoid函数,W和b分别表示各类门的权重矩阵和偏置。符号“·”代表矩阵乘法,符号“⊗”是矩阵对应元素相乘。

因此,我们使用LSTM得到句子的上下文隐藏输出为Hhid={h1,…,ha+1,…,ha+q,…,hn},其中ht∈Rdhid,dhid为隐藏状态的维度。

2.2.2 图卷积神经网络

GCN[34]是通过在句法依存树的基础上沿依赖路径将邻居节点信息聚合到目标节点,进而捕捉输入句子的句法特征,以“great food but the service was dreadful”为例。如图2所示,首先通过构造给定句子的依存关系树,得到单词之间的依赖关系,在这里,由于有向图邻接矩阵具有稀疏性,本文不考虑图中各个边的方向,获得邻接矩阵A,并且每个节点进行自连接,即A的对角线值均为1。然后使用具有规范化因子的图卷积运算更新每个节点的表示[34]。其中,对于第t个节点,给定上一层的输出xt作为GCN的输入,节点信息的更新过程如式(6)~式(8)所示。

图2 图卷积神经网络

2.2.3 特定方面特征融合

本文提出两种特定方面特征融合方法(Aspect-specific Feature Fusion,ASFF),将序列信息和句法特征相结合,从而显著提高特定方面表示的效果。

(1) 并行融合方式

特定方面特征并行融合(Aspect-specific Feature Fusion with Parallel Pattern,ASFF-P)是在词嵌入层的基础上分别利用LSTM和GCN编码句子的序列信息和句法特征,然后把二者聚合作为特定方面的表示,如图3所示。

图3 特定方面特征并行融合

并行融合的具体计算如式(9)所示。

(2) 级联融合方式

特定方面特征级联融合(Aspect-specific Feature Fusion with Cascaded Pattern,ASFF-C)是在词嵌入层的基础上先利用LSTM提取序列信息,然后将得到的特征向量作为GCN的输入,再得到最后的结果,如图4所示。

图4 特定方面特征级联融合

在t时刻,GCN的初始输入为LSTM的输出,即:

(11)

2.2.4 特定方面节点标记

在这一层,我们利用示性函数mask将上下文单词节点覆盖为0,只留取方面的节点,具体如式(12)所示。

(12)

因此,我们得到特定方面的特征表示如式(13)所示。

(13)

2.3 双向注意力机制

当特定方面包含多个单词时,直接使用特定方面的平均向量来计算上下文的注意力分数,将会增加特定方面中修饰词对特定方面的干扰。因此,本文在模型中引入了一个双向注意力机制(Bidirectional Attention,Bi-Attention),如图5所示。

图5 Bi-Attention框架

2.3.1 上下文对方面的注意力

我们先利用上下文对方面的注意力(Context To Aspect Attention,CTA-Attention)确定特定方面的关键词。首先,我们对上下文向量进行平均池化,然后利用注意力机制获得同一个特定方面中的各个单词的重要程度。注意力权重计算过程如式(13)~式(15)所示。

其中,W∈Rdhid×dhid为注意力参数矩阵。因此,特定方面的最终表示如式(16)所示。

2.3.2 方面对上下文的注意力

在获得特定方面最终表示后,我们可以利用方面对上下文的注意力(Aspect To Context Attention,ATC-Attention)获得更加精准的基于特定方面的上下文表示,具体计算过程如式(17)、式(18)所示。

其中,f()和式(11)相同。至此,我们使用最终表示r作为双向注意力机制的输出以进行情感分类。

2.4 情感分类器

得到基于特定方面的表示r后,我们使用全连接层和softmax函数进行分类,得出将其映射到不同情感极性上的概率,如式(19)所示。

其中,p∈Rdp,Wp∈Rdp×dh和bp∈Rdp×1分别为全连接层的权重和偏置。

2.5 模型训练

和其他模型类似,我们使用带有L2正则项的交叉熵损失函数作为我们的目标函数,如式(20)所示。

3 实验

3.1 数据集

本文分别在Twitter数据集等五个数据集[35-38]上进行实验,以验证我们模型的有效性。其中,Lap14数据集和Rest14数据集来自SemEval14 Task4[36],Rest15数据集来自SemEval15 Task12[37],Rest16数据集来自SemEval16 Task 5[38]。这五个数据集包含用户的评论信息、评论的方面以及特定方面的情感标签,每个方面分为积极、中性和消极三类情感极性。我们删除了数据中情感极性为“conflict”的数据[39]。本文实验数据统计信息如表1所示。

表1 数据统计信息

3.2 参数设置

本文的词嵌入层使用Glove词向量[40],维度为300。LSTM层的维度设置为300,GCN的层数为2。L2正则项的系数为10-5,模型的权重通过均匀分布[-0.01,0.01]进行随机初始化。模型的训练采用Adam[41]优化器进行优化,学习率为0.001,Batch size设置为32,随机失活率设为0.3,模型迭代次数为100。我们采用提前停止训练的方法防止过拟合的情况,当F1值连续5个epoch不增加就会停止训练。此外,我们使用准确率和F1值作为模型的评价指标,并将随机初始化的3次运行结果的平均值作为实验结果。

3.3 对比试验

本文将GCAN-P和GCAN-C两个模型与最近基于LSTM的一些方法进行比较,以验证我们模型的有效性。具体对比模型有:

LSTM[14]: 仅使用LSTM网络,未考虑方面的影响,使用最后隐藏状态的输出作为句子的最终表示,用于情感分类。

IAN[16]: 使用两个LSTM网络分别对句子和特定方面进行建模,分别生成方面向量表示和上下文表示,最后将二者串联用于情感分类。

MemNet[39]: 利用上下文内容和多层注意力机制获得最终的方面表示,然后利用softmax函数进行情感极性预测。

TNet[18]: 针对具有不同情感极性的方面设计了一个上下文信息转换层,首先可以获得具有丰富特定方面特征的表示,然后再利用LF/AS机制保存上下文信息,减少上下文信息的损失。

ASGCN[31]: 利用图卷积神经网络获取数据的句法信息和远距离单词依存关系,并利用方面和上下文的检索注意力分数得到最终的句子表示。

本文提出的GCAN模型的两个变体模型分别为:

GCAN-P: 在特定方面信息融合时采用并行融合方式。

GCAN-C: 在特定方面信息融合时采用级联融合方式。

3.4 实验结果

不同模型在各个数据集上经过100次迭代后的实验结果如表2所示,表中加粗字体代表实验最好效果。

表2 不同方法在各个数据集上的实验结果 (单位: %)

对于实验结果的分析为:

(1) 如表2可知,从大多数数据集来看,未考虑特定方面信息的基础模型LSTM的分类效果最差,而加入特定方面注意力的MemNet模型和IAN模型在所有数据集上的准确率比LSTM分别平均提高了0.67%和1.19%。这是因为LSTM仅仅将每一个句子作为一个序列,将其视为传统的情感分析任务,没有考虑特定方面对分类效果的影响,所以分类效果最差。而MemNet和IAN却通过引入注意力机制提取特定方面的重要信息。其中,IAN分别对特定方面和对应的上下文内容进行单独的建模,提取了特定方面和上下文的交互信息,充分说明了特定方面的重要性和有效性,并验证了注意力机制在特定方面情感分析任务中的有效性。

(2) 本文提出的GCAN模型在Twitter数据集Lap14、Rest14/15数据集上的实验效果始终优于ASGCN模型,说明融合特定方面的序列信息和语义特征的有效性。在Twitter数据集和Rest16数据集上效果比TNet模型略差。我们手动检查了错误分类的样本,部分原因是句子中无明显情感词的现象对分类效果产生了很大影响。

(3) 在表2中,大多数情况下GCAN-C的效果优于GCAN-P的效果,可能是因为GCAN-P在词嵌入的基础上直接聚合句子的句法特征和序列信息,会丢失部分信息导致分类效果变差。而GCAN-C是在句法依存树的各个节点已包含有用的序列信息的基础上进行句法特征提取,特征融合得更彻底。基于此,得到的特定方面向量表示包含的信息则更全面。

3.5 消融实验

为了进一步验证GCAN模型每个部分的有效性,本文对GCAN-C模型进行了消融研究。结果如表3所示。

表3 消融实验结果 (单位: %)

首先,去掉GCN层(GCAN w/o GCN)导致模型在Twitter、Lap14和Rest14/15四个数据集上分类效果均变差,其中在Lap14数据集上准确率和F1值分别降低了2.14%和2.31%, 说明图卷积神经网络有效地提取了句子的句法特征,并在分类时起到了积极作用。此外,模型在Rest16数据集上效果有所提高,结合Rest16数据集的分类结果,我们分析可能是因为Rest16数据集中的评论数据比较口语化,存在一些模型无法识别的样本,导致语法特征对Rest16数据不重要,使图卷积神经网络捕获的句法信息对于获得特定方面的表示并没有起到相应的作用。

此外,当模型去掉双向注意力机制之后(GCAN w/o BAN),在所有数据集上的分类效果均变差,说明提取特定方面和对应上下文的交互信息在分类时产生了重要影响。

3.6 GCN层数的分析

本文在五个数据集上进行实验,检验GCN的层数L={1,2,3,4,6,8,12}时的分类效果。实验结果分别如图6和图7所示。

图6 模型在各个数据集上的准确率

图7 模型在各个数据集上的F1值

结合图6、图7的实验结果来看,当GCN的层数L=2时,模型的分类效果最好。同时可以看出,当L≥3后,随着层数的增加,参数规模不断扩大,模型的效果逐渐变差。

4 结论

本文设计了一种基于图卷积神经网络的注意力模型,全面提取特定方面的语义特征。该方法的主要思想是首先通过LSTM存储文本序列信息,又利用GCN中节点的相互传递性来获取句法特征,并获得特定方面表示,同时利用双向注意力机制捕获方面和上下文之间的交互信息。实验结果表明,GCAN可以合理有效地解决特定方面情感分析问题。

但是,这项研究有一些局限性,如我们在利用图卷积神经网络提取特定方面节点特征时只是简单地聚合k阶邻居节点消息来更新目标节点表示,丢失了图的结构信息。将来的研究中,我们将继续深入探索如何提取GCN的结构信息以及解决评论中没有显式的情感词等问题,进而优化现有模型并提高情感分析的准确性。

猜你喜欢

句法注意力神经网络
基于递归模糊神经网络的风电平滑控制策略
让注意力“飞”回来
述谓结构与英语句法配置
如何培养一年级学生的注意力
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
句法二题
诗词联句句法梳理
基于Q-Learning算法和神经网络的飞艇控制
A Beautiful Way Of Looking At Things