2020 ACL 《CoGAN》-Aspect Sentiment Classification with Document-level Sentiment Preference Modeling

  • Abstract
  • 1 Introduction
  • 3 Cooperative Graph Attention Networks (CoGAN)
    • 3.1 Basic Graph Attention Network
    • 3.2 Encoding Block
    • 3.3 Intra-Aspect Consistency Modeling Block
    • 3.4 Inter-Aspect Tendency Modeling Block
    • 3.5 Interaction Block
    • 3.6 Softmax Decoding Block
    • 3.7 Model Training
  • 4 Experimentation
    • 4.1 Experimental Settings
      • 4.1.1 Dataset
      • 4.1.2 Implementation Details
    • 4.2 Experimental Results
    • 消融试验
  • 5 Analysis and Discussion
    • 5.1 Case Study
    • 5.2 Effectiveness Study (还要再看看,没看懂那个比率啥意思)
    • 5.3 Error Analysis
  • 6 Conclusion

ACL 2020的文章:文章地址

每个datasets 由不同的 reviews 文件(document)表示

Abstract

在文献中,现有的研究总是将方面情感分类作为一个独立的句子层面的分类问题,在很大程度上忽略了文档层面的情感偏好信息,但显然这种信息对于缓解方面情感分类中的信息不足问题至关重要。本文探讨了文档内部的两种情感偏好信息,即同一方面的上下文情感一致性(即方面内情感一致性)和所有相关方面的上下文情感倾向(即方面间情感倾向)。在此基础上,我们提出了一种合作图注意网络(Cooperative Graph Attention Networks (Co-GAN))方法,用于合作学习aspect-related sentence representation。具体来说,利用两个GAT(图注意力网络,Graph Attention Network,GAT)分别对上述两种文档级情感偏好信息进行建模,并通过交互机制整合这两种偏好。详细的评估表明,与最先进的基线相比,所提出的ASC方法具有很大的优势。这证明了文档级别的情感偏好信息对自动服务中心的重要性,以及我们获取此类信息的方法的有效性。

1 Introduction

  • 在文献中,给定ASC数据集,其中 aspect (即实体和属性)被逐句人工注释,先前的研究逐句独立地对方面情感建模,其忽略了文档级情感偏好信息。在本文中,我们认为这种文档级的情感偏好信息对于弥补ASC中的信息缺失问题起到重要作用。特别地,我们探索了文档中的两种情感偏好信息

    1. 我们假设文档中涉及相同方面的句子在这个方面倾向于具有相同的情感极性。即,方面内情感一致性

      例如,在Document1中,S1和S2中都含有 AMBIENCE#GENERAL。但是,利用 S1 中的 “interior could use some help” 显然比 S2 中的 clause “without it trying to be that” 容易判断 AMBIENCE#GENERAL 是 negative。由于同一document 方面内情感一致性,所以可以利用S1辅助判断S2 AMBIENCE#GENERAL 的情感极性。

    疑问:那这样整个文件所有同一 aspect 岂不是都是同一个情感极性了?

    1. 我们假设文档(document)中的句子在所有相关方面都有相同的情感极性。即,方面间情感倾向


例如,Document2中的S2包含多个aspect,很难准确地为每个aspect预测情感极性。(我觉得人看的话,还是很好预测的啊。不知道机器可能识别不了?搞不懂…)当考虑句子的上下文时,由于S2相邻句子S1、S3中的aspect的情感记性都是positive,所以S2中的每个aspect很大可能也都是positive。即,方面间情感倾向

以上数据集文件获取地址: SemEval-2016 ABSA Restaurant Reviews-English: Test Data-Phase B (Subtask 2)

为了很好地适应上述两种文档级情感偏好信息,本文提出了 GoGAN 模型。具体地说, CoGAN 构建了两个 GAT 来建模以上两种文档级的情感偏好。其中,用 attention weight来衡量 偏好度preference-degree。此外,考虑到这两种情感偏好可以共同影响方面的情感极性,我们提出了一种交互机制来共同建模两种情感偏好,以获得更好的方面相关句子表示(aspect-related sentence representation)。

3 Cooperative Graph Attention Networks (CoGAN)

