点击上方“AI遇见机器学习”,选择“星标”公众号

重磅干货,第一时间送达

来自 | 知乎

作者 | 邱锡鹏

地址 | https://zhuanlan.zhihu.com/p/366133681

编辑 | 机器学习算法与自然语言处理公众号

本文仅作学术分享,若侵权,请联系后台删文处理

论文地址: [Paper](arxiv.org/abs/2104.0498)

代码 repo: [RoBERTaABSA]( github.com/ROGERDJQ/RoB)

作者:代俊奇 复旦大学NLP实验室研究生

引入句法信息和图神经网络是近期细粒度情感分析(Aspect-based Sentiment Analysis,ABSA)任务研究的一大热门。然而,不同的依存树(图)结构在ABSA模型中有怎样的效果并不确切。这篇论文针对这个问题设计了大量的实验。实验结果表明:

  1. 不同的树结构对ALSC任务的性能影响有限。论文在四种语言的六个数据集上进行了实验。其中,表现最好的树结构(从预训练模型中诱导出的树结构)相比句法依存树在英文数据集上有约1%的提升。

  2. 从任务微调后的预训练模型中诱导的依存树可能比语言学家定义的句法依存树更适应任务本身。在分析环节中,作者提出了两个有趣的评估指标,指标的结果都指明依存树在微调过程中发生了趋同性的改变。

  3. 直接基于预训练模型进行微调,就可以利用到模型中隐式蕴含的依存树。作者据此提出了简单有效的基于RoBERTa的baseline 模型。

  4. 在[paperwithcode](paperswithcode.com/sota)的ABSA排行榜上 , RoBERTa+MLP的性能结果在不包含额外训练数据的模型中取得第一的成绩。

在不包含额外训练数据的情况下,模型已经取得了最佳的结果。

整体介绍

Aspect-based Sentiment Analysis (ABSA)旨在针对句子中的包含的aspect term进行情感分析。其中,aspect term是句子的文本子序列。大体上,ABSA包含Aspect Extraction (AE) 以及 Aspect-Level Sentiment Classification (ALSC) 两个子任务。两个子任务并非完全割裂。有许多研究工作尝试同时解决整体两个子任务,也有丰富的研究工作只聚焦在其中某一个子任务上。这篇论文聚焦在ALSC任务上。

论文动机

近期ALSC的一个热点研究方向是将句法依存树的树(图)结构类型的信息引入到ALSC模型中。由此涌现了许多基于(句法依存)树的ALSC模型。大多数是通过GNN来糅合句法依存树。研究者希望句法依存树的引入能够”指导”模型更好地结合aspect与其对应的opinion信息,从而提升情感分类的性能。另一方面,Pre-trained Models (PTMs, 也作Pre-trained Language Models) 在ALSC任务上也大放异彩。许多PTMs的分析工作表明,PTMs可以被探测 (probe) 出具有树(图)结构的信息。

因此,基于上述观察,作者在原文中提出两个问题:

问题一:当结合不同的基于(句法依存)树的ALSC模型时, PTMs中诱导 (induce)得到的树,与依存句法分析器得到的句法依存树相比,是否有性能的差异?

问题二:当PTMs在ALSC任务上微调 (fine-tuning) 时,内部蕴含的树(图)结构是否会向ALSC任务适应调整?

从这两个问题出发,作者设计了一系列实验。

实验与分析

实验

论文选取了三个典型的基于(句法依存)树的ALSC模型,ASGCN, PWCN以及RGAT,分别对应了三种利用(句法依存)树的方法: 基于树的结构,基于树的距离以及同时基于树的结构与距离。例如,ASGCN模型只利用句法依存树给定的节点之间的依存关系,也即某节点与哪些节点连接。而PWCN利用树的距离,也即其他节点到某节点的树上的距离。对于如何从PTMs中诱导树,论文选择了Perturbed Masking方法。

具体实验细节上,作者从预训练的BERT和RoBERTa中诱导出树,统称为”PTMs Induced Tree”,分别称为”BERT Induced Tree”和”RoBERTa Induced Tree”;从在ALSC任务微调后的BERT和RoBERTa中诱导出树,统称为”FT-PTMs Induced Tree”,分别称为”FT- BERT Induced Tree”和” FT-RoBERTa Induced Tree”。加上依存句法分析器得到的句法依存树,称为”Dep.”, 以及”Left-chain”和”Right-chain”,一共实验了七种树结构。这七种树结构依次与ASGCN,PWCN,RGAT结合进行实验。

