Open Aspect Target Sentiment Classification with Natural Language Prompts
这是一篇发表在EMNLP-2021的论文。该篇文章利用自然语言提示(Prompt),将方面目标情感分类(Aspect Target Sentiment Classification)任务定义为自然语言推断(NLI)和完形填空任务,从而更好地发挥预训练模型的性能,在零样本(Zero-shot)、少样本(Few-shot)和全样本的场景下都表现出了良好的性能,同时体现出良好的鲁棒性。
一. 背景与问题提出
衡量文本在某些方面(或子主题)上的情绪具有直接的商业价值,比如一家连锁酒店可能希望根据客户对其房间清洁和前台服务的积极评价的比例来做出业务决策。尽管有很多的监督学习方法可以采用,但目前的研究基本集中在餐厅、电脑、推特评论几个公开数据集上,实际应用中往往因为缺乏目标领域的标记数据导致效果不理想。
面对缺少标签的问题,作者从人们书写评论的方式中得到启发。
例如,考虑酒店评论中的两个句子:
“Mike和其他员工非常有礼貌,迅速回应了我们的要求。前台服务很好。”
假设模型能够从第一个句子推理出第二个句子,那么就有利于模型对“前台服务”作出正确的分类。
据此,论文设计了两种Prompt方案:
1. 完形填空Prompt
2. 自然语言推理(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。