符号定义:

  • document D=s1,s2,...,sID = {s_1, s_2, ..., s_I}D=s1​,s2​,...,sI​,D 中含有 III 个句子;
  • document D 中含有 KKK 个aspect, 其中 aspect aka_kak​,k ∈ {1,2, …, K};
  • ASC 任务:根据 the aspect-related sentence representation rir_iri​ of sentence sis_isi​ 预测 aka_kak​ 的情感极性。

其中,document 中的 每个句子:Like Pontiki et al. (2015), all aspects of every sentence are unrolled in a document. For instance, a sentence with two aspects occurs twice in succession, once with each aspect.

本文提出了 GoGAN 模型,它利用两个 GAT 分别学习两种文档级的情感偏好。GoGAN 模型架构图如图2所示,其主要包含一下五个部分:

  1. Encoding Block;
  2. Intra-Aspect Consistency Modeling Block;
  3. Inter-Aspect Tendency Modeling Block;
  4. Interaction Block;
  5. Softmax Decoding Block.

3.1 Basic Graph Attention Network

GAT 能为不同顶点指定不同的attention权重。原则上,GAT可以聚合相邻节点的特征,也可以将一个顶点的信息传播到其最近的邻居。从这一点来看,GAT 能够充分地模拟局部上下文信息,用于学习每个顶点的表示。

其中,符号定义如下:

3.2 Encoding Block

BERT(Devlin et al,2019)可以背微调用于多个 NLP 任务中,例如,text classification and natural language inference。

本文使用 BERT-base 来 encode aspect and the sentence。

  • Aspect Encoding
    由于 aspect aka_kak​ 包含entity eentitye_{entity}eentity​ 和 attribute eattributee_{attribute}eattribute​,所以在 BERT 中使用下图来表示 entity-attribute pair : (eentity,eattribute)(e_{entity}, e_{attribute})(eentity​,eattribute​)

    其中,我们将 entity-attribute pair 喂给 BERT,然后将 “[CLS]” 作为 aspect aka_kak​ 的 aspect vector eke_kek​。其中,ek∈Rde_k \in R^dek​∈Rd。

  • Sentence Encoding
    本文引用 Sun et al.(2019) 的方法来生成 aspect related sentence representation。其做法如下:

    1. 首先,将 sentence sis_isi​ 以及它包含的 aspect aka_kak​转化为如下 BERT 的 input pair 形式:

      其中,question(⋅)question(·)question(⋅) 表示 Sun et al(2019) 中提出的创建 aspect aka_kak​ 对应的辅助疑问句。例如,FOOD#PRICE辅助疑问句可以付创建为:“what do you think of the food and price?”
    2. 然后,将以上 input pair 喂给 BERT 来获得句子 sis_isi​ 的 aspect-related sentence vector vi∈Rdv_i \in R^dvi​∈Rd;
    3. 此外,此外,我们微调BERT,并根据 公式(8) 更新 aspect vector eke_kek​ 和 sentence vector viv_ivi​。

3.3 Intra-Aspect Consistency Modeling Block

本文提出一种一致性感知的图注意力网络(a consistency-aware GAT)来建模方面内情感一致性(intra-aspect consistency)。

