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

论文解读: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
6GitHub源码https://github.com/namisan/mt-dnn
7论文PDFhttps://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(nkxi)=exps(nkxi(1),xi(2))exps(nkxi(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
    对于一些没有候选标签的数据,则基于样本和排序完成预测对应的标签:
    在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华师数据学院·王嘉宁

$感谢支持$

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值