NLP Prompt系列——Prompt Engineering方法详细梳理

本文详细梳理了近2年10篇顶会论文中Prompt Engineering的三种方法:人工构造(如cloze prompt、prefix prompt)、自动生成(如自动搜索、prompt paraphrasing)及隐空间中的prompt。Prompt模板构造对基于prompt的NLP任务至关重要,文章通过实例介绍了如何构造和优化prompt以提升模型效果。
摘要由CSDN通过智能技术生成

微信公众号“圆圆的算法笔记”,定期更新深度学习/CV/NLP/搜推广私人干货笔记

在NLP中的Prompt方法中,Prompt Engineering是一项基础工作。Prompt Engineering指的是如何针对当前任务生成prompt模板。最基础的prompt构造方法为人工构造,针对目标问题设计合适的文本模板。Prompt模板的构造方式对效果的影响非常大,是prompt方法成功与否至关重要的因素。那么如何构建对下游任务有效的prompt模板呢?这篇文章详细汇总了近2年10篇论文中3种Prompt Engineering方法,主要包括人工构造prompt、自动生成prompt、隐空间prompt3种类型,看看顶会论文中都是如何构造prompt模板并以此提升prompt效果的。

1. 人工构造prompt

最基础的方法就是基于人工知识来定义prompt模板。Prompt模板可以分为prefix prompt和cloze prompt两类。其中cloze prompt表示在句子中填空,prefix prompt表示在一个前缀的基础上填后续文本。

Language Models as Knowledge Bases?(2019)这篇文章探讨了预训练语言模型中学习到的语言知识,主要方式是利用多种数据集构造cloze prompt,看预训练模型是否能预测出缺失词。例如Dante was born in (?)就是一个cloze prompt,模型预测空缺位置的词,预测正确说明预训练语言模型学到了这些知识。本文利用一些知识库构造了一批cloze prompt去对比不同预训练模型的效果,并发现Bert-Large能够取得很好的效果。这篇文章最后构造了LAMA数据集,根据多个数据得到的cloze prompt模板,用来检验预训练语言模型中包含的知识情况。

Template-Based Named Entity Recognition Using BART(ACL 2021)采用cloze prompt解决小样本下的NER任务。对于一个句子,如果某个词组是实体,那么其对应的模板就是<xi:j> is a <yk>;如果某个词组不是实体,那么其对应的模板为<xi:j> is not an entity。例如对于一个输入文本ACL will be held in Bangkok来说,需要构造出多组模板文本,对应每个词组是否为某个entity,如Bangkok is a location entity。将构建好的句子送到预训练+其他领域finetune的BART上打分,根据打分高低判断每句话描述的对应词是否为实体的正确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值