Open Aspect Target Sentiment Classification with Natural Language Prompts
Title: Open Aspect Target Sentiment Classification with Natural Language Prompts
Conference: EMNLP2021
预训练模型在NLP的各个领域中取得了巨大的成功,为了将预训练模型的强大潜力与下游任务的具体数据集结合起来,目前主流的方式是“预训练+微调”,在保留大部分模型参数的情况下,根据特定下游任务调整部分参数,使得它在这一任务上达到最好的效果,即模型适应任务的方法。随着微调代价和难度的增加,Prompt横空出世,通过构造适当的提示对预训练模型进行“启发”,使得下游任务的形式更接近预训练模型的训练任务,即任务适应模型。本次介绍的是Prompt方法在方面情感分析任务上的一个工作,希望在任务分析和Prompt构造上能给读者带来一定启发。
一、背景与问题提出
衡量文本在某些方面(子主题)上的情绪具有直接的商业价值,比如一家连锁酒店可能希望根据客户对其房间清洁和前台服务的积极评价的比例来做出业务决策。尽管有很多的监督学习方法可以采用,但目前的研究基本集中在餐厅、电脑、推特评论几个公开数据集上,实际应用中往往因为缺乏目标领域的标记数据导致效果不理想。
面对缺少标签的问题,作者从人们书写评论的方式中得到启发。例如,考虑酒店评论中的两个句子:
“Mike和其他员工非常有礼貌,迅速回应了我们的要求。前台服务很好。”
假设模型能够从第一个句子推理出第二个句子,那么就有利于模型对“前台服务”作出正确的分类。据此,论文设计了两种Prompt方案:(a)完形填空Prompt(b)自然语言推理(NLI)Prompt
二、方法
本文的方法如下图所示
1、完形填空(next/masked word prediction)
第一种方法遵循了Schick和Schütze(2020)首次提出的完形填空问题Prompt设计,采用了几种比较简单的句式:
• I felt the {aspect} was [MASK].
• The {aspect} made me feel [MASK].
• The {aspect} is [MASK].
值得一提的是,为了在[MASK]上产生更准确的预测,作者用域内评论文本对LM进行了预训练,这也是特定领域内任务为了提高效果常用的方法。对于BERT模型,把原来的随机mask改为只mask形容词、名词和专有名词,因为这些词更有可能表示句子的情绪;对于GPT-2模型,使用原本的CLM目标。
预训练之后就可以在少量文本上进行Prompt学习。具体方法是,在原本句子的后对aspect生成上述Prompt句子,并对[MASK]进行预测,用good,ok,bad的概率分别“代表”预测句子为积极、中性和消极的概率,无视[MASK]词的其他候选。在作者的实验中,这三种提示的表现都很相似,尤其是在few-shot情况下,这表明模型的性能对Prompt的措辞并不过分敏感。
2、自然语言推理(NLI entailment predictions)
第二种方法有点类似于将多分类拆成若干二分类的思路:首先生成关于目标aspect的积极和消极假设(例如“The {aspect} is good; The {aspect} is bad.”),分别接在原输入后面,判断原始句子是否能推理出假设句子,通过获得每个假设的蕴涵概率(entailment probabilities)来得到积极情绪和消极情绪的得分,而中性情绪则由两个假设的中立概率(neutral probabilities)平均得到。这种方法也可以实现zero-shot learning。
三、数据与实验结果
NLI方法预训练数据集是MNLI 数据集 (Williams et al., 2018),实验使用的是经典SemEval 2014 Task 4 Subtask 2 ATSC数据集,比较了从zero-shot到full-shot设置下的效果。此外作者进一步探究了Prompt方法在跨领域任务和延伸任务ACSC(Aspect category sentiment classification)上的效果。以下是实验结果和分析
可以看到在监督样本非常少甚至没有的时候,NLI方式相较于baseline模型和LM方式取得了比较明显的优势,随着监督样本的增加,其效果逐渐下降。
另外,从表2可以看出,在仅有16个训练样本时,Prompt方法在领域内、外任务上的表现均大幅领先baseline模型,而使用完整训练集时优势就不明显了。表3所示的ACSC任务上,对比baseline和LM方式,说明Prompt模型确实能够获得了一些识别隐含的方面或不同措辞的能力。NLI方式的表现不佳,作者认为原因可能是在预训练阶段它没有看到域内文本,不能完全识别相关的域内词汇。
四、总结
本文审查了两种基于Prompt的ATSC模型在zero-shot、few-shot和full-shot设置下的效果,实验结果表明在监督样本较少的情况下Prompt模型能够取得较好的效果,并且具有一定的跨领域和识别隐含方面的能力,这能让Prompt模型更好地应用于实际场景中。
总体来说,本文的方法模型比较一目了然,结果也与对Prompt方法的普遍评价一致,即训练样本较少时好用,训练样本足够多的条件下还是fine-tuning方式更加靠谱。对于LM方式,本文直接用good对应积极,ok对应中性,bad对应消极,这种设计直觉上有些简单粗暴了,笔者发现文中使用的数据集存在着一些特殊的例子,例如XX is ok的句式,有的样本标注为中性,有的标注为消极,后者是因为后续的句子表达了对aspect的负面评价,因此仅用ok一词作出推断可能对模型产生一些影响,三种极性各自有对应的词表应该更加合理一些。
另外,Prompt 方法更加依赖先验,而 fine-tuning 更加依赖后验 ,因此Prompt 方法的效果很大程度上依赖于预训练语料已经覆盖了任务语料的分布,文中NLI方法的预训练数据集与后续实验数据集的差别较大,在ACSC任务上效果并不太理想,所以,模型效果的提升究竟是预训练的作用更大还是Prompt的作用更大,还需要进一步研究。(´・ᴗ・`)
Open Aspect Target Sentiment Classification with Natural Language Prompts相关推荐
- 论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference 随着 ...
- 【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文信息 名称 内容 论文标题 Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inf ...
- 情感分析论文阅读之《Aspect Level Sentiment Classification with Deep Memory Network》
本文利用了加入了attention机制的QA系统中的深度记忆网络,本文将aspect word的上下文信息作为memory m中存储的内容.实现了一个针对aspect-level的情感分类模型. ...
- 【论文分享】PET:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文链接:https://arxiv.org/pdf/2001.07676.pdf 时间:2021年1月 特点:多模板 目录 背景 模型 PVP定义 组合PVP P: V: 结构 实验 背景 在小样本 ...
- 文献阅读——Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
附注 这篇文章中在最终提到模型的时候使用了一个 "知识蒸馏" 的点,这点需要注意.如果不懂的话,请参考知识蒸馏基本原理 其实,这里的知识蒸馏主要是在预训练模型的Fine-tunin ...
- 2020 ACL《CoGAN》- Aspect Sentiment Classification with Document-level Sentiment Preference Modeling
2020 ACL <CoGAN>-Aspect Sentiment Classification with Document-level Sentiment Preference Mode ...
- Aspect Based Sentiment Analysis经典模型
本文转载自:https://zhuanlan.zhihu.com/p/81542002 Different from document- and sentence-level sentiment an ...
- Chapter 4 Naive Bayes and Sentiment Classification
Chapter 4 Naive Bayes and Sentiment Classification Speech and Language Processing ed3 读书笔记 Text cate ...
- Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Process
摘要 这篇文章是对最近比较火的"prompt"的一个总结,一篇非常好的综述,做NLP方向建议都要读一读:) 本文将这种方法称之为"prompt-based learnin ...
- 论文解读: Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
前言:在自然语言研究领域,某些自然语言处理任务可以利用"预训练模型+任务描述"方式的无监督学习来解决.然而,已有的"预训练模型+任务描述"的无监督学习方法不如有 ...
最新文章
- silverlight 入门教程(六)
- SQL AUTO INCREMENT 字段
- matlab api接口调用json格式
- 【Flask项目2】创建模型类映射到数据库,密码加密实现(3)
- python数据分析并生成报告_pandas_profiling :教你一行代码生成数据分析报告
- mysql查看是否开启定时器_Mysql 查看定时器 打开定时器 设置定时器时间
- 又涨了?2021 年 3 月程序员工资统计新出炉
- 不解析,使用解析对象
- Js Date对象 简单操作
- [CTO札记]好部下的3个层次
- 神经网络的Dropout正则化
- Shadow Mapping续
- Java版本新零售小程序saas商城全开源系统
- java 随机抽取数组内容_工具类:随机抽取数组或集合中的几个不重复元素
- java8 131下载_jdk 8u131下载
- 怎么用C++实现点对点通信
- html5 讯飞离线语音包,讯飞输入法离线语音怎么用?讯飞输入法离线语音开启方法...
- PHP微信公众号文章编辑排版工具源码+采集功能/附教程
- 天津大学计算机学院研究生报录比,天津大学2017年考研报录比
- 将vue页面文本导出到word,并设置页眉页脚,分页打印相关讲解--高级版
热门文章
- 清除hao123浏览器劫持小尾巴病毒
- html中划过鼠标滑过上方英文,CSS如何实现鼠标滑过文字出现效果?
- ettercap dns投毒
- c语言中什么是映像文件,一键备份C盘的映像文件:\~1\C_PAN.GHO
- python实现微信付款码支付(刷卡支付)(纯python)
- 如何判断微信付款码和支付宝付款码
- 小白刷LeeCode(算法篇)2
- mapgis明码文件转为点线面文件_MapGIS明码文件的获得和在坐标转化中的应用研究(2)...
- U盘启动盘制作(步骤详细)
- R 语言实战-Part 3 笔记