ベクトル検索

ベクトル検索は、キーワード一致ではなく意味の近さで関連文書を探す検索方法です。

ベクトル検索 のアイキャッチ図解
まずは、こう考えるとつかみやすいです。

本の題名だけで探すのではなく、内容が近い本を同じ棚から見つける検索のようなものです。

ひとことで言うと

ベクトル検索は、文章を数値化した位置関係を使って、意味の近い文書を探す検索方法です。

どんな場面で使うか

  • RAG で質問に近い社内資料を引きたいとき
  • FAQ の表現が少し違っても、似た問い合わせを見つけたいとき
  • キーワードが一致しない言い換え表現も拾いたいとき
  • 長文資料から関連箇所の候補を先に絞り込みたいとき

前段で文書を チャンク分割 しておくと、必要な段落単位で候補を返しやすくなります。

キーワード検索だと、同じ単語が入っていない文書は漏れやすいです。ベクトル検索は、エンベディング で表した意味の近さを使うため、言い回しが違っても候補に上げやすくなります。

キーワード検索との違い

  • キーワード検索: 同じ単語が含まれているかを主に見る
  • ベクトル検索: 単語が違っても、意味の近さで探しやすい

ただし、意味の近さだけで選ぶため、業務上は違う文書が混ざることもあります。完全な置き換えではなく、使い分けや併用が前提です。

実務で気にするポイント

  • 元文書の チャンク分割 が粗すぎると、欲しい箇所に当たりにくい
  • エンベディング モデルの選び方で得意な検索対象が変わる
  • 上位候補の並びが甘い時は、リランカー を挟んで再順位づけする構成も検討する
  • 上位に出た文書が本当に答えに必要か、人の目や評価データで確認する
  • 検索結果が多すぎると コンテキストウィンドウ を圧迫する

注意: ベクトル検索は「関連しそうな候補を探す」仕組みです。検索で近い文書が取れても、そのまま正答になるとは限らないため、回答生成や評価は別に見る必要があります。