论文解读:NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task——Next Sentence Prediction

  先前的一些基于Prompt的方法都是建立在Masked Language Modeling(MLM)任务上,即将下游任务转换为完形填空型任务。本文则换一种角度,将Prompt用在了被大多数语言模型摒弃掉的Next Sentence Prediction(NSP)上。

简要信息:

序号 属性
1 模型名称 NSP-BERT
2 发表位置 ArXiv 2021
3 所属领域 自然语言处理、预训练语言模型
4 研究内容 Prompt-tuning
5 核心内容 NSP, Prompt-tuning, Few-shot
6 GitHub源码 https://github.com/namisan/mt-dnn
7 论文PDF https://arxiv.org/pdf/2109.03564

一、动机:

  现有的工作都关注基于GPT的 left-to-right 或BERT的Masked Language Model(MLM)的prompt方法(即基于token-level的prompt);本文则使用被RoBERTa等摒弃掉的NSP任务来实现,并应用在Zero-shot场景。

二、贡献:

  • 提出NSP-BERT,基于sentence-level的pre-training任务实现prompt-learning;
  • 提出两个可选择的label/answer映射方法,在sentence-pair上提升效果;

三、Prompt

  目前Prompt-tuning可以分为两种类型,分别是:
Token-level Prompt-learning
  给定一个句子,添加一个带有[MASK]的prompt模板,设计verbalizer来获得[MASK]预测的词以及对应的标签;因此可以将一些任务转换为完形填空式任务。

Sentence-level Prompt-learning
  将NLP转换为文本蕴含任务,例如:

换句话说,可以将原始的文本、设计的Template以及候选的答案一起拼接起来后,构造为NSP的任务数据,并让模型来判断候选答案是否符合上下文语义。

四、NSP-BERT

  NSP可以用于多种不同的任务,所有任务均可以转换为NSP的格式,具体情况如下图所示:

MLM与NSP的对比如下图所示:

  • 基于MLM的prompt-tuning旨在添加一个额外的模板,并让模型预测[MASK]对应的预测结果,并映射到相应的类别上,从而只需要利用预训练好的MLM head,避免引入新的参数;
  • 基于NSP的prompt-tuning则是完全利用预训练好的NSP head,将所有任务转换为类似自然语言推理(NLI)的模式,并让模型判断候选的答案是否正确。

  具体地说,在预训练过程中,NSP的目标始终是一个二分类任务,即在NSP头部([CLS])添加一个分类器:

q M ( n k ∣ x i ) = exp ⁡ s ( n k ∣ x i ( 1 ) , x i ( 2 ) ) ∑ exp ⁡ s ( n k ∣ x i ( 1 ) , x i ( 2 ) ) q_{\mathcal{M}}(n_k|\mathbf{x}_i)=\frac{\exp s(n_k|\mathbf{x}_i^{(1)}, \mathbf{x}_i^{(2)})}{\sum\exp s(n_k|\mathbf{x}_i^{(1)}, \mathbf{x}_i^{(2)})} qM​(nk​∣xi​)=∑exps(nk​∣xi(1)​,xi(2)​)exps(nk​∣xi(1)​,xi(2)​)​

其中 n k ∈ { I s N e x t , I s N o t N e x t } n_k\in\{IsNext, IsNotNext\} nk​∈{IsNext,IsNotNext}, s ( ) s() s() 表示NSP head的相似度计算函数

NSP-BERT可以用于多个任务

single-sentence task

  输入原始句子,以及对应的一个模板:

  预测的概率则为

sentence pair task

  输入两个文本:

  在NSP头部输出结果:

cloze-style task

  输入一个文本,每个标签 j j j 都对应一个带有[MASK]的模板 p i ( j ) p_i^{(j)} pi(j)​:


  输出isNext的概率分布:

备注:在cloze-style时,[MASK]部分(文本为[BLANK])与候选文本的位置应该相等,即soft-position:

Word Sense Disambiguation

  认为,NLI要提升推理能力,需要避免指代问题,提出two-stage prompt:

Answer Mapping

  如何将预测的答案映射到对应的标签上呢?因为NSP只是一个二分类任务(IsNext)。提出两种方法:

  • candidates-contrast:如果某个task包含多个候选标签,则为每个标签设计一个prompt模板,然后通过NSP预测这个标签与原文匹配的关系概率;对所有的标签,取概率最大的

  • samples-contrast
    对于一些没有候选标签的数据,则基于样本和排序完成预测对应的标签:

