21.Selective Attention Based Graph Convolutional Networks for Aspect-Level Sentiment Classification阅读笔记

  • Abstract
  • 1. Introduction
  • 2. Related Works
  • 3. Proposed Model
    • 3.1 Overview of the Model
    • 3.2 Encode for Aspect Term and Context
      • BERT Encoder
    • 3.3 GCN over Dependency Trees
    • 3.4 SA-GCN :Selective Attention based GCN
    • 3.5 Classifier
    • 3.6 Opinion Extractor
  • 4. Experiments
    • Datasets
    • 4.1 Experimental Results
    • 4.2 Model Analysis

(中文翻译:用于属性级情感分析的基于图卷积网络的选择注意力)

论文地址:https://arxiv.org/pdf/1910.10857.pdf
Author Information::Xiaochen Hou* , Jing Huang, Guangtao Wang, Xiaodong He, Bowen Zhou

Institutions Information:

JD AI Research, Mountain View, California

ACL 2021

Abstract

最近很多属性级情感分类任务利用图卷积网络(GCN:Graph Convolutional Networks )的依存关系树,学习属性词和情感词之间的关系。在一些实例中,属性词相对应的情感词并不能够通过依存关系树的两个hops找到彼此之间的联系,这就要求使用GCN网络建模。然而,GCN网络经常是2层取得最优的性能,更深层次的网络并不能够使性能更优。因此,本文设计了一个新颖的基于选择性注意的GCN模型。一方面,本文提出的模型,通过自注意力操作使得属性词和上下文能够直接交互,没有依存关系树的距离限制。另一方面:设计了一个top-k选择程序,通过选择K个注意力得分最高的上下文来定位情感词。在几个常用的数据集上进行了实验,实验结果验证,本文的模型优于基准模型。

1. Introduction

任务定义不再赘述。
已有的研究证明了属性词和其上下文(包含情感词)之间的交互对于识别给定属性词的情感极性是十分重要的。大多数的工作考虑了上下文的语义信息,并且利用注意力机制去学习交互。然而,已经表明,从依赖解析中获得的句法信息在捕获表面形式模糊的长期句法关系方面是非常有效的。最近一种流行的学习语义感知表示的方法是在依赖树上使用图卷积网络(GCN)它将在信息传递中引入句法归纳偏差。
在绝大多数的句子中,最重要的上下文信息(如情感词)在依赖树中与属性词之间的距离往往大于two-hops(两跳),如图1 所示:

属性词"Mac OS"和情感词“easily picked up”之间的距离是4跳(four-hops),这就要求GCN大于两层才能学习到它们之间的交互。然而,已有的工作证明了,GCN的最优工作层数是2,更深层次的GCN并不能取得更优的效果。
为了解决上述问题,我们提出了一个新颖的基于GCN的选择注意力(SA-GCN, 它结合了依赖树上的GCN模型和句子上基于自我注意的序列模型。一方面,自注意序列模型使属性词和上下文之间能够直接交互,因此它可以处理术语远离依赖树上的情感词的情况。另一方面,在自注意力操作之后,应用top-k 注意力选择模型。其旨在定位给定属性词的情感词。
具体来说,基本模型是依赖树上的GCN模型。该模型使用预先训练的BERT来获得作为属性词及其上下文词在依赖树上的初始节点特征的表示。
接下来,GCN输出喂入多头 top-k注意力选择模型。对每个头(head),对句子进行自注意操作,得到一个密集的注意得分矩阵(dense attention score matrix),其中第i行将所有单词的注意得分对应于句子中的第i个单词。对每一个单词,前top-k个注意力得分的上下文单词会被选择,另外的单词会被忽略。它使注意力分数矩阵稀疏化,形成了一个稀疏图(sparse graph)
我们使用两种策略来获取稀疏图:

  • 1)对所有头部的注意得分矩阵求和得到的注意矩阵进行top-k选择,因此不同的头部共享相同的稀疏图。

  • 2)对每个头部的个体注意得分矩阵进行top-k选择,因此不同的头部有自己的稀疏图。

  • 最后,我们再次应用一个GCN层来整合来自每个头部的稀疏图(s)的信息,并连接GCN输出w.r.t.不同的头部作为情绪分析的最终单词表示。

    本文的主要贡献点如下:

  • 我们提出一个基于GCN的选择注意力模型,该模型利用了基于依赖树的GCN的优势,使得属性词直接获取来自最相关上下文的信息。这解决了属性词和情感词之间距离较远的问题。

  • 我提出情感分类和属性抽取两个的任务。联合模型进一步提升了分类任务的性能。

2. Related Works

可参考论文。

3. Proposed Model

3.1 Overview of the Model

本文提出的SA-GCN模型的目标是预测句子中,给定属性词对应的情感极性。为了提高情感分类的性能和解释极性预测,本文还引入了联合训练的属性抽取任务。本文的整体模型图如下:

需要注意的一点:
对每一个句子而言,除了属性词自己本身之外的,都称为上下文(contextwords).

