论文代码:https://github.com/BinLiang-NLP/AAGCN-ACSA
1. 研究背景
方面类别情感分析(Aspect Category Sentiment Analysis, ACSA)旨在检测给定句子中粗粒度方面类别(Aspect Category)的情感极性。与目标/方面显式地出现在句中的方面实体情感分析(Aspect Term Sentiment Analysis, ATSA)不同,ACSA任务中的方面类别不一定会出现在句子中。如图1的例子所示,句子中提到了两个方面类别“RESTAURANT#PRICES”(消极)和 “FOOD#QUALITY” (积极)。这两个方面类别均没有出现在句子中。方面类别可以由实体(Entity)E和属性(Attribute)A组成(E#A),也可以仅由实体E组成。
图1方面相关情感表达示例
2. 研究动机
现有方法往往集中于如何从上下文中搜索出方面类别的情感线索,然而仅仅依靠上下文的信息表达来学习方面类别的情感信息是十分困难的。这主要是因为:(1)方面类别通常不会出现在上下文中;(2)在上下文中可能出现多个方面并对应多种不用的情感极性。因此,针对这一问题,我们提出可以针对不同的方面从上下文中定位不同的词语来辅助方面类别的情感信息学习。如图1中的例子,句中存在着一些与方面相关的词语:“place”,“pricey”,“pizza”和“yummy”,它们分别与两个方面类别的实体和属性存在关联(图中用相同颜色标出)。因此,如果我们可以精确地为不同方面在上下文中定位与其相关联的词语,那我们就可以很容易地为这些方面学习对应的上下文情感信息。
基于上述分析,我们从一个新颖的角度完成ACSA任务:为上下文构建给定方面的方面感知图(aspect-aware graphs)。具体来说,我们以不同的方面类别作为起点,从外部知识库中搜索与方面类别相关的单词,称为方面感知词(aspect-aware words),这些词被用作粗粒度方面类别的替代词用于构建图网络。
根据我们的研究,不同的方面感知词对方面类别的贡献是明显不同的。例如对于方面实体“RESTAURANT”而言,方面感知词“place”比“pizza”更重要。因此,本方法的关键点在于如何衡量方面感知词对于方面类别的重要性,这可以用作方面感知图中边的权重,继而学习方面的情感线索。
在外部知识库中,一个单词或者可以通过各种途径连接到方面类别词,或者连接不到,因此成功连接的概率可以视为一个二项分布。基于上述分析,我们利用Beta分布(二项分布的共轭先验分布)对所有成功连接的概率进行建模。通过这种方式,我们可以获得方面感知词连接到方面类别的全部概率,从而确定方面感知词的最佳置信概率,称为方面感知权重(aspect-aware weight)。随后,我们基于方面感知词及其权重为上下文构建方面感知图。
给定一个包含个单词的句子和方面类别,任务的目标是从上下文中检测出方面类别的情感极性(积极、消极或中立)。方面类别可能由实体和属性构成(形式为),也可能仅由实体构成。针对这一任务,我们提出的AAGCN(aspect-aware graph convolutional network)模型框架如图2所示。
3.2 方面感知词派生
为了针对通常不在句子中出现的方面类别构建上下文信息图,我们提出了一个新颖的方法:以方面类别为起点,从外部知识库搜索与方面高度相关的词,我们把这些词称为方面感知词。具体来说,如果一个词与方面有直接的联系,我们称之为1跳的方面感知词;如果一个词与1跳的单词有直接联系,我们称之为2跳的方面感知词,以此类推。另外,对于一个方面词的实体与属性,需要分别为其寻找方面感知词,因为在实体与属性在句中扮演的角色通常是不同的。
在推导出方面感知词后,如何计算其相应的方面感知权重是本方法的关键点。
直观地,跳步数是影响方面感知权重的一个重要因素。通常来说,两词之间的跳步越小,它们之间的关系应该更紧密。然而,如图3的例子所示,虽然绿色的点的跳步数比黄色更小,但是它连接了许多不相关的词,所以它的重要性不如黄色的点。这另一个影响方面感知权重的因素就是无关邻居数。
对于任何一个词来说,它或者在步之内经过n次的尝试(该词在知识库中与其他词的连接数量)能连接到方面词,或者连接不到。这里的n次尝试也就是每个方面感知词与方面类别成功连接的一个潜在概率分布。因此,基于外部知识库中的先验知识,我们采用了Beta分布来对方面感知词的概率分布进行建模。即对方面和方面感知词成功连接的概率分布进行建模,从而推导出方面感知权重:
综上,模型可以为每个方面感知词推导出一个方面感知权重。此外,我们将方面类别本身的权重设置为1,与方面类别无关的词权重设置为0。
图4是一个方面感知权重的示例,我们可以看出,对于方面实体“food”而言,虽然方面感知词“yummy”的跳步数更大,但是它的方面感知权重却大于“red”。这和我们的常识相匹配,同时证明了引入Beta分布的有效性。
另外,受到其它图网络研究的启发,我们利用句子的依赖树捕捉句子的语法联系。也就是如果𝑤𝑖和𝑤𝑗 在依赖树中包含依存关系,Ai,j 的权重加1;其次我们构造无向图:Ai,j=Aj,i;最后设置自循环:Ai,i=1。对于由实体和属性构成的方面类别,对其分别计算两个方面类别感知图Ae,Aa。
3.4 方面情感学习
首先,通过词嵌入表为句子的每个词获取词嵌入。对于一个具有n个词的句子,模型可以获得其对应的词嵌入矩阵
,其中
是𝑤𝑖的词嵌入,是词嵌入的维度。之后,将词嵌入矩阵作为双向LSTM(Bi-LSTM)层的输入以获取句子的上下文隐藏层表示:
其中,是 A𝑖 的度。此外,第一个图卷积层的输入是从Bi-LSTM层学习的隐藏层表示中获取的,即
。受到之前工作的启发,模型采用基于检索的注意力机制来捕捉上下文中与方面类别相关的情感线索:
其中,softmax(∙)是用来获取输出分布的softmax函数。
3.5 模型训练
训练的目标是最小化预测和真实分布的交叉熵损失,同时使用代表的L2正则化项来缓解过拟合问题:
其中,S代表训练样本的数量,C是类别数量。是情感的正确分布。
是L2正则化项的权重。
4.实验
我们应用SemEval 2015的REST15、LAP15数据集;SemEval 2016的REST16、LAP16数据集;SemEval 2014的REST14数据集和每个句子中均包含多个方面类别的MAMS数据集共六个基准数据集来评估模型的性能。其中,REST15、LAP15、REST16、LAP16、MAMS五个数据集的方面类别构成均为E#A,而REST14数据集的方面类别仅由E构成。同时,我们使用SenticNet派生方面感知词。
4.1 实验结果
表1 模型实验结果
表1是各模型在方面类别情感分析任务上的性能对比结果。其中包含了我们提出的AAGCN模型及其几种变体:(1)使用GloVe做词嵌入的AAGCN和使用BERT的AAGCN-BERT。其中AAGCN-BERT使用“[CLS] sentence [SEP] aspect [SEP]”作为输入。(2)为了证明我们提出方法的泛化能力,我们使用另一种外部知识库ConceptNet派生方面感知词,对应模型AAGCN-c,AAGCN-BERT-c。(3)为了证明我们提出方法中利用分布的有效性,我们设计了两种变体AAGCN-one和AAGCN-hop,其方面感知权重计算方法为。(4)为了证明Beta分布的有效性,我们利用其它三种分布来计算方面感知权重,对应模型AAGCN-BD(二项分布),AAGCN-PD(泊松分布)和AAGCN-GD(Gamma分布)。
实验结果表明,对于非BERT和基于BERT的模型以及由E#A和E构成的方面类别,我们提出的模型效果始终优于基线模型,这证明了我们方法的有效性。与没有用到统计分布的方法相比,利用任何一种分布的方法的性能都得到了整体提升。这表明利用分布来建模单词和给定方面类别之间成功连接的概率更适合模型从外部知识中提取更真实的方面感知权重。另外,使用Beta分布的效果显著优于其他几种分布,这意味着利用Beta分布进行对单词之间的联系进行建模可以获得更合理的方面感知权重,从而提高模型的性能。与ConceptNet相比,使用SenticNet作为外部知识库能取得更好的效果。这证明我们提出的模型可以利用SenticNet中包含的情感关系进一步提高性能。
4.2 消融实验
表2 消融实验结果
为了评估模型中各个模块对性能的影响,我们设计了一个消融实验,其结果如表2所示。其中,“w/o ”表示为每个句子建立全连接图,即每一对单词之间都包含一条边;“w/o ”表示没有利用方面感知词;“w/o ”表示没有应用依存树。
从实验结果可以看出,全连接图和不利用方面感知词会大大降低模型性能,这证明我们提出的利用Beta分布推导方面感知词的方法的重要性和有效性。另外,不使用依存树会使ACC和F1值略微下降,这证明将句法关系信息引入图中可以进一步提高图网络性能。
5.结论
在这个工作中,我们从一个新的角度研究了方面类别情感分析(Aspect Category Sentiment Analysis, ACSA)任务,即学习如何找到与方面类别高度相关的方面感知词,并通过 Beta 分布从外部知识库中推导出方面感知词及其对应权重,完成面向方面类别的图信息建模。最后基于图卷积神经网络学习面向方面类别的上下文情感依赖关系,得出情感极性。在6个公开的基准数据集上的实验结果证明,该方法的性能优于基线方法。