论文解读:NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task——Next Sentence相关推荐

  1. 论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference

    论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference   随着 ...

  2. 【论文解读 ICEIT2022】Heterogeneous Graph Based Knowledge Tracing基于异构图的知识追踪

    文章目录 摘要 1 引言 2 相关工作 2.1 知识追踪 2.2 异构图嵌入 3 基于异构图嵌入的知识追踪 4 实验 5 结论 依然是两阶段 摘要 最近,随着在线辅导系统的发展,对知识追踪(Knowl ...

  3. 论文解读:《基于BERT和二维卷积神经网络的DNA增强子序列识别transformer结构》

    论文解读:<A transformer architecture based on BERT and 2D convolutional neural network to identify DN ...

  4. 论文解读:Spelling Error Correction with Soft-Masked BERT

    论文解读:Spelling Error Correction with Soft-Masked BERT(2020ACL)   拼写错误纠错是一个比较重要且挑战的任务,非常依赖于人类的语言理解能力.本 ...

  5. 论文解读:PromptBERT: Improving BERT Sentence Embeddings with Prompts

    论文解读:PromptBERT: Improving BERT Sentence Embeddings with Prompts 一.动机 虽然BERT等语言模型有很大的成果,但在对句子表征方面(se ...

  6. ACL 2019 | 基于知识增强的语言表示模型,多项NLP任务表现超越BERT(附论文解读)...

    来源:PaperWeekly 本文共2000字,建议阅读10分钟. 本文提出了一种新方法,将知识图谱的信息加入到模型的训练中. 论文动机 自从 BERT 被提出之后,整个自然语言处理领域进入了一个全新 ...

  7. 【论文解读】文本分类上分利器:Bert微调trick大全

    论文标题:How to Fine-Tune BERT for Text Classification? 中文标题:如何微调 BERT 进行文本分类? 论文作者:复旦大学邱锡鹏老师课题组 实验代码:ht ...

  8. TAPAS: Weakly Supervised Table Parsing via Pre-training 原论文解读

    TAPAS: Weakly Supervised Table Parsing via Pre-training 原论文理解解读 这里只进行原论文解读,若有不正确的地方希望指正,不明白的地方我也会写上, ...

  9. 论文解读:ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information

    论文解读:ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information(2021ACL) 简要信息: 序号 属性 ...

最新文章

  1. CRM 里面table download to excel的实现
  2. P3203 [HNOI2010]弹飞绵羊
  3. P4768-[NOI2018]归程【kruskal重构树,最短路】
  4. AIOps:企业运维新力量!
  5. 如何用Git向GitHub上传送文件(从注册GitHub到用Git上传的每一步)
  6. mysql int 11 最大多少_mysql - mysql中int(11)的列大小是多少? - 堆栈内存溢出
  7. csdn下载频道资源整理
  8. 面对面的办公室——纪念艾伦•图灵百年诞辰
  9. 信号完整性之传输线理论(三)
  10. AT89C51单片机万年历仿真图+代码
  11. 神鬼传奇客户端解包图片(ui\loadmap)
  12. python绘图 ——蜡笔小新
  13. 大数据在生活中有哪些应用举例?大数据好找工作吗?
  14. canvas动画 时钟动画 太阳系动画 动态蚂蚁线 全景照片
  15. SpringBoot启动时:Process finished with exit code 0解决办法
  16. C++使用CreateProcess执行cmd命令(实例演示)
  17. Hadoop大数据平台搭建课程笔记
  18. winrar分卷压缩和解压
  19. 记录一个问题:$router.push在setTimeout中的使用,显示找不到push
  20. pylint代码检查常见警告、提示的解决方法记录

热门文章

  1. 获取电脑磁盘ID CPUID
  2. 【沐风老师】3dMax创建缝线插件StitchLines使用方法详解
  3. 推荐20个优秀的网页色彩搭配实例
  4. df命令、du命令、磁盘分区
  5. 怎样快速学习软件测试?软件测试学习方法
  6. TensorFlow 中的 BatchToSpaceOp
  7. Linux系统与Windows系统之间共享文件资源
  8. 如何实现Linux系统与Windows系统的文件共享
  9. 【Python实战】如果没有音乐,生活就是一个错误 :n首回味无穷的歌,总有一曲深得你心哦~
  10. D. Magical Array(思维)