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的作用更大,还需要进一步研究。(´・ᴗ・`)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值