检索 · 2020

后期交互

先分别为问题和文档保存词级向量,查询时再做细粒度匹配。

常用 · 提示或小模型训练

要解决的问题

双编码器把整段压成一个向量,快但丢了词与词的对应。交叉编码器准,但每个候选都要重算一遍。

相对前一代的变化

ColBERT 把交互推迟到打分阶段:文档向量可以离线存好,查询时用最大相似度汇总词级匹配。

做法

编码器给每个词一个向量。检索时对查询的每个词,在文档词向量里找最相近的一项,再把这些相似度加起来。

局限

词级向量比单个句向量占更多存储。它改善排序,仍然依赖第一阶段已经召回到这篇文档。

在链路中的位置

介于稠密召回和交叉编码器重排序之间,常作为更精细的第二阶段。