细粒度情感分析中,为什么“好吃的汉堡”被识别为负向情感?

2020 年 12 月 7 日 AI科技评论
细粒度情感分析,也叫做基于方面的情感分析是情感分析中的一个子任务。比如,在“好吃的汉堡”中,“汉堡”就是方面词。
虽然现有的模型在该任务上的效果很好, 但是现有的测试集并不能够用来研究模型是否基于目标方面的情感词而做出的正确预测。 比如,对于包含“好吃的汉堡”的句子,其可能被识别为负向情感。
本次分享从现有数据集存在的问题出发,提出了简单而有效的测试样本构建方法,丰富了原有的测试集,从而评测并分析了现有模型的鲁棒性。
复旦大学研究生邢晓渝将为我们进行分享,主题是——无监督句法分析模型里面的监督信号。
邢晓渝:复旦大学自然语言处理组2018级在读研究生,导师张奇教授。研究方向有细粒度情感分析、命名实体识别,多项研究工作发表在国际会议ACL、EMNLP上。

1

生成数据的方法介绍

当一个模型展现了很好的表现的时候,它不一定是强壮的或是具有很强的鲁棒性。那么在ABSA模型中,什么样的模型是鲁棒的呢?我们认为 一个具有鲁棒性的细粒度情感分析模型应该具有一下三个特征:
1.知道在句子中哪些词语是方面,即aspects;
2.它应该知道哪些词是情感词;
3.最重要的一点,它应该知道对于我们要预测的目标方面来说哪些情感词是来修饰它的。
现有的深度学习模型在ABSA模型上面都取得了非常好的效果,然而这些模型是否真的明白方面和情感词之间的对应关系呢?
接下来看几个典型的例子:
1)“Tasty burgers,crispy fries.”:在这个句子中burgers是我们需要预测的一个方面词,它的情感极性是正向的,ABSA模型也会将它预测为正向的。
2)“Tasty burgers, soggy fries”:在这个句子中fries的情感极性是负向的,而我们需要预测的burgers的情感极性是正向的,在这个情况下ABSA模型会感到一些困惑。
3)“Tasty burgers, soggy fries, and worst of all the service.”: 在这个句子中所有的非目标方面都是负向的,ABSA模型在这个例子中预测为负向,预测失败。
因此我们对现有模型的鲁棒性提出了疑问,一个模型能够对什么程度的测试样本进行正确的预测。
1)第一个问题,如果我们反转了这个目标的情感极性,那么模型是否也会相应的改变它的预测结果呢?
2)第二个问题是,如果在句子中所有非目标方面的情感极性都是和目标方面的情感极性相反的,那么模型是否还能预测正确呢?
3)第三个问题是,如果我们在句子当中添加了很多和目标方面相反的非目标方面的情感表示的话,那么模型是否还能预测正确呢?
基于以上这三个问题,我们认为当且仅当我们能够对这三个问题都回答正确的时候,这个模型才能够称之为鲁棒的。
因此我们基于这三个问题先去探究了一下现有的ABSA模型的数据集。第一个数据集是Twitter 2014数据集,第二个是Semeval 2014 Laptop数据集,第三个是Semeval 2014 Restaurant数据集。
从图中可以发现,在数据集中大部分的测试数据,其目标方面的情感和非目标方面的情感极性都是相同的。因此仅仅只有图中蓝色的一小部分的数据可以被用来回答我们之前提出来的问题。然而当我们在这个小测试子集上进行测试的时候发现,原先最好的模型在Laptop上的表现从78.53%下降到了59.32%,在Restaurant数据集上的表现从原有的86.70%下降到了63.93%。
这样大幅度的下降就表明了现有的模型是过度的依赖于非目标方面的情感词,进而做出的预测。也就是说,它并不知道哪些情感词在修饰目标方面。

2

数据集的对比分析

