BiSyn GAT+:用于基于方面的情绪分析的双语法感知图形注意力网络

发布时间 2023-04-06 16:32:09作者: 啥123

基于方面的情绪分析(ABSA)是一种细粒度的情绪分析任务,旨在调整方面和相应的情绪,以进行特定方面的情绪极性推断。这很有挑战性,因为一个句子可能包含多个方面或复杂的(例如,条件关系、协调关系或对抗关系)。近年来,利用图神经网络挖掘依赖语法信息已成为最流行的趋势。尽管它取得了成功,但严重依赖依赖树的方法在准确建模方面及其表示情绪的词语的一致性方面带来了挑战,因为依赖树可能会提供不相关关联的嘈杂信号(例如,图2中“伟大”和“可怕”之间的“conj”关系)。在本文中,为了缓解这个问题,我们提出了一种双语法感知的图注意力网络(BiSyn-GAT+)。具体而言,BiSyn GAT+充分利用句子构成树的语法信息(例如,短语分割和层次结构),对每个方面的情感感知上下文(称为内上下文)和跨方面的情感关系(称为上下文间)进行建模,以供学习。在四个基准数据集上的实验表明,BiSyn GA T+始终优于现有技术的方法。

1介绍

基于方面的情感分析(ABSA)旨在识别句子中对给定方面的情感极性。许多先前的工作(Yang et al.,2018;Li et al.,2019)主要集中于通过具有注意力机制的递归神经网络(RNN)或卷积神经网络(CNNs)提取序列特征,这些方法认为更接近方面的词语与情感更相关。然而,如图1(a)所示,这种假设可能是无效的,“服务”显然更接近“伟大”而不是“可怕”,这些方法可能会错误地将不相关的意见词“伟大”分配给“服务”。

 

 

为了缓解这个问题,已经有几项工作(Wang et al.,2020a;Chen et al.,2020)致力于研究如何通过图神经网络(GNN)有效地利用非序列信息(例如,依赖树等句法信息)。通常,依赖树(即Dep.tree)将方面术语与语法相关的单词联系起来,在远距离依赖问题中保持有效。然而,Dep.Tree结构的固有性质可能会引入噪音,就像子句之间的不相关关系一样,例如图2中“伟大”和“可怕”之间的“conj”关系,这阻碍了捕捉每个方面的情感感知上下文,即上下文内。Dep.Tree结构只揭示单词之间的关系,因此,在大多数情况下,它无法建模复杂的句子关系(例如,条件关系、协调关系或对抗关系),因此无法捕捉各方面之间的情感关系,即上下文之间的情感关系。

因此,在本文中,我们考虑充分利用组成树的语法信息来解决这个问题。通常,组成树(即Con.tree)通常包含精确且有区别的短语分割和层次结构,这有助于正确地对齐各方面及其对应的表示情绪的单词。前者可以将复杂的句子自然地划分为多个分句,后者可以区分不同方面之间的不同关系,从而推断不同方面的情感关系。我们在图3中举了一个例子来说明这一点:(1)“食物很棒”和“服务和环境很糟糕”这两个条款被短语分割术语“但是”分割;(2) 在第1层中,术语“和”表示“服务”和“环境”的协调关系,而第三层中的“但是”一词反映了与“食物”和“服务”(或“环境”)的对立关系。

因此,为了更好地协调方面术语和相应的情感,我们提出了一个新的框架,即双语法感知图注意力网络(BiSyn-GAT+),通过建模上下文内和上下文间信息来有效地利用组成树的语法信息。特别是,BiSyn GA T+采用了:

(1)语法图嵌入,用于以自下而上的方式基于同一子句内的融合语法信息对每个方面的内部上下文进行编码,该自下而上的方式组合了其组成树的短语级语法信息和其依赖树的子句级语法信息。

(2)由短语分割术语和所有方面组成的方面上下文图,用于对每个方面的内部上下文进行建模。具体而言,它根据当前方面与其相邻方面之间的影响来聚合其他方面的情感信息,该影响是基于分别从方面上下文图上的双向关系中学习的方面表示来计算的。

主要贡献如下:

1.据我们所知,这是第一项利用构成树的语法信息(例如,短语分割和层次结构)与GNN进行ABSA的工作。此外,它在表示情感的方面和相应单词之间的对齐方面显示出优越性。

2.我们提出了一个框架,即双语法感知图注意力网络(BiSyn-GAT+),通过建模每个方面的情感上下文和各方面之间的情感关系,充分利用组成树(或,和依赖树)的语法信息。

2相关工作

