Ch13 RAG修订于 二〇二六年七月六日
BM25 (Best Match 25)
一句话理解
信息检索的经典算法,TF-IDF的升级版,2026年仍是混合检索(RAG)的关键组件——用概率模型评估文档与查询的相关性,引入词频饱和和文档长度归一化。
核心公式与直觉
BM25公式
其中:
- : 词项 在文档 中的词频
- : 文档长度
- : 平均文档长度
- : 词频饱和参数(典型值1.2-2.0)
- : 长度归一化参数(典型值0.75)
两个核心直觉
1. 词频饱和 (Term Frequency Saturation)
| 词项出现次数 | TF-IDF 得分变化 | BM25 得分变化 | BM25直觉 |
|---|---|---|---|
| 1次 | 基准 | 基准 | 第一次出现最重要 |
| 2次 | 2倍 | ~1.5倍 | 第二次出现仍有用 |
| 5次 | 5倍 | ~2倍 | 增长放缓 |
| 10次 | 10倍 | ~2.5倍 | 几乎饱和 |
| 100次 | 100倍 | ~3倍 | 不再增长 |
直觉: 一个词出现3次和出现5次,对文档相关性的影响差别不大。TF-IDF对此过度敏感。
2. 文档长度归一化 (Document Length Normalization)
长文档天然包含更多词,BM25通过参数 调整长度惩罚。 时完全归一化, 时不考虑长度。
BM25 vs TF-IDF 对比
| 对比维度 | TF-IDF | BM25 |
|---|---|---|
| 词频处理 | 线性增长,无上限 | 非线性饱和,有上限 |
| 文档长度 | 不考虑 | 可调节的长度归一化 |
| 理论基础 | 启发式 | 概率模型(二元独立模型延伸) |
| 参数可调 | 无 | 和 可调 |
| 长文档惩罚 | 无 | 有(通过 控制) |
| 短文档偏好 | 无 | 可调节 |
| 检索性能 | 中等 | 显著优于TF-IDF |
| 计算复杂度 | (同阶) | |
| 2026年地位 | 教学/基线 | 工业标准 |
BM25在RAG中的角色
混合检索架构
在RAG(Retrieval-Augmented Generation)中,BM25通常作为稀疏检索通路,与稠密检索(向量相似度)互补:
| 检索通路 | 代表算法 | 优势 | 劣势 |
|---|---|---|---|
| 稀疏检索 | BM25 | 关键词精确匹配,新领域零样本,可解释 | 语义理解弱,同义词问题 |
| 稠密检索 | Embedding + 余弦相似度 | 语义理解强,跨语言,同义词鲁棒 | 需大量训练数据,领域迁移差 |
| 混合检索 | BM25 + 向量融合 | 结合两者优势,互补 | 融合策略需调优 |
2026年混合检索的典型流程
用户查询 → [BM25稀疏检索] + [向量稠密检索]
↓ ↓
BM25分数 余弦相似度分数
↓ ↓
└──────→ 分数融合 ←──────┘
↓
(通常是加权求和或RRF)
↓
重排序(Reranker)
↓
最终检索结果
RRF (Reciprocal Rank Fusion): 一种常用的分数融合方法,不依赖绝对分数,仅使用排名:
其中 是文档 在某个检索通路中的排名, 是常数(典型值60)。
BM25参数调优指南
| 参数 | 含义 | 典型值 | 调大效果 | 调小效果 |
|---|---|---|---|---|
| 词频缩放 | 1.2-2.0 | 词频影响更大 | 词频更快饱和 | |
| 长度归一化 | 0.75 | 更惩罚长文档 | 更容忍长文档 |
2026年: Elasticsearch默认使用BM25
| 搜索引擎 | 默认算法 | 备注 |
|---|---|---|
| Elasticsearch | BM25 | 自5.0版本起替代TF-IDF |
| Apache Lucene | BM25 | 底层实现 |
| Apache Solr | BM25 | 基于Lucene |
| Vespa | BM25 + 向量 | 原生混合检索 |
2026年趋势: BM25作为稀疏检索通路,与稠密向量检索的融合方案(RRF/加权融合/学习融合)成为RAG应用的标准配置。BM25的简单高效使其在关键词匹配场景中不可替代,尤其在新领域、冷启动、低资源场景下。
相关笔记
- 稀疏检索(深挖) — 稀疏检索技术深度分析
- 混合检索(深挖) — 稀疏+稠密混合检索完整方案
- 第13章 · RAG 进化树 — RAG技术演进脉络
- 深挖-Elasticsearch — Elasticsearch工具笔记
- 注意力机制 (Attention Mechanism) — 注意力也是一种”软检索”
- 归一化 (Normalization) — BM25的长度归一化与ML中的归一化
来源
- Robertson & Zaragoza, “The Probabilistic Relevance Framework: BM25 and Beyond” (2009) — https://www.nowpublishers.com/article/Details/INR-019
- Elasticsearch: “BM25 - The Next Generation of Lucene Relevance” — https://www.elastic.co/blog/found-bm-vs-lucene-default-similarity
- Pinecone, “What is Hybrid Search?” — https://www.pinecone.io/learn/hybrid-search-intro/
- Cormack et al., “Reciprocal Rank Fusion outperforms Condorcet and individual rank learning methods” (2009) — https://dl.acm.org/doi/10.1145/1571941.1572114