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={wi}ns=\{w_i\}_ns={wi​}n​ and A={aj}mA=\{a_j\}_mA={aj​}m​是一个句子和一个预定义的方面集,其中n和m分别表示s中的词数和A中方面词的个数。对于每个s,As={ai∣ai∈A,ai∈s}A_s=\{a_i|a_i\in A,a_i\in s\}As​={ai​∣ai​∈A,ai​∈s}表示包含在s中的方面词。

2.1.2 Architecture

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

包含三个组件:

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

2.2 Intra-Context Module 上下文内模块

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

2.2.1 Context Encoder

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

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

n′n'n′ and m′m'm′分别是BERT标记器之后的输入文本和目标方面的长度,h0th_0^th0t​ 是表示BERT序列的“BERT池化”向量,hith_i^thit​ 是每个token的上下文表示。

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

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

2.2.2 Syntax Encoder

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

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

2.2.2.1 Graph construction

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

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

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

2.2.2.2 HGAT block

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

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

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

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给出了一个例子。

然后,以vast,t∈As{v_a^st,t\in A_s}vas​t,t∈As​和BERT编码的相应短语切分术语表示为输入,将上述HGAT块用作关系编码器,以获得每个方面ata_tat​ 的关系增强表示vtaav_t^aavta​a 。

2.4 Training

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

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

其中,ata_tat​ 是特征,也是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。

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

  1. 深入解读华为云细粒度文本情感分析及其应用

    摘要:本篇文章主要介绍了情感分析的一些基本任务,包括文本.语音.图像还有生成.识别,着重讲述华为云在细粒度情感分析方面两个工作. 导读:先简单介绍一下文本情感分析的一些基本概念,然后介绍一下华为云在细 ...

  2. AI Challenger 2018:细粒度用户评论情感分析冠军思路总结

    2018年8月-12月,由美团点评.创新工场.搜狗.美图联合主办的"AI Challenger 2018全球AI挑战赛"历经三个多月的激烈角逐,冠军团队从来自全球81个国家.100 ...

  3. 深度学习笔记——情感分析

    很早之前就想写一篇关于用深度学习做情感分析的文章,一直拖到现在,拖延症啊.... 什么是情感分析? 情感分析(Sentiment analysis)是自然语言处理(NLP)领域的一个任务,又称倾向性分 ...

  4. 【Paper Note】基于情感分析和关系网络的影视产品评论数据文本挖掘研究

    中国知网链接 摘要 [目的]为了挖掘观众对影视产品的主观感受,建立合适的模型评估影视产品的质量. [方法]本文通过对web影视作品评论数据建立评估模型,通过LDA和关系网络进行分析研究,并将结果与影视 ...

  5. NLP第12课:完全基于情感词典的文本情感分析

    目前情感分析在中文自然语言处理中比较火热,很多场景下,我们都需要用到情感分析.比如,做金融产品量化交易,需要根据爬取的舆论数据来分析政策和舆论对股市或者基金期货的态度:电商交易,根据买家的评论数据,来 ...

  6. 情感分析中的情感分析机器人:基于语音识别的方法

    作者:禅与计算机程序设计艺术 <情感分析中的情感分析机器人:基于语音识别的方法> 引言 1.1. 背景介绍 随着人工智能技术的快速发展,自然语言处理(Natural Language Pr ...

  7. 实体词典 情感词典_人工智能技术落地:情感分析概述

    从自然语言处理技术的角度来看,情感分析的任务是从评论的文本中提取出评论的实体,以及评论者对该实体所表达的情感倾向,自然语言所有的核心技术问题.因此,情感分析被认为是一个自然语言处理的子任务. 情感分析 ...

  8. NLP学习(十)-情感分析技术及案例实现-Python3实现

    文章目录 1 情感分析简述 2 情感分类 2.1 基于语义的情感词典方法 2.2 基于机器学习的情感分类方法 3 情感检索 4 情感抽取 5 情感分析实战 5.1 词向量模型 5.2 Word2Vec ...

  9. python微博评论情感分析_基于Python的微博情感分析系统设计

    2019 年第 6 期 信息与电脑 China Computer & Communication 软件开发与应用 基于 Python 的微博情感分析系统设计 王 欣 周文龙 (武汉工程大学邮电 ...

最新文章

  1. 从Github一开源项目ADSEC【学习域渗透攻防基础】
  2. Boost:双图bimap与标记的双向地图的测试程序
  3. 反思耗时任务异步处理
  4. mysql 索引条件推送_MySQL 处理where条件 index condition pushdown索引条件下推
  5. Python利用turtle绘制五角星
  6. number类型转换java_Number()数据类型转换
  7. Vertica系列: Vertica DB连接负载均衡
  8. 我的网络安全第三次实验汇报
  9. java action url,Java ViewHandler.getActionURL方法代码示例
  10. Apache OpenOffice-java调用时的问题总结
  11. Jenkinsfile脚本实现master、slave节点(agent)共享内容
  12. 【收藏】夜光遥感数据下载网址及方式
  13. 语音视频自动生成字幕功能介绍
  14. oracle设置自增序列,oracle设置自增字段,oracle序列
  15. vue yaml代码编辑器组件
  16. PyTorch(13)---优化器_随机梯度下降法
  17. 《笨方法学python》习题43分析
  18. 拉格朗日插值法与牛顿插值多项式
  19. 程序员又背锅了!虾米音乐代码注释惊现“穷逼vip”
  20. 【ECDH java后端和javaScript前后端互通实现】

热门文章

  1. Strstr和Strchr函数详解
  2. 车联网发展现状学习笔记
  3. 坚果部分机型屏幕亮度调整问题
  4. Ubuntu通用命令大全
  5. 怎么样看待上海车展?
  6. java 雪花算法生成ID
  7. 现代化城市规划发展的趋势--城市大脑
  8. 电路设计_锂电池充放电特性
  9. xpath中双斜杆的用处
  10. HTML——超级课程表页面制作