模型層 開放閱讀

BM25

BM25

概念 ID
bm25
更新時間
2026-05-29
來源數量
待補

BM25

3 秒看懂

BM25 是全文搜尋領域最經典的相關性評分演算法。它根據查詢詞在文件中的出現頻率、文件長度以及詞在全集的稀缺程度,給每篇候選文件計算一個“有多相關”的分數。它的核心洞察有兩個:詞頻的貢獻會飽和,文件長了不應該被簡單懲罰。這兩個設計讓 BM25 的排序質量遠超早期的 TF‑IDF,至今仍是搜尋引擎、推薦召回和 RAG(檢索增強生成)系統的預設基線。

3 分鐘產業解釋

BM25 是 Okapi 資訊檢索系統背後的排序函式,全稱 Best Matching 25,屬於機率檢索模型家族。它的基本假設是:一篇文件與一條查詢的相關性,可以被詞頻、逆文件頻率和文件長度這三個因子聯合解釋。這個假設足夠簡單,讓 BM25 不需要任何訓練資料即可部署;又足夠準確,在多數文本檢索場景中能給出可用的初始排序。

在產業界,BM25 被 Apache Lucene、Elasticsearch、Solr、Vespa 等引擎內建為預設相關性評分器。在當前的 RAG 架構中,BM25 通常與向量語義檢索同時執行(混合檢索),用加權求和或互惠排序融合(Reciprocal Rank Fusion,RRF)把精確關鍵詞匹配與語義近似兩項能力疊加。相比單純依賴向量的系統,這種組合顯著提升了對稀有實體、專有縮寫和精確數字的召回質量。

BM25 引入兩個可調引數來控制詞頻行為:

  • k1(典型取值 1.2–2.0):控制詞頻增長的邊際收益遞減速度。一個詞出現第 3 次,得分加成遠少於第 1 次,從機制上抑制了關鍵詞堆砌的作弊文件。
  • b(典型取值 0.75):控制長度歸一化強度。b=1 意味著長文件的多餘長度完全按比例懲罰;b=0 則完全忽略文件長度差異。0.75 的折中假設長文件只部分地“稀釋”了詞的重要性。

產業中常見的落地形態是 BM25 + 密集向量檢索的雙路召回,再通過一個輕量級融合模型完成最終排序。這套架構被廣泛用於企業搜尋、電商搜尋、法律與醫療知識庫、程式碼搜尋等對精確匹配有高要求的垂直場景。

技術原理

BM25 對一個文件 D 在一條查詢 Q 下的得分計算式為:

Score(D, Q) = Σ { IDF(qᵢ) × [ f(qᵢ, D) × (k₁ + 1) ] / [ f(qᵢ, D) + k₁ × (1 - b + b × |D| / avgdl) ] }
                qᵢ ∈ Q

各符號含義:

  • f(qᵢ, D):詞 qᵢ 在文件 D 中的出現次數(詞頻)。
  • |D|:文件 D 的長度,常用詞數計算。
  • avgdl:全集中所有文件的平均長度。
  • k₁:詞頻飽和引數。
  • b:長度歸一化引數。
  • IDF(qᵢ):逆文件頻率,常用 Robertson‑Sparck Jones 公式:
IDF(qᵢ) = log( (N - n(qᵢ) + 0.5) / (n(qᵢ) + 0.5) )

其中 N 為文件集合的文件總數,n(qᵢ) 為包含 qᵢ 的文件數。分子和分母各加 0.5 避免了當 n(qᵢ) = 0 或 N 時對數崩潰。

關鍵機制逐層拆解

詞頻飽和機制 詞頻部分可改寫為 (k₁ + 1) × f / (f + k₁ × C),其中 C = (1 - b + b × |D| / avgdl)。當 f = 1 時,該項等於 (k₁ + 1) / (1 + k₁ × C);隨著 f 增大,得分單調增長,但增速不斷下降,最終趨近於上界 k₁ + 1。這個上邊界的存在,杜絕了一篇文件靠機械重複某個詞獲得畸高得分的可能。

