论文笔记之2021AAAI-BiMRC for ASTE
这是2021AAAI的一篇利用多轮问答(机器阅读理解)来解决aspect-opinion-sentiment三元组抽取问题的论文。把机器阅读理解的方法用到了aspect-sentiment里面。
1. ASTE任务
Aspect Sentiment Triplet Extraction(ASTE)是细粒度观点挖掘任务,它包含多个子任务,比如观点实体抽取、关系检测、情感分类等。作者此次的目的是从Review中抽取出aspect-opinion-sentiment triplet。
ASTE任务是由Peng等人在2020AAAI——Knowing What, How and Why: A Near Complete Solution for Aspect-Based Sentiment Analysis中提出的。
如图1所示,Review表示一个句子,里面的food, price称之为aspect,delicious, expensive分别是对它们的评价,称之为opinion,而情感极性是分析出来的,共三类:POS积极、NEG消极、NEU中性。
2. MRC任务
Machine Reading Comprehension(MRC),旨在基于给定的上下文回答特定的问题。而基于BERT的MRC一般会把问题和上下文进行拼接,送入BERT中得到隐藏层表示。近年来,随着BERT的兴起,愈多NLP任务都用起了BERT+MRC的方法,比如NER、关系抽取、文本摘要等。作者也顺应潮流,用上了MRC。
3. 论文贡献
- 作者把ASTE任务作为三轮机器阅读理解任务来做,在一个统一的框架下优雅的标识出句中的triplet;
- 提出了双向MRC框架;
- 进行了大量实验并达到了SOTA效果。
4. 方法介绍
4.1 整体框架
上图2就是双向MRC框架。作者首先设置了非限制性抽取query和限制性抽取query,来抽取aspect和opinion,由于先抽取aspect还是先抽取opinion没有本质区别,所以作者直接设置了一个对偶形式,这就是作者所说的双向。作者将这两个方向分别命名为和。
模型挺简单的,实际上作者的代码里面,model.py的代码也十分的少,只有一个BERT和三个线性层。大量的代码都在数据处理部分。
4.2 问题定义
给定一个句子,共有个token,ASTE任务就是识别出句子中所有的triplets ,表示句子中所有三元组的数量。
将ASTE作为多轮阅读理解任务,所以需要定义问题。如图2所示,我们需要定义三类问题。
- 非限制性抽取queries ;
- 限制性抽取queries ;
- 情感分类queries 。
具体来说,在第一轮中,非限制性抽取queries针对抽取aspects 或opinions 。在第二轮中,给定由非限制性抽取queires得到的opinion entities,经过限制性抽取queries得到对应的aspects,或者反过来由aspects得到opinions。最后一轮,则由每一个情感分类query 预测出每个aspect 的情感极性。
4.3 Query构造
作者采用基于模板的方法构造queries。如下所示:
此外,还有情感分类query:
4.4 编码层
用BERT进行编码。
给定句子和每个query 。
构造格式如下:
作为BERT的输入,经过BERT编码后,可得序列的隐藏层表示,记为:
该向量用于答案预测。
4.5 答案预测
Answer for Extraction Query.
对于非限制性query和限制性query(也就是前两轮)来说,目的是预测出句子中的opinion或aspect。
比如句子“The food was delicious, but the price was indeed expensive”,我们在的第一轮中,应该得到两个span(food and price),在第二轮中应该得到两个span(delicious and expensive)。
注意,是span不是token,因为aspect和opinion都不一定只有一个词,可能有多个词。
所以作者这里用了两个分类器,一个找span的开始索引,一个找结束索引,这样就找到了一个span。
如果一个token是某个span的开始/结束位置,那么就预测输出1,否则输出0。
Answer for Sentiment Classification Query.
取[CLS]的隐藏层表示,用于预测aspect-opinion pair的情感极性,从而得到aspect-opinion-sentiment triplet。
4.6 联合学习
作者将第一轮问答的损失、第二轮问答的损失、第三轮问答的损失,都加起来。
非限制性抽取queries的损失:
限制性抽取queries的损失:
情感分类queries的损失:
总损失(使用Adam W优化):
4.7 推理
在方向,由非限制性抽取query 标识出aspect 集合。对于每一个aspect ,限制性抽取query 标识出相对应的opinion集合(一个aspect可能对应多个opinion)。由此,得到aspect-opinion pairs 。
同理在方向,最终也会得到opinion-aspect pairs 。
最后我们通过以下公式来进行推理:
表示两个方向的的交集,表示差集。对于差集中的pair,只有概率大于阈值才算正确。
最后再通过第三轮情感分类query来预测每个正确aspect-opinion pair 的情感极性。