【提示学习】Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classific

简介: 目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。  本文是在Verbalizer(标签映射器)方面做出的创新。  文章思路是数据增强+去噪,不过数据增强在于verbalizer对于label space至expanding word space的映射,引入外部的扩展标签词集,辅助分类,去噪并不新颖,就是在细化两个场景,zeroshot滤掉扩展标签词集的低频词,并上下文校验。fewshot则是引入可学习权值,减小噪声影响。

阅读摘要


 目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。


 本文是在Verbalizer(标签映射器)方面做出的创新。


 文章思路是数据增强+去噪,不过数据增强在于verbalizer对于label space至expanding word space的映射,引入外部的扩展标签词集,辅助分类,去噪并不新颖,就是在细化两个场景,zeroshot滤掉扩展标签词集的低频词,并上下文校验。fewshot则是引入可学习权值,减小噪声影响。


[0] 摘要


 小样本文本分类下,Prompt-Tuning比Fine-Tuning好,PT核心是:verbalizer,主要是完成标签空间到标签词空间的映射。


 传统verbalizer不准确。论文提出KPT方法,使用KB拓展verbalizer的标签词空间,并使用预训练模型对标签词空间进行细化。


[1] 介绍


 PLM本身含有丰富的知识,如何激发和利用这些知识是研究重点。


 使用PLM中蕴含的信息的手段有2:FT&PT。微调需要充分的下游任务数据学习,不使用小样本或零样本;提示学习被证明在小样本或零样本中有更好的表现。


 最常用的Prompt方法就是把文本分类任务转化为MLM任务,其中PET那篇论文提出了Verbalizer(标签映射器),对分类性能有很大影响。


PET论文地址:https://arxiv.org/abs/2001.07676


 有人提出使用离散搜索或梯度下降来替代手动verbalizer,但是效果都不如手动的好。


这里我理解的离散搜索或梯度下降,分别指PET和接全连接层。但我还没看对应的论文,先贴出来。


离散搜索论文:《Automatically Identifying Words That Can Serve as Labels for Few-Shot Text Classification》

梯度下降论文:《WARP: Word-level Adversarial ReProgramming》


 手工制作的一对一映射限制了标签词的覆盖范围,人工语言编写者通常根据有限的信息来确定预测,限制verbalizer的性能。


 手动verbalizer和基于优化的拓展结合使用效果会好,但是很难跨粒度推断单词,例如”生物“到”科学“。提出基于知识的提示调优KPT,不基于优化,所以也对零样本学习有作用。


基于优化的肯定需要样本学习。基于外部知识图谱的就可以直接不学习就分类了。


 KPT包含三个步骤:构建、改进和利用。


 (1)构建:使用外部KBs(理解为知识图谱)为每个标签生成一组标签词,扩展的标签词不仅仅是彼此的同义词,而是涵盖了不同的粒度和角度;

 (2)改进:为了应对标签词无监督扩展中的噪声,提出了四种细化方法,即频率细化、相关性细化、上下文化校准和可学习细化;

 (3)利用:应用平均损失函数或加权平均损失函数来利用扩展的映射器,它将一组标签词的分数映射到标签的分数。


[2] 相关工作


 Prompt-tuning


 自从GPT3出现以来,提示调优受到了相当大的关注。GPT-3证明,通过提示调优和上下文学习,大规模语言模型可以在低数据环境中获得优异的性能。


 Verbalizer Construction


 1. 映射器器是提示调优中的重要组成部分,对提示调优的性能有很强的影响

 2. 使用人类书写的映射器,高度偏向于个人词汇,覆盖面不够。

 3. 如果是自动化研究(添加网络层学习)需要足够的训练集和验证集来进行优化,且确定的映射器通常是类名的同义词。

 4. 尝试每个类别的多个标签词。为每个类设置的标签词的最佳大小通常小于10,这在文本分类任务中缺乏覆盖率。


[3] KPT