文件長度調節機制 |D| 不是作為獨立懲罰因子加在公式外,而是通過 b 控制一個長度校正係數 C。若 b = 0,C ≡ 1,長文件和短文件在長度維度被同等對待;若 b = 1,C = |D| / avgdl,長文件每一項的分母按比例放大,得分被線性壓低。b = 0.75 的實際效果是:如果一篇文件比平均長一倍,它的分母大約變成原來的 1 + 0.75 × 1 = 1.75 倍,而非被直接腰斬。此設計基於經驗觀察——長文件通常覆蓋更多主題側面,對其懲罰過重會損失長文中的優質匹配。

IDF 的區分度功能 IDF 對跨越大量文件的常見詞(如“的”、“is”、“進行”)輸出近零權重,對只出現在極少數文件中的稀有詞輸出高權重。這意味著 BM25 的排序力主要來自高辨識度的詞項匹配,常被視作一種“關鍵詞驅動”的無監督特徵提取器。

查詢詞頻的處理 標準 BM25 假定查詢中每個詞只出現一次,不引入查詢內詞頻。此設定貼合實際搜尋行為——絕大多數查詢在 2–5 詞之間,重複詞罕見。擴充套件版本可支援查詢項加權引數 qf,但在產業中不如 k1 和 b 常用。

計算流程示意

                    ┌──────────┐
                    │ 查詢詞 q │
                    └────┬─────┘
                         │ IDF(q)

              ┌───────────────────┐
              │ IDF(q) ─────────▶ 乘以 ──────▶ 累加到 Score
              └───────────────────┘            ▲

              ┌───────────────────┐               │
              │ 文件詞頻 f(q,D)   │               │
              │ 文件長度 |D|       │               │
              │ 平均長度 avgdl    │               │
              └──────┬───────────┘               │
                     │ 應用 k1, b                 │
                     ▼                           │
              ┌───────────────────┐            │
              │ f × (k1+1)        │───────相乘─┘
              │ ──────────────    │
              │ f + k1(1-b+b|D|/avgdl)
              └───────────────────┘

關鍵引數

BM25 的行為高度集中於兩個可調引數,這兩個引數也是工程實踐中調優的唯二主旋鈕。

k1:詞頻飽和係數

  • 物理含義:控制文件內一個詞從第一次出現到多次出現時,對相關性得分的追加貢獻速度。
  • 典型範圍:1.2–2.0,廣泛引用的預設值為 1.2(Lucene 早期版本)或 1.5。
  • 調參直覺:短文件或標題匹配場景,偏低的 k1 可抑制單篇文件詞頻的過度貢獻;面向長文檢索(如論文、法規條文),適當提高 k1 能利用詞頻差異提供更強的區分訊號。
  • 實驗證據(來源:Robertson & Zaragoza 2009 綜述論文,TREC 多工彙總):k1 在 0.5–3.0 之間調整時,MAP 波動通常在 5% 以內,說明書該引數並非極度敏感,但最優值因語料特性而異。

b:長度歸一化強度

  • 物理含義:控制文件長度對得分的影響程度。b 越接近 1,長文件受到的壓制越大。
  • 典型範圍:0.75 為事實上的工業標準預設值。
  • 調參直覺:對於高度同質化的文件集合(如產品描述、FAQ 庫),b 可設低至 0.2–0.4,因為文件長度差異本身不攜帶強的相關性訊號;對於長度差異極大的集合(短新聞與長報告混排),保持 b 在 0.75–0.9 有助於避免長文件因為“詞多”而系統性霸佔前排。
  • 來源:Lv & Zhai (2011) 在長文件場景中指出,當 avgdl 超過 1000 詞時,b 的敏感度上升,推薦配合 BM25+ 的 δ 修正使用。

