论文浅尝 | WWW2022 - “知识提示”之知识约束预训练微调

41f73de5feea6dc208f04f8f0e7a052d.png

本文作者 | 陈想(浙江大学)、张宁豫(浙江大学)、谢辛(陈想)、邓淑敏(浙江大学)姚云志(浙江大学)、谭传奇(阿里巴巴),黄非(阿里巴巴),司罗(阿里巴巴),陈华钧(浙江大学)

接收会议 | WWW2022

论文链接 | https://arxiv.org/abs/2104.07650

代码 | https://github.com/zjunlp/KnowPrompt

一、引言

最近一年以来蓬勃发展的自然语言处理新范式“提示学习”(Prompt Learning),通过构造提示模板和标签映射,显著提升了模型的少样本、跨领域、多任务等能力。在提示学习中,如何针对具体任务,构建出最合适的模板提示和标签映射组合,是提升任务性能的关键。因此,通过植入相关的任务和领域知识来构建提示模板,以“知识提示”指导预训练语言模型,可以提升模型对任务和领域的感知,充分的激发预训练语言模型的潜力,提升任务性能。本文梳理了有关“知识提示”的学习方法,并介绍了被TheWebConf(WWW)2022录用的新工作:KnowPrompt。

二、背景知识

2.1 自然语言处理的“第四范式”:提示学习

早年的自然语言处理方法严重依赖特征工程、特征工程,通过精心设计数据特征和网络架构来实现下游任务。近几年随着语言模型如GPT、BERT、BART的出现,“预训练”+“微调”成为了自然语言处理的标准范式,并以统一的模型架构显著提升了大量任务的性能。然而,在预训练和微调的过程中,不同阶段的优化目标不一致。于是,起源于GPT3,并由PET[1,2]、LM-BFF[3]发展而来的一种全新的范式----“提示学习”[4],引起了学者的广泛关注。通过构造提示模板和标签映射,“提示学习”可以统一预训练和微调的优化目标,并实现轻量、高效的下游任务微调,从而更好的完成任务。

随着技术的不断发展,新的提示学习方法不断涌现,不同团队在同一时期提出了大量了新思路、新方法。清华大学提出了可自动学习模板的P-tuning[5]和预训练提示方法PPT[6],以解决需要人工构建模板和最优初始化等问题;斯坦福大学提出了Prefix-tuning[7]以参数可学习的前缀来实现高效的预训练语言模型微调;谷歌提出了FLAN[8]通过自然语言指令微调实现更快、更小、更好的模型优化;Huggingface提出了T0[9]以更加多样化的提示和多任务学习使模型具备更加鲁棒、泛化的能力;浙江大学和阿里巴巴达摩院提出了可同时学习模板和标签映射的DART[10]以实现全流程端到端微调降低模板提示构建成本。更多的工作开始尝试将提示学习应用在如实体识别与分类[11,12,13,14]、关系抽取[15]、自然语言生成[16]、事件抽取[17,18,19]、情感分析[20,21]、语义解析[22]、视觉定位[23]、图像生成[24]、多模态问答[25,26]等任务。相关工作可以参见https://github.com/thunlp/PromptPapers以及CCF关于提示学习的术语解读[27]。

从本质上讲,提示学习通过引入任务相关的模板将下游任务转换成和预训练目标一致的形式。其中,如何构建模板和标签映射至关重要。模板提示在一定程度上是任务和预训练模型交互的接口,通过将任务、领域相关的先验知识植入提示设计,显然可以让模型更加懂任务、懂数据。我们将这一技术思路称作“知识提示”,并介绍相关的方法。

2.2、知识提示学习:Knowledge-informed Prompt Learning

