题目、作者
一、Abstract
- 【写作目的】由于依赖分析结果的不准确性以及在线评论的非正式表达和复杂性,基于依赖树的图神经网络改进有限,本文提出了一种同时考虑句法结构互补性和语义相关性的双图卷积网络(DualGCN)模型来克服这些挑战
- SynGCN模块(具有丰富语法知识) → 减少依赖分析错误
SemGCN模块(自注意力机制) → 捕获语义关联
3. 此外,本文提出正交和微分正则化器,通过约束SemGCN模块中的注意分数来精确捕捉词之间的语义相关性。正交正则化器鼓励SemGCN学习语义相关的词,每个词的重叠较少。差分正则化器鼓励SEMGCN学习SynGCN未能捕获的语义特征。
二、Introduction
1. ABSA:之所以称ABSA为细粒度情感分析,因为它可以精确地识别某一方面的情感极性,而不是简单地为一个句子分配情感极性。正如图1所示,ABSA可以识别用户对某一方面的态度是好是坏
2. 注意力机制和RNN的缺陷:以往使用注意力机制(attention mechanisms)和循环神经网络(RNN)来生成特定于方面的句子表示的研究,有一个固有的缺陷:注意力机制容易受到句子中噪音的影响(噪声:对于一个方面词,一个不属于它的意见词可能更受关注,例如图一的service和reasonalbe)
3. 在将句法依赖(syntactic dependency)知识应用于ABSA任务时,会遇到两个挑战:
1)依赖分析(dependency parse)结果的不准确性;
2)依赖树上的GCNs在对句法依赖不敏感的数据集上不能很好地工作(这是由于在线评论的非正式表达和复杂性)
为了解决上述挑战,我们提出了dual graph convolution network (DualGCN):
1)对于第一个挑战【第一个GCN】,我们使用依赖解析器(dependency parser)中所有依赖弧的概率矩阵来构建基于语法的图卷积网络(SynGCN)【表示单词之间依赖关系的概率矩阵,包含了丰富的句法信息 】
2)对于第二个挑战【第二个GCN】,我们利用自注意力机制(self-attention mechanism)构造了一个基于语义相关性的图卷积网络(SemGCN)【表示词之间的语义相关性 】
4. contributions:
· 我们的DualGCN既考虑了句法结构,又考虑了给定句子中的语义相关性。 具体地说,我们的DualGCN通过一个相互的双仿射模块(BiAffine module)将SynGCN和SemGCN网络集成在一起
· 我们提出了正交正则化器和微分正则化器。 正交正则化器鼓励SemGCN学习正交语义注意力矩阵,而微分正则化器鼓励SemGCN网络学习不同于从SynGCN构建的句法特征的语义特征
三、Graph Convolutional Network (GCN)
GCN介绍:GCN是CNN的一种变体,它直接对图进行操作。对于图结构化数据,GCN可以在直接连接的节点上应用卷积运算来编码局部信息。通过多层GCNs的消息传递,图中的每个节点都可以了解到更多的全局信息
给定一个具有n个结点的图,该图可以表示为邻接矩阵A 。大多数先前的工作都是在一个句子的依赖树(syntactical dependency tree)上建立邻接矩阵A,所以用表示基于图的邻接矩阵A中的一个元素,其含义为:第i个结点是否与第j个结点相连(若相连则等于1,否则为0)。故邻接矩阵A是一个0-1矩阵,可看作由依赖解析器(dependency parser)得到的最终离散输出。第l层的第i个结点的隐藏状态可表示为:
四、Proposed DualGCN
模型总览
总体介绍:
1. 编码部分:我们使用BERT或BiLSTM作为encoder得到句子的隐藏状态向量(表示)
对于BiLSTM,首先获得整个句子的word embeddings(as input),后将其喂入BiLSTM来获得隐藏状态向量;
对于BERT,“[CLS] sentence [SEP] aspect [SEP]”作为输入,得到句子的方面感知(aspect-aware)隐藏表示
encode后得到的隐藏表示作为SynGCN、SemGCN模块的输入。
2. 双仿射(Biaffine)模块用于实现有效的信息流
3. 最后,我们通过池化(pooling)和concat将来自SynGCN和SemGCN模块的所有方面(aspect)节点表示聚合起来,形成最终的方面表示
细节概述:
4.1 Syntax-based GCN (SynGCN)
如图所示,可以看到SynGCN有两个输入,一个是由BiLSTM对句子编码得到的隐藏状态向量表示【作为句法图中的初始节点表示】,另一个是由依赖解析器(Dependency Parser)得到的所有依赖弧的概率矩阵【为了对句法信息进行编码】
与依赖解析器的最终离散输出(上面提到的那个0-1矩阵A)相比,依赖概率矩阵可以通过提供所有潜在的句法结构来捕获丰富的结构信息,因此可以利用依赖概率矩阵来减少依赖解析错误。(个人理解:矩阵A仅可以看到哪两个词之间有依赖弧,看不到没有依赖弧的词也可能存在一定的句法关联)
由SynGCN输出最终得到的为句法图表示
4.2 Semantic-based GCN (SemGCN)
SemGCN通过自注意力机制获得作为邻接矩阵的注意力得分矩阵
4.2.1 self-attention
一方面,自注意力(self-attention)能捕捉句子中每个词的语义相关术语;另一方面,SemGCN可以适应对句法信息不敏感的在线评论。
由SemGCN输出最终得到的为句法图表示
【两个不同GCN邻接矩阵小结】SynGCN将BiLSTM得到的隐藏状态向量作为句法图中的初始结点表示,将依赖解析器获得的依赖概率矩阵作为邻接矩阵;SemGCN通过BiLSTM得到的隐藏状态向量喂入一个注意力头获得一个注意力得分矩阵作为邻接矩阵
4.2.2 BiAffine Module
为了有效地交换SynGCN和SemGCN模块之间的相关特征(SemGCN捕获SynGCN没有捕获到的信息),我们采用了一种相互的双仿射(mutual BiAffine)变换作为桥梁
最后我们通过平均池化和concatenation对SynGCN和SemGCN模块的方面节点进行操作,来获得ABSA任务的最终特征表示r(feature representation)
接下来,我们将concat后的r喂入线型层(softmax)来获得情感极性概率分布
4.3 Regularizer
改进SemGCN的语义表示
4.3.1 正交正则化器(Orthogonal Regularizer)
直观上,每个词的相关项应该在句子中的不同区域(个人理解:应该指的是句子中主谓宾的位置和关系),所以注意力得分分布很少重叠。 正交正则化器鼓励所有词的注意得分向量之间的正交性。
其中I表示单位矩阵;F为Frobenius范数,表示矩阵各元素平方和开根号
4.3.2 微分正则化器(Differential Regularizer)
我们在SynGCN和SemGCN的两个邻接矩阵之间采用了微分正则化器→期望从SynGCN和SemGCN模块中学习到两种类型的特征表示代表包含在句法依赖树和语义关联中的不同信息
4.4 Loss Function
我们的训练目标是最小化以下总目标函数:
其中Lc为传统的交叉熵损失函数:
五、实验
数据集
对比实验
消融实验