情感分析是自然语言处理领域的一项重要任务(Zhang等人,2018;Yang等人,2020),可以应用于下游任务,如情感聊天机器人(Wei等人,2019;Li等人,2020a;Lan等人,2020;Wei等人(2021)、推荐系统(Zhao等人,2022;Wang等人,2020 b)、QA系统(Wei等,2011;邱等人,2021)。在这里,我们专注于一个细粒度的情绪分析任务-ABSA。最近,深度学习方法已被广泛用于ABSA任务。这些作品可以分为两大类:没有语法信息的方法(即无语法方法)和有语法信息的方式(即基于语法的方法)。

无语法方法:

具有注意力机制的神经网络(Wang et al.,2016;Chen et al.,2017;Song et al.,2019)已被广泛使用。Chen等人(2017)采用了多重注意力机制来捕捉情绪特征。Song等人。(2019)使用注意力编码器网络(AEN)从单词嵌入中挖掘丰富的语义信息。

基于语法的方法:

最近,利用GNN的依赖性信息已经成为ABSA的一种有效方式。Zhang等人(2019)使用图卷积网络(GCN)从Dep.Tree学习1836个节点表示。Tang等人。(2020)通过联合考虑来自变压器和相应的依赖图的表示,提出了一种依赖图增强的双变压器网络(DGEDT)。Wang等人(2020a)构建了面向方面的依赖树,并提出了R-GA T,扩展了图注意力网络以编码具有标记边的图。Li等人。(2021)提出了一个双图卷积网络(DualGCN)模型,同时考虑了语法结构和语义相关性。上述所有工作都使用了Dep.Tree的语法信息,正如我们之前所说,这可能会引入噪声。因此,我们利用GNN来利用Con.Tree的语法信息。确切地说,我们遵循Con.Tree以自下而上的方式聚合来自相同短语中的单词的信息,并捕获上下文内的信息。

此外,一些作品采用了建模方面的关系。一些(Hazarika等人,2018;Majumder等人,2018)采用方面表示来通过RNN或记忆网络对关系进行建模,而不使用上下文信息。一些人(Fan et al.,2018;Hu et al.。,2019)提出了对齐损失或正交注意力调节来约束方面层面的互动,当方面没有明确的意见表达或多个方面共享相同的意见词时,这种互动就会失败。最近,有一些工作利用GNN来建模方面关系。Liang等人(2020)基于方面之间的相对依赖性构建了一个方面间图。Zhao等人(2020)构建了一个情感图,其中每个节点代表一个方面,每个边代表情感依赖关系。然而,这些作品没有明确使用短语分割信息,例如连词。因此,我们提出了一个由所有方面和短语分割术语组成的方面-上下文图,以对上下文间信息进行建模。

具有组成树的GNN:据我们所知,我们是第一个将组成树用于ABSA任务的工作。但在方面类别情感分析任务中,Li等人(2020b)提出了一种句子结构感知网络(SCAN),该网络生成Con.Tree中节点的表示。与SCAN不同,我们将解析短语视为输入文本的不同跨度,而不是单个节点。因此,我们不将Con.Tree的任何内部节点(例如,图3中的“NP”、“VP”)引入表示空间,从而减少了计算开销。

3模型

3.1概述

问题陈述。设s={wi}n和A={aj}m是一个句子和一个预定义的方面集,其中n和m分别是s中的单词数量和A中的方面数量。对于每个s,As={ai|ai∈A,ai∈s}表示s中包含的方面。为了简单起见,我们将每个多词方面视为一个单词,因此ai也意味着s的第i个单词。ABSA的目标是预测每个方面ai∈As的情感极性yi∈{正、负、神经}。

如图4所示,我们提出的架构以句子和文本中出现的所有方面作为输入,并输出这些方面的情绪预测。它包含三个组件:1)上下文内模块对输入{wi}进行编码,以获得目标方面的方面特定表示,该模块包含两个编码器:输出上下文单词表示的上下文编码器和利用解析的组成树(或,和依赖树)的语法信息的语法编码器。2) 上下文间模块包括应用于所构建的方面上下文图以输出关系增强表示的关系编码器。方面-上下文图构成给定句子和短语分割项的所有方面,这些术语是从应用于构成树的设计的基于规则的映射函数中获得的。3) 情绪分类器采用上述两个模块的输出表示来进行预测。

3.2上下文内模块

在这一部分中,我们使用上下文编码器和语法编码器来对每个方面的情感感知上下文进行建模,并为每个方面生成特定于方面的表示。注意,对于多方面的句子,我们多次使用这个模块,因为每次都涉及一个方面。

3.2.1上下文编码

我们使用BERT(Devlin et al.,2019)来生成上下文单词表示。给定目标方面at,我们遵循BERT-SPC(Song et al.,2019)构建基于BERT的序列:

 

然后通过以下方式获得输出表示,

 

 

 其中,n0和m0分别是BERT标记化器之后的输入文本和目标方面的长度,ht0是表示BERT序列的“BERT池化”向量,hti是每个标记的上下文表示。注意,wi可以被BERT标记器拆分为多个子词。因此,我们计算wi的上下文表示如下,

 