[3.1] 总体思路

  作者使用外部kb为每个标签生成一组扩展标签单词(每个类生成100多个相关的标签词),并根据Prompt-tuning的核心思想:

  1. 在输入x中插入文本片段(前缀),构建出模板(Pattern)



     2. 在输出y,将label 用一个语言表达器(verbalizer)映射至lablel的扩展词上


     3. 问题转化成输入为模板,输出为label的扩展词,且分类问题转化为掩码语言建模问题 模板具体流程如下,Xp的样例如下


 利用MLM模型预测[mask]位置单词,通过预训练的掩码语言模型M计算出 扩展标签词集 中的每个标签词v分别放入mask token位置时的概率:



 最后通过g函数将空间从标签扩展词的概率映射回标签概率:



 举例:由于外部知识库中,属于类标签A的单词有100个左右,所以只要模型预测的[MASK]在这100个词里面,都可以算是预测中了标签A。那么问题来了,这100个词我都想要吗?这100个词都是同等重要的吗?这涉及到去噪、和权重问题。


引入了太多了知识库,这属于数据增强。单数增强的数据有噪声,需要去噪,留下需要的部分。文章主打的是,以前的工作中,增强的都是类标签的同义词,而作者自己增强的是多粒度的、多方面的。


 这样也就完成了分类,基于上述主思想,作者提出了一种上下文的校准方法消除扩展词v中的噪声。并探讨了利用扩展v的普通平均和加权平均方法。


[3.2] 构建映射器

 重点是如何在主题分类和情绪分类中引入外部知识构建扩展标签词。对于主题分类,利用concept net与word net等方法引入相关词,通过边缘表示相关性筛选。情绪这种二元分类,作者引入前人构建的情感字典获得扩展词,最终构建扩展标签词词汇表,示例如下:



[3.3] 映射器 细化/精炼/去噪

  去噪场景有2种:

  1、少样本学习(few shot)

  2、零样本学习(zero shot)

  对于少样本学习:

  可学习权重去噪: 因为有样本可以学,所以为每个标签词分配了一个可学习的权重:



 我们希望学习到的权重要更小,以使其对预测的影响达到最小化,所以公式种才要正则化。而且这样的权重不一定是必要的,因为模型本身就有可能学习到可以去噪的水平。


除此之外,论文还把OOV的标签词拆分成逐token的多个部分,并用PLM逐token预测的平均概率,作为整个词的概率,没理解。这里涉及到WordPiece,关于英文数据集怎么改成MLM,我还没弄懂,就是因为分词会产生WordPiece。


 对于零样本学习,主要有三个问题:


 词频去噪:稀有词预测概率低,结果可能不准确。 作者用一种标签词的上下文先验来代替词频字典,把预测概率低于阈值的词去掉。


 本文作者假定了一个小尺寸的未标注的support集C作为上下文,并假设c中的样本均符合均匀分布,则每个标签扩展词的上下文的分布为:




最后删去那些概率低于设定阈值的扩展词。


 相关性去噪:KBs中的标签词没经过训练,会存在一个标签词对多个类别都有很大贡献的情况,文章设计了一种相关性计算方法,会在标签词集合里面删除相关性小于1的词。


 各个标签词的先验概率差异极大,导致有些词相比于其它词很难被预测。作者使用上文提到的上下文先验对概率分布进行了一个校准来解决这个问题,即用 PLM 预测概率除以标签词的先验分布概率。


对于 few-shot learning,Refinement 简单很多,作者为每一个标签词赋了一个权重来学习。


 上下文校准:标签词的先验概率有巨大差异。有些词就是很难被预测到,所以要正则化这些词的概率。


[3.4] 映射器的使用

 平均:取标签词集合中,每个标签词的概率的平均,然后比大小。适用于零样本学习。


 加权平均:取标签词集合中,每个标签词的概率的加权平均,然后比大小。适用于少样本学习。


[4] 实验


数据集

 · AG’s News

 · DBPedia

 · Yahoo

 · IMDB

 · Amazon


