APP下载

面向方面级情感分析的加权依存树卷积网络

2022-06-21杨春霞宋金剑姚思诚

中文信息学报 2022年5期
关键词:层数注意力分类

杨春霞,宋金剑,姚思诚

(1. 南京信息工程大学 自动化学院,江苏 南京 210044;2. 江苏省大数据分析技术重点实验室,江苏 南京 210044;3. 江苏省大气环境与装备技术协同创新中心,江苏 南京 210044)

0 引言

近年来,互联网上评论呈爆发式增长,越来越多的研究人员投入到情感研究当中。情感分析作为自然语言处理(Natural Language Processing,NLP)的一项重要任务,它分析用户对产品或事件的评论,并提供用户关于产品或事件的情感。

相对篇章级及句子级情感分析预测文本整体情感极性来说,方面级情感分析(Aspect-Based Sentiment Analysis,ABSA)旨在预测用户评论中具体方面或目标的情感极性,其关键在于提取方面词与上下文间的关系。现如今虽然一些基于依存树的模型在方面级情感分析中取得了不错的效果[1-2],但为了进一步提高模型性能,一些研究对依存树进行了修剪。Wang等[3]提出了一种修剪方法,该方法以方面词为Root,且仅保留原始树中与方面词直接相关的节点,其余节点使用n:con(1)表示方面词与间接相关节点间的距离来代替,并取得了不错的效果,这初步表明修剪依存树对提高分类效果有一定帮助。但这样的修剪方式难免会将部分有用信息删除,因此如何实现依存树中信息保留与删除间的平衡是依存树修剪的难点。

依存树具有类似于图形的结构,Zhang等[4]在利用图卷积网络(Graph Convolutional Networks,GCN)[5]提取依存树中结构信息时,取得了不错的效果。但现有的效果最好的GCN只能捕捉图形中丰富的邻域信息[6],而无法获取全局信息。因此,如何让GCN在获取局部信息的同时又能捕捉全局信息是现阶段研究的一个热点问题。

基于以上问题,本文提出一种基于多头自注意力的图卷积网络(Multi-Head Self-Attention-based Graph Convolutional Networks,MSGCNs)模型。

本文的主要贡献如下:

第一,考虑到现有的依存树修剪方法存在删除原始树上部分重要信息的情况,本文提出在依存树上使用多头注意力机制[7],让模型自动学习如何有选择地关注对分类任务有用的相关子结构,将原始依存树转变为完全连接的边加权图,实现了原始依存树中信息保留与删除间的平衡。

第二,本文在GCN中引入紧密连接[8],改变了原始GCN只能获取局部信息的现状,进而实现了对依存树中全局信息的提取。

第三,本文在3个公开数据集上进行实验,并与相关模型进行对比,实验结果表明,本文提出的模型性能较相关模型均有所提升。

1 相关工作

方面级情感分析是情感分析中的细粒度分类任务,旨在识别句子中特定方面或目标的情感极性。早期的方法主要集中于机器学习[9-10],这些方法的性能很大程度上取决于特征标注,而特征标注需要花费大量的人力和物力。近年来,神经网络因为不需要人为地构造特征,可直接对含有丰富语义信息的低维词向量进行编码而逐渐成为情感分类的主流。

依存树能够捕捉特殊句式中的句法信息,能为句法依赖信息的传播提供最有效的路径。Yang等[1]利用依存树上的相对距离计算方面词与上下文间的注意力权重,提高了情感分类效果;Phan等[2]在进行方面词提取时,融入句法依存信息,使得提取效果有了显著提升。虽然这些模型通过引入句法信息取得了不错的效果,但为了进一步提高模型性能,一些研究对依存树进行了修剪。Tai等[11]将依存树与LSTM相结合,生成了一种树结构的LSTM,可用于学习单词与短语间的依赖信息;Miwa和Bansal[12]将原始依存树修剪成仅包含以两个实体的最近公共祖先(The Lowest Common Ancestor,LCA)为根的子树,但这种修剪方式过于激进,使得某些关键信息(如否定关系)被遗漏;为了弥补这一点,Zhang等[13]提出了一种以依赖路径为中心的修剪方法,该方法将LCA子树中距离依赖路径为K的词加以保留,其他部分去除,初步实现了保留相关信息(如否定和连接)和尽可能多地去除无关内容间的平衡。尽管这些修剪方式在一定程度上提高了分类效果,但还是丢失了依存树中原有的部分重要信息。基于此,本文在依存树上使用多头自注意力以端到端的形式学习所有边的权重,将原始依存树转变为完全连接的边加权图,充分地保留和加强了句中单词间的联系。