其中BertT(wi)返回BERT序列中wi的子字的索引集,||返回其长度。

 

 3.2.2语法编码器

上述表示只考虑语义信息,因此我们提出了一种语法编码器来利用丰富的语法信息。我们的语法编码器由几个设计的层次图A T保持(HGA T)块堆叠,每个块由多个图注意(即,GA T)层组成,这些层在组成树(或,和依赖树)的指导下对语法信息进行层次编码。关键是构建相应的图。

 图的构造

如图4所示,我们以自下而上的方式遵循Con.Tree的语法结构。Con.Tree的每一层l都由几个短语组成,每个短语代表一个单独的语义单元。例如图3中的{The food is great,

but, the service and the environment are dreadful}。我们根据这些短语构造相应的图。对于由短语组成的第l层,我们构造了展示字连接的邻接矩阵。

 

HGA T块旨在将语法信息分层编码为单词表示。如图5所示,HGA T块由几个GA T层堆叠,这些层利用屏蔽自注意机制来聚合来自邻居的信息,并利用完全连接的前馈网络将表示映射到相同的语义空间。注意力机制可以处理具有更高权重的邻居的多样性,这些权重被分配给更多相关的单词。它可以被公式化如下,

 

 

是第l层wi的邻接节点  是第l层wi节点的最后表示,是wi使用自注意力机制后的表示 Z表示注意力头的数量,f是一个分数函数,计算两个单词的相关性

 

我们还探讨了两种语法信息的融合。在之前的工作之后,我们将Dep.Tree视为无向图,并构造相邻矩阵DA,其公式如下,

 

我们考虑三种操作:逐位置点积、逐位置加法和条件逐位置加法。每个对应的相邻矩阵F A如下所示,

A.位置点积。对于Con.Tree的每一层,此操作只考虑同样在同一短语中的Dep.Tree的邻居。

B 按位置添加。对于Con.Tree的每一层,此操作都会考虑Dep.Tree的相同短语和邻居中的单词。Dep.Tree中的一些边缘可以缩短方面词和相关意见词之间的路径,例如图3中的“food”和“great”。

C按条件位置添加。该操作考虑了Con.Tree的短语级语法信息和Dep.Tree的子句级语法信息。具体来说,它首先删除所有跨子句的依赖边(例如,图2中“great”和“可怕”之间的边),然后对剩余的依赖边进行逐位加法操作。

 因此,上下文内模块的输出包含上下文信息和语法信息,其公式如下,

3.3上下文间模块

上下文内模块忽略了各方面的相互影响。因此,在上下文间模块中,我们构建了一个方面上下文图来对各方面之间的关系进行建模。该模块仅适用于多方面句子,上下文内模块中所有方面的特定方面表示作为每个方面的输入和输出关系增强表示。

短语分段。方面关系可以通过一些短语分割术语来揭示,比如连词。因此,我们设计了一个基于规则的映射函数PS,它返回两个方面的短语分割项:给定两个方面,它首先在Con.Tree中找到它们的最低共同祖先(LCA),它包含两个方面信息,并且具有最少的不相关上下文。我们将LCA中两个方面之间的子树分支称为“内部分支”。

PS返回内部分支中的所有文本单词(如果存在);否则,它将返回输入文本的两个方面之间的单词。方法如下:

 

其中i<k<j,Br(ai,aj)返回ai和aj的内部分支中的文本单词。例如,在图3中,给定食物和服务方面,LCA节点是第4层的S,它有三个分支,食物在第一个分支,服务在第三个分支。因此,第二个分支(内部分支)中的“但是”是反映两个方面情感关系的短语分割术语。

 方面上下文图构建:我们注意到,一个方面的影响范围应该是连续的,各方面的相互影响随着距离的增加而减弱。考虑所有方面对会引入由长距离引起的噪声,并增加计算开销。所以我们只模拟相邻方面的关系。在利用P S函数提取相邻方面的短语分割项后,我们通过将方面与相应的短语分割词链接来构建方面上下文图,以帮助推断关系。为了区分方面上下文图上的双向关系,我们构建了两个相应的相邻矩阵。第一个处理从句子的所有方面中的奇数索引方面到相邻偶数索引方面的影响,第二个相反。

一个示例如图6所示。然后,以{vast,t∈As}和由BERT编码的相应短语分割术语表示作为输入,应用上述HGA t块作为关系编码器,以获得每个方面的关系增强表示vaat。

3.4训练

上下文内模块和上下文间模块的输出被组合以形成最终表示,其随后被馈送到具有softmax激活函数的完全连接层(即,情绪分类器),从而生成三种情绪极性上的概率。