“知识提示学习”旨在通过植入任务、领域相关的知识,通过“Knowledge as Prompt”来降低提示学习的模板构建和标签映射成本,提升预训练模型对领域、任务的感知,激发预训练模型的潜能,提升下游任务的性能。清华大学曾提出了将逻辑规则植入提示学习的方法PTR[28]和通过外部知识图谱扩展标签映射的方法KPT[29],在关系抽取、文本分类等任务场景取得较大的性能提升。一般来说,植入外部知识可以通过输入增强、架构增强、输出正则等形式[30]。然而针对知识提示,如何高效的将外部知识植入提示模板和标签映射仍面临一定的挑战。针对第一问题,我们在提示学习框架中引入实体关系约束,提出了一种高效的知识植入提示学习方法KnowPrompt。

三、KnowPrompt:“知识提示”学习之知识约束

3.1 动机

提示学习在具体的任务中面临诸多挑战。以关系抽取(RE)为例,如下图所示:一方面,为关系抽取构建合适的提示模板需要专业的领域知识,且模板需要大量的验证集进行验证,成本高昂;另一方面当关系抽取的标签的个数发生变化时,标签词搜索过程的计算复杂度非常高(通常与类别个数呈指数关联),因此较难在语言模型词汇表中针对特定的关系标签获得合适的标签词。我们观察到,关系标签之间存在丰富的语义知识,即关系三元组之间存在结构约束。例如,如果一对实体包含“person”和“country”的类型,则[MASK]在关系“org:city_of_headquarters”上的预测概率会相对较低。此外,关系也约束它的实体的类型。

552654a6cad11fcff5a83b892b69a8d2.png

受此启发,我们将实体关系约束知识植入提示学习过程,并提出了KnowPrompt方法。我们通过可学习的虚拟答案词和虚拟类型词构建知识注入的提示,并通过实体关系约束植入外部结构化知识,以降低模板构建成本并提升任务对领域任务的感知。

3.2 方法

4ed071c7f4fbde62977c2f42a865df5c.png

具体来说,KnowPrompt模型分为提示的构建和优化两个步骤:

3.2.1 Prompt Construction with Knowledge Injection

因为一个经典的提示由两个部分组成,即模板和一组标签词映射,我们提出了虚拟类型词(实体)和虚拟答案词(关系)的构建,用于关系抽取任务的知识注入。

(1)Entity Knowledge Injection

Type Marker 方法可以额外引入实体的类型信息以提高性能,但需要对类型信息进行额外注释,而实体类型标注在数据集中并不总是可用的。因此,我们通过特定关系中包含的先验知识而不是注释来获得潜在实体类型的范围。例如,给定关系“per:country_of_birth”,很明显与该关系匹配的头实体属于“人”,而与该关系匹配的尾实体属于“国家”。直观地说,我们根据关系类型分别估计在候选集𝐶𝑠𝑢𝑏和𝐶𝑜𝑏𝑗上的潜在实体类型对应的先验分布𝜙𝑠𝑢𝑏和𝜙𝑜𝑏𝑗,其中先验分布是通过频率统计来得到的。我们在实体周围分配虚拟类型词,这些词使用一组潜在实体类型的聚合嵌入进行初始化。由于初始化的虚拟类型词对于特定实体来说不是精确类型,这些可学习的虚拟类型词可以根据上下文动态调整,起到类弱化的Type Marker的作用。具体初始化方法如下:

d83f4c667d07434ce3d0a5825c41857d.png

(2)Relation Knowledge Injection

以往关于提示学习的研究通常通过自动生成在词汇表中的一个标签词和一个任务标签之间建立一对一的映射,这种搜索计算复杂度高,且未能利用关系标签中丰富的语义知识。为此,我们假设在语言模型的词汇空间中存在一个虚拟答案词𝑣′∈V′,它可以表示关系的隐含语义。从这个角度来看,我们在MLM Head 层拓展额外的可学习关系嵌入来作为虚拟答案词集 V',以表示相应的关系标签 Y。我们用掩码位置处的 V′上的概率分布重新形式化 𝑝(𝑦|𝑥)。具体来说,我们设置𝜙𝑅=[𝜙𝑟1,𝜙𝑟2, ...,𝜙𝑟𝑚]和C𝑅=[C𝑟1,C𝑟2, ...,C𝑟𝑚],其中𝜙𝑟表示通过分解关系标签𝑟得到的关系语义词在候选集C𝑟上的概率分布,𝑚是关系标签的数量。此外,我们采用𝜙𝑟的加权平均函数来平均C𝑟中每个单词的嵌入并初始化这些关系表示,这可以为提示构建注入关系的语义知识。虚拟答案词𝑣′=M(𝑦)的可学习关系嵌入初始化如下:

