BM25算法(BM25)是什麼?

BM25 (Best Matching 25) 是一種用於資訊檢索的排序函數,它基於詞頻和逆文檔頻率,並考慮了文檔長度的影響,以提高檢索的準確性。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
BM25
主題標籤
自然語言處理、推薦系統、資料處理
考點定位
非 iPAS 核心術語
最後更新
2026/06/17
BM25算法(BM25)是什麼? 自然語言處理推薦系統
術語快查

搜尋意圖: 如果你在找「BM25算法 是什麼」或「BM25算法 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: BM25 (Best Matching 25) 是一種用於資訊檢索的排序函數,它基於詞頻和逆文檔頻率,並考慮了文檔長度的影響,以提高檢索的準確性。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

你在做搜尋排序,想把最相關的文件排前面時,你會怎麼判斷它真正的作用?

你可以把它想成 BM25 (Best Matching 25) 是一種用於資訊檢索的排序函數,它基於詞頻和逆文檔頻率,並考慮了文檔長度的影響,以提高檢索的準確性。

在 你在做搜尋排序,想把最相關的文件排前面時 這種情境裡,這個概念會直接影響你怎麼設計、怎麼評估、怎麼上線。

容易混淆

BM25 vs TF-IDF BM25 在 TF-IDF 基礎上加了詞頻飽和和文件長度歸一化。

BM25 vs 向量檢索 BM25 看字詞匹配,向量檢索看語意相似,兩者強項不同。

BM25 vs 關鍵字堆疊 BM25 不只是數次數,還會看稀有度和文件長短。

記住這句就好

先看它要解決的是什麼問題,再看它是不是最合適的方法。

實際案例

案例 1:站內搜尋 使用者輸入產品型號時,BM25 可以快速把含有關鍵字的頁面排前面。

案例 2:FAQ 找答案 問題和答案中的關鍵詞對上時,BM25 很適合做第一層召回。

算法與應用

面向 重點
核心 詞頻越高不一定越重要,還要看詞稀不稀有、文件長不長。
優點 簡單、穩定、可解釋,對文字檢索很實用。
注意 遇到同義詞或語意改寫時,單靠 BM25 可能不夠。

情境判斷

Q1(判斷題): 一篇很長的文件重複很多次關鍵字,BM25 會一直把它排第一嗎? → 不會完全照次數線性加分,因為詞頻會飽和,文件長度也會被校正。

Q2(判斷題): 如果使用者查的是同義詞,BM25 還一定有用嗎? → 有用但不夠,這時常會再搭配語意檢索。

常見問題

BM25 和 TF-IDF 差在哪?

BM25 多了詞頻飽和和文件長度修正,搜尋排序通常更穩。

BM25 適合做語意搜尋嗎?

單獨用不夠,因為它主要是詞字面匹配。

參數 k1 和 b 是什麼?

k1 控制詞頻飽和,b 控制文件長度影響。