GCN擅于捕获图结构上的信息,但研究表明,深层GCN只能获取丰富的邻域信息,无法提取全局信息[6]。为此,Xu等[14]尝试在GCN上添加额外循环层,并取得了一定的效果。然而,这种方法只适用于层数小于6层的GCN,因此捕捉到的全局信息也十分有限。Huang等[8]在进行图像处理任务时,为了从多层CNN网络中获取图像深层信息,提出了一种新的连接方式——紧密连接,该方法连接简单且有利于深层网络间信息的交换,受其启发,本文尝试在图卷积网络中引入紧密连接并结合依存树的修剪方法来进一步提高GCN捕获信息的能力。

2 MSGCNs模型

本文提出的MSGCNs模型的结构如图1所示,主要由以下四部分组成。

图1 MSGCNs模型结构

(1)词嵌入: 将数据集中的样本转化为词向量的形式,并根据相应的依存树生成邻接矩阵。

(2)紧密连接层: 以前一层的输出作为输入,并通过GCN和紧密连接的组合来获取图结构中的局部信息和全局信息。

(3)注意力引导层: 以第一个紧密连接层的输出作为输入,并通过多头自注意力机制,将原始依存树转变为N个完全连接的边加权图,以便第二个紧密连接层从修剪后的依存树中获取更多的结构信息。

(4)线性组合层: 以N个紧密连接层的输出作为输入,经过该层筛选出更具代表性的句子表示。

2.1 词嵌入

(1)

2.2 紧密连接层

(2)

其中,W(l)是权重矩阵,b(l)是偏差向量,ρ是激活函数RELU,Aij是邻接矩阵中表示节点i与节点j之间关系的值,其取值范围只能是{0,1}。

图2 紧密连接(子层数为L)

(3)

另外,每个紧密连接由L个子层组成,每个子层的隐藏维度dhidden由层数L和输入特征维度d决定,即dhidden=d/L。例如,当层数为3,输入维度为300时,每个子层的隐藏维度就是dhidden=d/L=300/3=100。最后,将每个子层的输出连接起来,以形成新的表示,且其维度与输入特征维度d相同。显而易见,该方法提高了参数效率。

由于紧密连接的加入,GCN的计算公式应当加以修改。考虑到本文在依存树修剪前也使用了紧密连接,因此第一个紧密连接层中的GCN计算修改如式(4)所示。

(4)其中,W(l)∈dhidden×d(l),d(l)=d+dhidden×(l-1)。经过依存树修剪,邻接矩阵A发生了变化,所以第二个紧密连接层中的GCN计算修改如式(5)所示。

其中,Q、K、V分别表示查询向量、键向量和值向量;Wq∈d×d、Wk∈d×d和Wv∈d×d是权重矩阵,bi是偏差向量;H表示第一个紧密连接层的输出表示第t个头的注意力引导矩阵;式子用于缩放QKT,因为过大的内积会导致softmax的结果非0即1。图3是一个原始邻接矩阵转变为多个注意力引导矩阵的示例。从图中可以看出,原始邻接矩阵只包含各个节点间的连接信息,而注意力引导矩阵能够包含各节点间的作用关系。通过两个矩阵的比较,可以发现有些间接关联的节点间可能包含更多的有用信息。因此,让模型自动学习如何有选择地关注对分类任务有用的相关子结构是十分有必要的。

图3 注意力引导层

