【ACL2021】三篇高质量方面级的情感分析方法解读

点击下面卡片关注我呀,每天给你送来AI技术干货!

来自:复旦DICS

【ACL2021】三篇高质量方面级的情感分析方法解读_第1张图片

引言

【ACL2021】三篇高质量方面级的情感分析方法解读_第2张图片

方面级情感分析(Aspect-based Sentiment Analysis, ABSA)是一项细粒度的情感分析任务,其目的是识别一句话中的方面项(Aspect term)、其对应的情感极性(Sentiment polarity)和观点项(Opinion term)。

本次Fudan DISC实验室将分享ACL2021中关于方面级情感分析的3篇论文,介绍统一生成框架下的情感分析模型、情感三元组抽取和方面级情感分类等工作。

【ACL2021】三篇高质量方面级的情感分析方法解读_第3张图片

文章概览

【ACL2021】三篇高质量方面级的情感分析方法解读_第4张图片

  • 基于方面的情感分析统一生成框架

A Unified Generative Framework for Aspect-Based Sentiment Analysis

论文地址:https://aclanthology.org/2021.acl-long.188.pdf

该篇文章针对方面级情感分析的7个子任务,通过重新定义任务形式,利用预训练的Seq2Seq模型BART,将方面级情感分析的7个子任务统一到端到端的框架中进行解决,并在4个ABSA数据集上进行大量实验,显著提升了模型性能。

  • 学习面向方面情感三元组抽取的跨度交互

Learning Span-Level Interactions for Aspect Sentiment Triplet Extraction

论文地址:https://aclanthology.org/2021.acl-long.367.pdf

该篇文章针对方面级情感分析中的情感三元组抽取子任务,提出了一种基于跨度的方法来学习目标词和观点词之间的交互作用,并提出一种双通道跨度修剪策略降低跨度枚举带来的计算成本。

  • 面向方面情感分析的双重图卷积网络

Dual Graph Convolutional Networks for Aspect-based Sentiment Analysis

论文地址:https://aclanthology.org/2021.acl-long.494.pdf

该篇文章针对方面级情感分析中的方面级情感分类子任务,提出了一种双重图卷积网络模型,分别捕获句法知识和语义相关性,并提出两种正则化器来约束模型。

【ACL2021】三篇高质量方面级的情感分析方法解读_第5张图片

论文细节

【ACL2021】三篇高质量方面级的情感分析方法解读_第6张图片

1

【ACL2021】三篇高质量方面级的情感分析方法解读_第7张图片

论文动机

方面级的情感分析是一项细粒度的情感分析任务,其目的是识别方面项、其对应的情感极性和意见项。比如,在“The drinks are always well made and wine selection is fairly priced"这句话中,方面项是“drinks”和“wine selection”,情感极性都是“Positive”,意见词是“well made”和“fairly priced”。如下图所示,根据方面项(a)、情感极性(s)和观点项(o)的不同组合,ABSA中存在7个子任务。

【ACL2021】三篇高质量方面级的情感分析方法解读_第8张图片

尽管这些子任务密切相关,但大多数现有的工作仅单独关注1∼3个子任务。这是因为存在以下分歧,使得难以在统一框架中解决所有子任务:

1.在输入方面,一些子任务(AE、OE、AESC、Pair和Triplet)只将文本句子作为输入,而其余的子任务(ALSC 和 AOE)将文本和给定的方面项作为输入。

2.在输出方面,一些任务(AE、OE、ALSC、AOE)仅从a、s或o中输出某种类型,而其余任务(AESC、Pair 和 Triplet)返回a、s和o的复合组合作为输出。

3.在任务类型方面,分为抽取任务(抽取方面和观点)和分类任务(预测情感)。

针对这些分歧,这篇文章提出了一个统一的生成框架来解决所有的子任务,将整个任务建模为目标序列生成任务。

任务定义

对于统一生成框架下的ABSA任务,输入即为文本句子(S),输出则为目标序列。对于输入仅含文本语句的子任务来说,目标序列如下图所示。

【ACL2021】三篇高质量方面级的情感分析方法解读_第9张图片

对于输入包括方面项a的子任务而言,目标序列如下图所示。

原先在输入中的方面项被放到了输出端,下划线标记表示这些结果是在推理过程中直接给出的。

模型

文章提出的统一生成框架模型如下图所示。

【ACL2021】三篇高质量方面级的情感分析方法解读_第10张图片

通过统一定制后,所有子任务的输入都可以表示为 ,输出为目标序列 ,因此可以用公式(1)的概率公式来表示这一过程。

