Aspect-Opinion对抽取

点击上方,选择星标置顶,每天给你送干货

阅读大概需要8分钟

跟随小博主,每天进步一丢丢

作者:张义策

学校:哈尔滨工业大学(深圳)

方向:自然语言处理

知乎:https://www.zhihu.com/people/zhang-yi-ce-84

这是一篇论文阅读笔记。

Synchronous Double-channel Recurrent Network for Aspect-Opinion Pair Extraction

https://www.aclweb.org/anthology/2020.acl-main.582.pdf

这是ACL2020上的一篇文章,作者来自南开大学。

aspect-opinion对的抽取

在naacl2019上,南京大学的同学提出了TOWE任务,即给定一个评论和其中评价对象(aspect/target),抽取该评价对象对应的观点词(opinion words/terms)。比如,给定评论“这可真真是一个辣鸡游戏,坑爹”和其中评价对象"游戏",TOWE任务要求输出“辣鸡”和“坑爹”。属性级情感分析(ABSA)中评价对象与观点词之间的对应关系以往被忽视了,TOWE任务则考虑到了这一点。

[NAACL2019] Target-oriented Opinion Words Extraction with Target-fused Neural Sequence Labeling

后续在ACL2020上,有两个工作独立地提出了aspect-opinion对抽取任务,即给定一个评论,输出其中的aspect-opinon对。他们对这个任务的命名方式有所不同,分别是

  • AOPE: Aspect-Opinion Pair Extraction,

  • PAOTE: Pair-wise Aspect and Opinion Terms Extraction。

AOPE则是本文所要介绍的文章提出的,他们在Semeval数据集的基础上进行了标注;而PAOTE则是阿里公司的人提出的,他们沿用了TOWE标注的数据集。除此之外,AAAI2020上阿里公司的人还提出了ASTE任务,全称是aspect sentiment triple extraction,即属性级情感三元组抽取。在ASTE中,一个三元组为<aspect, opinion, polarity>。可以看到去除了polarity,ASTE和aspect-opinion对抽取任务是相同的。

[ACL2020] SpanMlt: A Span-based Multi-Task Learning Framework for Pair-wise Aspect and Opinion Terms Extraction

[AAAI2020] Knowing What, How and Why: A Near Complete Solution for Aspect-based Sentiment Analysis

除此之外,可以看到aspect-opinion对和情感表达-情感原因(emotion-cause)对很相似。区别在于,emotion-cause对的抽取一般在子句级别上做。自从acl2019上,南京大学的同学提出ECPE任务以来,ACL2020上也有三篇后续的文章。

[ACL2019] Emotion-Cause Pair Extraction: A New Task to Emotion Analysis in Texts

[ACL2020] Transition-based Directed Graph Construction for Emotion-Cause Pair Extraction

[ACL2020] ECPE-2D: Emotion-Cause Pair Extraction based on Joint Two-Dimensional Representation, Interaction and Prediction

[ACL2020] Effective Inter-Clause Modeling for End-to-End Emotion-Cause Pair Extraction

aspect-opinion对和emotion-cause对的抽取和实体与关系抽取有些类似。上述的工作基本上沿着实体与关系的联合抽取来进行的。本文介绍的这篇文章也是这样。

所提出的模型:SDRN

这篇文章使用了一个联合模型进行实体和关系的联合抽取,模型名字让人头大,全称是Synchronous Double-channel Recurrent Network (SDRN),即同步多通道循环网络。其实,模型本身没有名字那么复杂。下面先介绍模型的大体思路。

给定一个句子,首先模型通过BRET模型得到句子的表示。有了句子的表示后,可以直接使用CRF进行aspect/opinion terms的抽取。那么关系的抽取呢?作者选择了在句子的表示上计算token之间的注意力,即对于句子“这真的是一个辣鸡游戏”,期望‘辣’和‘游’之间的注意力权重为1,‘辣’和‘戏’之间的注意力权重也为1,而期望‘个’和‘游’之间的注意力权重为0,即如下图。在预测阶段,则需要根据所得到的注意力权重矩阵来解码aspect term和opinion term之间的对应关系。

作者选择的解码方法是非常直观的,即将token之间的注意力进行平均,得到一个实体间的分数,即

然后使用一个阈值来判断两个实体之间有没有关系。说实话,感觉这个方法不够理想,但也是不得以而为之。

任务之间的交互

说了半天还是没有讲到这复杂的模型名称:Synchronous Double-channel Recurrent Network。总的来说,实体和关系的预测并不是直接在BRET输出的句子表示上做的,而是在两个任务上各有一套句子表示,两套句子表示相互交互。文章将实体到关系的交互称为Entity Synchronization Mechanism(ESM),将关系到实体的交互相应地称为RSM。

不妨令通过BERT得到的句子表示为 ,而用于实体抽取的句子表示为 ,用于关系抽取的句子表示为 。为了简略介绍由 得到 的过程。

ESM 由于关系抽取是在token级别上做的,所以ESM模块需要向 传递的信息是,某两个token是否属于同一个实体,即

RSM 而RSM模块则希望向 传递的信息是,两个token之间是否存在对应关系,即

具体的信息传递过程还需要经过中间变量 。此外,ESM和RSM模块可以迭代使用多次,即通过 生成 ,然后通过 结合 生成 。而 通过全0的矩阵进行初始化。文章在实验中实际使用了两次。详细的过程可以结合文章和下图进行理解。

需要注意的是,由 生成 的网络和由 生成 的是同一个; 同理。这个事情我也是看了一会源码才反应过来。


实验

老实说,实验的话没什么好介绍啊,可以简单记为这几点。

  1. 他们在ABSA数据集上进行了进一步标注。

  2. 他们模型的性能比以往的好。

  3. 去掉ESM和RSM模块,性能会下降。

  4. ESM和RSM模块叠加两次就行了,再多模型性能会下降。


总结

总体来说,我个人感觉本文模型设计的还不错,比起ACL2020上的另一篇文章好多了,就是实现起来复杂些,但这是往往是不可避免的。

此外,有两点体会:

  1. 不知道为什么文章没有与BERT流水线的方法进行比较(我后续比比看)。

  2. 我感觉不同 对应的“由 生成 的网络”(以下简称关系预测网络)可以是不同的,都相同的反而有可能导致 不准确。而如果不同的 对应关系预测网络不同的话,就需要在每个关系预测网络上计算loss,来对其进行训练,这样就会造成新的麻烦。但是这样的话,就可以考虑在 的基础上计算 ,也许模型的交互就更加充分了。除此之外,我觉得可以用上一次迭代中的 来更新

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读


整理不易,还望给个在看!
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值