因此我们就提出了一个自动生产测试集的框架。上图中,在原有的测试集中有句子“Tasty burgers,and crispy fries.”,在这句当中有一个目标方面burgers,它情感极性是正向的,对于fries来说,它是非目标方面,它的情感极性是负向的。
模型的任务是预测burgers的情感极性,如果模型对于burgers预测正确的话,它是依赖于tasty这个单词还是crispy这个单词亦或者是其他的一些线索呢?我们其实就是想要探究这个问题。我们提出了三种生成的策略,来生成一个probing set。
第一个策略叫做REVTGT。在REVTGT这个策略当中, 我们把目标方面的情感极性反转,就把tasty变成了terrible,同时也把情感极性从positive变成了negative。
第二个策略叫做REVNON。在这个策略当中我们没有修改目标方面的情感, 我们修改的是非目标方面的情感词 ,我们把fries从crispy变成了soggy,这样的情感极性就是负向的。
第三个策略叫做ADDDIFF。 我们在句子末尾添加了一些和目标反面情感极性相反的非目标方面的表达 ,在这个例子中我们添加了“but poorest service ever”。
接下来我们看一下REVTGT的具体细节。
1)第一个我们举得例子是“It’s light and easy to transport.”,在这个句子当中目标方面是transport,它有两个情感词light和easy,我们获得了一些light和easy的反义词heavy和difficult并且替代它们。
2)但是不是所有词语都有反义词,第二个例子“The menu changes seasonally”中changes这个词,因此我们在这个词前面加了一个否定词,变成了does not change。
3)第三个例子是“The food is good, and the décor is nice.”,我们在修改情感词的同时也面临一些可读性的问题,例如将nice改为nasty,就需要将and改为but。
第二个策略是REVNON,在这里我们遇到了两种情况,第一种情况是非目标方面的情感极性与目标方面的情感极性相同,在这种情况下我们需要反转它的情感极性。第二种情况是非目标方面的情感极性与目标方面的情感极性相反,这种情况下情感就需要加强。
举个例子“It has great food at a reasonable price, but the service is poor.”,在这个例子当中,我们的目标方面是负的,它的情感是正向的,我们有非目标方面price和service,因为price由reasonable修饰,所以它的情感方向是正向的。所以我们将其变成了unreasonable,对于service而言其原本情感就是负向的,所以我们添加了一个程度副词extremely使其加深。
第三个策略是ADDDIFF,首先我们从训练集中抽取了Aspect的表示,构建了一个AspectSet。然后我们随机从AspectSet中抽取1~3个这样的表示,添加到了句子末尾。这些表示需要满足两个条件,第一个是它的情感极性必须和目标极性相反,第二个是这个方面在之前的句子中是没有提到过的,就比如例子中“Tasty burgers, crispy fries, but poorest service ever!”添加了“but poorest service ever”在句子末尾。这个策略就保证了句子的整体情感从原来的正向变成了负向。
接下来我们根据这三种策略构建了新的数据集,ARTS。我们将ARTS数据集与原有的数据集进行了对比,我们发现ARTS数据集比原有的数据集更大一些,并且它的标签也更加的平衡。 第二点是ARTS数据集更有挑战性。
我们衡量了三个点,第一个点是在每个句子当中Aspect的数量,我们发现在ARTS数据集中的数量要比原有数据集的数量更多。 第二点是在测试集当中,和目标方面情感极性相反的非目标方面数量不少于1的比例远远上升。 第三个是在句子当中和目标方面情感极性相反的非目标方面的数量比原本的数据集超出了许多。因此我们的数据集更具有挑战性。

3

实验结果讨论与分析

接下来是实验结果。我们提出了新的评价方式ARS,其计算方式是正确的单元数除以总的单元数。一个单元包括了原有的句子和经过三种扩充策略后的句子,一共包含四个句子。 当且仅当我们的模型在这四句话中都预测正确,才能判断对这个单元的预测正确。
左图展现了9种模型在原本测试集和现有测试集上的表现差异。 可以看到大部分模型在新的数据集ARTS上表现下降非常的多 但是基于BERT的三种模型CapsBERT,BERT,BERT-PT,其相对而言是比较鲁棒的 ,它们下降的幅度要比其他模型要低。
接下来,分解来看三种策略对模型精确度的影响。 REVTGT策略使得模型的平均表现下降最多。 这是因为REVTGT策略需要模型能够精确的识别到修饰目标方面的词语,一旦有所偏差就会导致精确度下降较多。 第二点是ADDDIFF策略上面,ADDDIFF会导致非BERT模型下降的比BERT模型更多, 这就表明非BERT模型对句子长度更加敏感,在句子后添加了许多和目标方面相反的无关词语之后可能会对非BERT模型表现影响较大。
接下来我们也探索了几种策略的变种,首先我们探究了联合REVNON和ADDDIFF这两种策略,我们发现联合之后会使得模型下降的程度更大。第二种是在ADDDIFF策略中对句子末尾添加更多的aspects,探究其对于测试精确度的影响。这里使用了三个模型,第一个是BERT-PT,是鲁棒性最好的;第二个是GCN,鲁棒性位于中位的;第三个是BERT-Sent,是鲁棒性最差的。我们发现在句子末尾添加的aspect越多,它的精确度也就越低。但是BERT-PT相对于其他两个模型表现仍然要高出许多。

4

如何提升模型的鲁棒性

之后我们也分析了怎么有效的建模aspects来提升它的鲁棒性。在这个表格中,所有的模型是按照它们的鲁棒性高低排序的,在Laptop数据中,AttLSTM的鲁棒性是最差的,BERT-PT的鲁棒性是最好的, 从表中可以看出基于BERT的模型要比非BERT的模型鲁棒性要好,在非BERT模型中GCN和TD-LSTM的鲁棒性是最好的。我们认为这是它们在模型建模中建模了aspects的位置信息,所以它的鲁棒性要比其他没有建模的要高一些。
我们也探究了怎样的训练策略可以提升模型的鲁棒性。我们探究了两个点:
第一个是在更加复杂的数据集上训练 ,比如MAMS数据集,这个数据集与Restaurant同源但是比其更为复杂。我们发现在更为复杂的数据集上训练会对鲁棒性提升有所提升。
第二个是利用了对抗训练 ,也就是把我们之前提出的三种策略同样的应用于训练集当中,然后在再在ARTS测试集上进行测试,我们发现这种策略能够最大程度提升模型的鲁棒性。

