导语

  • 会议:SIGIR 2020
  • 链接:arxiv.org/abs/2004.12…

1 简介

近年来,深度检索模型的开展极大促进了IR社区的开展。比较于传统的统计特征(BM25、TF-IDF),深度检索模型凭借各种语言模型对文档进行编码表明,能够在语义层面进行检索匹配和排序,取得了十分好的效果。但是,深度检索模型的一大痛点在于效率低(每次新的query都要从头过一遍LM得到语义表征)。

论文笔记:ColBERT: Efficient and Effective Passage Search via Contextualized Late Inter

如上图所示,BERT的功能十分好,但是速度比较于BM25则是慢了2到3个数量级,这是用户所无法容忍的;本文提出了ColBERT,一种引入late interaction的BERT模型,比较于其他方法,ColBERT能坚持与BERT适当的功能体现一起推迟则低了2个数据级。ColBERT既能够作为一个排序模块,也能够完成端到端的检索。

2 相关工作

最简单的深度检索模型即双编码模型 (Bi-Encoder,图(a))。其把query和doc进行别离编码成一个向量,再对它们核算cosine similarity或点积作为终究相关度分数。

在预练习模型兴起之后,Query-Document Interaction和Full interaction (图2(b),(c)) 的形式变得常见,这类方法把query和doc都输入预练习模型,经过attention在整个神经网络的每一层都进行交互核算,得到了十分好的效果。但其具有致命的缺点:核算速度慢,对于低推迟的运用场景不适用。而且,更严重的问题是,doc无法进行线下预核算和树立索引,会导致实践布置时的服务器负载十分高(每一个进来的query都要和一切的document拼接进行上下文编码输出,当文档数目N很大时,这是不现实的),不实践。

论文笔记:ColBERT: Efficient and Effective Passage Search via Contextualized Late Inter

3 ColBERT

ColBERT选用Late interaction的方法来对速度和功能进行这折中。该模型不仅能够用于粗召回(即一开始先经过一些模块过滤一些完全不相关的文档)之后的Reranking阶段,也能够完成实践的端到端布置。

论文笔记:ColBERT: Efficient and Effective Passage Search via Contextualized Late Inter

模型其实只要一个BERT编码器,用于对Query和Document进行编码,运用前缀符[Q]与[D]来标识不同的输入。作者对输入进行token-level的编码。例如,给定一个Question Q=q0q1……ql 和Document D=d1d2……dn,编码方式如下:

论文笔记:ColBERT: Efficient and Effective Passage Search via Contextualized Late Inter

这里有几点需要注意:

  1. Eq和Ed是一个列表,其间的每个元素即token对应的hidden state;
  2. #代表[MASK]用于填充至最大长度;
  3. CNN用于降维;
  4. Filter指的是去掉标点符号和停用词的hidden state;

终究,运用这两个token representation的list进行MaxSim操作:

论文笔记:ColBERT: Efficient and Effective Passage Search via Contextualized Late Inter

即对query中的每个token与doc中的一切token核算Sim值并取出最大值,再将其求和作为终究分数(注意:总共核算了|Eq|次,所以不受Document的长度影响)。

作为Reranking模块运用

ColBERT能够直接作为Reranking模块运用。其间,Document部分的表明列表[Ed]能够经过离线核算得到,每次仅需要核算Eq即可。之后,经过张量之间的乘法能够在一个Batch内得到一切的相关性分数,终究进行排序即可。

端到端运用

端到端运用时,假定q的长度为Nq,那么对每个Question的token表明在document库中进行检索,得到Top-K’个相关文档,总共并行履行Nq次,所以终究得到不多于Nq*K’个文档,然后将ColBERT作为Reranking模块进行运用即可。

4 试验评价

论文笔记:ColBERT: Efficient and Effective Passage Search via Contextualized Late Inter

消融试验

论文笔记:ColBERT: Efficient and Effective Passage Search via Contextualized Late Inter

主要的试验设定如下:

  • [A]为了验证Late interaction的有效性:仅运用BERT输出的[CLS]进行点积作为相关性分数;
  • [B]为了验证MaxSim的有效性:将MaxSim操作替换为AverageSim;
  • [C]为了验证padding with masked tokens的有效性;
  • [D]只微调5层Transformer层的ColBERT;
  • [D]微调12层Transformer层的ColBERT;
  • [E]加上端到端检索的ColBERT;

5 总结

本文介绍了ColBERT,这是一种新的排序模型,它在深度LM(特别是BERT)上运用上下文化后,运用late interaction来完成高效检索。经过将查询和文档独立编码为细粒度表明,ColBERT能够利用深度LM的体现力,一起大大加快查询处理速度。此外,ColBERT能够直接从大型文档调集中进行端到端神经检索。试验结果表明,与现有的根据bert的模型比较,ColBERT的速度快170倍以上,所需的FLOPs/查询次数少14,000倍,一起对质量的影响最小,而且优于每个非BERT基线