444148d3c1e919df82e4b2a2ce23bf02.png

其中    是虚拟标签词𝑣′的嵌入,e 表示 L 的词嵌入层。

3.2.2 Synergistic Optimization with Knowledge Constraints 

由于实体类型和关系标签之间存在密切的交互和联系,且虚拟类型词以及答案词应该与周围的上下文相关联,我们进一步引入了包含结构约束的协同优化方法来优化虚拟类型词和虚拟答案词{  ,  ,  }以植入关系约束知识。

(1)Context-aware Prompt Calibration 

尽管虚拟类型和答案词是基于知识初始化的,但它们在潜在变量空间中并非最优,它们应该与周围输入的上下文相关联。因此,需要通过感知上下文来校准它们的表示。给定掩码位置 V′上的概率分布 𝑝(𝑦|𝑥)=𝑝([MASK]=V′|𝑥prompt),我们通过下列损失函数优化虚拟类型词以及答案词:

ed8f2bdd56ea1904479823b5811647d6.png

(2)Implicit Structured Constraints 

为了融合结构化知识,我们使用了额外的结构化约束来优化提示。具体来说,我们使用三元组(𝑠,𝑟,𝑜) 来描述关系事实,并定义隐式结构化约束的损失如下:

0edf637ad3859494baf1dd2f1e0d3811.png

其中(𝑠′𝑖, 𝑟, 𝑜′𝑖)是负样本,𝛾是margin,𝜎指sigmoid函数,𝑑𝑟是评分函数。

3.3 实验

为了验证KnowPrompt的效果,我们在五个常见的关系抽取数据集上评测(具体的数据已在Github开源发布),并在全监督和少样本两个设定下进行了实验。如下表所示,KnowPrompt在全监督场景和低资源少样本场景都取得了最优的性能。具体的实验结果和分析可以参见论文。

四、一些思考和展望

在本文中,我们介绍了基于知识提示的预训练微调,并解读了我们的工作KnowPrompt,通过“Knowledge as Prompt”的思想实现高效的知识植入、知识选择,促进模型对领域任务的感知,提升下游任务的性能。我们也对提示学习的未来提出了如下思考:

提示学习是人机交互的媒介?

在一定程度上,提示学习可能是人类语言指令和大规模预训练模型交互的媒介,通过操作提示可以高效的利用大模型,发挥挖掘大模型的潜力。[33]探讨了提示学习在少样本情境和大模型交互中扮演的角色。

提示学习的理论分析?

提示学习为什么这么高效?[34]以隐马尔科夫理论探讨了提示学习的工作原理;[35] 提出了知识神经元,并分析了语言模型提示对FFN层知识的激活情况;[36]提出了“任务的公共低维本征子空间”。此外,[37]等多个工作曾发现模型可以习得一定程度的人类知识,而[38]发现外部知识提示可以显著提升开放域问答能力。模型何时需要知识,需要何种知识仍值得继续探索。

后提示学习时代可以做什么?

目前已有数百篇关于提示学习的工作,在后提示学习时代,更多的工作开始关注多模态、多任务、多语言提示学习,并将提示学习扩展到更加丰富的下游任务和应用场景中,如软件工程、语音识别等。

提升学习目前带来收益已经越来越少了,如何更好将提示学习落地?

随着提示学习研究进入深水区,目前提示学习带来的性能提升收益已经越来越小了,如何更加高效得将提示学习技术落地是一个很有价值的方向。复旦大学提出黑箱优化方法[39]不失为一种高效的大规模语言模型落地方式;清华大学开发了提示学习开源工具包OpenPrompt[40];浙江大学和阿里巴巴达摩院团队也提出了可微分提示学习技术DART[10],降低了提示学习的人工成本。