5

总结

第一点,我们提出了一个简单但是有效的方法,来探测现有模型在ABSA模型上的鲁棒性。
第二点,我们提升了现有的测试集,将SemEval 2014测试集效果提升了294%,将Restaurant测试集提升了315%。
第三点,我们探测了现有的9个ABSA模型的鲁棒性,并探究提升它们鲁棒性的方法。
论文数据及代码:
https://github.com/zhijing-jin/ARTS_TestSet
论文链接:
https://arxiv.org/pdf/2009.07964.pdf

由于微信公众号试行乱序推送,您可能不再能准时收到AI科技评论的推送。为了第一时间收到AI科技评论的报道, 请将“AI科技评论”设为星标账号,以及常点文末右下角的“在看”。

登录查看更多
4

相关内容

狭义的情感分析(sentiment analysis)是指利用计算机实现对文本数据的观点、情感、态度、情绪等的分析挖掘。广义的情感分析则包括对图像视频、语音、文本等多模态信息的情感计算。简单地讲,情感分析研究的目标是建立一个有效的分析方法、模型和系统,对输入信息中某个对象分析其持有的情感信息,例如观点倾向、态度、主观观点或喜怒哀乐等情绪表达。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【AAAI2021】生成式Transformer的对比三元组提取
专知会员服务
49+阅读 · 2021年2月7日
【COLING2020】无监督依存解析的综述论文,12页pdf
专知会员服务
15+阅读 · 2020年10月27日
专知会员服务
31+阅读 · 2020年9月2日
【2020 最新论文】对比学习中什么应该不是对比的?
专知会员服务
38+阅读 · 2020年8月16日
专知会员服务
43+阅读 · 2020年7月15日
【情感分析】基于Aspect的情感分析模型总结(一)
深度学习自然语言处理
8+阅读 · 2020年3月1日
细粒度情感分析任务(ABSA)的最新进展
PaperWeekly
18+阅读 · 2020年1月3日
R语言自然语言处理:情感分析
R语言中文社区
16+阅读 · 2019年4月16日
赛尔笔记 | BiLSTM介绍及代码实现
哈工大SCIR
23+阅读 · 2018年10月24日
10道题,测一测你的AI水平到底如何
七月在线实验室
8+阅读 · 2018年7月17日
深度 | 为什么要利用NLP做情感分析?
大数据文摘
4+阅读 · 2017年12月22日
独家 | 为什么要利用NLP做情感分析?
THU数据派
6+阅读 · 2017年12月19日
【python 自然语言处理】对胡歌【猎场】电视剧评论进行情感值分析
详解基于朴素贝叶斯的情感分析及Python实现
AI研习社
9+阅读 · 2017年7月12日
Arxiv
0+阅读 · 2021年2月10日
Multi-Grained Named Entity Recognition
Arxiv
6+阅读 · 2019年6月20日
Arxiv
5+阅读 · 2018年1月30日
VIP会员
相关VIP内容
【AAAI2021】生成式Transformer的对比三元组提取
专知会员服务
49+阅读 · 2021年2月7日
【COLING2020】无监督依存解析的综述论文,12页pdf
专知会员服务
15+阅读 · 2020年10月27日
专知会员服务
31+阅读 · 2020年9月2日
【2020 最新论文】对比学习中什么应该不是对比的?
专知会员服务
38+阅读 · 2020年8月16日
专知会员服务
43+阅读 · 2020年7月15日
相关资讯
【情感分析】基于Aspect的情感分析模型总结(一)
深度学习自然语言处理
8+阅读 · 2020年3月1日
细粒度情感分析任务(ABSA)的最新进展
PaperWeekly
18+阅读 · 2020年1月3日
R语言自然语言处理:情感分析
R语言中文社区
16+阅读 · 2019年4月16日
赛尔笔记 | BiLSTM介绍及代码实现
哈工大SCIR
23+阅读 · 2018年10月24日
10道题,测一测你的AI水平到底如何
七月在线实验室
8+阅读 · 2018年7月17日
深度 | 为什么要利用NLP做情感分析?
大数据文摘
4+阅读 · 2017年12月22日
独家 | 为什么要利用NLP做情感分析?
THU数据派
6+阅读 · 2017年12月19日
【python 自然语言处理】对胡歌【猎场】电视剧评论进行情感值分析
详解基于朴素贝叶斯的情感分析及Python实现
AI研习社
9+阅读 · 2017年7月12日
Top
微信扫码咨询专知VIP会员