avgdl 的計算與維護 avgdl 並非自由引數,而是從索引集合中統計得出。工程上需注意:

  • 當索引動態更新時,avgdl 需定期重算,否則長度歸一化項會出現系統性偏差;
  • 對於多語言混合索引,不同語言的文件長度均值和方差差異顯著,有條件的系統會按語言分別統計 avgdl 或採用 BM25F 的欄位級歸一化。
  • 公開的產業實踐(Elasticsearch 官方部落格,2022 年)指出,在 Elasticsearch 中,avgdl 基於主分片內文件統計,因此分片策略會影響其精確值,但大規模索引下此誤差在工程上可接受。

其他可選引數

  • k3(查詢詞頻權重):用於調整查詢詞頻率的飽和度,標準 BM25 中常設為固定值或棄用,產業落地中幾乎不調。
  • δ(BM25+ 修正項):Lv & Zhai 提出的自由引數,加入分母以避免過於長的文件被過度懲罰,典型 δ=1,但並非所有引擎實現。

技術路線

BM25 位於“稀疏檢索”(Sparse Retrieval)路線的核心位置,與密集向量檢索、學習排序等路線並行演化。

特性TF‑IDFBM25向量語義檢索(雙塔)學習排序(LTR)
是否需要訓練資料需要自監督或標註資料預訓練需要人工標註
詞頻處理邏輯線性增長,無上限非線性飽和,受 k1 約束無顯式詞頻,語義編碼作為特徵之一輸入
文件長度處理無歸一或僅餘弦歸一b 引數柔性調節定長向量,長度資訊隱式編碼可獨立建模長度特徵
核心得分來源詞頻 × IDFIDF × 飽和詞頻 / 長度校正向量內積或餘弦相似度模型學習特徵權重
可解釋性高,可逐詞追溯高,可逐詞追溯低,單個神經元不可解釋中,特徵重要性可輸出
精確匹配能力弱,依賴訓練語料覆蓋強(可包含 BM25 特徵)
同義詞泛化依賴特徵工程
典型引數k1≈1.2–2.0, b≈0.75向量維度 768–1024,溫度等樹深度、學習率、正則化
硬體需求CPUCPU需 GPU 推論(部分輕量模型可 CPU)CPU 訓練與推論

注:表格中各路線引數範圍基於廣泛文獻共識,特定取值以各引擎文件為準。

路線演化簡述

  • 1970s–1980s:機率檢索模型的理論奠基期,二元獨立模型與 2‑泊松模型為 BM 系列提供統計架構。
  • 1994 年(TREC‑3):Robertson 等正式提出 Okapi BM25,迅速成為資訊檢索評測的預設基線,此後十年間無替代方案能穩定超越它。
  • 2000s 中期:結構化文件需求推動 BM25F(按欄位加權和分別歸一化),實現以欄位為粒度的長度調節。
  • 2010–2015:BM25+ 修正長文件過度懲罰問題;LTR 架構將 BM25 分數收縮為數百個特徵之一,在工業搜尋引擎中與點選特徵、頁面質量特徵共同進入梯度提升樹模型。
  • 2018–至今:BERT 等預訓練模型催生密集向量檢索。但實踐中混合檢索成為標準答案——BM25 確保精確關鍵詞命中,密集向量提供同義泛化。此階段 BM25 的角色從“唯一排序器”轉變為“混合管道的固定底層”。

上游

BM25 執行依賴的輸入並非原始文本,而是一整套文本預處理管道,這構成了演算法鏈的上游環節。

分詞與語言處理

  • 對英文等空格分隔的語言,分詞相對標準化,但詞形還原(lemmatization)和詞幹提取(stemming)會直接影響 IDF 和詞頻統計——同一詞的不同形態是被歸併為一個詞項還是分散統計,顯著改變 BM25 輸出。
  • 對中文、日文、韓語等無自然詞分隔的語言,分詞質量是決定 BM25 檢索質量的首要上游變數。分詞錯誤導致的未登入詞會扭曲 IDF 並製造虛假的稀有詞匹配,行業實踐中普遍需要在特定垂直語料上微調分詞詞典(來源:Mikolov et al. 2013 分詞對檢索影響討論;多項 TREC 中文檢索評測報告亦有結論)。
  • 停用詞表的選擇:現代實踐傾向於極少停機用詞或不做停用詞過濾,因為 BM25 的 IDF 已經自然壓制高頻詞;激進停用可能錯誤移除如“to be or not to be”這類查詢中的關鍵功能詞。