符号定义:

  • 给定一个含有 III 个句子的 document D=s1,s2,...,sID = {s_1, s_2, ..., s_I}D=s1​,s2​,...,sI​,;
  • 一致性感知的图注意力网络(a consistency-aware GAT)可以别表示为一个二分图(bipartite graph) : G(S∪A,Esa)G(S\cup A, E_{sa})G(S∪A,Esa​)。
    其中,S 和 A 为两个不相交的集合,分别表示 sentence vertices 和 aspect vertices。EsaE_{sa}Esa​ 表示 sentence si∈Ss_i \in Ssi​∈S 和 document D中 sis_isi​对应的 aspect ak∈Aa_k \in Aak​∈A 顶点之间边的集合。
  • sentence sis_isi​ 对应的 sentence vector vi∈Rdv_i \in R^dvi​∈Rd
  • aspect aka_kak​ 对应的 aspect vector ek∈Rde_k \in R^dek​∈Rd
  • intra-aspect consistency 被表述为: 同一 document 中同一 aspect 顶点 aka_kak​的 句子顶点 {si}i=1I′\{{s_i}\}_{i=1}^{I'}{si​}i=1I′​ 在 aka_kak​ 上具有相同的情感极性。其中,I′I'I′表示含有同一 aspect 顶点 aka_kak​的句子数量。然而,仍然可能存在一些情感不一致的情况。

本文使用 GAT 来计算 preference-degree,其中attention weight (preference-degree) 根据 GAT 计算 sentence vertex sis_isi​ 和 aspect vertex aka_kak​ 之间的 edge weight 作为 preference-degree。公式如下:


作为 G(S∪A,Esa)G(S\cup A, E_{sa})G(S∪A,Esa​) 中一个顶点,sentence sis_isi​ 被encode为aspect-related sentence representation ,公式如下:

3.4 Inter-Aspect Tendency Modeling Block

我们使用一种我们利用一个趋势感知的GAT(tendency-aware)来建模方面间的趋势(inter-aspect tendency)。

符号定义:

  • 给定一个含有 III 个句子的 document D=s1,s2,...,sID = {s_1, s_2, ..., s_I}D=s1​,s2​,...,sI​,;
  • 趋势感知的GAT(tendency-aware GAT)可以别表示为一个有向图:G(S,Ess)G(S, E_{ss})G(S,Ess​)
    其中,S 为句子顶点集合。EssE_{ss}Ess​表示边的集合,每条边表示 document D中两个句子顶点 sis_isi​ 和 sjs_jsj​之间的边。
  • inter-aspect tendency 假设:在同一document D 中,句子顶点 sis_isi​ 与其邻居节点 {sj}j=1I\{{s_j}\}_{j=1}^I{sj​}j=1I​ 具有相同情感极性。

疑问:这里文中好像没有提到使用语法信息(比如,依赖树),那么这里的 GAT 是怎么判断两个 顶点 是相邻的?仅仅是物理位置上相邻?

与 intra-aspect consistency modeling block 类似,根据公式(1)[GAT] 计算同一 document 中两个句子顶点 sis_isi​ 和 sjs_jsj​ 之间的 attention 权重 αij\alpha_{ij}αij​。公式如下:

根据公式(1),G(S,Ess)G(S, E_{ss})G(S,Ess​) 中的 sentence顶点 sis_isi​ 可以被encode为以下 sentence representation

3.5 Interaction Block

将以上两个 block 学到的 做一个 interactive mechanism 来学习最终的 sentence representation。其中, interactive mechanism 主要分为以下两个部分:

  • Pyramid Layers

    • 受He, 2016 《ResNet》启发,本文添加 pyramid hidden layers(如图2)。
    • pyramid hidden layers 的输入的拼接。
    • bottom layer 最宽(金字塔底层,神经元多),随着层数增加每层的隐藏神经元越来越少(金字塔从底向顶)。
    • 金字塔 第 l 层的 sentence vector 根据如下公式计算:
    • 其中,金字塔的输入为上两个 block 的输出的拼接,并且添加一层使得sentence vector维度减半。
  • Adaptive Layer-Fusion

    adaptive fusion mechanism 被提出用来融合 金字塔 不同层的 abstractive features ,用来计算句子顶点 sis_isi​ 最终的 sentence representation rir_iri​。ri∈Rdr_i \in R^dri​∈Rd,计算公式如下:

    其中, ∏\prod∏ 表示将多个向量拼接(concatenation)在一起。LLL 表示金字塔的层数,根据 dev set 确定最优为 4。αi\alpha_iαi​ 为 金字塔层 每层的正则化权重,其在 train 的过程中被学得。

3.6 Softmax Decoding Block

获得 sentence sis_isi​ 的 final sentence vector rir_iri​之后,将其喂入一个 Softmax 层作分类预测。

3.7 Model Training

4 Experimentation

4.1 Experimental Settings

4.1.1 Dataset

  1. 每个数据集平均由大约442个文档(document)组成,一个文档平均包含4.9个句子。

    Restaurant 15 及其简介

    • SemEval-2015任务12的数据集 Restaurant 15 它包括 254 个英文评论(review document,即 document)文件(共 1315 个 sentences)
  2. 从 train set 中划分 10% 作为 dev set 来调参。

数据集获取地址 : metashare 官网 (搜索 ABSA,即可找到)

4.1.2 Implementation Details

1. BERT

  • Adam optimizer
  • β1=0.9\beta_1 = 0.9β1​=0.9
  • initial learning rate is1e−4
  • Other parameters of BERT 不变

2. CoGAN:

  • Adam optimizer
  • learning rate 10−3
  • β1= 0.95
  • cross-entropy training
  • regularization weight of parameters is 10−5
  • dropout rate is 0.25
  • 所有的 matrix 和 vectors 初始化: Glorot uniform

4.2 Experimental Results

消融试验


分别说明了,CoGAN 模型中 加入 两种情感偏好、以及 交互机制 的有效性。

5 Analysis and Discussion

5.1 Case Study

5.2 Effectiveness Study (还要再看看,没看懂那个比率啥意思)

  • 为了更好地说明本文建模的方面内一致性(intra-aspect consistency)和方面间趋势(inter-aspect tendency)信息的有效性,我们分别系统地研究了所有四个 datasets 中的两种情感偏好。
  • 具体做法为,我们在每个数据集中采样(sampling)200个句子对(sentence pairs),并计算该句子对中两个句子在其对应方面具有相同情感的比率。 -> 啥玩意比率,没看懂。。。

Sentences are repeated in a document according to the
unrolled aspects. For instance, a sentence with two aspects
will be repeated twice, each sentence with only one aspect
句子根据展开的方面在文档中重复。例如,一个有两个方面的句子将被重复两次,每个句子只有一个方面。

  • 本文采用以下三种采样策略(sampling strategies):

    • Randomly Sampling : 在每个dataset中随机挑选 sentence pairs
    • Inter-Aspect Tendency Sampling : 在两个sentence都位于同一个document中的前提下,随机挑选 sentence pairs

    句子在同一document

    • Intra-Aspect Consistency Sampling: 在两个sentence都位于同一个document中 并且 这两个sentence具有相同的 aspect 的前提下,随机挑选 sentence pairs

    句子在同一document + sentence具有相同aspect

5.3 Error Analysis

本文随机挑选了 100 个被错误分类的案例,并将错误原因大致分为以下五类:

  1. 29% 的错误由于否定词

    e.g., “Nothing really came across as outstanding.”.

    上周看的论文里面好像可以使用 卷积 操作提取局部信息,是否可以考虑借其改善这个问题。

  2. 27%是由于错误地识别中性(neural)实例.

  3. 24%是由于含蓄的情感表达

    e.g., “There is definitely more to say…”.

  4. 12%是由于句子太短(例如少于5个单词)

    这启发我们结合外部概念网知识库( ConceptNet knowledgebase)来增强语义表示

  5. 8% are due to comparative opinions,
    e.g., “I’ve had better frozen pizza”

这启发我们去研究整合句法信息是否能解决这个问题

6 Conclusion

  • 本文提出了一种合作图注意力网络(CoGan)用来进行 ASC。
  • 该方法的主要思想融合考虑 文档(document)中的 两种情感偏好信息(即方面内一致性(intra-aspect consistency)和方面间倾向性(inter-aspect tendency)),以弥补 ASC 中的信息缺失问题。
  • 在SemEval-2015和2016的四个数据集上的实验结果表明,本文的方法明显优于许多基线,包括SemEval-2015和2016的共享任务中所有三个表现最佳的系统。
  • 未来工作:
    1. 在我们未来的工作中,我们希望通过使用未标记的数据来提高ASC任务的性能,因为我们基于图的神经网络方法(GAT)易于添加未标记的数据。
    2. 此外,我们希望将我们的方法应用于其他情感分析任务,例如,基于方面的意见总结多标签情感检测

2020 ACL《CoGAN》- Aspect Sentiment Classification with Document-level Sentiment Preference Modeling相关推荐

  1. python爬虫,2020年《财富》中国500强排行榜数据爬取源码

    一个简单的demo,python爬虫,其实是以前的存货,很久很久没有写爬虫了,渣渣更渣了啊! 爬取财富中文网,2020年<财富>中国500强排行榜相关数据,数据都在网页源码里,结构也比较清 ...

  2. 2020年《财富》中国500强排行榜数据爬取,看看都有哪些

    前言 一个简单的demo,python爬虫,其实是以前的存货,很久很久没有写爬虫了,渣渣更渣了啊! 爬取财富中文网,2020年<财富>中国500强排行榜相关数据,数据都在网页源码里,结构也 ...

  3. 2020年《财富》世界500强企业分析报告

    <财富>杂志发布<2020年财富世界500强排行榜>,从国家及地区分布来看,中国上榜企业达到133家,美国上榜企业121家,欧盟上榜企业95家,日本上榜企业53家,中国连续两年 ...

  4. Python爬虫学习之爬取2020年《财富》世界500强排行榜写入txt文件

    import requests from urllib.request import urlopen, Request from bs4 import BeautifulSoup import re ...

  5. 《InsideUE4》GamePlay 架构(二)Level 和 World

    我发现了新大陆! 引言 上文谈到Actor和Component的关系,UE利用Actor的概念组成一片游戏对象森林,并利用Component组装扩展Actor的能力,让世界里拥有了形形色色的Actor ...

  6. 奇门对接需求设计_从2020《奇门遁甲》看网络电影精品化的“正确打开方式”...

    作者 / 1982 "你知道什么是奇门遁甲吗?" 随着2020版网络电影<奇门遁甲>终极预告的神秘发问,观众跟随男主视角一下被带入了那个波云诡谲的东方奇幻世界:雾隐门四 ...

  7. 143家中国公司登《财富》全球500强榜单;壳牌任命中国集团新主席 | 美通社头条...

    要闻摘要:143家中国公司登<财富>全球500强榜单.壳牌任命中国集团新主席.蜂巢能源完成102.8亿元人民币B轮融资.西门子医疗2021财年第三季度强劲增长.社交软件陌陌更换公司名称.加 ...

  8. python 爬取2021年《财富》世界500强排行榜2层链接

    python  爬取2021年<财富>世界500强排行榜2层链接 ''' 2021年500强财富爬取 QQ:28928247 # ''' # -*- coding: UTF-8 -*- i ...

  9. 刘兵《Entity and aspect extraction for opinion mining 》翻译笔记

    Introduce 介绍了一些Opinion Mining的背景,这里不说. survey book: 1. Pang and Lee(2008) 2. Liu(2012) 三种粒度:篇章级.句子级. ...

最新文章

  1. DNS-sly:利用网络复杂性躲避审查
  2. Revit二次开发之“遍历材质判断材质类别的新方法”BuiltInParameter.PHY_MATERIAL_PARAM_CLASS...
  3. python 画希尔伯特曲线
  4. Hi3516A开发--挂载SD卡和U盘
  5. 1346. 检查整数及其两倍数是否存在 golang
  6. 【Flink】Flink 源码之 安全认证 kerberos 认证
  7. 内核参数 linux dd,Linux dd命令使用示例
  8. java string hash变量_java基础(六)-----String性质深入解析
  9. Vue之webpack之基本使用
  10. asp.net2.0 发布网站选项说明
  11. 代码格式化工具 Clang-format
  12. Chrome json 插件 JSONView-for-Chrome
  13. matlab 生成dbc文件,simulink中使用dbc文件实现CAN消息发送与代码生成
  14. html右下角图片广告,HTML580用纯JS实现右下角广告代码
  15. 分组和聚合函数的组合使用实操
  16. Teamviewer删除账号
  17. python制作冰花_小学作文制作冻冰花
  18. 开学季适合学生党的蓝牙耳机,音质好的蓝牙耳机排行
  19. 用BitmapShader实现圆形图片
  20. Python 的IDE——PyCharm

热门文章

  1. 百度信息流是什么?哪些行业适合投放百度信息流?
  2. undefined symbol nvic 报错 undefined symbol TIM_Cmd报错
  3. 调整物料的存货科目代码,会不会造成存货系统和总账对账不平?
  4. No pyvenv.cfg file
  5. EasyAdmin极简社区论坛系统源码
  6. Could not set property ‘ sname‘ of ‘class com.cxy.mybatis.pojo.Student‘ with value ‘赵六‘这种报错原因及解决办法
  7. 高德地图定位、添加定位图标、连线(二)
  8. 组织机构代码和统一社会信用代码校验规则以及java校验工具类
  9. 推荐一个Mac上的软件卸载工具
  10. 955 互联网公司白名单来了!这些公司月薪20k,没有996!福利榜国内大厂只有这家!