【温故知新】RAGに「キーワード検索(BM25)」を足したら、AIが劇的に賢くなった話 目次 1. はじめに:「型番」が検索できないAIなんて役立たずだ 2. 基礎知識:ベクトル検索が苦手なこと、キーワード検索が得意なこと 3. 実装・設定:EnsembleRetrieverで「いいとこ取り」 4. 応用テクニック:重み付け(Weight)の黄金比 5. トラブルシューティング:日本語の壁(分かち書き) 6. まとめ:枯れた技術を見捨てるな はじめに:「型番」が検索できないAIなんて役立たずだ 「この製品コード『A-1234』の在庫教えて」とAIに聞いて、「すみません、分かりません」と返されたことありませんか? 文脈は合っているのに、固有の記号に弱い。これが最新のAI(ベクトル検索)の弱点です。 現場の実務では、ふわっとした意味検索よりも、型番やエラーコードの「完全一致」検索の方が重要だったりします。「流行りの技術(Vector)さえ入れればOK」と思っていると、現場から総スカンを食らいます。 基礎知識:ベクトル検索が苦手なこと、キーワード検索が得意なこと ベクトル検索は「意味の近さ」を計算します。「美味しい」と「美味」は近くになりますが、「A-1」と「A-2」は(文字は似ていても)全く別物として扱うのが苦手です。 一方、昔ながらのキーワード検索(BM25など)は、単語の出現頻度を見るので、固有名詞や専門用語にめっぽう強い。この両者を組み合わせるのが、最強のソリューション ハイブリッド検索 です。 ...
ただひたすらに、自分が思った技術情報をアップ書きなぐります。たまにメモみたいな物をあります。話題の事とかも。