当前位置:   article > 正文

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

prompt engineering

微信公众号圆圆的算法笔记”,定期更新深度学习/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上打分,根据打分高低判断每句话描述的对应词是否为实体的正确性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/691942
推荐阅读
相关标签
  

闽ICP备14008679号