基于表征(Representation)形式的文本匹配、信息检索、向量召回的方法总结(用于召回、或者粗排)

文章目录总结文本匹配的两种做法Representation-Based类模型最近系统性的看了一些有关于信息检索、文本匹配方向的论文,先贴下三篇主角论文:(ColBERT) Khattab, O., & Zaharia, M. (2020). ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT. ArXiv, abs/2004.12832. [PDF](P
摘要由CSDN通过智能技术生成


最近系统性的看了一些有关于信息检索、文本匹配方向的论文,先贴下三篇主角论文:

(ColBERT) Khattab, O., & Zaharia, M. (2020). ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT. ArXiv, abs/2004.12832. [PDF]

(Poly-encoders) Humeau, S., Shuster, K., Lachaux, M., & Weston, J. (2020). Poly-encoders: Architectures and Pre-training Strategies for Fast and Accurate Multi-sentence Scoring. ICLR.[PDF]

Chang, W., Yu, F.X., Chang, Y., Yang, Y., & Kumar, S. (2020). Pre-training Tasks for Embedding-based Large-scale Retrieval. ArXiv, abs/2002.03932.[PDF]

总结

上面三篇论文针对的基础NLP任务都是文本匹配,文本匹配可以用于许多下游具体任务,例如:

  • 信息检索(information retrieve) (召回和排序)
  • 释义识别(Paraphrase Identification)
  • 自然语言推理(NLI)
  • 问答匹配(QA)

上面三篇论文主要是针对信息检索中的召回和排序,并且使用均为Representation-based方法,ColBERT、Poly-encoders中使用了弱交互来增强模型的表达能力,一定程度上解决了类似于word2Vec中学习出来的是静态向量的问题。Pre-training Tasks for Embedding-based Large-scale Retrieval 论文中则是针对信息检索设计了Inverse Cloze Task(ICT)Body First Selection (BFS)Wiki Link
Prediction (WLP)
三个Pre-train任务来提高模型的效果。

文本匹配的两种做法

Representation-Based类模型

Representation model
传统的Representation-Based模型如上图所示,Query端和Doc端分别计算隐层表示(比如说用BERT计算,取最后一层的向量作为表示),最后选择Score function(如dot product,cosine similarity)计算相似度。这种方式由于失去了Query-Doc之间的交互,可能会产生语义漂移,精度相对来说不是太高,所以一般用来做向量召回或者粗排

  • 经典模型:DSSM,SNRM
  • 优点:计算量少,Document可以离线处理得到其表征,线上运行时,只需要在线计算Query端的隐层表示,而Doc端的隐层表示可以通过查询得到,非常适合精度要求不高,速度要求较快的场合
  • 缺点:失去了交互信息,类似于Word2Vec的问题,学习出来的是一个静态向量,不同上下文场景下,都是同一个表达

从上面的分析可以看出,Representation-Based模型问题主要在于学习出来的语义表达有局限性,Query-Doc没有交互,没有上下文的信息。上面三篇论文也就是针对这些问题进行改进

  • ColBERT、Poly-encoders则是在原始的Representation-Based模型中增加了弱交互,这种方法既丰富了模型的表达能力,又不会增加太大的计算量,并且Doc端还是能够进行预处理,保证了在线运行的速度。
  • 而 Pre-training Tasks for Embedding-based Large-scale Retrieval 则是另辟蹊径,引入了三种新的Pre-train Task来提高模型对query和Doc语义信息不同粒度的理解。

Interaction-Based 模型

在这里插入图片描述
Interaction-Based模型结构如上图所示,Query和Doc端会做交互运算,这样可以很好地考虑上下文语境信息,不同query下,同一个Doc的表示是不同的,可以抓住语义焦点,模型的精度较高,经常用于信息检索中的精排。但是这种方法输入不同query和Doc都需要重新计算,并不能像Representation模型一样对Doc进行预处理。

  • 经典模型:DeepMatch、 DRMM、KNRM、基于BERT的交互模型
  • 优点:对上下文环境建模,能够抓住一些重要信息,模型精度较高,可以用于精排
  • 缺点:速度慢,每次都需要计算Query和Doc的交互,当数据集很大的时候难以上线运行。

Representation-Based改进方法

从信息交互方面思考

从上面的分析可以看出,Representation-Based方法的主要缺陷在于Query端与Doc过于分离,完全没有进行信息交互,这样导致模型表达为一个静态向量,表达能力受限。但是如果像Interaction-Based方法那样,对Query和Doc端的每个词进行交互,将会有大量的运算,整个模型会非常大,训练时间和预测时间都会很长,难以在线运行。

  • 所以,我们的重点是如何在尽量少的计算量条件下,进行Query与Doc的信息交互

弱交互,我们计算Query与Doc的Representation时,并不进行交互,而是在获得相应Representation输出后再进行交互,最后通过交互后的表达计算相似度

论文ColBERT、Poly-encoder中都是使用了这种弱交互的思想,在获取Representation之后,再进行Interaction这样既保证了运算的速度,又提高的模型的表达能力,ColBERT和Poly-encoder模型图如下所示:

  • Col-BERT Late Interaction
    ColBERT

  • Poly-encoder attention
    Poly-encoder
    从上面的结构图可以看出,这两个模型在Encoder计算Query、Doc隐层表示时都是单独计算,而在Represetation输出时,计算相似度之前加入了Interaction,不同的是两个模型的Interaction方式不太一样,这个后面会具体介绍细节。

BERT类模型Pre-train任务

BERT提出之后,许多NLP任务用BERT都可以达到很好的效果,文本匹配也不例外。BERT分为Pre-train Fine-tune两阶段,因此用BERT类模型做Representation-Based 文本匹配还有个改进方法就是:设计合适的Pre-train任务,提高我们下游Fine-tune时的效果。在Fine-tune时我们的有监督的数据集通常来说比较少(有监督数据需要标注,难以获取),当加入合适的Pre-train之后,我们就可以用上大量的无监督数据,从而提高我们Fine-tune 的效果,通常来说我们设计Pre-train任务时需要注重以下几点:

  • Pre-train任务应该与下游任务相关。比如我们需要解决信息检索的文本匹配问题,那么我们的模型应该能够理解Query和Doc之间不同粒度的语义信息。
    • 同一段落之中的局部窗口两句话之间的语义关联
    • 一个Document中的全局一致的语义信息(归纳理解)
    • 两个Document之间的语义信息关联
  • Pre-train的数据应当容易获取,不需要额外的人工标注

论文细节

ColBERT

模型结构

ColBERT的模型结构整体还是类似于Siamese结构,分为Query端和Doc端,最后在进行交互计算文本分相似度,如下图所示:
ColBERT
模型主体上分为Query Encoder, f Q f_Q fQ 、Document Encoder, f D f_D fD ,以及之后的Late Interaction部分,从图中可以看出Document还是可以离线处理的,

Query Encoder

Eq
Query Encoder计算如下,BERT表示为标准的BERT运算,CNN是做维度变换,用来对BERT输出降维,Normalize是方便之后计算余弦相似度。

Document Encoder

Ed
因为Doc一般比较长,所以和Query Encoder的主要区别是最后加入了Filter,用来去除Doc那么标点符号,停用词的Representation,这样可以减少每个Doc embedding的个数。

Late Interaction

这一步操作则是针对与Representation-Based方法的改进,对Query和Doc的信息进行了交互,具体公式如下:
Representation-Based
由于之前进行过Normalize,我们只需要计算 inner-products得到的即为余弦相似度

训练方式

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值