分析

  1. FT-RoBERTa Induced Tree能取得最好的结果,与Dep.相比有约1%的性能提升。

  2. PTMs Induced Tree与Left-chain和Right-chain的性能都比较接近。而与Dep.相比,结果相当或者更低。这也回答了背景中提出的问题一。

  3. 模型结合模型微调后诱导得到的树,与结合预训练模型直接得到的树相比,会得到性能的提升。

为了解释性能上的差异,论文提出了两个评估指标。

  • Neighboring Connection的占比。

b图中,”We had tons of great food”之间的句法依存连接就是作者定义的Neighboring Connection。

作者统计了不同树结构的该指标。结果如图:

数值越小表示Neighboring Connection占比越小。

该指标在一个层面指明了FT-PTMs Induced Tree的树结构往往更加多样。而PTMs Induced Tree则有相当占比的Neighboring Connection。这也提供了FT-PTMs Induced Tree对PTMs Induced Tree的提升的可能来源,同时也是FT-RoBERTa甚至能获得比Dep.更好性能的原因。

Aspects-sentiment Distance

更进一步的,作者在文中提出了Aspects-sentiment Distance。简单描述就是不同类型的树结构中aspect与opinion/sentiment words之间的距离。结果如图:

数值越小表示aspect与opinion在树上的距离更短。

其中,FT-PTMs Induced Tree相对比PTMs Induced Tree的显著提升令人印象深刻。结合两项指标,作者对问题二作出了解答。微调过程中,依存树中长距离连接的占比增加,Neighboring Connection的短连接占比则减少;增加的长距离连接,如Aspects-sentiment Distance指标指出,帮助模型更好地找到aspect所对应的opinion/sentiment word,从而大幅缩短了aspect与opinion之间的距离。言而总之,在ALSC上的微调使得PTMs更加sentiment word-oriented,也更适应ALSC任务。

一点小”惊喜”

自然地,作者们想到直接用微调的RoBERTa,就能把上述实验提到的更好的依存结构隐式地包含在模型中。于是作者把诱导出FT-RoBERTa Induced Tree的模型直接作为baseline进行了测试。在paperwithcode的该项任务中,该模型上取得了全体模型中第二,不使用额外训练数据模型中第一的结果。

总结

论文主要针对ALSC模型中的句法依存树进行了分析实验,指出从任务适应的预训练模型中诱导的依存树可能比语言学家定义的句法依存树更适应模型本身。论文围绕研究目标组织了丰富的实验。简洁的问题使论文结构清晰,思路顺畅。作者在分析中提出的两个评估指标是有益且有趣的尝试。实验中指出使用FT-Roberta会取得1%的性能提升。然而与复杂的诱导树的步骤相比仍然需要权衡。这也是作者在文末提到,使用现有的GNN方法结合树结构对于RoBERTa来说可能是得不偿失的。从这个角度出发,作者不推荐在ALSC模型中简单堆砌使用GNN以糅合句法依存树。同时。基于RoBERTa的MLP模型与SOTA相比,已经极具竞争力,这也是比较有趣的一点发现。

欢迎关注我们,看通俗干货

