前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Prompt+对比学习,更好地学习句子表征

Prompt+对比学习,更好地学习句子表征

作者头像
NewBeeNLP
发布2022-11-17 09:06:02
5710
发布2022-11-17 09:06:02
举报
文章被收录于专栏:NewBeeNLP

作者 | 王嘉宁@华师数据学院 整理 | NewBeeNLP https://wjn1996.blog.csdn.net/article/details/125528859

大家好,这里是NewBeeNLP。

  • 虽然BERT等语言模型有很大的成果,但在对句子表征方面(sentence embeddings)上表现依然不佳,因为BERT存在 sentence bias anisotropy 问题;
  • 我们发现prompt,再给定不同的template时可以生成不同方面的positive pair,且避免embedding bias。

相关工作

Contrastive Learning(对比学习) 可以利用BERT更好地学习句子表征。其重点在于如何寻找正负样本。例如,使用inner dropout方法构建正样本。

现有的研究表明,BERT的句向量存在一个 坍缩现象 ,也就是句向量受到高频词的影响,进而坍缩在一个凸锥,也就是各向异性,这个性质导致度量句子相似性的时候存在一定的问题,这也就是 anisotropy 问题。

发现

(1)Original BERT layers fail to improve the performance.

对比两种不同的sentence embedding方法:

  • 对BERT的输入input embedding进行平均;
  • 对BERT的输出(last layer)进行平均

评价两种sentence embedding的效果,采用sentence level anisotropy评价指标:

\frac{1}{n^2-n}\left|\sum_i \sum_{j \neq i} \cos \left(M\left(s_i\right), M\left(s_j\right)\right)\right|

anisotropy :将corpus里面的sentence,两两计算余弦相似度,求平均。

对比了不同的语言模型,预实验如下所示:

  • 从上表可以看出,貌似anisotropy对应的spearman系数比较低,说明相关性不大。比如bert-base-uncased,
  • 可以看出static token embedding的anisotropy很大,但是最终的效果也差不多。

(2)Embedding biases harms the sentence embeddings performance. token embedding会同时受到token frequency和word piece影响

  • 不同的语言模型的token embedding高度受到词频、subword的影响;
  • 通过可视化2D图,高频词通常会聚在一起,低频词则会分散

For frequency bias, we can observe that high fre- quency tokens are clustered, while low frequency tokens are dispersed sparsely in all models (Yan et al., 2021). The begin-of-word tokens are more vulnerable to frequency than subword tokens in BERT. However, the subword tokens are more vul- nerable in RoBERTa.

三、方法

如何避免BERT在表征句子时出现上述提到的问题,本文提出使用Prompt来捕捉句子表征。但不同于先前prompt的应用(分类或生成),我们并不是获得句子的标签,而是获得句子的向量,因此关于prompt-based sentence embedding,需要考虑两个问题:

  • 如何使用prompt表征一个句子;
  • 如何寻找恰当的prompt;

本文提出一种基于prompt和对比学习的句子表征学习模型。

3.1 如何使用prompt表征一个句子

本文设计一个template,例如“[X] means [MASK]”,[X] 表示一个placehoder,对应一个句子,[MASK]则表示待预测的token。给定一个句子,并转换为prompt后喂入BERT中。有两种方法获得该句子embedding:

  • 方法一:直接使用[MASK]对应的隐状态向量:
\mathbf{h}=\mathbf{h}_{[\text {MASK }]}

  • 方法二:使用MLM在[MASK]位置预测topK个词,根据每个词预测的概率,对每个词的word embedding进行加权求和来表示该句子:
\mathbf{h}=\frac{\sum_{\mathrm{v} \in \mathcal{V}_{\text {topk }}} \mathbf{W}_{\mathrm{v}} \mathrm{P}\left([\text { MASK }]=\mathrm{v} \mid \mathbf{h}_{[\text {MASK }]}\right)}{\sum_{\mathbf{v} \in \mathcal{V}_{\text {topk }}} \mathrm{P}\left([\text { MASK }]=\mathrm{v} \mid \mathbf{h}_{[\text {MASK }]}\right.}

方法二将句子使用若干个MLM生成的token来表示,依然存在bias,因此本文只采用第一种方法

3.2 如何寻找恰当的prompt

关于prompt设计上,可以采用如下三种方法:

  • manual design:显式设计离散的template;
  • 使用T5模型生成;
  • OptiPrompt:将离散的template转换为continuous template;
3.3 训练

采用对比学习方法,对比学习中关于positive的选择很重要,一种方法是采用dropout。本文采用prompt方法,为同一个句子生成多种不同的template,以此可以获得多个不同的positive embedding。

The idea is using the different templates to repre- sent the same sentence as different points of view, which helps model to produce more reasonable pos- itive pairs. 为了避免template本身对句子产生语义上的偏向。作者采用一种trick:

  • 喂入含有template的句子,获得[MASK]对应的embedding
\hat{\mathbf{h}}_i

  • 只喂入template本身,且template的token的position id保留其在原始输入的位置,此时获得[MASK]对应的embeding:
\mathbf{h}_i-\hat{\mathbf{h}}_i

最后套入对比学习loss中进行训练:

\ell_i=-\log \frac{e^{\cos \left(\mathbf{h}_i-\hat{\mathbf{h}}_i, \mathbf{h}_i^{\prime}-\hat{\mathbf{h}}_i^{\prime}\right) / \tau}}{\sum_{j=1}^N e^{\cos \left(\mathbf{h}_i-\hat{\mathbf{h}}_i, \mathbf{h}_j^{\prime}-\hat{\mathbf{h}}_j^{\prime}\right) / \tau}}

四、实验

作者在多个文本相似度任务上进行了测试,实验结果如图所示:

  惊奇的发现,PromptBERT某些时候竟然比SimCSE高,作者也提出使用对比学习,也许是基于SimCSE之上精细微调后的结果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NewBeeNLP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 相关工作
    • 发现
    • 三、方法
      • 3.1 如何使用prompt表征一个句子
        • 3.2 如何寻找恰当的prompt
          • 3.3 训练
          • 四、实验
          相关产品与服务
          NLP 服务
          NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档