詳細解釋
經典的概率檢索模型,基於詞袋和詞頻-逆文檔頻率(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 仍是生產系統的可靠組件。