为了得到每一步的概率分布 ,作者设计了编码器和解码器,编码器将输入X编码为向量,这里用预训练过的BART模型进行编码,如公式(2)所示。

解码器则用编码后的向量He和之前的解码器输出 为输入,因为之前的解码器输出是一个索引序列,所以需要用公式(3)中的Index2Token模块将index转化为token。

【ACL2021】三篇高质量方面级的情感分析方法解读_第11张图片

其中 表示类别token列表。接着再用BART解码器获得隐藏状态 。

最后用下述公式来预测所有索引的概率分布 。

【ACL2021】三篇高质量方面级的情感分析方法解读_第12张图片

在训练阶段,使用Teacher Focing策略来训练模型,并用负对数似然函数来优化模型,在推理结果的过程中,使用束搜索(beam search)来获取目标序列 。通过这种方法得到目标序列 后,还需要将其解码为先前提到的索引形式,这里针对不同子任务,作者提出了不同的解码算法,以Triplet子任务为例,其解码流程如下图所示,其余子任务的解码流程可在论文附录中找到。

【ACL2021】三篇高质量方面级的情感分析方法解读_第13张图片

结果

该篇文章在四个数据集上评估模型,四个数据集都来自SemEval Challenges,其中只标注了方面项和情感极性,后续有其他文章在此基础上做了新的标注,D17标注了未配对的观点项,D19将观点项和方面项配对,D20a用的三元组形式细化数据,D20b则纠正了D20a中一些缺失的三元组。数据集的统计信息如下表所示。

【ACL2021】三篇高质量方面级的情感分析方法解读_第14张图片

根据不同的数据集,基线模型分为三组,D17数据集上测评AE、OE、ALSC和AESC等子任务,D19数据集上测评AOE子任务,而D20数据集则测评除AOE外的所有子任务。具体情况如下表所示,可以看到该篇文章提出的模型是唯一一个在所有子任务上都能进行测评的模型。

【ACL2021】三篇高质量方面级的情感分析方法解读_第15张图片

最终的实验结果如下表所示,基本在每个子任务上都达到了SOTA的结果,实验结果表明,该模型确实将所有子任务统一到了一个端到端的生成框架中,为解决ABSA任务提供了一种新的SOTA方案。

【ACL2021】三篇高质量方面级的情感分析方法解读_第16张图片

【ACL2021】三篇高质量方面级的情感分析方法解读_第17张图片

【ACL2021】三篇高质量方面级的情感分析方法解读_第18张图片

【ACL2021】三篇高质量方面级的情感分析方法解读_第19张图片

此外,文章还分析了模型在预测过程中出现的无效结果,预测无效的比例是比较低的,说明该生成框架不仅在理论上统一,在实践中也是可行的;同时对束搜索(beam search)中的束大小(beam size)进行调整,发现束大小对结果似乎没有影响。

2

【ACL2021】三篇高质量方面级的情感分析方法解读_第20张图片

论文动机

方面情感三元组抽取 (Aspect Sentiment Triplet Extraction, ASTE) 是 ABSA 的最新子任务,希望输出方面项(目标项)、情感极性和意见项组成的三元组。

现有的三元组抽取方法严重依赖目标项中每个单词和观点项中每个单词之间的关系,因此,这种方法很难处理包含多个单词的目标项和观点项。而在现有的数据集中,多个单词的目标项、观点项非常多,该文章的出发点就是根据这种现象,提出一种基于跨度的方法,从而更好地学习目标项和观点项之间的关系,同时,基于跨度的方法可以确保抽取出的结果有更好的情感一致性,而且这种端到端的方法可以避免现有的Pipeline方法中的误差传播问题。

【ACL2021】三篇高质量方面级的情感分析方法解读_第21张图片

任务定义

任务输入为 ,根据输入枚举得到跨度集合,其中i和j表示跨度的开始和结束位置。任务输出就是 中所有可能的三元组,三元组的形式为,情感极性分为。

模型

如下图所示,该篇文章提出的模型主要由三个模块构成,分别是句子编码模块(Sentence Encoding)、提及模块(Mention Module)和三元组模块(Triplet Module)。句子首先输入到句子编码模块,获得token级别的表示后,再从中得到每个枚举跨度的跨度级别表示,比如not enjoy和windows 8,然后用方面项抽取(Aspect term extraction, ATE)和观点项抽取(Opinion term extraction, OTE)任务来监督双通道跨度修剪策略,得到修剪后的候选目标和候选观点,再对它们进行耦合,作为特征进行分类。

