面向方面情感分析的双句法感知图注意网络

BiSyn-GAT+: Bi-Syntax Aware Graph Attention Network for Aspect-based Sentiment Analysis

面向方面情感分析的双句法感知图注意网络

Abstract

基于方面的情感分析(ABSA)是一种细粒度的情感分析任务,旨在将方面与相应的情感进行对齐,以进行特定方面的情感极性推理。这是具有挑战性的,因为一个句子可能包含多个方面或复杂的(例如,条件、并列或转折)关系。近年来,利用图神经网络挖掘依存句法信息已成为最流行的趋势。尽管依赖于依赖关系树的方法取得了成功,但由于依赖关系树可能提供不相关关联的噪声信号(例如,图2中“great”和“dreadful”之间的“conj”关系),因此严重依赖于依赖关系树的方法在准确建模方面及其指示情绪的词语的对齐方面提出了挑战

为了缓解这一问题,我们提出了一种双句法感知图注意网络(BiSyn-GAT+)。具体地,BiSyn-GAT+充分利用句子组成树的句法信息(例如,短语切分和层次结构) 来建模每个单个方面的情感感知上下文(称为上下文内)和跨方面的情感关系(称为上下文间)用于学习。在四个基准数据集上的实验表明,BiSyn-GAT+的性能一致优于最先进的方法。

1. Instruction

通常,将方面术语链接到句法上相关的词的依存关系树(即,依赖树)在长距离依存关系问题中保持有效。然而,Dep.Tree结构的固有性质可能会引入噪声,如图2中“great”和“dreadful”之间的不相关关系,这阻碍了捕获每个方面的情感感知上下文,即上下文内。

此外,Dep.Tree结构仅揭示了词之间的关系,因此在大多数情况下无法建模句子的复杂关系(例如,条件关系、并列关系或反语关系) ,因此无法捕获方面之间的情感关系,即上下文之间的关系

因此,在本文中,作者考虑充分利用构成树 的语法信息来解决这个问题。

  • 通常,构成树(即Con.Tree)通常包含精确的区分短语切分和层次组成结构,这有助于正确对齐表示情感的方面及其对应的词。
  • 前者可以自然地将一个复杂的句子分成多个小句,后者可以区分不同的体之间的不同关系,从而推断不同体之间的情感关系。

本文用图3中的一个例子来说明这一点:

  1. 从句“The food is great”和“服务和环境很糟糕”被短语分割术语“但是”分割;
  2. 在第一层中,术语“and”表示“服务”和“环境”的协调关系,而在第三层中,术语“but”反映了对“食物”和“服务”(或“环境”)的否定关系。

因此,为了更好地对齐体术语和相应的情感,本文提出了一个新的框架,双句法感知图注意网络(BiSyn-GAT+),通过对上下文内和上下文间信息进行建模,有效地利用组成树的语法信息

  1. 基于同一小句内的融合语法信息,以自底向上的方式嵌入的语法图对每个方面的内上下文进行编码,将其组成树的短语级语法信息与其依存关系树的小句级语法信息相结合。
  2. 由短语切分术语和所有方面组成的方面-上下文图,用于对每个方面的相互上下文进行建模。
  3. 具体地说,它根据当前方面与其相邻方面之间的影响来聚合其他方面的情感信息,该影响分别基于从方面上下文图上的双向关系中学习的方面表示来计算。

主要贡献如下:

  1. 这是首次使用GNN为ABSA利用构成树的语法信息(如短语切分和层次结构)。此外,它在方面与对应的情感词之间的对齐上也显示出优越性。
  2. 提出了一种双向句法感知图注意网络框架(BiSyn-GAT+),通过对每个方面的情感感知上下文和跨方面的情感关系进行建模,充分利用组成树(或依赖树)的语法信息。
  3. 在四个数据集上的大量实验表明,本文提出的模型达到了最好的性能。

2Methodology

2.1 Overview

2.1.1 Problem Statement.

