BM25とは

BM25
読み: ビーエムニジュウゴ

BM25とは、TF-IDFを改良した確率的情報検索モデル

読み: ビーエムニジュウゴ

TF-IDFを改良した確率的情報検索モデル。文書の長さによるバイアスを補正し、単語の出現頻度に飽和関数を適用することで、より実用的なランキングスコアを算出する。Elasticsearchのデフォルトスコアリングアルゴリズムであり、レキシカル検索の事実上の標準。

かんたんに言うと

検索結果を「どれが一番関連性が高いか」の順番に並べるための計算式。TF-IDFの進化版で、長い文書が不当に有利にならないよう補正する。Elasticsearchで検索したとき、結果が関連度順に並ぶのはBM25のおかげ。

TF-IDFからの改良点

TF-IDFは単語が10回出現する文書と100回出現する文書でスコアが10倍違う。BM25は飽和関数を使い、出現回数が増えてもスコアの増加が緩やかになる。10回と100回の差は10倍ではなく2倍程度に抑えられる。文書の長さによる正規化も加わり、1,000語の文書と10,000語の文書を公平に比較できる。パラメータk1(飽和の速さ)とb(文書長の影響度)で挙動を調整する。

Elasticsearchでの実装

Elasticsearchは5.0以降でデフォルトのスコアリングをTF-IDFからBM25に切り替えた。k1=1.2、b=0.75がデフォルト値で、ほとんどのユースケースでこのまま使える。日本語検索ではkuromojiやsudachiの形態素解析と組み合わせる。スコアの計算過程はExplain APIで確認でき、なぜその文書が上位に来たのかを追跡できる。

ベクトル検索との併用

BM25はキーワードの一致で検索するため、同義語や言い換えには対応しない。ベクトル検索は意味の類似性で検索するため、キーワードが一致しなくても関連文書を返せる。両者を組み合わせたハイブリッド検索では、BM25スコアとベクトル類似度スコアをReciprocal Rank Fusion(RRF)で統合する。RAG構成ではハイブリッド検索がリトリーバーの標準になりつつある。

導入時の判断基準

Elasticsearchを使っているなら既にBM25は動いている。意識して設定を変える必要が出るのは、検索結果の品質に不満がある場合。k1を小さくすると出現頻度の影響が弱まり、bを0に近づけると文書長の影響がなくなる。商品名や型番の検索ではbを小さくすると精度が上がることがある。チューニングの前に、まず検索クエリの形態素解析が適切かを確認する方が効果的なことが多い。

BM25とTF-IDFの比較

比較項目 BM25 TF-IDF
ドキュメント長補正の有無 文書長の極端な増大による適合評価の飽和とバイアスを防ぎ評価を正規化する補正機能を導入 単に出現頻度と逆文書頻度の積であるため文書長が過小過大な場合などでペナルティが機能しない
スコア計算数理モデル 現代のElasticsearchなど検索システムで実用的に高く実証されてきた強力なコミュニティ実績 古典的でシンプルすぎる数理計算モデルのため現代の高度な関連度順位検索要件には不向き
実証コミュニティ実績 BM25が提供する標準的な機能・インターフェース TF-IDFが得意とする高度な対応機能やインターフェース

TF-IDFの単純な出現率計算の限界を補正するために生まれたのがBM25です。基礎的な出現率のみに頼る素朴な検索ならTF-IDF、文書長の偏りを補正した現代的で実用的な関連度検索を行うならBM25が適しています。

当社の見解

当社はAI長期記憶システムを自社開発・運用している(2026年4月現在、1,655件の記憶データを蓄積)。この仕組みにより、AIが過去3ヶ月分の経営判断や設計方針を文脈ごと保持し、「前にも同じ話をしましたよね」という手戻りが激減した。セッションが切れても議論の続きから再開できるため、壁打ち相手としてのAIの価値が根本的に変わった。技術的にはCognee MCPサーバーによる記憶保存と、FastEmbed(ONNX Runtime)+ LanceDBによる非常駐型ベクトル検索(検索レイテンシ8ms、GPU不要)を採用。Hindsight(LongMemEval 91.4%精度)やomega-memoryなど複数の既製品を実環境で検証・棄却した上での選定であり、「個人PCでもエンタープライズでも負荷なく動く軽量さ」を最優先に設計している。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する