【ACL2021】三篇高质量方面级的情感分析方法解读_第22张图片

Sentence Encoding

有两种方式获取token级别的表示,分别是BiLSTM和BERT,对于BERT中被划分为多个wordpiece的单词,则用均值池化的方式来聚合它们的表示。最终得到如公式(2)所示的跨度表示 ,这里的 是一个可训练的特征嵌入,用来表示跨度的宽度。

Mention Module

得到跨度表示 后,将其送入经过ATE和OTE任务监督后的神经网络中,并进行分类,来判断当前跨度属于Target、Opinion或是Invalid,根据公式(3)的结果,得到公式(4)中的分数并进行剪枝,得到候选目标和候选观点池。候选池中的跨度数量为nz,其中n是句子长度,z是阈值超参数。

Triplet Module

得到候选目标和候选观点池后,将它们之间两两进行耦合,从而获得目标-观点对表示,如公式(5)所示,其中的 是基于目标和观点跨度之间的距离生成的可训练的特征嵌入。最后再将得到的表示对送入分类器中,如公式(6)所示,得到Positive、Negative、Neutral和Invalid等结果。

损失函数

训练时的损失函数则是第二模块和第三模块中负对数似然函数的总和。

【ACL2021】三篇高质量方面级的情感分析方法解读_第23张图片

其中   是跨度  的标准提及类型,而   是目标和意见跨度对  的标准情感关系。S表示枚举的跨度池,  和  是修剪后的目标和意见候选跨度。

结果

该篇文章的数据集也源自SemEval Challenge,其实就是第一篇文章中的D20b,如表所示是数据集中统计信息,S表示句子数量,+,0,-分别表示积极、中立和消极情感,SW表示目标项和观点项都为单个单词,MW表示目标项和观点项中至少有一个为多词,可以看到多词占了很大一部分比例。

【ACL2021】三篇高质量方面级的情感分析方法解读_第24张图片

对照的基线模型主要分为两组,即pipeline方法和端到端方法,上面一块是pipeline的方法,下面是端到端的方法,可以看到,一般端到端的方法比Pipeline的方法性能更好,而该模型的性能又比之前的SOTA结果要好。

【ACL2021】三篇高质量方面级的情感分析方法解读_第25张图片

此外,作者还分析了模型在单个单词和多词数据上的性能,发现与之前的模型相比,该模型在多词数据上的性能有显著提升,说明跨度结构对提取多词数据是有帮助的;同时,作者还分析了利用ATE和OTE任务完成的剪枝模型效率,验证了剪枝算法的有效性;接着,作者通过样例进行定性分析,验证了模型的有效性;最后,作者通过消融实验分析了模型中位置嵌入的作用。

3

【ACL2021】三篇高质量方面级的情感分析方法解读_第26张图片

论文动机

方面级情感分类任务是方面级情感分析的一项面向实体级的细粒度情感分析子任务,旨在确定句子中给定方面的情感极性。

现在,利用依赖树的图神经网络已被用于显式地建模方面和观点词之间的联系,但由于依赖解析结果具有不确定性,且一些数据集收集的在线评论的非正式表达和复杂性,都会影响这种方法的性能。根据这一点,该篇文章提出了一种双重图卷积网络(DualGCN)模型,同时考虑句法知识和语义相关性,并设计了两个正则化器来增强模型性能。

【ACL2021】三篇高质量方面级的情感分析方法解读_第27张图片

任务定义

该任务的输入为文本中的句子,输出即为方面项a和对应的情感极性s。

模型

如下图所示为该篇文章提出模型的总体架构,主要分为四个部分,分别是基于句法的GCN(SynGCN)、基于语义的GCN(SemGCN),双仿射模块和正则化器。首先利用BiLSTM或BERT作为句子编码器获得隐藏的上下文表示,然后将句子的隐藏表示分别输入SynGCN和SemGCN模块,接着用双仿射模块进行有效的信息交流,最后通过池化和连接聚合得到最终的方面表示。

【ACL2021】三篇高质量方面级的情感分析方法解读_第28张图片

SynGCN

在SynGCN中,将句法编码作为输入,利用来自依赖解析器LAL-Parser的所有依赖弧的概率矩阵作为邻接矩阵 ,从而捕获丰富的结构信息。将来自 BiLSTM 的隐藏状态向量 H 作为句法图中的初始节点表示。然后使用公式(1)从 SynGCN 模块获得句法图表示 。

其中的W和b为参数,σ为激活函数。

SemGCN