五、参考文献

[1] Exploiting cloze-questions for few-shot text classification and natural language inference EACL2021

[2] It’s not just size that matters: Small language models are also few-shot learners NAACL2021

[3] Making Pre-trained Language Models Better Few-shot Learners ACL2021

[4]Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing 2021

[5] GPT Understands, Too 2021

[6] Pre-trained Prompt Tuning for Few-shot Learning 2021

[7] Prefix-Tuning: Optimizing Continuous Prompts for Generation ACL2021

[8] Fine-tuned Language Models Are Zero-Shot Learners 2021

[9] Multitask Prompted Training Enables Zero-Shot Task Generalization 2021

[10] Differentiable Prompt Makes Pre-trained Language Models Better Few-shot Learners ICLR2022

[11] Lightner: A lightweight generative framework with prompt-guided attention for low-resource ner 2021

[12] Plug-Tagger: A Pluggable Sequence Labeling Framework Using Language Models 2021

[13] Template-free Prompt Tuning for Few-shot NER 2021

[14] Prompt-Learning for Fine-Grained Entity Typing 2021

[15] Label Verbalization and Entailment for Effective Zero and Few-Shot Relation Extraction EMNLP2021

[16] Few-Shot Text Generation with Pattern-Exploiting Training 2021

[17] Learning to Ask for Data-Efficient Event Argument Extraction AAAI2022(SA)

[18] Eliciting Knowledge from Language Models for Event Extraction 2021

[19] DEGREE: A Data-Efficient Generative Event Extraction Model 2021

[20] Sentiprompt: Sentiment knowledge enhanced prompt-tuning for aspect-based sentiment analysis 2021

[21] Open Aspect Target Sentiment Classification with Natural Language Prompts 2021

[22] The Power of Prompt Tuning for Low-Resource Semantic Parsing 2021

[23] CPT: Colorful Prompt Tuning for Pre-trained Vision-Language Models 2021

[24] Learning to Prompt for Vision-Language Models 2021

[25] Multimodal Few-Shot Learning with Frozen Language Models NeurIPS2021

[26] An Empirical Study of GPT-3 for Few-Shot Knowledge-Based VQA 2021

[27] 联手信息系统专业委员会:“提示学习”术语发布 | CCF术语快线https://mp.weixin.qq.com/s/WMWn9aA6UFRZdeJuhGeWwA

[28] PTR: Prompt Tuning with Rules for Text Classification 2021

[29] Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification 2021

[30]Knowledgeable machine learning for natural language processing. Communications of the ACM 2021

[31] K-BERT: Enabling Language Representation with Knowledge Graph AAAI2021

[32] Drop Redundant, Shrink Irrelevant: Selective Knowledge Injection for Language Pretraining IJCAI2021

[33] Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigm CHI2021

[34] Why Do Pretrained Language Models Help in Downstream Tasks? An Analysis of Head and Prompt Tuning NeurIPS2021

[35] Knowledge Neurons in Pretrained Transformers 2021

[36] Exploring Low-dimensional Intrinsic Task Subspace via Prompt Tuning 2021

[37] Acquisition of Chess Knowledge in AlphaZero 2021

[38] A few more examples may be worth billions of parameters 2021

[39]  Black-Box Tuning for Language-Model-as-a-Service 2021

[40] Openprompt: an open-source framework for prompt-learning 2021


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

1d7943a2eea7e998dbd2102bb1eff2fa.png

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

吐血整理:论文写作中注意这些细节,能显著提升成稿质量

文 | python编 | 小轶前言不知诸位在科研的起步阶段,是否曾有过如下的感受:总感觉自己写的论文就是和自己读过的论文长得不太一样,也不知道为啥。投稿的时候,审稿人也总是 get 不到论文的核心,只揪着论文的次要细节不放…

LeetCode 1237. 找出给定方程的正整数解