2.4 线性组合层由于MSGCNs模型使用的注意力与常规的多头自注意力存在一定的区别,因此需要一个线性组合层来对N个不同紧密连接层的输出表示进行过滤筛选,从而获取最具表现力的句子表示hcomb,计算方法如式(10)所示。hcomb=Wcombhout+bcomb(10)其中,Wcomb∈(d×N)×d是权重矩阵,bcomb是偏差向量;hout表示N个紧密连接层输出的串联连接,即hout=[h(1);…;h(N)]∈d×N。2.5 最大池化层评论中部分方面词由多个单词组成,但每个单词的重要性并不相同,因此本文在方面词隐藏表示上使用最大池化函数,以提取最具代表性的方面词表示ha,具体如式(11)所示。ha=f(hei)(11)其中,hei为hcomb中第i个方面词的隐藏表示,f()是最大池化函数(d×N→d×1)。2.6 模型训练将方面词表示ha输入softmax函数中,计算其在不同情感类别中的概率。然后通过不断减小最小交叉熵损失函数的值来调节模型参数,损失函数如式(12)所示。

(12)

3 实验

3.1 实验数据与实验环境

本文在SemEval 2014数据集和Twitter数据集上进行模型性能评估,其中SemEval2014数据集由Restaurant和Laptop两个领域的用户评论组成,数据样本的情感极性分为积极(positive)、消极(negative)、中性(neutral)三种。表1展示了三个数据集在训练集和测试集中每个情感类别的分布情况。

表1 Restaurant、Laptop和Twitter数据集信息

本文实验环境如表2所示。

表2 实验环境

3.2 实验参数与评价指标

MSGCNs模型的相关参数设置如表3所示,本文选用GloVe预训练的词向量进行词嵌入表示,向量维度为300,方面词嵌入、词性嵌入和位置嵌入维度均为30,训练过程使用随机梯度下降(SGD)来进行参数优化,为防止过拟合,训练过程中使用input_dropout和gcn_dropout。

表3 实验参数设置

为了验证模型的有效性,本文采用准确率(Accuracy,Acc)和F1作为评价指标。具体如式(13)~式(16)所示。

其中,TP表示正确预测的正样本数目;FP表示错误预测的负样本数目;FN表示错误预测的正样本数目;TN表示正确预测的负样本数目;P表示精确率;R表示召回率。

3.3 对比模型

(1)Feature-based SVM[16]: 一种融合了N-gram特征、解析特征和情感词典特征的支持向量机模型,在方面级情感分类中仍然保持着一定的优势。

(2)AEN-Glove[17]: 使用基于多头自注意力的编码器分别对上下文和方面词进行建模,并再次利用多头注意力机制将两者融合的情感分类模型。

(3)LCF-Glove-CDW[18]: 在AEN模型的基础上添加了上下文特征动态加权层,从而能够提取局部上下文重要信息的情感分类模型。

(4)ASP-GCN[18]: 利用多层GCN来捕捉依存树上句法信息和依存信息,并进行情感分类的模型。

(5)LSTM+SynATT[19]: 将方面表示构造成方面词嵌入的加权和,并利用注意力机制对句子的句法结构进行建模。

(6)R-GAT[3]: 通过对原始依存树进行重构和修剪,生成一种面向方面词的依存树,并利用图注意力来编码新的依存树用于情感预测。由于本文使用Stanford解析器来构建依存树,因此选取Stanford解析器下的R-GAT实验结果进行对比。

3.4 实验结果和分析

从表4中可以看出,在Restaurant数据集和Laptop数据集上,本文模型的准确率分别比基线模型中表现最好的LCF-Glove-CDW和R-GAT提升了0.9%和0.24%;在Twitter数据集上,本文模型准确率又比基线模型中表现最好的AEN-Glove和R-GAT提升了0.64%。因此,本文模型性能优于基线模型。

表4 不同模型分类结果

AEN-Glove和LCF-Glove-CDW是基于多头注意力的模型,相对于其他基线模型而言效果较好,这表明多头注意力能更好地提取方面词与上下文间的关系,进而也说明本文模型使用多头注意力将原始邻接矩阵转变为注意力引导矩阵是合理的。