索引建置基礎設施

  • 倒排索引是 BM25 計算的載體,需預先儲存:全域性文件總數 N、每個詞的文件頻率 n(q)、每篇文件的詞項列表及詞頻、文件長度 |D| 及 avgdl。
  • 在 Elasticsearch、Solr 等引擎中,上述統計量在索引寫入時即時計算並持久化,查詢時僅做輕量查閱和乘法累加。
  • 位置索引(記錄每個詞在文件中的位置偏移)並非 BM25 必需,但常為高亮、短語查詢等功能配套存在,增加了儲存開銷。

資料清洗與標準化

  • 對 HTML、PDF、Office 文件等半結構化輸入,文本提取效果影響 BM25 對文件長度的估計和詞頻計數。格式轉換引入的空格、字元噪聲會使 |D| 膨脹,間接拉昇長度懲罰。
  • 在電商和金融等場景,產品型號、股票程式碼等需要特殊的分詞規則或全保留策略,否則 BM25 無法實現精確匹配。

下游

BM25 得分作為一個高質量的無監督相關性訊號,被組合到搜尋架構的多個層級。

第一輪粗排(Candidate Retrieval)

  • BM25 的最大產業價值在於:無需 GPU,僅依靠 CPU 和倒排索引即可以極低延遲從百萬至億級文件庫中召回數百至數千候選文件。
  • 據公開資料(如 Elastic 官方架構說明,2023 年),Elasticsearch 在單節點上使用 BM25 即可支撐每秒數千次查詢的初篩任務,延遲通常在 10–50ms 量級。

多階段排序與特徵輸入

  • BM25 分數作為特徵之一,與文件質量評分、時效性衰減因子、使用者行為特徵(點選率、停留時長)等一同進入 LTR 模型(如 LambdaMART)或深度學習模型。
  • 典型架構:BM25 粗排 → Top‑K 輸入重排精排模型,大幅降低精排階段的計算成本(來源:多家網際網路公司公開技術部落格,如 2019 年 Uber 搜尋架構分享、2021 年 Shopify 搜尋演進報告)。

混合檢索融合

  • 在 RAG 管道中,BM25 召回的結果與密集向量檢索的結果通過融合演算法合併:
    • RRF(Reciprocal Rank Fusion):對兩個排序列表按倒數排名加權,無需校準得分尺度,實現簡單。
    • 線性加權:需要分別對稀疏和密集得分做歸一化(如 Min‑Max 縮放)。
  • 混合檢索是當下企業知識庫問答的主流程,BM25 在此過程中提供精確關鍵詞錨定,使系統能穩定檢索到稀有實體。Weaviate(2023 Q3 技術部落格)揭露其混合搜尋在醫療問答基準上的準確率較純向量方案提升約 10‑12 個百分點(具體值因資料集構成和評估口徑而波動)。

問答與對話系統

  • BM25 召回段落作為閱讀器模型的輸入,在開放域問答管道(Retriever‑Reader 架構)中是標配元件。Facebook AI 的 DPR 工作(2020)在初始設計中以 BM25 為基線對比,並承認在實體密集型資料上 BM25 仍有優勢。

日誌分析與安全監控

  • 全文搜尋技術被用於日誌檢索和安全事件搜尋,BM25 提供關鍵詞高亮、相關度排序等基礎能力。

受益公司

以下列出因 BM25 作為基礎演算法而直接或間接受益的商業實體,所有業務描述基於公開年報、產品文件或行業慣例,不構成任何形式推薦。

Elastic N.V. (NYSE: ESTC)

  • Elasticsearch 自 5.x 版本起將 BM25 設為預設相似度演算法。公司 2024 財年(截止 2024‑04‑30)營收約 12.67 億美元(來源:Elastic 年報),核心營收來自 Elasticsearch 的企業訂閱和 Elastic Cloud SaaS。BM25 作為預設檢索器降低了使用者接入門檻,是其產品普適性的關鍵組成部分。