1. 题目 给出一个函数 f(x, y) 和一个目标结果 z&#xff0c;请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。 给定函数是严格单调的&#xff0c;也就是说&#xff1a; f(x, y) < f(x 1, y) f(x, y) < f(x, y 1)函数接口定义如下&#xff1a; interface Cu…

基于Wi-Fi的室内定位在美团总部的实践和应用(上)

室内定位技术的商业化必将带来一波创新高潮&#xff0c;尤其是在O2O领域&#xff0c;各种基于此技术的应用将出现在我们的面前。我们可以想象一些比较常见的应用场景&#xff0c;比如在大型商场里面借助室内导航快速找到目标商铺&#xff0c;商店根据用户的具体位置向用户推送更…

LeetCode 1266. 访问所有点的最小时间(数学)

1. 题目 平面上有 n 个点&#xff0c;点的位置用整数坐标表示 points[i] [xi, yi]。请你计算访问所有这些点需要的最小时间&#xff08;以秒为单位&#xff09;。 你可以按照下面的规则在平面上移动&#xff1a; 每一秒沿水平或者竖直方向移动一个单位长度&#xff0c;或者…

Coding Party 邀你出战!飞桨黑客马拉松线下场来啦

12月4-5日&#xff0c;这48H&#xff0c;与100开发者HACK Together“黑客”很酷&#xff1f;和“黑客”一起“战斗”是种什么样的体验&#xff1f;你参与这场“战斗”了吗&#xff1f;PaddlePaddle Hackathon 2021飞桨黑客马拉松&#xff0c;由百度飞桨联合深度学习技术及应用国…

技术动态 | 「知识图谱嵌入技术研究」最新2022综述

转载公众号 | 专知知识图谱(KG)是一种用图模型来描述知识和建模事物之间关联关系的技术. 知识图谱嵌入(KGE)作为一 种被广泛采用的知识表示方法,其主要思想是将知识图谱中的实体和关系嵌入到连续的向量空间中,用来简化操作, 同时保留 KG 的固有结构.它可以使得多种下游任务受益…

全球仅3000人通过的TensorFlow开发人员认证到底有多香!

现在&#xff0c;我们每个人都已经习惯了社交网络&#xff0c;随时随地都能进行微信、QQ语音和视频通话。那么&#xff0c;你是否发现在不同场景下&#xff0c;这些社交软件音频、视频都是那么的流畅&#xff0c;这背后是什么科技在支撑这“声”与“话”的美好呢&#xff1f;这…

LeetCode 1043. 分隔数组以得到最大和(DP)

1. 题目 给出整数数组 A&#xff0c;将该数组分隔为长度最多为 K 的几个&#xff08;连续&#xff09;子数组。分隔完成后&#xff0c;每个子数组的中的值都会变为该子数组中的最大值。 返回给定数组完成分隔后的最大和。 示例&#xff1a; 输入&#xff1a;A [1,15,7,9,2,…

图谱实战 | 安全领域知识图谱建设与典型应用场景总结

转载公众号 | 老刘说NLP 安全知识图谱是网络安全领域专用知识图谱&#xff0c;也是知识图谱应用于安全业务的重要工业尝试。当前&#xff0c;安全领域中存在大量的业务数据&#xff0c;建模需求以及应用需求&#xff0c;了解安全领域知识图谱的建设方法以及典型应用场景&#x…

Hadoop安全实践

前言 在2014年初&#xff0c;我们将线上使用的 Hadoop 1.0 集群切换到 Hadoop 2.2.0 稳定版&#xff0c; 与此同时部署了 Hadoop 的安全认证。本文主要介绍在 Hadoop 2.2.0 上部署安全认证的方案调研实施以及相应的解决方法。 背景 集群安全措施相对薄弱 最早部署Hadoop集群时并…

论文浅尝 | KGQR: 用于交互式推荐的知识图谱增强Q-learning框架

