COLING2022 | 情感分析?零样本预训练模型调优 “Prompt 设计指南”(含源码)
引言
在文本情感分类中,预训练模型如何进行prompting呢?为此,本篇文章在不同提示符的状况下,研究了零样本学习分类器对提示符变化的敏感性,进而给出在情感分类预训练模型的提示符选择方法。
背景介绍
为了便于情感交流,存在一组不同的情感名称,例如被Ekman等人标记的基本情感名称:愤怒、恐惧、快乐、悲伤、厌恶、惊讶、信任、期待。虽然这些心理模型影响着自然语言处理和情感分类方法,但情感概念的选择是上下文相关的。除了Ekman的基本情绪外,Scherer等人在分析某件事情的时候,还选择使用内疚和羞耻表达自我情感;而对于艺术感知的背景,考虑审美情感更合适,比如美、崇高、灵感、怀旧和忧郁。
所以说对于不同的应用场景和领域,情感相关训练数据中标签集也是不一样的,这纯粹是因为「标签集不兼容。一种解决方案是诉诸所谓的维度模型」,其中情感名称位于情感或认知评估的向量空间中。在这些向量空间中,即使在训练期间没有看到这些类,也可以使用最近邻方法将类分配给预测点。然而,「这种方法存在中心问题」,即在训练期间看到的预测和情感词之间的距离往往小于新的情感词,为此我们也致力于解决这一问题。
本文采用不同的、更直接的途径来获得在系统开发时未知的离散情感类别的分类器,即零样本学习(ZSL)。ZSL系统通过自然语言推理模型(NLI)执行推理。因此,实现ZSL-NLI模型不是通过举例说明和优化分类器,而是开发适当的自然语言类名称表示,我们称之为提示。我们在下图可以看到了一个将NLI模型应用于ZSL情感分类的示例。其中:给定“I won a trip to Greece in a competition:-)”,三种假设分表代表开心(happy)、生气(angry)、悲伤(sad)三种情绪,那么判断这个人的情感肯定是开心。
基于数据手动制作的模板可能是最自然的产生提示的方法。在本文中,我们采用手工模板来测试NLI-ZSL设置中的情绪分类,并根据各种语料库(推文、事件描述、博客文章)分析提示是否依赖于语言环境。
方法介绍
本节将解释如何将 NLI 应用于 ZSL 情感分类,并提出一组提示来上下文化和表示不同语料库中的情感概念, 此外还提出了一个在整个语料库中更加健壮的提示整合方法。
NLI应用ZSL
NLI任务通常被定义为一个句子对分类,其中给出两个句子:一个前提s1和一个假设s2。任务是学习一个函数,其中E表示和的蕴涵(即包含的意思),C表示矛盾,N为中性输出。「我们将ZSL情感分类视为一个文本蕴涵问题,但用多个提示来表示考虑中的每个标签」。
情感提示
在情感分析的背景下,当制定一个提示时,会出现两个重要的问题:(i)如何将情感名称上下文化,(ii)如何表示情感概念?
「用函数g(e) = c + r(e)生成一组提示,其中c表示上下文」,r(e)表示一组情感表示。作为c,我们使用空字符串,“文本表达了”,“这个人感觉”,或“这个人表达”等表示。
本文中的每一个提示都由语境和情感表征组成。有三种提示具有共同的情感名称表示,即Emo-Name,Expr-Emo和feelings-emo。这些提示的变体有EmoS、Expr-S和feelings-s,其中「情绪名称表示由多个情绪同义词取代,EmoLex中情绪名称由情绪词词典中的条目取代」。具体来说如下表所示:
提示集合
在实际应用程序中,某些用户无法手动执行特定提示的选择。在假设提示的选择确实是特定于语料库的情况下,我们「将多个提示集组合成一个集合」。
实验结果
1、不同的NLI模型在情绪数据集和提示符之间表现稳健。
推荐阅读
[1]NeurIPS 2022|拯救“中国相声”!预训练模型(PLMs)应用新场景 ??(含源码)
[2]NeurIPS2022|训练缺少数据?你还有“零样本学习”(香槟分校)
[3]预训练模型微调 | 一文带你了解Adapter Tuning
[4]预训练模型微调 | 一文了解预训练模型 Prompt 调优
论文&&源码
Paper:https://arxiv.org/pdf/2209.06701.pdf
Code:https://github.com/fmplaza/zsl_nli_emotion_prompts