BM25 与向量检索的互补

RAG 工程化进阶6讲解 3

向量检索找的是「意思像」,专有名词、型号、错误码这类要一字不差的 query 天生适合 BM25。纯向量会漏召回,纯 BM25 不懂同义与口语 —— 两路各有擅长的 query 形态,这是混合检索存在的理由。

也叫:BM25 · 稀疏检索 · 关键词检索 · 向量检索 · dense retrieval · 漏召回

BM25 那一路:三个直觉就够了出自 T2-5

面试不需要背 BM25 公式,但要能讲出它比「数词频」聪明在哪的三个设计:

  1. 词频饱和:一个词出现 3 次比 1 次重要,但出现 100 次不会比 10 次重要多少——得分随词频增长但会「饱和」(由参数 k1 控制,常用 1.2~2.0)。
  2. 稀有词更值钱(IDF):全库都有的「设备」「系统」不提供信息量;只在几篇文档出现的「E05」权重极高。这正是 BM25 抓型号、编号的底气。
  3. 长文档惩罚:长文档天然含更多词,不惩罚就永远排前面(由参数 b 控制,常用 0.75)。

一个中文特有的前置条件:BM25 依赖分词。「混合检索效果差」经常不是算法的锅,而是分词器把「SK-3200」切碎了——jieba/IK 加自定义词典往往比调任何参数都见效。

以上节选自T2-5 混合检索:BM25 + 向量 + RRF,读全文能看到前后语境。

延伸阅读

考这个知识点的题1

会连带问到5