笔记整理&#xff1a;李爽&#xff0c;天津大学链接&#xff1a;https://dl.acm.org/doi/pdf/10.1145/3397271.3401174动机交互式推荐系统(IRS)以其灵活的推荐策略和考虑最佳的长期用户体验而备受关注。为了处理动态用户偏好&#xff0c;研究人员将强化学习(reinforcement lear…

收藏清单:史上最全java自动化测试工具汇总

xUnit frameworks 单元测试框架 JUnit - 常用的测试框架TestNG - 测试框架 Test Data Supplier - TestNG DataProvider封装&#xff0c;让数据的生成更加灵活 TDD \ ATDD \ BDD 工具 JBehave - Behaviour-Driven Development (BDD)测试框架. BDD是从 test-driven development…

LeetCode 1014. 最佳观光组合

1. 题目 给定正整数数组 A&#xff0c;A[i] 表示第 i 个观光景点的评分&#xff0c;并且两个景点 i 和 j 之间的距离为 j - i。 一对景点&#xff08;i < j&#xff09;组成的观光组合的得分为&#xff08;A[i] A[j] i - j&#xff09;&#xff1a;景点的评分之和减去它…

聊聊推荐系统的高阶特征交叉问题

文 | 水哥源 | 知乎Saying1. DCN看起来给了我们很好的允诺&#xff0c;但是细细想来是有一些问题的&#xff0c;这里也可以参考大佬的意见2. 高阶FM的核心设计是先element-wise乘&#xff0c;再对embedding求和。核心优化方法是利用计算中的冗余构建递推关系&#xff0c;然后使…

COS系统的前端演变和发展

背景 美团COS&#xff1a;全称美团网核心业务系统部&#xff0c;以持续整合O2O线下资源&#xff0c;共建高效率、低成本的供应链系统&#xff0c;高效推动O2O生态环境建设为业务目标&#xff0c;负责美团网核心业务系统的建设和管理。 COS系统&#xff0c;伴随着美团3年多的发展…

OpenKG 祝大家元宵节快乐!

OpenKGOpenKG&#xff08;中文开放知识图谱&#xff09;旨在推动以中文为核心的知识图谱数据的开放、互联及众包&#xff0c;并促进知识图谱算法、工具及平台的开源开放。点击阅读原文&#xff0c;进入 OpenKG 网站。

LeetCode 1262. 可被三整除的最大和(DP)

1. 题目 给你一个整数数组 nums&#xff0c;请你找出并返回能被三整除的元素最大和。 示例 1&#xff1a; 输入&#xff1a;nums [3,6,5,1,8] 输出&#xff1a;18 解释&#xff1a;选出数字 3, 6, 1 和 8&#xff0c;它们的和是 18&#xff08;可被 3 整除的最大和&#xff…

LeetCode 1253. 重构 2 行二进制矩阵(贪心)

1. 题目 给你一个 2 行 n 列的二进制数组&#xff1a; 矩阵是一个二进制矩阵&#xff0c;这意味着矩阵中的每个元素不是 0 就是 1。第 0 行的元素之和为 upper。第 1 行的元素之和为 lower。第 i 列&#xff08;从 0 开始编号&#xff09;的元素之和为 colsum[i]&#xff0c;…

论文浅尝 | ExCAR: 一个事件图知识增强的可解释因果推理框架

笔记整理&#xff1a;朱珈徵&#xff0c;天津大学硕士链接&#xff1a;https://aclanthology.org/2021.acl-long.183.pdf动机因果推理旨在理解因果之间的一般因果相关性&#xff0c;对于各种人工智能应用都有很大的价值。先前的研究主要是基于从手工注释的因果事件对中归纳出的…

从ACL2021看对比学习在NLP中的应用

本文首发于微信公众号”夕小瑶的卖萌屋“文 | 花小花Posy源 | 夕小瑶的卖萌屋最近关注对比学习&#xff0c;所以ACL21的论文列表出来后&#xff0c;小花就搜罗了一波&#xff0c;好奇NLPers们都用对比学习干了什么&#xff1f;都是怎么用的呀&#xff1f;效果怎样呀&#xff1f…