語言人工智慧指南

BM25 和詞彙檢索

BM25 是經典的基於關鍵字的排名函數,它根據查詢術語出現的頻率對文件進行評分,並根據術語稀有度和文件長度進行調整。

閱讀時間約2分鐘最後更新

概述

Decades old, it remains a remarkably strong and ubiquitous baseline for search.

深入探討

BM25(最佳匹配 25)是來自 20 世紀 90 年代機率性 Okapi 框架的詞袋排序函數。對於每個查詢術語,它結合了三個訊號:術語頻率(單字在文件中出現的頻率,由參數 k1 控制收益遞減)、逆文件頻率(集合中越稀有的單字計數越多)和文件長度標準化(參數 b,因此長文件不會受到不公平的青睞)。將這些每學期的分數相加,即可得出文件的排名。它不需要訓練,而且透過倒排索引運行得非常快,這就是 Elasticsearch 和 Lucene 等搜尋引擎預設使用它的原因。儘管神經檢索興起,BM25 仍然在許多基準測試中獲勝或平局,特別是對於罕見術語、精確標識符和域外查詢。

技術洞察

BM25 的術語頻率分量飽和:k1 參數限制了重複單字對分數的提升程度,因此出現 50 次的術語並不比出現一次的相關性高 50 倍。 b 參數混合了原始頻率和長度歸一化頻率。 IDF 降低了「the」等常見單字的權重,並獎勵獨特的單字。由於它使用將每個單字映射到其文檔清單的倒排索引進行操作,因此評分僅涉及包含查詢術語的文檔,使其非常有效率。

戰略影響

速度與規模

語言工作流程可以在不犧牲一致性的情況下更快地移動。

交通與覆蓋範圍

它擴展了跨語言和溝通方式的訪問。

更明確的決策

團隊可以花更多時間進行判斷,而自動化則可以處理重複。

BM25 與詞彙檢索的未來

BM25不太可能消失;相反,它越來越多地與混合檢索中的神經方法配對,其中詞彙和密集分數被融合(通常通過倒數排名融合)。像 SPLADE 這樣的學習稀疏模型將 BM25 式的稀疏性與神經術語權重相結合,並且 BM25 經常充當神經重新排序器之前的第一階段檢索器。它的速度、可解釋性和零訓練成本保證了它在生產搜尋中的持久作用。

現實世界的實施

Elasticsearch、OpenSearch 和 Apache Lucene/Solr 中的預設相關性排名

第一階段候選檢索在兩階段搜尋中提供較慢的神經重新排序器

代碼和日誌搜索,其中確切的標識符和錯誤代碼必須精確匹配

挖掘困難的負面例子來訓練 DPR 等密集檢索器

風險與防護欄

幻覺的事實可以悄悄地進入報告、支持流程或研究成果。

及時的敏感性可能會在類似的請求中產生不一致的結果。

如果存取控制薄弱,敏感文字資料可能會暴露。

實施路線圖

1

在推出之前定義輸出格式、語氣和品質標準。

2

當準確性很重要時,請使用可信任來源進行地面回應。

3

為高風險輸出保留人工審查檢查點。

4

追蹤故障模式並定期重新訓練提示或工作流程。

不斷探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the BM25 and Lexical Retrieval quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

開始測驗

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一步指南

ColBERT 後期互動檢索

常見問題

What is BM25 and Lexical Retrieval?

BM25 是經典的基於關鍵字的排名函數,它根據查詢術語出現的頻率對文件進行評分,並根據術語稀有度和文件長度進行調整。已有數十年歷史,它仍然是一個非常強大且無處不在的搜尋基線。

BM25 主要使用什麼來對文件進行排名?

BM25 將術語頻率、逆文檔頻率(稀有度一詞)和文件長度歸一化組合成相關性分數。

逆文檔頻率 (IDF) 在 BM25 中扮演什麼角色?

IDF 獎勵在集合中罕見的術語,並降低常見單字的權重,因為罕見的匹配資訊更豐富。

為什麼 BM25 應用文件長度標準化(b 參數)?

如果沒有標準化,較長的文件將累積更多的術語匹配; b 參數根據長度進行調整,因此比較是公平的。

什麼資料結構使 BM25 能夠大規模快速運作?

倒排索引讓 BM25 僅對包含查詢字詞的文件進行評分,使檢索非常有效率。