[5] 分析


标签词集的多样性

 KPT的一个优点是它可以跨不同粒度生成不同的标签词。


 为了具体量化这种多样性,对于类别y的正确预测句子,计算标签词v∈Vy出现在[MASK]位置前5个预测中的频率。然后报告出现频率最高的15个标签词。


 如图所示,预测了标签词的多样性,而不是主要是原始的类名。预测的标签词涵盖了相应主题的各个方面。例如,在SPORTS这个话题中,预测的“联赛”、“足球”、“教练”从不同的角度与之相关。


相关文章
|
机器学习/深度学习 数据挖掘
【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification
本文是较早把Prompt应用到层级多标签文本分类领域的论文。思路是把层级标签分层编入到Pattern中,然后修改损失函数以适应多标签的分类任务。
218 0
|
5月前
|
机器学习/深度学习 移动开发 自然语言处理
大模型Prompt-Tuning技术入门(二)
Prompt-Tuning是一种在大型语言模型中进行下游任务适配的技术,起源于GPT-3的In-context Learning和Demonstration Learning。它通过构建Prompt(提示)和Verbalizer(标签映射)来转换任务,比如将分类任务转化为填空问题。PET模型是Prompt-Tuning的早期实践,通过固定模板(Pattern)和标签词(Verbalizer)来实现。Prompt-Oriented Fine-Tuning是Prompt-Tuning的一种形式,将任务转换为与预训练任务相似的形式,如BERT的MLM任务。
|
3月前
|
自然语言处理
怎样能写出完美的Prompt
【8月更文挑战第20天】怎样能写出完美的Prompt
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
prompt 原理
【8月更文挑战第5】
74 4
|
5月前
|
机器学习/深度学习 自然语言处理 算法
大模型Prompt-Tuning技术入门(一)
Prompt-Tuning是NLP领域的新兴技术,旨在减少预训练模型Fine-Tuning的需要。它通过构造提示(Prompt)使预训练模型能适应各种任务,降低了语义偏差和过拟合风险。Prompt作为任务的“提示词”,可以是人工定义、自动搜索或生成的模板,与预训练的MLM头结合使用,只需少量甚至无标注数据,通过标签词映射进行预测。此方法从GPT-3的In-Context Learning发展至今,包括了连续Prompt、大规模模型的Instruction-tuning和Chain-of-Thought等进展。 Prompt-Tuning是向少监督、无监督学习迈进的关键研究。
|
5月前
|
存储 机器学习/深度学习 自然语言处理
大模型Prompt-Tuning技术进阶
近年来,随着Prompt-Tuning技术的崛起,研究者们发现,在拥有超过10亿参数的大规模模型上,采用Prompt-Tuning相较于传统的Fine-tuning方法能带来显著的性能提升。特别是在小样本甚至零样本学习场景下,Prompt-Tuning能够极大地激发模型的潜力。这一成就的取得主要归功于三个关键因素:模型庞大的参数量、训练过程中使用的海量语料,以及精心设计的预训练任务。
|
6月前
|
机器学习/深度学习 自然语言处理 TensorFlow
[Character Embedding]论文实现:Text Understanding from Scratch
[Character Embedding]论文实现:Text Understanding from Scratch
33 2
|
数据挖掘
【提示学习】Automatic Multi-Label Prompting: Simple and Interpretable Few-Shot Classification
文章提出了一种简单确高效地构建verbalization的方法:
|
存储 自然语言处理 数据可视化
【提示学习】AUTOPROMPT: Eliciting Knowledge from Language Models with Automatically Generated Prompts
Prompt任务需要构建合适的Pattern,但是编写合适的Pattern需要手动工作和人为猜测,有很大的不确定性。为了解决这个问题,提出AUTOPROMPT模型,基于梯度下降搜索来创建Pattern。
152 0
|
6月前
|
人工智能 自然语言处理
到底什么是Prompt?
到底什么是Prompt?