在SemGCN处,没有像SynGCN那样利用额外的句法知识,而是用自注意力机制获得注意力矩阵作为邻接矩阵,如公式(2)所示,其中矩阵Q和K都等于SemGCN模块前一层的图表示,而 和 是可学习的权重矩阵。此外,d是输入节点特征的维度,再对该矩阵应用公式(1)获得语义图表示 。

Mutual BiAffine

得到句法图表示 和语义图表示 后,利用采用BiAffine模块在SynGCN和SemGCN模块间有效交换相关特征,即公式(3)(4)所示,其中的 和 都是可训练的参数。

【ACL2021】三篇高质量方面级的情感分析方法解读_第29张图片

最后,通过在SynGCN和SemGCN模块的方面节点上应用平均池和连接操作,得到任务的最终特征表示,如公式(5)(6)(7)所示。

【ACL2021】三篇高质量方面级的情感分析方法解读_第30张图片

其中  是应用于方面节点表示的平均池化函数。然后,将获得的表示  输入到一个线性层,然后是一个 softmax 函数以产生一个情感概率分布 p,即公式(8)所示。

其中  和  是可学习的权重和偏差。

Regularizer

为了改进语义表示,该篇文章为 SemGCN 模块提出了两个正则化器,即正交和差分正则化器。

正交正则化器:直觉上,每个词的相关项应该在句子中的不同区域,所以注意力分数分布很少重叠。因此,作者期望正则化器能鼓励所有单词的注意力得分向量之间的正交性。给定一个注意力分数矩阵 ,正交正则化器的公式如下:

其中 I 是单位矩阵。下标 F 表示 Frobenius 范数。因此, 的每个非对角元素都被最小化以保持矩阵  正交。

差分正则化器:该模型期望从 SynGCN 和 SemGCN 模块学习的两种类型的特征表示能够表示包含在句法依赖树和语义相关性中的不同信息。因此,该模型在 SynGCN 和 SemGCN 模块的两个邻接矩阵之间采用差分正则化器。该正则化器仅用于限制  ,并给出为:

损失函数

该任务定义的总损失函数如公式(11)所示。

其中, λ 、 λ  和  λ  是正则化系数,  表示所有可训练的模型参数。

 是标准的交叉熵损失,定义如下:

其中, D 包含所有句子方面对,C 是不同情感极性的集合。

结果

该篇文章在SemEval 2014的Restaurant、Laptop数据集和Twitter数据集上进行了实验,数据集的统计信息如下图所示。

【ACL2021】三篇高质量方面级的情感分析方法解读_第31张图片

基线模型主要分为四类,分别是基于注意力的、基于语法的、基于BERT的和其他方法。实验结果如下图所示,与ATAELSTM、IAN和RAM等基于注意力的方法相比,DualGCN模型利用语法知识建立词与词之间的依存关系,从而避免了注意力机制带来的噪声。此外,基于句法的方法,如ASGCN、CDT、R-GAT等,都取得了比基于注意力的方法更好的性能,但它们忽略了词之间的语义相关性。当考虑Twitter数据集时,里面非正式或复杂的句子较多,仅使用句法知识会导致较差的性能。总体而言,DualGCN模型综合考虑了语法和语义知识,达到了SOTA的结果。

【ACL2021】三篇高质量方面级的情感分析方法解读_第32张图片

此外,作者还通过消融实验分析了各模块的作用,只有包含所有模块的DualGCN才能实现最佳性能;同时,作者通过样例分析,验证了该模型的有效性;通过可视化注意力图,作者分析了正则化器的作用,它让注意力评分矩阵变得更为稀疏,有利于模型捕捉重点。最后,作者分析了模型层数变化对性能的影响,当层数较小时,节点表示不能传播很远,当层数过多时,模型会因为梯度消失和信息冗余而变得不稳定,因此最终选择两层的GCN模型。

【ACL2021】三篇高质量方面级的情感分析方法解读_第33张图片

总结

【ACL2021】三篇高质量方面级的情感分析方法解读_第34张图片

此次 Fudan DISC 解读的三篇论文围绕方面级情感分析展开,介绍了统一生成框架下的方面级情感分析任务,并介绍了情感三元组抽取和方面级情感分类两种子任务的最新研究。


投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

【ACL2021】三篇高质量方面级的情感分析方法解读_第35张图片

记得备注呦

点击上面卡片,关注我呀,每天推送AI技术干货~

整理不易,还望给个在看!

你可能感兴趣的:(大数据,自然语言处理,计算机视觉,机器学习,人工智能)