融合图游走信息的图注意力网络方面级情感分析*
2023-10-24杨春霞马文文
杨春霞,桂 强,马文文,徐 奔
(1.南京信息工程大学自动化学院,江苏 南京 210044;2.江苏省大数据分析技术重点实验室,江苏 南京 210044;3.江苏省大气环境与装备技术协同创新中心,江苏 南京 210044)
1 引言
情感分析是自然语言处理领域的基本任务之一,旨在分析一篇文章或一个句子的情感极性。随着互联网的发展,很多互联网平台涌现大量的关于产品和服务的评论,评论往往包含一个或多个方面词的内容。传统的情感分析作为粗粒度的分析任务已不能满足这种需求,而基于方面的情感分析ABSA(Aspect-Based Sentiment Analysis)是一项细粒度的情感分析任务,它能够确定一个句子中出现的一个或多个方面词的情感极性。如图1所示,在“The food is good,but the staff is horrible.”一句中,方面词是“food”和“staff”,它们的情感极性分别是积极的和消极的。因其在处理评论文本数据中的积极作用,方面级的情感分析是近年来情感分析任务中研究的热点。
Figure 1 Examples of restaurant reviews
现有的工作关于语法信息和语义信息的使用都有研究,但多从语义角度使用注意力机制获取单词权重信息,使用句法依存树获得句子的语法信息,没有将句法信息用于获取单词权重的探索,忽略了句法结构对提取句子中不同单词重要程度的作用。在语法图上的图游走获取单词节点的权重,弥补了从句法结构方面获取单词权重的不足。此外,对于一个句子中含有多个方面词的文本,现有情感分析任务模型可能会将方面词与情感词匹配错误。如何获得单词之间的关联性,准确关注对目标方面词情感极性起作用的上下文部分是值得研究的问题。本文使用单词节点权重和节点之间权重2种权重信息相结合的方法解决这一问题。基于以上分析,本文提出一种融合图游走信息的图注意力神经网络模型GW-GAT(Graph Attention neural neTwork model that integrates Graph Walk information),工作内容如下所示:
(1)本文在以方面词为根节点的句法依存树的基础上构建语法图;在语法图上进行图游走得到基于句法信息单词节点的权重系数,将权重系数和经过编码的隐藏表示相乘得到带有权重信息的句子特征表示。
(2)使用基于依存树的图注意力GAT(Graph Attention neTwork)融合语义信息和语法信息更新句子节点表示,获取句子节点与节点之间权重。建立由节点到节点之间的权重分配机制,突出与方面词相关的情感信息,以保留更多的情感极性相关信息,弱化无关信息。
(3)在3个情感分析公开数据集上进行对比实验和有效性实验等,实验结果表明,本文提出的GW-GAT模型是有效的。
2 相关工作
情感分析的研究对处理大批量评论文本信息具有积极的意义,早期的研究采用人工标注和情感词典的方法[1],现在的研究大多使用深度学习的方法。基于语义的方法在神经网络的帮助下自动地学习文本数据表示。Nguyen等[2]采用神经网络的方法成功完成ABSA任务。Tang等[3]在长短期记忆LSTM(Long Short-Term Memory) 网络的基础上,对文本中方面词的上文和下文信息分别建模,提出的TD-LSTM(Target-Dependent LSTM)模型,取得了比传统LSTM更好的效果。Nguyen和Tang等人提出的模型虽然考虑了方面词与其上下文词的语义相关性,但没有关注到上下文中对方面词情感极性起关键作用的信息。针对这一问题,Wang等[4]将LSTM与注意力机制结合,提出了ATAE-LSTM(ATtention-based LSTM with Aspect Embedding),该模型使用方面词参与计算注意力权重,当以不同的方面词作为输入时,注意机制给句子中的单词分配不同的权重,取得了不错的效果。为了有效识别上下文句子中目标方面词的情感极性,Huang等[5]提出了交互注意力模型AOA(Attention-Over-Attention),通过对方面词注意力机制和上下文注意力机制联合建模的方法捕捉方面词和上下文句子之间的交互作用,注意力机制的使用使得这些模型的分类效果得到了提升[6]。此外,只从语义的角度出发会忽略句子的语法结构对情感分析任务的影响,通过引入句法结构改进句子表示对提升模型分类性能至关重要。得益于依赖解析器的发展,Zhang 等[7]使用原始句法依赖树表示结构信息,保留了句法依赖树的原始结构,在情感分析任务中引入了句法信息。Wang等[8]修改了依存树的构建方法,生成以方面词为根节点的句法依赖树,并对树进行修剪,只保留与方面词有直接依赖关系的边,使情感信息的获取更加方便。Chen等[9]对句法依赖树使用了注意力矩阵,用以区分单词之间的依赖性,提高了模型表示句子的能力。Chen等[10]将依赖树集成到神经网络模型中,用于表达句子的句法结构,增加了情感分析任务中句法信息的使用方式。He等[11]使用基于句法的注意力机制,将方面词和上下文分开表示,将不同方面词作为输入时,通过关注句子的不同部分来探索方面词与其上下文之间的关系。但是,这些方法并没有同时考虑语义信息和句法结构信息,更缺乏语义信息和句法信息的融合。Zhao等[12]提出了一种基于图卷积网络GCN(Graph Convolutional Network)的方面级情感分类模型,该模型可以有效地捕获一个句子中多方面之间的情感依赖关系。
上述模型使用注意力机制有效地识别出与目标方面词情感极性相关的上下文成分,使用依赖树有效地建模句子的结构信息。基于注意力机制和基于句法结构的模型都取得了不错的效果,但这些方法都没有从句法结构的角度获取句子中单词的权重,此外,这些模型直接使用给定的方面词来寻找与方面词相关的情感词,在多方面词语句中可能会导致两者之间的不匹配。
因此,为了解决从句法结构角度获得句子单词权重和多方面词句子中方面词的情感词关注错误问题,本文提出了融合图游走信息的图注意力网络方面级情感分析模型GW-GAT。该模型结合句法结构,通过聚合上下文特征来改进句子表示。在依存树的基础上建立的语法图维护了树的原始结构信息。同时,通过激活语法图中的边缘,图的游走过程能够聚焦于上下文单词信息,得到节点的权重表示,作为更新句子特征表示的权重系数。在此基础上,使用图注意力网络获得句子节点之间的关联程度,通过单词节点与节点之间的权重信息相结合的方法,识别与目标方面词情感极性相关的上下文词。综上所述,本文所提模型能够利用句法结构信息获取单词权重,并且能够识别与目标方面词情感极性相关的上下文词,降低无关情感词对方面词情感极性的影响。
3 GW-GAT模型
本文提出的GW-GAT模型主要包含文本序列的词嵌入层、用于编码单词语义的Bi-LSTM(Bidirectional LSTM)层、用于聚合上下文单词权重的图游走层、用于关联节点信息和语义信息的GAT层,以及用于情感极性分类的全连接和Softmax层。整体上分为句意信息提取部分、语法结构建模与单词权重分配部分,以及信息融合与单词关联部分。GW-GAT模型结构如图2所示。
Figure 2 Structure of GW-GAT
3.1 词向量
本文使用GloVe[13]模型将原始输入语句映射为300维的词向量,即将输入句子x={x1,x2,…,xm-1,xm}映射为词向量表示α={α1,α2,…,αω,…,αn-1,αn},其中,n=300,αω是方面词的词嵌入表示,α′={α1,α2,…,αn-1,αn}是除方面词以外的上下文词嵌入表示。
3.2 编码词向量
本文使用Bi-LSTM对上下文语义信息进行编码。LSTM模型是递归神经网络的一种优化变体,在递归神经网络的基础上增加了记忆模块,以解决长期依赖问题。Bi-LSTM在LSTM基础上增加了对反向信息的编码,如式(1)~式(3)所示:
(1)
(2)
(3)
其中,ht表示正向LSTM和反向LSTM输出隐藏向量连接后得到的最终隐藏向量,st表示t时刻Bi-LSTM的输入。本文使用Bi-LSTM模型将词向量α={α1,α2,…,αn-1,αn}编码为隐藏向量h={h1,h2,…,hn-1,hn}。
3.3 语法图上的图游走
句法依赖树的成功使用提供了完整的句子结构信息,句法依赖树可以以句子中不同的词为根节点构建,本文使用高级解析技术[14]来构建以方面词为根节点的依赖树。借助句法依赖树构建语法图[15]对结构信息进行重新表示,依赖树和语法图如图3所示。将句法依赖树中的一些边进行反转,以允许从方面词出发遍历到依赖树中每个单词节点。例如,除根节点之外的方面词与情感词之间将被反转,以图3“The food is good but the staff is horrible.”语句为例,“staff”与“horrible”之间关系由r#nsubj反转后被标记为nsnuj。在语法图上,将每条遍历方向上的最后一个节点记为停止节点,并标记为ext。
Figure 3 Specific example of aspect-based dependency tree and corresponding syntax graph
语法图可以解释为句子x的一个有向图G=(V,E),其中,V是图中节点的集合,E是图中有向边的集合。
将根节点复制k个副本nk,不同的副本nk从根节点出发对语法图上的有向边进行遍历。当副本成功沿着语法图中路径遍历到停止节点时,则该路径上的词高亮显示。通过计算语法图中除根节点外所有单词节点经过的路径数来给每个单词分配权重,以图3中句子为例,单词节点“good”经过的路径最多,因此被分配最高的权重。通过测量边缘和上下文单词属于同一子树的可能性来计算每个边缘激活的概率。通过每个副本的游走过程可以得到句子中单词的权重表示,将这一过程称为语法图上的图游走,简称图游走,如图4所示,其中,x*表示根节点和中间单词节点,s*表示停止节点。
Figure 4 Graph walk on the syntax graph
语法图是边和节点的集合,从语法图的根节点出发遍历到图中每一条边上的停止节点,每条遍历的路径到达停止节点后该路径上的单词和边将被高亮显示,通过计算每个单词节点经过路径数占所有遍历数的概率给不同单词分配权重,其中根节点不参与计算。对于给定的边e=(u,r,v),u和v为相邻的节点,r为节点之间的边,沿路径到达停止节点的概率如式(4)所示:
(4)
其中,qu和qv分别表示相邻节点u和v的嵌入表示;θr表示边的嵌入表示;wp和bp表示概率计算中不断更新的学习参数,下标p表示概率;σ′(·)表示对输入向量中的每个元素利用Sigmoid进行激活。
将从根节点到每个停止节点si路径上边的概率相乘得到第i个单词xi的权重ai,计算方法如式(5)所示:
(5)
其中,εs表示从根节点到停止节点s的所有边的集合。
最后,利用词向量α编码后的隐藏向量h与节点权重a相乘得到新的节点特征,如式(6)所示:
(6)
3.4 图神经网络融合
本文使用图注意力网络在单词节点权重的基础上获取单词节点之间的权重信息,使单词节点权重信息和节点之间的权重信息相结合,达到匹配目标方面词相关上下文词的目的。图注意力网络是图神经网络的变体,能更新句子节点表示,获得单词节点之间的权重。将句子表示中每个节点信息与LSTM层对应的隐藏状态相关联,一个GAT层通过聚合领域的隐藏状态来更新节点表示。图5显示了在一个句子中应用GAT的例子。
Figure 5 Graph attention network
(7)
(8)
3.5 预测情感极性
在得到表示hg后,将其输入全连通层,然后输入softmax归一化层,即得到极性决策空间上的概率分布,如式(9)所示:
(9)
损失函数选用基于L2正则化的交叉熵损失函数,如式(10)所示:
(10)
4 实验与结果分析
4.1 实验环境及数据集
本文实验的开发工具为Pycharm,开发语言为Python 3.7.10,开发框架为PyTorch 1.8.1,使用NVIDIA GeForce GTX1650 GPU运行程序。本文使用3个公开数据集来验证GW-Walk模型的有效性,3个数据集分别是来自SemEval 2014[17]的Restaurant数据集(简称为Rest14)和Laptop数据集,以及Dong等人[18]抓取并处理的Twitter数据集。这些数据集专用于方面级情感分析任务,数据集情感极性比例如表1所示。
Table 1 Statistics of datasets
4.2 实验参数设置
本文使用预先训练的300维GloVe向量(Pennington,Socher,and Manning 2014)来初始化预先训练的嵌入,并随机初始化30维的词性标签嵌入。预先训练和词性标记的嵌入都被连接为词嵌入。BiLSTM隐藏状态的维数设置为300。本文采用Adam作为优化器。
4.3 模型对比实验分析
本节将GW-GAT模型与基线模型SVM、LSTM、ASGCN及最近出现的模型R-GAT、DM-GCN[19-23]等进行对比,以实验精度Acc和宏观平均F1为评价指标,来检验GW-GAT的性能,对比结果如表2所示。本文基线模型数据直接引用参考文献,表2中加粗字体表示最优值,‘-’表示实验结果数据缺失,‘w/o’表示去除。
Table 2 Comparison of experimental results of different models
分析表2实验结果可知,本文提出的GW-GAT模型在相同数据集上无论是准确率还是F1分数均有所提升。
在3个数据集上,与结构相似的模型ASGCN相比,本文提出的GW-GAT模型的Acc与F1均有较大提高,准确率分别提高了3.16%,4.54%和2.17%,F1值分别提高了4.61%,5.88%和2.56%。值得一提的是,R-GAT和DM-GCN作为近期公开发表论文中的模型,其分类效果显著,其中,R-GAT模型使用关系图注意力网络建立方面词与情感词之间的联系,解决了方面词与情感词匹配混淆问题;但GW-GAT模型在Rest14和Laptop数据集上的效果优于这2个模型,说明本文提出的解决方案是有效的。实验分析认为,模型分类效果提高的原因是GW-GAT模型对句法依赖树进行改进构建了语法图,并在语法图上执行了图游走操作,聚合上下文结构信息生成单词权重表示。通过使用GAT网络聚合带有权重的单词结构信息和上下文语义信息,得到单词之间的关联程度信息,匹配与目标方面词相关的上下文情感词,信息考虑全面,使情感极性匹配更加准确。
4.4 模型消融实验
为了验证模型改进的有效性,本节进行消融实验以评判每种改进对模型性能的作用,实验结果如表2所示。
4.4.1 语法图和图游走操作的有效性
为了研究图游走过程对模型的改进效果,本节删除了GW-GAT的整个图游走网络并使用经过Bi-LSTM层获取的语义特征表示作为图注意力网络的输入,将这种被删减的模型称为“GW-GAT w/o grap”。消融实验结果表明,在3个数据集上原模型与去掉语法图的模型相比,准确率分别提高了2.4%,5.17%和0.87%,F1值分别提高了4.57%,6.55%和2.18%。这表明图游走网络在聚合语法结构信息,使用单词权重系数改进句子特征表示方面是有效的。本文模型在Rest14和Laptop 数据集上效果显著,但在Twitter 数据集上提升不明显。可以看出,如果数据集包含大量的噪声,使用语法信息并不能取得很大的改进。
以句子“The food is good,but the staff is horrible.”为例,句子中具体单词经过图游走后的权重分布如图6所示。由图6可知,图游走网络在获取句子单词节点的权重信息方面是有效的。
Figure 6 Word weight distribution
4.4.2 图注意力的有效性
为了验证结合单词节点与节点之间的权重信息方法的有效性,本节构建了GW-GAT w/o GAT模型和GW-GCN 模型,分别代表消融GAT后的模型和将GAT换成GCN的模型。
GW-GAT w/o GAT模型实验结果如表2所示,由表2中数据可知,使用了图注意力机制的模型在准确率和F1值上均有明显提升,说明了图注意力机制获取单词节点之间权重是有效的。
将GAT模型换成GCN模型,使用同样可以聚合上下文信息和句法信息的GCN模型可以进行更直观的对比,2种模型分类准确率对比如图7所示。图7结果表明,结合使用单词节点权重和节点之间权重是有效的。将GAT换成GCN后虽然能够更新单词节点表示,但缺失了单词节点之间的权重信息,分类效果明显下降。这也说明本文使用单词节点权重和节点之间权重相结合的方法能有效地提高方面级情感分析的分类效果,表明结合使用2种权重信息在关注与方面词情感极性相关上下文信息方面是有效的。
综上所述,本文利用图游走网络获取句子中单词的权重系数,利用图注意力网络获得单词节点之间的权重,并将2种权重信息相结合有效提升了模型的性能。
5 结束语
本文提出了一种结合句法信息和语义信息的GW-GAT网络模型,使用语法图上的图游走从句法结构中获得句子中单词节点权重,改进句子表示,使用图注意力网络获取句子单词节点之间权重,在单词节点权重的基础上获取单词之间的权重信息,有效地关注与方面词情感极性相关的上下文信息,解决了方面词与情感词不匹配的问题。在3个公开数据集上的实验结果表明,本文提出的GW-GWT模型优于基线模型,验证了对句子语法信息的使用和权重信息的结合对提高模型性能的重要性。但是,在没有明显句法结构的非正式和简短数据集上,GW-GAT模型效果不优,后续将研究对非正式和简短情感分析数据的处理。