BM42:語義搜尋與關鍵詞搜尋結合

banq發表於2024-07-04

40 年來,BM25 一直是搜尋引擎的標準。然而,它無法滿足現代 RAG 應用的需要。

BM42 誕生:語義搜尋與關鍵詞搜尋的結合

什麼是BM25?
BM25 是一種排名演算法,用於資訊檢索和搜尋引擎,以確定文件與給定查詢的相關性。它根據文件中出現的查詢詞、這些詞的頻率以及文件的長度計算每個文件的相關性分數。

BM25 演算法的關鍵組成部分包括:

  • 詞頻 (TF):查詢詞在文件中出現的頻率。詞出現的次數越多,其 TF 值越高。
  • 逆文件頻率 (IDF):衡量查詢詞在整個文件集合中的稀有程度。稀有詞的 IDF 值越高。
  • 文件長度 (DL):文件中的單詞數。較長的文件會受到懲罰,以避免它們優於較短的文件。
  • 平均文件長度 (AVDL):集合中文件的平均長度,用於規範化文件長度。

BM25 公式將這些成分與兩個可調引數 k1 和 b 結合起來,以控制詞頻和文件長度對相關性得分的影響。

BM25 的一些優點包括:

  • 動態排名:與靜態 TF-IDF 不同,BM25 根據術語分佈調整其排名,使其更適應不同的文件型別和查詢。
  • 對長查詢有效:透過解決術語飽和問題並考慮整體文件長度,BM25 對於長查詢的表現往往優於 TF-IDF。

然而,BM25 存在一些侷限性,例如不考慮語義或提供個性化結果

什麼是BM42 ?
BM42 是一種新的稀疏嵌入方法,它將精確關鍵字搜尋的優勢與 Transformer 模型的智慧相結合,實現混合搜尋它的工作原理是從 transformer 模型中提取重要資訊,而無需任何額外的訓練,只要有預先訓練好的 transformer 模型,它就可以支援任何自然語言。BM42 的主要優勢包括:

  • 高可解釋性和文件推理速度
  • 低記憶體佔用
  • 域內準確率高,尤其適用於小文件
  • 能夠處理未知標記並支援多語言搜尋
  • 最佳匹配能力

那麼,為什麼 BM42 很重要?
你可能聽說過,嵌入式相似性在精確匹配關鍵字時會遇到困難,尤其是當關鍵字是一個罕見的詞、名字或某種 ID 時。

通常,解決這一問題的方法是將嵌入相似性與精確關鍵詞搜尋(如 BM25)相結合。

然而,BM25 依靠的是純粹的統計資料,並不瞭解詞語的含義。
BM25 方法對於大型文件效果很好,但對於短文和短塊,效果並不理想。

BM42是一種基於稀疏向量和Transformer注意的精確關鍵詞搜尋新方法。可以利用Transformer的智慧,對句子中每個單詞的重要性進行評分,同時還能將其與 IDF 等全集合統計資料相結合。

這種方法在最新發布的 Qdrant 中效果尤佳,它支援開箱即用的混合搜尋,並能為您處理 IDF 計算

儘管 BM42 具有諸多優點,但它並非萬能藥。對於沒有塊的大型文件,BM25 可能仍然是更好的選擇。
可能有更智慧的方法從 transformer 中提取重要性資訊。可能有更好的方法來權衡 IDF 與注意力得分。
 

相關文章