なぜ単一の検索方式では足りないのか

社内検索のクエリは多様です。「在宅勤務の申請方法は?」のような言い換え型もあれば、「ISMS-03-12 の改訂日は?」のような識別子直打ちもあります。

  • 密ベクトル検索:意味的類似に強い。言い換え・要約質問に強い
  • 疎検索(BM25等):語句一致に強い。ID・固有名詞・コードに強い

どちらか一方だと、もう一方の失敗モードを吸収できません。そこで並行検索+融合が必要になります。

RRF(Reciprocal Rank Fusion)とは

RRFは、各検索器の「順位」だけを使ってスコアを足し合わせる融合法です(Cormack, Clarke, Buettcher, SIGIR 2009)。コサイン類似度とBM25のようにスケールが違うスコアを無理に正規化しなくてよいのが利点です。

代表的な式は、各リストの順位 r に対して 1/(k + r) を加算する形です。平滑化定数 k は 60 がよく使われる起点値です。

実装の標準パイプライン

  • BM25 とベクトル検索を並列実行(各 top 50〜200 程度から開始)
  • RRF で候補を統合
  • (任意)クロスエンコーダで再ランキングし、最終 5〜12 チャンクを文脈へ
  • 生成時は出典IDを強制し、根拠外の断定を抑制

チューニングの勘所

  • まず Recall(正解文書が候補に入るか)を上げる
  • 融合後にノイズが増えたら再ランクやメタデータフィルタで絞る
  • 技術文書・ログ・コード混在コーパスではハイブリッドの効果が大きい傾向
  • 意味中心のコーパスでは差が小さいこともあるため、必ず自社データで測る

デモクロでの位置づけ

Agentic RAG の前段として、通常RAGの検索基盤をハイブリッド化しておくと、エージェントが再検索しても「そもそも候補に載らない」失敗を減らせます。データ処理で付与したメタデータ(部門・文書種別・版)と組み合わせると、権限制御とも相性が良くなります。

参考:RRF原論文(SIGIR 2009)、ハイブリッド検索とRRFの実装解説、エンタープライズRAG最適化の実践ガイド。
← RAG精度の見直し