← 返回概念解读

Concept Fable精修版

BM25

BM25 · Retrieval

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

老索引员给词语称了重量

城里档案馆最早找卷宗,只看有没有同一个词。读者问‘桥税’,抄录员就把所有含‘桥’或‘税’的卷宗搬来。桌上很快堆满纸,其中很多只是随口提到一句。

馆长意识到,词出现过不等于重要。一本关于东桥税制的卷宗反复写桥税,当然相关;一本游记只写‘路过桥边交了税’,就不该排在前面。

老索引员开始给词称重量。他先数一个词在某本卷宗里出现多少次。出现得多,说明这本卷宗可能更相关。但他很快发现,太长的卷宗天然容易出现更多词,不能只按次数奖励。

于是他又看这个词在全馆有多稀有。像‘的’、‘城里’这种到处都有的词,几乎没有分辨力;像‘桥税减免令’这种少见词,一旦出现就很有价值。

还有一个问题:某个词出现一百次,不一定比出现十次强十倍。老索引员给重复出现设了上限,避免一本文书靠堆词把自己抬到最前。

后来,读者问‘东桥税收减免’,索引员不再只搬所有含这些词的卷宗,而是综合看:这些词在文中出现得够不够多、在全馆够不够稀有、这本卷宗长度是否合理、重复出现是否已经饱和。

年轻人问他:这不是很老的办法吗?老索引员说:老不等于没用。只要问题里有明确名称、编号、术语、条款,先把字面线索用好,往往比猜意思更可靠。

后来档案馆有了按意思找书的新地图,老索引员仍然没有退休。他和新地图一起工作:一个抓精确词,一个抓相近意思。馆长这才明白:在复杂检索里,字面匹配不是落后,而是一根稳定的钉子。没有它,很多专名和条款会漂走。遇到生僻地名、票号、律令名时,新地图常会绕远,老索引员却能一把抓住。馆里后来先用它定住明面线索,再让别的办法补上含义。

揭示

这个故事讲的是:BM25

BM25 是经典的关键词检索排序算法,常用于搜索引擎和 RAG 的稀疏检索。它基于词频、逆文档频率和文档长度归一化来判断文档与查询的相关性。BM25 擅长处理专有名词、编号、精确术语和法规条款等字面匹配问题。即使在向量检索流行之后,BM25 仍常与语义检索组成 hybrid search,弥补向量检索对精确词和稀有词不稳定的问题。

它重要的地方在于:它不只是一个术语,而是在真实 AI / Agent 系统里会反复出现的结构性问题。理解它,才能判断什么时候该加模型,什么时候该改流程,什么时候该补治理。

隐喻映射

  • 只看有没有同一个词:最朴素的关键词匹配
  • 词出现过不等于重要:检索需要排序,不只是过滤
  • 某词在某卷宗出现多少次:词频 TF
  • 这个词在全馆有多稀有:逆文档频率 IDF,稀有词更有区分度
  • 长卷宗天然更多词:文档长度归一化
  • 重复出现设上限:BM25 的词频饱和思想
  • 明确名称、编号、术语、条款:BM25 的优势场景
  • 和新地图一起工作:BM25 常与向量检索结合成混合搜索

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

sparse retrievallexical search

相关辨析

这个概念容易和相邻概念混用,建议继续看对比页。