BM25

BM25

經典的排序算法

詳細解釋

經典的概率檢索模型,基於詞袋和詞頻-逆文檔頻率(TF-IDF)的變體,廣泛用於全文搜索引擎(Elasticsearch、Lucene)。

核心公式:

分數 = IDF × (TF × (k1 + 1)) / (TF + k1 × (1 - b + b × (文檔長度/平均長度)))

  • IDF:罕見詞貢獻更高
  • TF:詞頻飽和(高頻不線性增分)
  • 文檔長度正規化:避免長文檔優勢

參數:

  • k1:控制詞頻飽和(通常 1.2-2.0)
  • b:控制長度正規化(通常 0.75)

與 TF-IDF 的對比:

  • TF-IDF:線性詞頻,無長度調整
  • BM25:詞頻飽和,長度正規化,通常效果更好

與向量檢索的對比:

  • BM25:關鍵詞匹配,精確但無語義理解
  • 向量:語義相似度,模糊匹配但理解意圖
  • 混合:現代 RAG 通常兩者結合(稀疏 + 稠密)

優勢:

  • 高效:倒排索引,毫秒級響應
  • 可解釋:知道為何匹配(關鍵詞命中)
  • 無需訓練:不依赖深度學習
  • 成熟:數十年優化,極其穩定

局限:

  • 語義鴻溝:「蘋果」公司 vs 水果難以區分
  • 同義詞:「車」和「汽車」視為不同
  • 無上下文:不考慮詞序和語法

在 AI 中的角色:

  • RAG 的第一階段:快速召回候選
  • 混合檢索:BM25 + 向量各取所長
  • 關鍵詞過濾:在向量結果中精確匹配關鍵詞

這是「經典 IR 在現代 AI 中的生存」—— 儘管深度學習流行,BM25 仍是生產系統的可靠組件。

探索更多AI詞彙

查看所有分類,繼續學習AI知識