细粒度情感分析:还在用各种花式GNN?或许只用RoBERTa就够了相关推荐

  1. 浅谈 NLP 细粒度情感分析(ABSA)

    作者 | 周俊贤 整理 | NewBeeNLP 最近在调研细粒度情感分析的论文,主要对一些深度学习方法进行调研,看论文的同时记录下自己的一些想法. 首先,何为细粒度的情感分析?如下图,淘宝APP上某商 ...

  2. 【自然语言处理】【细粒度情感分析】细粒度情感分析:了解文本情感的What、How、Why

    细粒度情感分析:了解文本情感的What.How.Why Knowing What,How and Way:A Near Complete Solution for Aspect-based Senti ...

  3. 情感分析 | 细粒度情感分析在美团到餐场景中的应用

    每天给你送来NLP技术干货! 来自:美团技术团队 经典的细粒度情感分析(ABSA,Aspect-based Sentiment Analysis)主要包含三个子任务,分别为属性抽取.观点抽取以及属性- ...

  4. 细粒度情感分析(Aspect Based Sentiment Analysis, ABSA),一个从零开始的案例教程【Python实现】

    目录 前言 数据和源码 你要了解的基础 1. 细粒度情感分析(ABSA)案例背景 1.1 任务介绍 1.2 数据基本介绍 1.3 如何评估ABSA的结果 2. 任务一:Aspect Term Extr ...

  5. 复旦大学邢晓渝:细粒度情感分析中模型的鲁棒性研究

    ⬆⬆⬆              点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 细粒度情感分析,也叫做基于方面的情感分析是情感分析中的一个子任务.虽然现有的模型在该任务上的效果很好, ...

  6. 自然语言处理前沿研究之细粒度情感分析

    自然语言处理前沿研究之细粒度情感分析 情感分析综述   文本情感分析:又称意见挖掘.倾向性分析等.简单而言,是对带有情感色彩的主观性文本进行分析.处理.归纳和推理的过程.对于意见.情感或观点,我们进行 ...

  7. python细粒度情感分析_用SenticNet库做细粒度情感分析

    细粒度情感分析 说细粒度情感分析,先说传统的情感分析(即粗粒度分析). 粗粒度情感分析只是简单的积极或消极情感的划分,并计算出情感的强度.但是情绪更细的维度层次,应该还可以对正负情绪进行划分.比如,积 ...

  8. 基于词典的细粒度情感分析

    1 细粒度情感分析 传统的情感分析大多是针对句子级的,即某条评论或某句话为积极或消极的概率.而往往一句话中包含着多个描述点,即方面级的述评,这时用一个模糊的概率或数字去评价整段文字或整句话势必是不准确 ...

  9. 基于 Amazon SageMaker 构建细粒度情感分析应用【附部署视频】

    基于 Amazon SageMaker 构建细粒度情感分析应用 基于 Amazon SageMaker 构建细粒度情感分析应用 一.创建Sagemaker Notebook实例 输入名称.选择实例类型 ...

最新文章

  1. eclipse maven打包_Maven中的几个重要概念:lifecycle, phase 和 goal
  2. 微型计算机的外存储器可与 直接打交道,微型计算机的外存储器可与( )直接打交道。...
  3. c语言 字符串 if,C语言用if(strstr(s1,s2))判断字符串是否存在子字符串,无论有没有都会进入到if里是怎么回事?...
  4. Python-functools (reduce,偏函数partial,lru_cache)
  5. MySql分表、分库、分片和分区知识(转载)
  6. VTK:演示在多边形数据上使用裁剪用法实战
  7. “对技术没有好奇心”真的是很失败的一件事情
  8. 年买笔记本的8个小技巧 最适合自己才最好(组图)
  9. oracle提升,Oracle特权提升
  10. java编程思想第四版第十八章总结
  11. Windows下JetBrains CLion的pthread使用配置
  12. html 两个表合并,SQL中将两个表合并成一个新表
  13. 西南科技大学OJ题 顺序栈基本操作的实现1044
  14. Addressing Failure Prediction by Learning Model Confidence
  15. Elastic:使用 ElastAlert 发送 Slack 通知
  16. python分析红楼梦中人物形象_红楼梦人物形象分析+赏析_作文
  17. 计算机文件查看隐藏文件,电脑隐藏文件怎么显示啊,明明点了显示所有文件,按了确定后,又恢复了原来样子,为什么啊...
  18. CSDN 编程挑战 博弈游戏2 斐波那契
  19. 如何根据系谱计算近交系数并保存
  20. Android电视kodi安装失败,电视提示“解析包出现错误” ?四种方法教你轻松解决...

热门文章

  1. 《精通自动化测试框架设计》—第1章 1.3节五天太久,还能压缩吗
  2. 《Docker技术入门与实战》读书笔记
  3. 委托(一个主窗体统计多个从窗体的按钮单击的次数)
  4. 数据库基础-数据库引擎
  5. python 获取窗口句柄_Python文件读写最详细的讲解
  6. echo mysql_mysql select
  7. 交叉熵损失函数的通用性(为什么深度学习DL普遍用它):预测输出与 y 差得越多,L 的值越大,也就是说对当前模型的 “ 惩罚 ” 越大,而且是非线性增大是一种类似指数增长的级别,结论:它对结果有引导性
  8. python -m xxx.py 模块启动与直接启动python xxx.py 的区别,就是对sys.path的修改不同,导致可以调用的模块范围就不一样
  9. JAVA 基本类型传值,对象类型传引用
  10. windows 的系统命令介绍