多向量检索:把整体相似度拆成逐词对齐

多向量检索保留每个 token 的细粒度匹配,用 MaxSim 换取更强的检索表达,也带来更大的索引成本。

多向量检索把「一个文本对应一个向量」改成「每个 token 保留一个向量」。查询词与文档词在打分阶段逐一对齐:每个查询词寻找最相似的文档词,再把这些最高匹配分数相加,这就是 MaxSim。这个设计保留了稀有实体、函数名和多条件查询里的细节,代价是索引占用更大。1
Late Interaction 介于两种常见方案之间:查询和文档仍然可以独立编码、提前建立索引,但真正的细粒度交互被推迟到打分阶段。ColBERT 论文把这种架构定义为独立编码后再进行轻量交互;Sentence Transformers v6.0 已经用 MultiVectorEncoder 提供统一入口。23
实践时记住三件事:查询使用 encode_query(),文档使用 encode_document(),两者的前缀、长度上限和掩码可能不同;小语料可以直接用 similarity() 做 MaxSim,大语料可以先用密集向量召回,再用多向量模型重排;如果页面里有图表和表格,ColPali 风格模型还能直接对页面图像检索,绕过 OCR。13

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content

Comments

Sign in to comment.