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-IDFBM25
词频处理线性增长,无上限非线性饱和,有上限
文档长度不考虑可调节的长度归一化
理论基础启发式概率模型(二元独立模型延伸)
参数可调无 和 可调
长文档惩罚无有(通过 控制)
短文档偏好无可调节
检索性能中等显著优于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

搜索引擎默认算法备注
ElasticsearchBM25自5.0版本起替代TF-IDF
Apache LuceneBM25底层实现
Apache SolrBM25基于Lucene
VespaBM25 + 向量原生混合检索

2026年趋势: BM25作为稀疏检索通路,与稠密向量检索的融合方案(RRF/加权融合/学习融合)成为RAG应用的标准配置。BM25的简单高效使其在关键词匹配场景中不可替代,尤其在新领域、冷启动、低资源场景下。

相关笔记

来源

关联8

知识图谱

局部图谱 · 点节点跳转