言語AIガイド
BM25 と語彙検索
BM25 は、用語の希少性と文書の長さを調整して、クエリ用語が出現する頻度によって文書にスコアを付ける、古典的なキーワード ベースのランキング関数です。
このガイドを聴くAIによるナレーション · ~2 min
概要
何十年も前から存在しているが、今でも非常に強力で遍在する検索のベースラインとなっている。
ディープダイブ
BM25 (ベスト マッチング 25) は、1990 年代の確率論的なオカピ フレームワークのバッグオブワード ランキング関数です。クエリ用語ごとに、用語頻度 (その単語が文書内に出現する頻度、パラメーター k1 によって制御される収穫逓減)、逆文書頻度 (コレクション全体で希少な単語ほど多くカウントされる)、および文書の長さの正規化 (パラメーター b、つまり長い文書が不当に優遇されない) の 3 つのシグナルが結合されます。これらの用語ごとのスコアを合計すると、ドキュメントのランクが得られます。トレーニングの必要がなく、逆インデックスによって非常に高速に実行されるため、Elasticsearch や Lucene などの検索エンジンがデフォルトで使用します。ニューラル検索の台頭にもかかわらず、BM25 は依然として、特に珍しい用語、正確な識別子、およびドメイン外クエリに関して、多くのベンチマークで勝利または同点です。
現実世界の実装
Elasticsearch、OpenSearch、および Apache Lucene/Solr のデフォルトの関連性ランキング
2 段階の検索で低速のニューラル リランカーにフィードを与える第 1 段階の候補検索
正確な識別子とエラーコードが正確に一致する必要があるコードとログの検索
DPR のような高密度レトリバーを訓練するための厳しいネガティブなサンプルのマイニング
BM25 と語彙検索の将来
BM25 が消滅する可能性は低いです。その代わりに、語彙スコアと密スコアが(しばしば相互ランク融合を介して)融合されるハイブリッド検索におけるニューラル手法と組み合わせられることが増えています。 SPLADE のような学習されたスパース モデルは、BM25 スタイルのスパース性とニューラル用語の重み付けをブレンドし、BM25 はニューラル リランカーの前の第 1 段階の取得者として機能することがよくあります。その速度、解釈可能性、トレーニング費用ゼロにより、実稼働検索における永続的な役割が保証されます。
実践する
なぜそれが重要なのか
- 速度とスケール. 言語ワークフローは、一貫性を犠牲にすることなく、より高速に移行できます。
- アクセスと到達範囲. 言語やコミュニケーション スタイルを超えてアクセスが拡張されます。
- より明確な判決. 自動化が繰り返しを処理する間、チームは判断により多くの時間を費やすことができます。
気をつけてください
- 幻覚のような事実が、レポート、サポート フロー、または研究結果に静かに組み込まれる可能性があります。
- 迅速な対応により、同様のリクエスト間で一貫性のない結果が生じる可能性があります。
- アクセス制御が弱いと、機密テキスト データが漏洩する可能性があります。
次のステップ
- 展開する前に、出力形式、トーン、品質基準を定義します。
- 正確さが重要な場合は常に、信頼できる情報源を使って地上対応を行ってください。
- 一か八かの成果物については人間によるレビュー チェックポイントを維持します。
- 失敗パターンを追跡し、プロンプトやワークフローを定期的に再トレーニングします。
探検を続けましょう
よくある質問
BM25 と語彙検索とは何ですか?
BM25 は、用語の希少性と文書の長さを調整して、クエリ用語が出現する頻度によって文書にスコアを付ける、古典的なキーワード ベースのランキング関数です。何十年も前から存在しているが、今でも非常に強力で遍在する検索のベースラインとなっている。
BM25 はドキュメントをランク付けするために主に何を使用しますか?
BM25 は、用語の頻度、逆文書頻度 (用語の希少性)、および文書の長さの正規化を組み合わせて関連性スコアを作成します。
逆ドキュメント頻度 (IDF) は BM25 でどのような役割を果たしますか?
IDF は、まれな一致の方が有益であるため、コレクション全体でまれな用語に報酬を与え、一般的な単語の重みを下げます。
BM25 が文書長の正規化 (b パラメーター) を適用するのはなぜですか?
正規化を行わないと、ドキュメントが長くなると、より多くの用語一致が蓄積されてしまいます。 b パラメータは比較が公平になるように長さを調整します。
BM25 を大規模に高速化するにはどのようなデータ構造が必要ですか?
転置インデックスにより、BM25 はクエリ用語を含むドキュメントのみをスコアリングできるため、検索が非常に効率的になります。
標準の BM25 式では、b をゼロに設定するとどのような影響がありますか?
b は長さの正規化の強度を制御します。ゼロを指定すると、その調整が削除されますが、他のスコア要素は残ります。