BM25:搜索引擎背后的相关性排序算法
BM25(Best Matching 25)是一种基于概率检索框架的文档相关性评分算法,广泛应用于搜索引擎、问答系统、文档检索等场景。它通过考虑词频、逆文档频率和文档长度归一化,比传统TF-IDF更精确地判断查询与文档的匹配程度。
一句话解释
BM25是评估文档与搜索查询匹配程度的算法,通过统计词频、文档频率和文档长度来计算相关性分数,是TF-IDF的现代化替代方案。
它在概率检索模型基础上引入饱和函数和长度归一化,避免高频词过度影响分数,同时适应不同长度的文档,有效提升排序质量。
为什么会被关注
BM25在众多检索评测基准上表现稳定且高效,被Elasticsearch、Lucene等主流搜索引擎作为默认相关性算法,是工业界最广泛使用的排序函数之一。
随着RAG(检索增强生成)在大模型应用中的普及,BM25作为经典的稀疏检索方法,与向量检索形成互补。它不需要训练语料且计算快速,在冷启动和长尾查询场景中优势明显。
核心逻辑
BM25基于概率检索模型。对于查询中的每个词,计算其在该文档中的重要性:词频越高、包含该词的文档越少、文档长度越短,得分越高。
公式包含两个关键参数k1和b。k1控制词频饱和效应,防止单个词重复出现时分数无限增长;b控制文档长度归一化程度,平衡长文档与短文档的得分可比性。
常见场景
搜索引擎底层排序组件,包括百度、Google等传统搜索引擎的核心模块之一,也用于企业级搜索平台如Elasticsearch的默认相关性排序。
问答系统中的候选答案匹配、RAG系统的检索器(常与向量检索组成混合检索,提升召回率)、文本相似度计算以及推荐系统的候选集召回。
容易混淆的点
很多人将BM25等同于TF-IDF,实际上BM25引入了饱和函数和文档长度归一化,避免高频词分数过高,同时长文档不会因词数多而天然得高分。
BM25与向量空间模型(如余弦相似度)不同,前者依赖词汇匹配,后者基于向量空间。两者可互补使用,例如先BM25粗排再用向量精排。BM25不处理语义相似度,仅依靠精确匹配。
本文内容用于 AI 热词解释和概念整理,仅供学习和理解参考。若涉及表述偏差或内容修正,欢迎联系站点进行更新。
相关热词Latency-aware Routing 是一种智能网络路由技术,它通过实时监测链路延迟,动态选择时延最低的路径传输数据,从而提升实时应用的用户体验。在云游戏、视频会议、自动驾驶等场景中,延迟的微小波动可能直接影响服务质量,这项技术让网络“看见”拥堵并自动绕行。
一种在路由决策中综合考虑资金成本、网络延迟、带宽占用和能耗等因素,选择总体代价最低路径的网络优化技术。
Prompt Router 是一种智能路由机制,根据用户输入或任务类型,自动将提示词分发到最合适的大模型或处理流程,提升效率与精度。
Model Gateway 是介于用户请求与多个 AI 模型之间的中间层服务,负责路由、负载均衡、鉴权、限流、缓存与模型切换。它让企业像管理微服务一样管理模型集群,大幅降低重复开发与运维成本,同时提升推理响应的稳定性和安全性。
Capability Router 是一种智能路由机制,能在多个AI能力模块或模型之间,根据输入任务的特征自动选择最合适的处理单元,从而提升整体效率与准确性。它类似于“AI大脑中的调度员”,常见于混合专家系统和多模型协作场景。

