Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification
1 标题+作者
KPT,将知识引入Prompt Verbalizer 处理文本分类任务,清华大学
2 摘要
在低数据场景下,Prompt-tuning(PT)比fine-tuning(FT)效果好,PT将分类问题转为带掩码的语言模型问题,关键就在于如何构建一个verbalizer实现标签空间到标签词空间的映射。现有的verbalizer大多由人工构建或者基于梯度下降进行搜索得到,不足在于标签词的覆盖范围小、存在巨大的偏差(bias) 。
KPT通过引入额外的知识扩展标签词空间,为了更好的利用知识利用PLM重新定义了扩展后的标签词空间,并在zero-shot和few-shot的文本分类任务中表现出色
3 结论
在zero-shot和few-shot学习中KPT都有不错的性能
Open questions:
(1)用更精细化的方法从verbalizer中选择有用的标签词
(2)在模板构造和verbalizer设计方面用更好方法结合知识库和prompt-tunig
(3)探索KPT在其他任务上的应用
4 导言
PLM在预训练过程中获得了丰富的知识,如何有效利用PLM中的知识越来越受关注
fine-tuning
增加额外的分类器,在分类的目标函数下继续训练模型,有监督任务中且有足够的训练实例情况下表现好
在zero-shot和few-shot学习场景下应有fine-tuning仍是挑战,而prompt-tuning在zero-shot和few-shot任务中能有出色的表现
prompt-tuning
使用方法是将 输入语句嵌入自然语言模板,让PLM进行掩码语言建模
举例(对句子x进行主题分类)
x:“What’s the relation between speed and acceleration?”-----class:SCIENCE
prompt-tuning template:
“A [MASK] question: x” — 预测在[MASK]中填入标签词science — class:SCIENCE
从标签词science映射到类标签SCIENCE就需要用到verbalizer
Verbalizer
人工制作:设计者对每一类标签写单个标签词对应(one-to-one),不足在于标签词包含的信息有限
如:{science} → \to →SCIENCE,但没考虑到信息更丰富的相关词“physics”和“maths”
使用梯度下降自动搜索最佳的verbalizer:归纳出一些在词义上与类名相似但在表面形式上不同于类名的单词,不足在于这种基于优化的扩展很难跨粒度推断单词,比如从“science” → \to →“physics”
knowledgeable prompt-tuning:不基于优化,更加适用于zero-shot学习
KPT
(1)Construction:引入额外知识为每一个类标签生成对应的一个标签词集,扩展的标签词并不仅仅是彼此的同义词,而且涵盖了不同的粒度和方面,因此比类名更全面、更公正
(2)Refinement:使用PLM对扩展的标签词进行降噪,对于zero-shot学习,使用contextualized prior剔除先验概率低的词,来自KB的词可能存在极其不同的先验概率,提出了一种鲁棒的校正方法contextualized calibration;对few-shot学习,对每个标签词分配一个可学习的权重。
(3)Utilization:使用普通的平均损失函数或一个加权平均损失函数,expended verbalizers将一组标签单词的分数映射到标签的分数
5 相关工作
相关工作主要涉及:prompt-tuning, verbailizer construction, knowledge-enhanced PLMs, zero-shot and few-shot text classification
Prompt-tuning
在大规模预训练模型GPT-3使用、小规模语言模型使用、在文本分类和SuperGLUE任务及其他任务中使用
Verbalizer Construction
human-written verbalizers、自动的方法搜寻最佳的verbalizers(缺点在于标签词最多不超过10个,且大部分是类别名称的同义词,不全面),KPT可以跨粒度为每个类生成和有效利用100多个相关标签词且能有效应用在zero-shot学习中
Knowledge Enhanced PLMs
在知识增强应用在预训练阶段、fine-tuning阶段、文本分类任务。KPT在prompt-tuning阶段进行数据增强
6 KPT模型
M \mathcal{M} M:为在大规模语料上预训练后的语言模型
输入句子: X = ( x 0 , x 1 , . . . , x n ) X=(x_0,x_1,...,x_n) X=(x0,x1,...,xn)
句子 X X X属于类标签 y ∈ Y y\in\mathcal{Y} y∈Y
原始问题:classify the sentence x =“What’s the relation between speed and acceleration?” into label SCIENCE (labeled as 1) or SPORTS (labeled as 2)
prompt-tuning template:
X p = [ C L S ] A [ M A S K ] q u e s t i o n : X X_p=[CLS]\quad A \quad[MASK] question : X Xp=[CLS]A[MASK]question:X
对每一个填入 [ M A S K ] [MASK] [MASK]的词 v v v计算概率: P M ( [ M A S K ] = v ∣ X p ) P_{\mathcal{M}}([MASK]=v|X_p) PM([MASK]=v∣Xp)
定义一个 v e r b a l i z e r verbalizer verbalizer映射: f : V ↦ Y f:\mathcal{V}\mapsto\mathcal{Y} f:V↦Y 及 V \mathcal{V} V的一个子集 V y \mathcal{V_y} Vy映射到标签 y y y 即 ∪ y ∈ Y V y = V \cup_{y\in\mathcal{Y}}\mathcal{V}_y=\mathcal{V} ∪y∈YVy=V
函数 g g g :将标签词的概率转换到标签的概率,如一般的prompt-tuning中定义 V 1 = { “ s c i e n c e ” } \mathcal{V}_1=\{“science”\} V1={“science”}, V 2 = { “ s p o r t s ” } \mathcal{V}_2=\{“sports”\} V2={“sports”},如果 “science”的概率远大于“sports”的概率,则判为SCIENCE类
Verbalizer Construction
标签词应有两个特性:覆盖范围广、偏差小
对于主题分类任务
选择 Related Words 库(来源word embeddings, ConceptNet, WordNet)
N g ( v ) N_\mathcal{g}(v) Ng(v) 表示Related Words中与词 v v v相关系数 s > η s>\eta s>η(阈值)的相关词集合
于是有 V y = N g ( v ) ∪ { v } \mathcal{V}_y=N_\mathcal{g}(v)\cup\{v\} Vy=Ng(v)∪{v}
对于情感分类任务
引入positivewords、negativewords知识库,尽可能多地选择出关于positive和negative的表达
举例
Verbalizer Refinement
因为知识库的词汇不是为PLM量身定制的,所以收集到的知识丰富的词汇分析器可能会存在噪声
Zero-shot Refinement
(1)OOV (out-of-vocabulary):有些词对PLM来说是词表外的,但是这些词可能也包含信息,为了能用PLM预测出这些词,使用每个token被填充到掩码位置的平均概率作为这些单词的概率
(2)rare words:使用上下文先验剔除低于一定阈值的稀有词
\quad\quad对于文本分类任务
- 定义句子 X X X在语料库中的分布为 D \mathcal{D} D,
- 对每个句子计算每个标签词 v v v在掩码位置的预测概率 P M ( [ M A S K ] = v ∣ X p ) P_{\mathcal{M}}([MASK]=v|X_p) PM([MASK]=v∣Xp),
- 通过对整个句子分布求期望,可得到在掩码位置的标签词的先验分布:
P D ( v ) = E X ∼ D P M ( [ M A S K ] = v ∣ X p ) P_{\mathcal{D}}(v)=\mathbb{E}_{X\sim\mathcal{D}}P_{\mathcal{M}}([MASK]=v|X_p) PD(v)=EX∼DPM([MASK]=v∣Xp) - 同时根据经验得到,从训练集中采样得到一个小规模的无标签支持集也能估算 P D ( v ) P_{\mathcal{D}}(v) PD(v)
- 假设输入样本 { x ∈ C ~ } \{x\in\tilde{C}\} {x∈C~}具有均匀的先验分布,于是contextualized prior可由下式计算:
P D ( v ) ≈ 1 ∣ C ∣ ~ ∑ x ∈ C ~ P M ( [ M A S K ] = v ∣ X p ) P_{\mathcal{D}}(v)\approx\dfrac{1}{\tilde{|C|}}\sum_{x\in\tilde{C}}P_{\mathcal{M}}([MASK]=v|X_p) PD(v)≈∣C∣~1x∈C~∑PM([MASK]=v∣Xp)
(3)标签词先验概率的差异大:使用标签词的contextualized prior校正预测的分布
\quad\quadcontextualized calibration (CC)
P M ~ ( [ M A S K ] = v ∣ X p ) = P M ( [ M A S K ] = v ∣ X p ) P D ( v ) \tilde{P_{\mathcal{M}}}([MASK]=v|X_p)=\dfrac{P_{\mathcal{M}}([MASK]=v|X_p)}{P_{\mathcal{D}}(v)} PM~([MASK]=v∣Xp)=PD(v)PM([MASK]=v∣Xp)
使用contextualized calibration (CC)的优势在于只需要使用一个小规模的无标签支持集即可得到更好且更稳定的结果
Few-shot Refinement
已得到识别每个标签词对预测的影响,首先剔除归属多个标签的词,并给每个标签词 v v v分配可学习的权重 ω v \omega_v ωv,权重组合成一个向量 W ∈ R ∣ V ∣ W\in\mathbb{R}^{|V|} W∈R∣V∣,以零向量作为初始化
- 在每个标签词集 V y \mathcal{V}_y Vy内对权重进行归一化处理:
α v = e x p ( ω v ) ∑ u ∈ V y e x p ( ω u ) \alpha_v=\dfrac{exp(\omega_v)}{\sum_{u\in\mathcal{V}_y}exp(\omega_u)} αv=∑u∈Vyexp(ωu)exp(ωv) - 在训练阶段,期望噪声词的权重尽可能小,以减少对预测的影响
- 在few-shot设置中,不需要进行校正,标签词的概率能被训练到所期望的大小
如 P M ~ ( [ M A S K ] = v ∣ X p ) = P M ( [ M A S K ] = v ∣ X p ) \tilde{P_{\mathcal{M}}}([MASK]=v|X_p)=P_{\mathcal{M}}([MASK]=v|X_p) PM~([MASK]=v∣Xp)=PM([MASK]=v∣Xp)
Verbalizer Utilization
将每个refine的标签词的预测概率映射到类标签y上
Average
假设 V y \mathcal{V}_y Vy中每个词 v v v对类标签 y y y的贡献相同,用在 V y \mathcal{V}_y Vy上的预测得分的平均值作为标签 y y y的预测得分:
y ^ = a r g m a x y ∈ Y ( 1 ∣ V y ∣ ∑ v ∈ V y P M ~ ( [ M A S K ] = v ∣ X p ) ) \hat{y}=argmax_{y\in\mathcal{Y}}(\dfrac{1}{|\mathcal{V}_y|}\sum_{v\in\mathcal{V}_y}\tilde{P_{\mathcal{M}}}([MASK]=v|X_p)) y^=argmaxy∈Y(∣Vy∣1v∈Vy∑PM~([MASK]=v∣Xp))
Weighted Average
将标签词得分的加权平均作为预测得分
y ^ = a r g m a x y ∈ Y e x p ( s ( y ∣ X p ) ) ∑ y ′ e x p ( s ( y ′ ∣ X p ) ) \hat{y}=argmax_{y\in\mathcal{Y}}\dfrac{exp(s(y|X_p))}{\sum_{y'}exp(s(y'|X_p))} y^=argmaxy∈Y∑y′exp(s(y′∣Xp))exp(s(y∣Xp))
其中 s ( y ∣ X p ) = ∑ v ∈ V y α v l o g P M ( [ M A S K ] = v ∣ X p ) s(y|X_p)=\sum_{v\in\mathcal{V}_y}\alpha_vlogP_{\mathcal{M}}([MASK]=v|X_p) s(y∣Xp)=v∈Vy∑αvlogPM([MASK]=v∣Xp)
可应用交叉熵损失进行优化
Experiments
Datasets and Template
由于人工设计的模板已被证明比自动学习出的模板更加有效,每个数据集使用了4个人工设计的模板,报告4个模板的评价结果和最佳结果
AG’s News数据集模板
DBPedia数据集模板
Amazon数据集模板
IMDB数据集模板
Setting
- PLM:RoBERTa l a r g e _{large} large
- Metrics:Mircro-F1
- Zero-shot:无标签支持集大小: ∣ C ~ ∣ = 200 |\tilde{C}|=200 ∣C~∣=200,选取5次,去除稀有词的阈值 η = 0.5 \eta=0.5 η=0.5
- Few-shot:设置5、10、20-shot
Baseline
- Regular prompt-tuning(标签词只有类名称)
- Prompt-tuning(CC)(无few-shot实验)
- Fine-tuning(无zero-shot实验)
- 文本分类任务SOTA:LOTClass(unsupervised)、UDA(semi-supervised)
Main Results
Zero-shot
- KPT始终优于PT和PT+CC基线,这表明了方法的有效性
- 通过所有模板的平均性能或最佳性能模板实现了优于LOTClass的性能,即使没有利用大量的未标记的训练集,主题分类比情感分类需要更多的外部知识
- 在DBPedia数据集上,CC提供了巨大的改善,PT+CC比PT提高了高达7.4%
Few-shot
- KPT始终优于PT,特别是在5-shot和10-shot实验中
- 对于20-shot,认为标签实例的数量足以优化标签词的嵌入,使其远离原来的词嵌入,从而使知识丰富的语义,所以引入知识的verbalizer提供较少的帮助
- KPT在各个任务中的表现都相对稳定,且其所用的数据更少
Analysis
CC对zero-shot的影响
现有的方法提出Domain Conditional PMI( P M I D C PMI_{DC} PMIDC)来校准分布,它直接测量给定原始模板的[MASK]位置预测的标签词的先验概率,而不使用语料库中的实例填充模板
将我们的方法与PMIDC进行比较,并进一步评估需要多少实例才能产生令人满意的校准结果
我们发现 ∣ C ~ ∣ ∼ 100 |\tilde{C}|\sim100 ∣C~∣∼100足以产生令人满意的校准结果,并且利用这样一个小的未标记支持集产生比 P M I D C PMI_{DC} PMIDC更好的结果
CC对few-shot是否有帮助
假设标签词的后验概率只需要少量的训练实例即可以被训练到所需的大小,在10-sot场景下进行实验结果如下,CC对few-shot的只有少量的影响
Top预测词的多样性
KPT可通过不同粒度生成多样的标签词,不仅类似于类名,还涉及topic的各方面
Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification相关推荐
- 【ACL2022】Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text
原文链接: https://arxiv.org/abs/2108.02035 本文参考了舍友的一篇知乎链接:https://zhuanlan.zhihu.com/p/398009000 希望大家也多多 ...
- 直播活动丨BMMeetup第1期:大模型Prompt Tuning技术,8场学术报告和Poster提前下载...
「Big Model Meetup」系列活动是由智源研究院悟道团队.青源会.清华大学计算机科学与技术系博硕论坛.中国中文信息学会青年工作委员会共同组织,智源社区提供社区支持,PaperWeekly提供 ...
- 线下活动丨Big Model Meetup 第1期:大模型Prompt Tuning技术,8场学术报告和Poster展示...
「Big Model Meetup」系列活动是由智源研究院悟道团队.青源会.清华大学计算机科学与技术系博硕论坛.中国中文信息学会青年工作委员会共同组织,智源社区提供社区支持,PaperWeekly提供 ...
- 【NLP】五万字综述!Prompt Tuning:深度解读一种新的微调范式
作者 | 王嘉宁 整理 | NewBeeNLP https://wjn1996.blog.csdn.net/article/details/120607050 这绝对是我看过最全面细致的Prompt ...
- P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks论文笔记
论文链接:P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks ...
- Prompt Pre-training:迈向更强大的Parameter-Efficient Prompt Tuning
©PaperWeekly 原创 · 作者 | 李国趸 单位 | 浙江大学硕士生 研究方向 | 少样本学习 前言 从 prompt learning 的发展来看,一开始关注的是将任务建模成和预训练相近的 ...
- 清华刘知远团队巨作!Pre-trained Prompt Tuning框架,让超大模型调参变简单
点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 机器之心报道 来自清华大学的刘知远.黄民烈等研究者提出了一个名为「PPT」的新框架.PPT=Pre-trained Prompt T ...
- 清华大学刘知远组:基于Prompt Tuning对低维本征任务子空间进行探索
©作者 | 曾伟豪 学校 | 北京邮电大学 研究方向 | 对话摘要生成 论文标题: Exploring Low-dimensional Intrinsic Task Subspace via Prom ...
- CPT:刷爆少样本REC任务!清华刘知远团队提出跨模态预训练Prompt Tuning
关注公众号,发现CV技术之美 本文分享论文『CPT: Colorful Prompt Tuning for Pre-trained Vision-Language Models』,由清华刘知远团队提出 ...
最新文章
- java 邮件 内容_JAVA怎么获取邮件内容
- java对象的内存分配
- 如何在html中添加选择列表,html – 如何在选择列表中添加图像
- HTML基础第四讲---图像
- 用php打出前一天的时间格式,[php]用PHP打印出前一天的时间格式
- 修改npm全局安装模式的路径
- 腾讯智慧交通战略重磅升级 打造以人为中心的未来交通
- [转]Android应用的自动更新
- 2015年1月微信上线原创声明功能:智能添加原创标识 转载自动注明出处
- 游戏中的影子制作技术
- MD(d)、MT(d)编译选项的区别
- unity3d游戏开发第2版 pdf_从零开始学基于ARKit的Unity3d游戏开发系列1
- RichText widgets require a Directionality widget ancestor.
- AMD CPU 超频
- 【IT之路】Docker系列-CentOS 7 64位镜像下载
- GD32W515实现NES模拟器
- 计算机领域伟大成就,十五863计划信息技术领域重大科技工作成就
- 你以为Shell只是命令行?读懂这篇文,给你的工作赋能
- oracle导入.dmp,oracle导入.dmp脚本
- 美不胜“售”的花花世界
热门文章
- pig的cogroup详解
- 快速梳理思路的五个步骤
- python发送文件传输助手,教你用Python通过微信来控制电脑摄像头
- 扁平线圈绕线机的优势
- CNN经典模型:深度残差网络(DRN)ResNet
- oracle 查看cpu使用率,查看Oracle所在服务器的cpu使用情况
- AP5160宽电压 LED 降压型恒流芯片2.5-100v
- Thunderbird 企业邮箱使用教程
- Java项目:业主+物业相结合小区物业管理系统(java+SSM+jsp+mysql+maven)
- 2023中国(北京)国际职业教育装备展览会