Algolia

  • 搜尋即服務(Search‑as‑a‑Service)的代表性公司,為站內搜尋提供託管方案。Algolia 引擎在底層保留基於詞項匹配的強訊號,結合 AI 混合排序,公開產品文件(2024 年)說明其相關性模型包含“嚴格關鍵詞匹配”層,該層功能等價於 BM25 的檢索行為。

雲端廠商搜尋服務

  • Amazon OpenSearch Service(基於 Elasticsearch 分支)、Azure AI Search、Google Cloud Vertex AI Search 的前身搜尋方案均以 Apache Lucene 為核心,提供託管的 BM25 檢索能力。由於雲端搜尋服務歸屬於各廠商的資料庫與分析產品線,其單獨營收資料公開資料未見拆分,但構成了資料服務生態的基礎層。

向量資料庫廠商

  • Pinecone、Weaviate、Milvus、Qdrant 等廠商最初以密集向量檢索為核心切入點,但在 2023‑2024 年間相繼添加了稀疏向量或 BM25 原語支援,以解決長尾實體匹配問題。Weaviate 從 v1.19 起集成了 BM25 檢索器;Milvus 在 2.4 版本中加入 BM25 支援。混合檢索能力成為這些公司產品競爭的差異化要點,直接受益於 BM25 作為補充技術帶來的功能完整性提升。

Cloudera / Attivio / 其他搜尋中臺

  • Apache Solr 生態下的商業發行版和搜尋中臺產品,將 BM25 作為預設相關性模型。非上市公司財務資料公開資料未見,但產品文件中明確以 BM25 作為核心排序選項。

市場規模

BM25 作為基礎演算法,不存在單獨的“BM25 市場”,其商業價值蘊含在搜尋引擎、大數據分析和 AI 檢索增強生成等更廣口徑市場中。以下提供關聯市場的參考資料,均標明來源與年份口徑。

企業搜尋與知識發現市場

  • 據 Gartner 2023 年釋出的關於 Insight Engines 市場的估算,全球企業搜尋與洞察引擎市場在 2023 年規模約為 45 億美元,預計 2027 年接近 70 億美元(複合年增長率約 11%)(來源:Gartner,Market Guide for Insight Engines,2023 年更新,第三方公開引用口徑;確切數字為付費報告內容,此處採用業內常見引用區間)。BM25 作為該市場幾乎所有產品的基礎演算法元件,其技術影響滲透至整個市場。

非結構化資料分析市場

  • IDC 在 2023 年釋出的 Worldwide Big Data and Analytics Spending Guide 中估算,2023 年全球大數據與分析支出超過 2200 億美元,其中非結構化資料分析是增長最快的子領域之一。文本搜尋作為非結構化資料訪問的最主要入口,BM25 及衍生技術是其軟體棧的基礎。
  • 公開資料未見將 BM25 拆分為獨立細分市場的量化分析,此類拆分的方法論意義亦存疑——BM25 更恰當地被視作底層演算法要素而非可獨立計價的商品化元件。

RAG 與對話搜尋增量

  • 據 Bloomberg Intelligence 2024 年估算,生成式 AI 在知識管理與搜尋領域的年度軟體機會到 2027 年將超過 80 億美元(口徑:企業級 GenAI 應用總市場中的搜尋與知識管理子領域)。RAG 架構對混合檢索的依賴意味著 BM25 在該增量市場中的地位不降反升。具體 BM25 所佔的技術價值比例無法獨立量化,但作為混合檢索中精確召回一臂的標配演算法,其存在遍及各大架構(LangChain、LlamaIndex、Haystack)的實現層。

玩家對比

對比維度覆蓋以 BM25 為核心或重要元件的搜尋技術提供方,注重產品形態和引數實現的差異,而非盈利預測。

開源引擎方案