3.2 Encode for Aspect Term and Context

BERT Encoder

我们使用预训练模型BERT base获取句子中单词的embeddings。设定一个句子由n个单词组成 。

其中,{wr,wr+1, …… wr+m-1}代表属性词包含m个单词。
首先,将““[CLS] + sentence + [SEP] + term + [SEP]””输入形式,喂入BERT。这种输入格式使得整个句子和术语(term)之间能够进行显式交互 ,这样获得的单词表示是term参与的。然后,我们利用平均池化来总结BERT中单词所携带的信息,得到最终的词嵌入形式。

3.3 GCN over Dependency Trees

GCN已经被证明在关系抽取、阅读理解、和属性级情感分析任务上有一定的作用。在每一个GCN层,每个节点搜集来自one-hop的邻居信息并更新自己的表示。
在本文中,用依存关系树表示图(在依存关系树中,每一个单词是一个独立的节点,其表示被看作节点特征)。

其中,H(l)表示l层GCN的输出,H(0)表示GCN第一层的输入,A表示邻接矩阵,W是权重参数。

节点特征通过GCN层传递,现在每个节点的表示通过依赖树中的语法信息进一步丰富。

3.4 SA-GCN :Selective Attention based GCN

本文的核心创新点。主要是提出了两种top-k选择策略。分别是Head-independentHead-dependent
尽管在依赖树上执行GCN会为每个单词的表示带来语法信息,但它仍然可以限制属性词和远距离情感词之间的交互,而这些交互对于确定情感极性至关重要。为了解决这个问题,我们使用SA-GCN块,识别出最重要的上下文信息,并且将此信息融合到属性词的表示中。多个SA-GCN块可以堆叠形成一个深度模型。每一个GCN模型有三部分组成: 一个多头自注意力层(Self-Attention),top-k选择(Top-k Selection),和一个GCN层(GCN Layer)。

Self-Attention
我们使用多头自注意力获取注意力得分矩阵 A s c o r e i ∈ R n x n ( 1 ⩽ i ⩽ L ) A_{score}^{i} \in R^{nxn} (1\leqslant i \leqslant L) AscoreiRnxn(1iL) , L是头数量, A s c o r e i A_{score}^{i} Ascorei计算公式如下:

所得到的注意得分矩阵可以看作是L个全连通(完备)图,其中每个单词都与其他所有的具有不同注意权重的上下文单词相连。注意力权重有助于识别出不同的单词,全连通图仍然导致方面节点直接融合所有其他词信息,在GCN的特征聚合过程中经常引入噪声,进一步影响了情感预测。

Top-k Selection

对于每个注意力得分矩阵 A s c o r e i A_{score}^{i} Ascorei,我们找到每个单词最重要的k个上下文词,这有效地删除了 A s c o r e i A_{score}^{i} Ascorei中的一些边。我们选择top-k个上下文词的原因是,只有几个词就足以确定对一个属性词的情感极性。因此,我们丢弃其他注意力分数较低的单词,以去除不相关的嘈杂单词。
我们设计了两种top-k选择策略:head-independenthead-dependent。head-independent选择通过聚合所有头部所做的决定来决定k个上下文词,并达成头部之间的协议。head-dependent使每一个头能够保持它,从中选择前k个重要的上下文。

  • head-independent
    定义:我们首先将每一个头对应元素相乘得到的注意力得分矩阵相乘,然后使用函数topk函数生成的掩码找到top-k个上下文词。
    例如,topk([0.3, 0.2, 0.5]) 函数,如果k设置为2, 则返回的是[1,0,1]。最终,我们使用softmax函数更新注意力得分矩阵。过程可参考下面的公式:
  • head-dependent
    头依赖通过每一个独立的头,来选择top-k个上下文单词。我们对每一个top-k注意力矩阵使用softmax操作,计算公式如下:

    与头独立选择方法相比较,头独立只选择k个单词,但是,头依赖,选择的单词数会大于k个,因为每一个头可能选择不同的k个单词,合起来就会大于k。
    获得的top-k得分矩阵A可被看作是一个邻接矩阵,A(p,q)表示单词p和单词q之间的边的权重。需要注意的是A并不包含自循环(self-loop),因为我们为每一个节点都加入了自循环。

GCN Layer
对每一个注意力得分矩阵 A s c o r e i A_{score}^{i} Ascorei选择top-k个上下文之后,我们使用一个一层的gcn,更新节点特征,公式如下:

3.5 Classifier

3.6 Opinion Extractor

3.5和3.6联合任务。

4. Experiments

Datasets


去除“conflict”,仅保留“Positive”、“Neutral”,"Negative"三种词性。

4.1 Experimental Results

与将BERT作为baseline的几个模型比较。分别是BERT-SPC、AEN-BERT、TD-GAT-BERT、DGEDT-BERT、R-GAT+BERT
通过表2,可以看出本文提出的SA-GCN模型,取得了最优的性能。其中,Joint SA-GCN中的joint是指多任务联合,并不是两种TOP-k联合的意思。

Qualitative Case Study