s = { w i } n s=\{w_i\}_n s={wi}n and A = { a j } m A=\{a_j\}_m A={aj}m是一个句子和一个预定义的方面集,其中n和m分别表示s中的词数和A中方面词的个数。对于每个s, A s = { a i ∣ a i ∈ A , a i ∈ s } A_s=\{a_i|a_i\in A,a_i\in s\} As={aiaiA,ais}表示包含在s中的方面词。

2.1.2 Architecture

本文提出的体系结构将句子和文本中出现的所有方面词作为输入,并输出这些方面的情感预测。

包含三个组件:

  1. 上下文内模块对输入 { w i } \{w_i\} {wi}进行编码以获得目标方面的方面特定表示,
  • 其包含两个编码器:输出上下文词表示的上下文编码器利用所解析的构成树(或和依存关系树)的句法信息的句法编码器
  1. 上下文间模块包括应用于所构建的方面-上下文图以输出关系增强的表示的关系编码器。
  • 方面-上下文图组成从应用于构成树的所设计的基于规则的映射函数获得的给定句子和短语分词的所有方面。
  1. 情感分类器采用上述两个模块的输出表示进行预测。

2.2 Intra-Context Module 上下文内模块

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

2.2.1 Context Encoder

使用BERT来生成上下文表示:

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

n ′ n' n and m ′ m' m分别是BERT标记器之后的输入文本和目标方面的长度, h 0 t h_0^t h0t 是表示BERT序列的“BERT池化”向量, h i t h_i^t hit 是每个token的上下文表示。

注意, w i w_i wi 可以由BERT标记器分割成多个子词。因此,按如下方式计算 w i w_i wi 的上下文表示,

其中, B e r t T ( w i ) BertT(w_i) BertT(wi)返回BERT序列中 w i w_i wi 的子词的索引集,||返回其长度。

2.2.2 Syntax Encoder

由于上述表示只考虑了语义信息,因此作者提出了一种利用丰富的语法信息的句法编码器。

语法编码器由几个设计的层次图注意(HGAT)块堆叠而成,每个块由多个图关注层(即GAT层)组成,这些层在组成树(或和依存关系树)的指导下对语法信息进行分层编码。关键是构造相应的图。

2.2.2.1 Graph construction

如图4所示,作者以自下而上的方式遵循Con.Tree的语法结构。Con.Tree的每一层l由几个短语组成 p h u l {ph_u^l} phul它们组成了输入文本,每个短语代表一个单独的语义单位。

例如, p h 3 {ph^3} ph3在图3中是{食物很棒,但服务和环境都很糟糕 The food is great, but, the service and the environment are dreadful}。基于这些短语,我们构造了相应的图。即,对于由短语 p h u l {ph_u^l} phul组成的层l,我们构造显示单词连接的邻接矩阵CA:

它在图5中被例示为Con.Graphs。

2.2.2.2 HGAT block

HGAT块旨在将语法信息分层地编码到单词表示中。

如图5所示,HGAT块由几个GAT层堆叠而成,这些层利用mask的自我注意机制从邻居那里聚集信息,并使用完全连接的前馈网络将表示映射到相同的语义空间。注意机制可以处理邻居的多样性,赋予更多相关词更高的权重。它可以表述如下:

其中 N l ( i ) N^l(i) Nl(i) w i w_i wi在层 l l l中的邻域集合, g ∧ i t , l \overset{\wedge}{g}_i^{t,l} git,l w i w_i wi在层 l l l中的最终表示,FC是全连接前馈网络。 g ∧ i t , l \overset{\wedge}{g}_i^{t,l} git,l是mask自注意力机制后的 w i w_i wi表征。||表示向量连接。Z表示注意头数。堆叠的HGAT块以第一个块的输出为输入,第一个HGAT块的输入为 h ∧ t \overset{\wedge}{h}^t ht。为了简单基建,语义编码器的输出定义为: g ∧ t \overset{\wedge}{g}^t gt

2.2.2.3 With dependency information

作者还探讨了两种句法信息的融合。在前人工作的基础上,将Dep.Tree看作一个无向图,并构造了邻接矩阵DA,其公式如下:

A. position-wise dot.

对于Con.Tree的每一层,此操作仅考虑Dep.Tree的邻居,这些邻居也在相同的短语中。