維度Apache Lucene / SolrElasticsearchVespa
BM25 實現成熟度高(BM25Similarity 類)高(繼承自 Lucene)高(自研,相容 BM25 語義)
預設 k1 / b1.2 / 0.75(歷史版本)1.2 / 0.75(5.x 後)1.2 / 0.75
可調引數暴露通過 Similarity 配置索引設定 APISchema 定義時指定
混合檢索支援需擴充套件(Solr 外掛)8.x 起支援向量欄位及混合原生支援向量 + 文本混合
主要維護方Apache 社群Elastic N.V.Yahoo / Verizon Media,現為獨立公司
許可證Apache 2.0SSPL / Elastic License 2.0Apache 2.0

商業搜尋 SaaS

維度AlgoliaAmazon OpenSearch ServiceAzure AI Search
BM25 暴露程度封裝為內部排序訊號,使用者不可調參完全可配提供 BM25 相似度演算法選項
引數自定義否,內部最佳化是,通過 Lucene 配置有限,通過索引配置調整
混合檢索AI 混合排序,關鍵詞層類 BM25支援 k‑NN + BM25 混合查詢2023 年起支援混合檢索和語義排序
計費形態按操作量 / 索引記錄數按例項規模和時間按容量單元和時間
目標客戶群中小電商、SaaS 產品站內搜尋AWS 生態企業使用者Azure 生態使用者,企業知識管理

向量資料庫廠商的 BM25 整合

公開資料顯示,截至 2024 年:

  • Weaviate:v1.19 後內建 BM25 檢索器,支援 bm25 與 vector 檢索的混合查詢,使用 RRF 融合。
  • Milvus:v2.4 版本推出 BM25EmbeddingFunction,在內部索引中同時管理稀疏與密集向量。
  • Pinecone:公開資料未見原生的 BM25 實現,其推薦架構為外部 BM25 管線與 Pinecone 向量庫通過應用層融合。
  • Qdrant:v1.5 起支援稀疏向量表示(包括 BM25 編碼後的稀疏向量),可配合密集向量實現混合搜尋。

綜合來看,BM25 從開源引擎的原生內建功能逐步演化為混合搜尋架構的標準原子能力,各平台差異主要體現在是否開放底層引數、融合演算法的靈活度以及效能最佳化深度。

風險

術語匹配的固有侷限性

  • BM25 完全依賴詞項層面的匹配,無法理解語義同義關係。在需要上下文理解的高抽象度查詢中(如“可持續包裝方案”與文件中的“可降解材料減量設計”之間),單純依賴 BM25 會漏掉大量相關文件。這是技術上定位的角色風險:BM25 在混合管道中是必要不充分元件。
  • 垂直行業(如法律、醫療)的專業術語變體密集,對分詞詞典和 IDF 統計的定製化要求高,通用配置的 BM25 效果可能顯著低於領域調優後的版本。公開資料未見對此類場景的系統性失敗率統計,但在 TREC 特定領域 Track(如 Clinical Decision Support、Legal Track)的歷史評測中,未調參 BM25 與領域最優系統的差距常超 20 個 MAP 點。

長文件與多主題文件

  • 儘管 b 引數部分減輕了長文件懲罰問題,但當文件涵蓋多主題時,BM25 對所有主題側面的詞一視同仁,缺乏段落級的相關性建模。一篇 50 頁的手冊中某一段與查詢高度相關,可能因整篇文件長度歸一化被壓低在更低分文件之下。這是 BM25 的設計假設所限,並非可通過調參根本解決。

索引質量依賴

  • BM25 的得分高度依賴上游分詞和文本提取質量。在中文等語言中,分詞錯誤逐級傳播,導致 IDF 失真和詞頻計數錯誤。在 OCR 提取的低質量文本上,BM25 的可靠性進一步下降。

邊緣化而非消失

  • 有觀點擔憂密集檢索的持續進步會使 BM25 邊緣化。從 2020–2024 的產業趨勢看,實際情況是 BM25 從單一排序器演化為混合管道中的必備模組,技術位置發生變化但未被替代。這一技術遷移對於商業模式完全依賴“純關鍵詞搜尋”的早期產品構成轉型壓力,但對混合搜尋平台而言風險可控。