从表3可以看出,本文提出的SA-GCN,较GCN模型,可以正确识别出GCN模型识别错误的标签。

4.2 Model Analysis


从表5可以得出。头无关(Head_independent)、头有关(Head_dependent)、没有任何机制的三种模型中,没有top-k机制的GCN模型性能在三者中最低。Head_independent性能最优,Head_dependent次之。

Sentence Length Analysis

选择14Lap和1Res两个数据集,进行长度的性能验证。从图4 ,可以看出,无论何种长度,本文的SA-GCN模型,均比单纯的GCN模型,性能优。

对SA-GCN的k取值和block,也进行了实验验证,结果如下:

21.Selective Attention Based Graph Convolutional Networks for Aspect-Level Sentiment Classification阅相关推荐

  1. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)

    文章目录 abstract 1.introduction 1.1 dense connection+GCN 1.2 效果突出 1.3 contribution 2.Attention Guided G ...

  2. 【论文阅读】Spatio-Temporal Graph Convolutional Networks:...Traffic Forecasting[时空图卷积网络:用于交通预测的深度学习框架](1)

    [论文阅读]Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecastin ...

  3. SGC - Simplifying Graph Convolutional Networks 简化的图卷积网络 论文详解 ICML 2019

    文章目录 1 相关介绍 1.1 Simple Graph Convolution (SGC)提出的背景 1.2 SGC效果 2 Simple Graph Convolution 简化的图卷积 2.1 ...

  4. 2018_WWW_Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification

    [论文阅读笔记]2018_WWW_Dual Graph Convolutional Networks for Graph-Based Semi-Supervised Classification-(T ...

  5. Semi-Supervised Classification with Graph Convolutional Networks

    Kipf, Thomas N., and Max Welling. "Semi-supervised classification with graph convolutional netw ...

  6. 论文笔记:Semi-Supervised Classification with Graph Convolutional Networks

    Semi-Supervised Classification with Graph Convolutional Networks 1.四个问题 要解决什么问题? 半监督任务.给定一个图,其中一部节点已 ...

  7. 知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks

    题目: Multi-behavior Recommendation with Graph Convolutional Networks 论文地址: 论文代码: 想法 将相同行为的交互方式进行了聚合来计 ...

  8. 知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender

    题目: KGCN 论文链接: 代码链接:https://github.com/hwwang55/KGCN 想法 高阶的意思就是multi-hop的意思 注意是从外向里聚合的,第h-1跳是外侧,第h跳是 ...

  9. FastGCN: fast learning with graph convolutional networks via importance sampling 论文详解 ICLR 2018

    文章目录 1 简单介绍 概率测度 probability measure 自助法 bootstrapping GCN面临的两个挑战 解决思路(创新点) 2 相关工作 3 通过采样进行训练和推理 定理1 ...

最新文章

  1. 大数据调度平台Airflow(八):Airflow分布式集群搭建及测试
  2. MAC 重置MySQL root 密码
  3. C/C++语言中计算int,float,double,char四种数据类型所能表示的数据范围
  4. python一行没写完用什么隔离_完全隔离的Python环境
  5. Invalid Gradle JDK configuration found_带你了解Gradle编译速度是如何提升70%的
  6. C语言学习:malloc()函数
  7. c#ovalshape_How to: Draw Shapes with the OvalShape and RectangleShape Controls (Visual Studio)
  8. ITK+VTK+VS环境搭建.Q:vs编译出问题参见VTK(一)哈。
  9. 解决IE浏览器URL乱码的问题
  10. linux 增加虚拟设备,第一篇Zstack之创建虚拟机
  11. CICS的临时存储队列操作
  12. DOSBox安装及使用教程
  13. 饥荒联机版把服务器删掉了怎么找回,饥荒联机服务器角色存档删除 | 手游网游页游攻略大全...
  14. 计算机主机hdmi接口是什么意思,hdmi接口有什么用,教您电脑hdmi接口有什么用
  15. 电脑版微信防撤回大全
  16. matlab结构力学仿真,MATLAB在结构力学分析中应用.doc
  17. 程序员进阶架构师、技术总监、CTO,需要掌握哪些核心技能
  18. 还在纠结配色问题?手把手教你用MATLAB一键生成高质量色卡
  19. bids格式数据中config文件的编写
  20. 《Exceptional C++ Style》开放样章译稿

热门文章

  1. 「天以百凶成就一詩人」—柳永【雨霖鈴】
  2. 漫画解读:什么是数据仓库?
  3. 1月16日服务器例行维护更新公告,12月16日服务器例行维护公告(已完成)
  4. java switch 的用法_Java的switch用法
  5. 见招拆招,敏捷实战:揭秘全民K歌背后的音乐黑科技
  6. Qt学习总结之QTextEdit
  7. jira邮件自动提醒功能配置
  8. vue3 + video + canvas 人脸识别
  9. ios与android指纹识别,iOS 指纹登录(TouchID)集成方案
  10. android GridView 在TV上,上下翻页的时候平滑滑动的实现