BM25是一種用於評價搜尋詞與文檔之間相關性的算法,它基於機率檢索模型提出。該算法的核心思想是計算查詢(Query)與文檔(Doc)之間的相關性分數。這個分數是通過將查詢中的每個單詞與文檔的相關性得分進行加權求和得到的。每個單詞的得分由三部分組成:
單詞本身的權重:這部分類似於逆文檔頻率(IDF)的作用,反映了單詞在所有文檔中的普遍性。
單詞與文檔之間的相關性得分:這部分類似於詞頻(TF)的作用,但BM25認識到詞頻與相關性之間的關係是非線性的,因此對詞頻進行了標準化處理。
單詞與查詢之間的相關性得分:這部分反映了單詞在查詢中的重要性。
BM25模型在二元獨立模型的基礎上進行了擴展,考慮了單詞在查詢和文檔中的權值,並通過實驗引入了經驗參數。二元獨立模型是基於兩個假設:二元假設和詞彙獨立性假設。在這兩個假設下,可以估算條件機率P(D|R)和P(D|NR),分別表示文檔D在相關文檔集合中出現的機率和不相關文檔中出現的機率。
BM25的原始公式結合了上述概念,並通過取對數來簡化計算。這個公式考慮了文檔權值和查詢權值,以及通過實驗驗證的經驗參數。BM25通過這種方式,提供了一個更加精細和有效的相關性評分方法,常用於信息檢索和搜尋引擎中。