誤讀糾偏

以下逐一糾正 BM25 最常見的幾點錯誤認知,每條給出技術層面的反駁依據。

誤讀一:“BM25 和 TF‑IDF 本質上一回事,只是引數不同”

  • 糾偏:TF‑IDF 的詞頻貢獻隨出現次數線性增長,BM25 設定了漸進飽和的上界。TF‑IDF 對長文件沒有自帶的歸一機制,只能事後做餘弦歸一化;BM25 的 b 引數讓長度調整內嵌在每一項的分母裡,調節粒度更細。在 TREC 多個評測資料集上(Robertson & Zaragoza 2009 綜述),BM25 的 MAP 較經典 TF‑IDF 平均改進 20%–40%,二者不可等價視之。

誤讀二:“Dense Retrieval 出現後,BM25 已經過時”

  • 糾偏:密集檢索的優勢在語義泛化,劣勢在精確字元匹配。在包含產品 SKU、試劑型號、法律條文號、數字編碼的查詢中,純向量方法命中率顯著不足。此現象在 BEIR Benchmark(Thakur et al., 2021)多個任務上得到驗證:純向量方案在實體密集型 subset 上可落後 BM25 超過 10 個 NDCG@10 點。產業界的共識回應是混合檢索,而非用向量全面替代 BM25。

誤讀三:“k1 和 b 必須調參到極致才能用”

  • 糾偏:BM25 在預設引數(k1=1.2–1.5,b=0.75)下的表現已對大多數新聞、網頁和通用語料接近最優或足夠實用。Robertson & Zaragoza 綜述中的引數敏感性分析顯示,k1 在 1.0–2.0、b 在 0.5–0.9 的 MAP 波動常在 5% 以內。需要精細調參的場景通常是語料分佈嚴重偏離一般新聞的垂直領域。

誤讀四:“BM25 假設詞之間獨立,所以完全不能處理詞間關係”

  • 糾偏:BM25 確實假定查詢詞項在機率上相互獨立(樸素貝葉斯式的簡化),但該假定的目的是讓公式可分解、可基於倒排索引高效計算。實踐中,短語級匹配可通過增加 N‑gram 詞項注入倒排索引來部分彌補,只是這已超出標準 BM25 的範疇,屬於工程中的預處理策略。

誤讀五:“BM25 可以直接用於所有語言,無需修改”

  • 糾偏:BM25 的公式是語言無關的,但其輸入統計依賴分詞。對中文、日文、泰文等語言,預設空格分詞不可用,演算法效果對前端分詞方案極度敏感。如果按字元切分,文件詞頻極高、avgdl 大幅膨脹,BM25 的 k1 和 b 含義也會被扭曲。因此語言自適應的調參或分詞最佳化是落地的必要條件。

最新事件

  • 2024 年 1 月:開源 RAG 架構 LlamaIndex v0.10 改進了 BM25 與向量檢索的融合節點,支援更靈活的檢索後融合策略,社群討論中 BM25 作為“精確兜底”的定位進一步固化。
  • 2024 年 3 月:Milvus 2.4 釋出,內建 BM25EmbeddingFunction,支援聯合稀疏與密集向量的混合搜尋。官方技術部落格顯示其在實體密集 QA 任務上相對純向量方案有穩定提升。
  • 2024 年 4 月:Weaviate 釋出 1.22 版,升級混合搜尋的 RRF 融合引數可調範圍,允許使用者控制 BM25 子查詢的權重傾向。
  • 2024 年 5 月:Elastic 在其年度使用者大會上演示了 Elasticsearch Relevance Engine(ESRE)的更新,混合檢索管道進一步強化了 BM25 與 ELSER 模型輸出的協同。
  • 公開檢索評測:多個大型模型應用評測(如 MTEB、C‑MTEB 中文檢索引擎評測)在 2023‑2024 版本中持續將 BM25 作為基線方法之一。