ASP-GCN模型、LSTM+SynATT模型以及R-GAT模型考虑了评论中的句法信息,并且在一定的程度上优于其他模型,其中ASP-GCN模型的性能优于LSTM+SynATT模型,这表明GCN比LSTM更擅于提取依存树中的句法信息。本文模型同样使用了GCN,实验效果在ASP-GCN模型的基础上又有了很大提升,这说明在GCN中引入紧密连接对提高分类效果是有一定帮助的。另外,本文模型实验效果好于R-GAT,说明本文依存树修剪方法在一定程度上优于R-GAT。

为了进一步验证修剪依存树和引入紧密连接的有效性,以Twitter数据集为例,对本文模型进行消融实验,实验结果如表5所示。其中,GCNs表示在原始依存树上使用多层GCN进行情感分类;GCNs+DC表示在GCNs基础上引入紧密连接;MT+GCNs表示在修剪过的依存树上使用多层GCN完成分类任务。

由表5可知,GCNs+DC的准确率和F1分别比GCNs提高了1.76%和2.38%,这说明紧密连接的引入能有效促进GCN对全局信息的提取,进而提高情感分类效果;MT+GCNs在准确率和F1上分别比GCNs提高了0.62%和0.97%,这表明本文的修剪策略对提高分类效果是有一定帮助的;MSGCNs在GCNs+DC的基础上,将准确率和F1又分别提升了0.8%和0.38%,这表明同时考虑依存树的修剪和紧密连接的引入,能进一步提高分类效果。因此,本文模型中的每个模块都是不可或缺的,都是对模型的整体效果有直接作用的。

表5 消融实验结果

由于紧密连接的引入,使得分类效果提升最为明显,因此有必要对紧密连接的子层数L进行研究。由于三个数据集中的样本存在一定的差异性(如Restaurant数据集中的句子比较符合语法规范,而Laptop数据集和Twitter数据集中的样本一般短小且有些不符合语法规范),因此有必要针对各个数据集进行实验,以找出每个数据集上的最优参数值L。以Restaurant数据集为例,进行一系列的实验。在实验中,其他参数设置保持不变,L的取值应是紧密连接层输入维度(dhidden=300)的约数,否则无法实现子层的划分;此外,设置过于庞大的L值也会出现过拟合的情况,因此子层数L的取值范围设为{2,3,4,5,6}(2)当L=1时,紧密连接不会对GCN产生任何的影响。

实验结果如表6和图4所示。表6显示的是子层数L在各个数据集上的最优参数值;图4 展示的是Restaurant数据集的分类效果随子层数L所变化的折线图。其中,每个折线图中的黑实线表示当第一层的子层数取某一固定值时,分类效果随第二层子层数变化而变化的折线;同理,灰实线表示第二层子层数固定时,分类效果随第一层子层数的变化而改变的折线。从图4可以发现,分类效果大体上随着L的增大而逐步上升,这初步表明取较大的L值对提高分类效果有一定的帮助。此外,从表6发现,尽管最优参数L并不都是取最大值,但至少某一层的参数设置为5或6,这也进一步说明取相对较大的L能一定程度地促进情感分类效果。

表6 不同数据集上的最优子层数

图4 Restaurant数据集实验结果

图4 (续)

4 结束语

为了提高方面级情感分类的分类效果,本文提出了MSGCNs模型。首先,使用多头自注意力机制将原始依存树转变为完全连接的边加权图,然后利用融合了紧密连接的GCN进行局部和全局信息的提取,最后通过池化层筛选出最具代表性的方面词表示。通过相关实验证明,本文模型性能较对比模型均有明显提升;本文的依存树修剪策略和紧密连接的引入均能有效提高模型精度,且两者结合使用效果最佳。

由于本文模型只在公开的英文数据集上进行实验,而没有涉及中文数据集和个人数据集,所以在下一步的工作中将考虑如何在中文数据集和个人爬取数据集上使用本文模型并加以改进。

猜你喜欢

层数注意力分类
浅探铺设土工格栅技术在软土路基加固处理中的运用
让注意力“飞”回来
分类算一算
通过绞车钢丝绳计算井深
如何培养一年级学生的注意力
MoS2薄膜电子性质随层数变化的理论研究
教你一招:数的分类
说说分类那些事
A Beautiful Way Of Looking At Things
给塑料分分类吧