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

接收会议 | 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”上的预测概率会相对较低。此外,关系也约束它的实体的类型。

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

3.2 方法

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

3.2.1 Prompt Construction with Knowledge Injection

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

(1)Entity Knowledge Injection

Type Marker 方法可以额外引入实体的类型信息以提高性能,但需要对类型信息进行额外注释,而实体类型标注在数据集中并不总是可用的。因此,我们通过特定关系中包含的先验知识而不是注释来获得潜在实体类型的范围。例如,给定关系“per:country_of_birth”,很明显与该关系匹配的头实体属于“人”,而与该关系匹配的尾实体属于“国家”。直观地说,我们根据关系类型分别估计在候选集

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

  1. 论文浅尝 | 六篇2020年知识图谱预训练论文综述

    转载公众号 | AI机器学习与知识图谱 本文介绍六篇有关知识图谱预训练的优秀论文,大致上可分为两类,生成学习模型和对比学习模型.其中GPT-GNN模型是生成学习模型,模型灵感来源于自然语言处理中的GP ...

  2. 论文浅尝 | 基于迭代的概率规则约束的知识图谱分布式表示

    Citation:Shu Guo, Quan Wang, Lihong Wang, Bin Wang, Li Guo.Knowledge Graph Embeddingwith Iterative G ...

  3. 论文浅尝 | 记忆推理:最近邻知识图谱嵌入

    笔记整理:孙硕硕,东南大学硕士,研究方向为根因溯源. Citation: Zhang N, Xie X, Chen X, et al. Reasoning Through Memorization: ...

  4. 论文浅尝 | 利用开放域触发器知识改进事件检测

    笔记整理 | 申时荣,东南大学博士 来源:ACL 2020 源码:https://github.com/shuaiwa16/ekd.git 摘要 事件检测(ED)是文本自动结构化处理的一项基本任务.由 ...

  5. 论文浅尝 | 面向自动问题生成的跨语言训练

    论文笔记整理:谭亦鸣,东南大学博士生,研究方向为跨语言知识图谱问答. 来源:ACL 2019 链接:https://128.84.21.199/pdf/1906.02525.pdf 动机 现有问题生成 ...

  6. 论文浅尝 | 远程监督关系抽取的生成式对抗训练

    动机 远程监督关系抽取方法虽然可以使用知识库对齐文本的方法得到大量标注数据,但是其中噪声太多,影响模型的训练效果.基于 bag 建模比基于句子建模能够减少噪声的影响,但是仍然无法克服 bag 全部是错 ...

  7. 论文浅尝 - COLING2020 | 桥接文本和知识的多原型嵌入在少样本关系三元组抽取中的研究...

    本文转载自公众号:浙大KG. 论文题目:Bridging Text and Knowledge with Multi-Prototype Embedding for Few-Shot Relation ...

  8. 论文浅尝 | 基于文本关联的知识图谱的无监督嵌入增强

    来源:IJCAI2019 论文链接: https://www.ijcai.org/proceedings/2019/0725.pdf 概述 知识图谱嵌入是从多关系数据中提取数据的工具,最近的嵌入模型对 ...

  9. 论文浅尝 | 基于属性嵌入的知识图谱实体对齐

    论文笔记整理:王中昊,天津大学硕士,方向:自然语言处理. 来源:AAAI2019 论文链接: https://doi.org/10.1609/aaai.v33i01.3301297 概述 知识图谱之间 ...

最新文章

  1. 6个变态的C语言Hello World程序
  2. JZOJ 3822. 【NOIP2014模拟9.9】逆光
  3. cpp判断输入为数字_猜数字小程序带你C语言入门
  4. Kafka跨集群迁移方案MirrorMaker原理、使用以及性能调优实践
  5. android 开发 命名规范
  6. java中的path类_详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别
  7. maven 打包指定依赖包_[Maven]-Maven基础-01-基础概念
  8. Eclipes导入的项目中的中文都是乱码的解决办法
  9. android实现欢迎启动界面
  10. Ghost Blog
  11. [CERC2017]Intrinsic Interval(神仙+线段树)
  12. VS注释和取消注释快捷键自定义
  13. 菜鸟网络后端java 一面总结
  14. 综合布线工程GB50311-2016中的各大子系统示意图
  15. 基于Java怎么实现扫码登录
  16. 基于Python 实现 Spirent TestCenter 自动化
  17. Go-使用wmi获取硬盘smart信息并解析
  18. spark-面试题(含答案)
  19. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering 论文阅读
  20. 一篇文章读懂摄像头帧率、码流、分辨率的关系

热门文章

  1. 网卡驱动收发包过程图解
  2. mysql 8.0 一条insert语句的具体执行流程分析(二)
  3. C++ int转string以及源码
  4. 在腾讯做嵌入式是怎么样的
  5. 武汉工程大学计算机学院研究生难吗,武汉工程大学考研难吗?一般要什么水平才可以进入?...
  6. 测试两个主机之间的连通性_借助网络测试神器极速解决网络故障
  7. 昆明大学津桥学院计算机科学与技术,昆明理工大学津桥学院计算机科学与技术专业2015年在河南理科高考录取最低分数线...
  8. mp4 拍摄时间如何看_时间不多了,如何备考期末最有效?这些复习技巧,看了你就会了...
  9. 【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度
  10. 智慧交通day02-车流量检测实现11:yoloV3模型