以上資訊來自各產品官方釋出說明、技術部落格及公開會議內容,截至 2024 年中期。

追蹤指標

以下指標有助於觀察 BM25 及其所在技術棧的產業狀態演變,均為公開可追蹤維度。

技術採用指標

  • 開源倉庫活躍度:Apache Lucene GitHub 提交頻率和 release cycle,Elasticsearch 的版本迭代中 BM25 相關配置項的變更日誌。
  • 混合檢索提及率:主流向量資料庫(Milvus、Weaviate、Qdrant、Pinecone)產品路線圖和釋出說明中對 BM25 / 稀疏檢索的整合公告頻率。這是觀察 BM25 在新增架構中被採納、被邊緣化或被替代的領先指標。
  • AWS / Azure / GCP 搜尋服務文件:各雲端廠商對 BM25 相關引數的暴露程度、文件篇幅和推薦配置的變化,可反映供應商對關鍵詞檢索能力的戰略定位。

學術與評測指標

  • TREC 評測任務中 BM25 作為基線的頻次:若未來 TREC 任務逐步將基線從 BM25 換成某種神經檢索方案,可算作技術代際交替的訊號(目前 BM25 仍是多數 Track 的必要基線)。
  • BEIR / MTEB 排行榜:關注各模型在關鍵詞精確匹配類 subset(如 TREC‑COVID、NFCorpus)上相對於 BM25 的差距演變。
  • 中文檢索評測:C‑MTEB 等中文基準中的 BM25 基線報告,結合不同分詞方案的表現差異。

產業生態指標

  • Elastic 與開放搜尋(OpenSearch)的客戶採用資料:Elastic 年報中的訂閱客戶數變化,AWS OpenSearch 服務的使用量趨勢(若公開),可作為搜尋基礎設施市場規模的代理變數。
  • 向量資料庫市場的混合搜尋滲透率:統計主要向量資料庫廠商的混合搜尋功能上線時間點和採納案例數量,這間接反映 BM25 在新型 AI 棧中被依賴的程度。

信源

以下列出本文關鍵資訊的主要支撐來源,按型別分列:

學術論文

  • Robertson, S. E., & Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval.
  • Lv, Y., & Zhai, C. (2011). When documents are very long, BM25 fails! Proceedings of SIGIR 2011.
  • Trotman, A., Puurula, A., & Burgess, B. (2014). Improvements to BM25 and Language Models Examined.
  • Thakur, N., et al. (2021). BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models. NeurIPS Datasets and Benchmarks.

開源實現與文件

  • Apache Lucene API 文件:BM25Similarity 類引數的預設值與計算公式說明。
  • Python rank_bm25 庫及其文件(GitHub)。
  • Elasticsearch 官方文件:相似度模組配置(當前版本穩定分支)。

行業與市場資料

  • Gartner, Market Guide for Insight Engines, 2023 年更新,第三方公開引用口徑。
  • IDC, Worldwide Big Data and Analytics Spending Guide, 2023 年釋出版。
  • Bloomberg Intelligence, Generative AI in Enterprise Software, 2024 年引用。
  • Elastic N.V. 年報(2024 財年,截止 2024‑04‑30),SEC Edgar 公開檔案。

產品釋出與技術部落格

  • Weaviate Blog:v1.19、v1.22 混合搜尋釋出說明(2023‑2024)。
  • Milvus Blog:v2.4 BM25 支援公告(2024 年 3 月)。
  • Elastic 年度使用者大會公開演示文件(2024 年 5 月)。
  • LlamaIndex v0.10 Release Notes(2024 年 1 月)。

宣告:本文內容基於資訊檢索領域公認經典模型、公開學術文獻與各公司公開產品資料撰寫,所有引數範圍標為普遍典型配置或各引擎文件載明之預設值。涉及財務及市場規模的資料均標明年份與口徑,未獲獨立資料來源確認的推斷以“公開資料未見”註明。不構成對任何公司或產品的投資建議、買賣要約或未來走勢預測。

source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型