B. position-wise add

对于Con.Tree的每一层,此操作都会考虑Dep.Tree的相同短语和邻居中的单词。Dep.Tree的一些边可以缩短方面词和相关观点词之间的路径,例如图3中的“Food”和“Great”。

C. conditional position-wise add

该操作考虑了Con.Tree的短语级语法信息和Dep.Tree的子句级语法信息。具体地说,它首先删除跨越子句的所有依赖边(例如,图2中“Great”和“deradful”之间的边),然后对剩余的依赖边执行位置相加操作。

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

2.3 Inter-Context Module

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

Phrase segmentation.

方面关系可以通过一些短语切分术语来揭示,比如连词。因此,作者设计了一个基于规则的映射函数PS,它返回两个方面的短语切分条件:

  • 给定两个方面,它首先在Con.Tree中找到它们的最低共同祖先(LCA),它包含两个方面的信息,具有最少的无关上下文。
  • 本文将LCA中两个方面分别位于其中的子树之间的分支称为“内部分支”。PS返回内部分支中的所有文本单词(如果存在);否则,它返回输入文本的两个方面之间的单词。它的表述如下,

Aspect-context graph construction

作者注意到,一个方面的影响范围应该是连续的,并且方面之间的相互影响随着距离的增加而减弱。考虑到所有的宽高比对,引入了长距离噪声,增加了计算开销。因此,本文只对相邻方面的关系进行建模。

在利用PS函数提取相邻体的短语segmentation术语后,通过将segmentation与相应的phrase segmentation术语相关联来构建方面-上下文图,以帮助推断关系。

为了区分aspect-context图上的双向关系,本文构造了两个对应的邻接矩阵。

  • 第一个处理的是句子所有方面中单数标的方面对相邻偶数标的方面的影响;
  • 第二个处理的是相反的影响。

图6给出了一个例子。

然后,以 v a s t , t ∈ A s {v_a^st,t\in A_s} vast,tAs和BERT编码的相应短语切分术语表示为输入,将上述HGAT块用作关系编码器,以获得每个方面 a t a_t at 的关系增强表示 v t a a v_t^aa vtaa

2.4 Training

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

损失定义为所有(句子、方面)对的gold 极性标签和预测的极性分布之间的交叉熵损失:

其中, a t a_t at 是特征,也是s中的第t个字,损耗是标准的交叉熵损耗,θ表示模型参数。

3. Experiment

3.1 Main Results

通过表格观察结果是:

  1. 作者提出的模型优于大多数基线,作者的完整模型BiSyn-GAT+在所有数据集上都实现了最先进的性能,特别是在Restaurant和MAMS上的1.27和1.75 F1改进。
  2. 有句法信息的模型优于没有句法信息的模型,这意味着句法结构是有帮助的。
  3. 与仅使用依赖关系信息的模型相比,本文的模型显示出更大的优势,这意味着组成树可以提供有益的信息。
  4. 与BiSyn-GAT相比,BiSyn-GAT+表现出一致的改进,这意味着建模体-方面关系可以提高性能,特别是当有更多的多方面句子可用时,例如,在Restaurant和MAMS上的0.8和1.06 F1改进。

3.2 Ablation Study

本文将模型的上下文编码器设置为基础模型,即BERT+。研究发现:

  1. BERT+的成绩最低,这说明语法信息对ABSA任务有帮助。
  2. 在没有AA的类别中,没有CON。不如w/o dep,这意味着con.Tree的语法信息很有用。此外,还对W/O CON进行了比较。和con.×dep.。验证与短语交叉的某些依赖边是否确实带来噪声,因为前者考虑所有依赖边,而后者忽略从Con.Tree获得的每层短语的依赖边。
  3. 以适当的方式融合两种语法信息可以提高性能。

4. 启示

  1. 构建了小句子级别的依赖树,想法很好,但是还要构建特征工程,感觉太麻烦了。
  2. 几个图画的确实漂亮。
  3. 对于GAT模型和小句子依赖树,可以尝试用到其他领域。
  4. 欢迎关注微信公众号:自然语言处理CS,一起来交流NLP。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值