一句话定义
稀疏检索沿"词匹配"路线打分:TF-IDF 到 BM25 给每个词算权重,SPLADE 等神经稀疏模型让模型自己"选词加权"——两种都能表示成词表维度的稀疏向量(绝大多数分量为 0),与稠密向量形成精确匹配对语义泛化的互补。
为什么重要
稠密嵌入是有损压缩:产品型号 "XR-7Pro"、人名、缩写、错误码这些字面信号常被语义抹平,导致"明明库里有、语义检索却查不到"。BM25 是几十年信息检索锤炼出的最强基线,生产级检索几乎都是"稠密 + 稀疏"双腿走路(融合见 kp-016)。新一代向量库(Milvus 稀疏向量、Qdrant sparse vectors、Weaviate 内置 BM25)已把稀疏做成一等公民。
前置知识
kp-002(稠密嵌入的语义空间与有损性);倒排索引概念(搜索引擎基础,本篇内即用即讲)。
核心概念
- TF-IDF:词频 × 逆文档频率,"在这篇文档常见、在全库少见"的词最重要。
- BM25:TF-IDF 的概率化改进,对词频做饱和处理、对文档长度归一,是工业词法检索默认公式。
- 稀疏向量:维度=词表大小(数万~数十万),仅少数维度非零;两稀疏向量的内积即打分。
- 学习型稀疏(SPLADE 类):用 MLM 头为每个词生成权重(含未在文档出现的扩展词),把"词匹配"变成可学习任务。
- 倒排索引:词 → 文档列表的经典结构,天然承载稀疏检索。
原理与机制
BM25 打分公式(文档 D 对查询 Q):
score(D,Q) = Σ_{t∈Q} IDF(t) · ( f(t,D)·(k1+1) ) / ( f(t,D) + k1·(1 - b + b·|D|/avgdl) )
f(t,D): 词t在D中的频次; |D|: 文档长度; avgdl: 平均长度
k1(常1.2~2.0): 词频饱和强度 —— 出现10次与20次差别不大
b(常0.75): 长度归一强度 —— 长文档的词频被"打折"
IDF(t) = log( (N - df + 0.5) / (df + 0.5) + 1 )两个直觉设计:饱和(k1)防止单词刷分,长度归一(b)防止长文档靠词多占便宜——这正是它优于裸 TF-IDF 的地方。
与稠密向量对偶的视角:BM25 分数恰是"查询稀疏向量 · 文档稀疏向量"的内积,权重即 TF-IDF 值。SPLADE 则用模型预测每个词的激活权重(含语义扩展,如文档提到"退款"可激活"退货"),保持稀疏(百~千个非零维)但权重可学习。
互补性的机制解释:稠密模型在通用语料上训练,把字面差异"平均化"以获得泛化——代价恰恰是专名/符号/数字的低区分度;稀疏检索对每个 token 精确记账,不受训练分布稀释。
公式或模型
见上方 BM25 全式;稀疏内积对偶:score = Σ_{t} q_t × d_t(q、d 为稀疏权重向量)。
图示
查询 "XR-7Pro 固件升级失败"
稠密: [0.02, -0.11, 0.05, …] 语义≈"设备更新出错" → 泛化匹配, 专名信号被稀释
稀疏: XR:3.1 7Pro:4.2 固件:2.8 升级:2.1 失败:1.9 其余≈0 → 型号精确命中实例或案例
企业知识库排错文档检索:纯稠密检索时"ERR_50721"查询返回一堆泛泛的"存储错误"文档;加 BM25 腿后错误码精确命中的排错页排到第一;RRF 融合后(kp-016)两者优势叠加——这是混合检索在企业场景几乎是默认配置的原因。
直观类比
稠密检索像"听懂你在问哪类问题"的图书管理员,稀疏检索像"逐字检索卡片柜"的老馆员:前者理解力强但可能听错型号,后者死板但型号绝不认错。好馆长的做法是两个都问(kp-016)。
常见误区
- "BM25 是老古董,被向量检索淘汰了"——BEIR 等基准反复显示 BM25 仍是强基线;在专名密集领域单稠密常输给"BM25+融合"。
- "稀疏向量也要用 ANN 索引"——稀疏向量通常走倒排(WAND 类剪枝),维度高但非零极少,倒排更高效;新库的 sparse 索引本质是倒排的包装。
- "SPLADE 可以无脑替换 BM25"——SPLADE 需要模型推理与训练域匹配,中文/垂直域效果依赖模型质量;BM25 零推理成本、零训练,仍是无模型依赖场景的首选。
自测题
- k1 与 b 分别抑制什么问题?
- 为什么说 BM25 打分等价于稀疏向量内积?
- 什么信号提示你需要稀疏腿?
答:k1 抑制词频无饱和刷分(出现 20 次不该是 2 次的两倍分);b 抑制长文档因词多而占优,把词频按文档长度归一。
答:把查询与文档都表示为词表维权重向量(BM25 权重),其内积恰好逐词累加出 BM25 分数——词法检索因此能纳入"向量"统一框架。
答:查询含大量型号/编号/代码/人名专名,稠密检索的 badcase 集中在"字面精确匹配"场景。
与其他知识点的关系
kp-016 把稠密与稀疏两路结果融合;kp-002 的"嵌入有损"是本篇存在的根本原因;kp-032 的 ColBERT 是"保留词元级精度"的另一条路线。
延伸阅读
Robertson & Zaragoza, "The Probabilistic Relevance Framework: BM25 and Beyond"(Foundations and Trends in IR, 2009)——BM25 的概率框架与参数语义的权威论述。