ベクトル検索とは何か。RAGの裏側で何が起きているのか

ベクトル検索とは何か。RAGの裏側で何が起きているのか

ベクトル検索とは、言葉そのものではなく「意味の近さ」で情報を探す仕組みです。RAGが「それっぽく近い資料」を引けるのは、この仕組みがあるからです。

この記事でわかること

  • キーワード検索とベクトル検索の違い
  • ベクトル(埋め込み)とは何か、なぜ意味で探せるのか
  • ベクトル検索が万能ではない理由

RAGの説明を読んでいると、どこかで必ず出てくる言葉があります。ベクトル検索です。

しかもこの言葉は少しやっかいです。「意味で探す仕組みです」「類似度で検索します」「埋め込みを使います」と言われても、なんとなく分かったようで、まだ少し遠い。

特に仕事で生成AIを使う人にとっては、「結局、普通の検索と何が違うの?」「なんでキーワードが一致していないのに、それっぽい資料が出てくるの?」「RAGが"意味の近いFAQ"を拾えるのはなぜ?」このあたりが曖昧なまま残りやすいと思います。

最初にひとことで言うと、ベクトル検索は言葉そのものではなく、「意味の近さ」で情報を探す仕組みです。ここが分かると、RAGの裏側が見えてきます。

普通の検索は「同じ言葉」を探すのが得意

まず比較のために普通の検索から考えます。検索と聞いて多くの人がまず思い浮かべるのはキーワード検索です。

「育休」「申請期限」「旅費精算」「セキュリティ研修」のような言葉を入れて、それを含む文書を探す。これは強いです。使われている言葉がはっきりしている、正式名称が分かっている、探したい語がそのまま文書に入っている。こういうときはとても効きます。

でも弱点もあります。自分は「出張費」で探したいのに、社内文書には「旅費精算」としか書かれていないことがある。「育休の締切」と聞きたいのに、文書では「申請期限」という表現になっているかもしれない。

単純なキーワード一致だけだと、欲しい文書を取りこぼすことがある。つまり普通の検索は、同じ言葉を探すのは得意だけれど、違う言い方で同じ意味を探すのは苦手です。

ベクトル検索は「意味の近さ」で探す

ここで出てくるのがベクトル検索です。ざっくり言うと、言葉をそのまま比べるのではなく、意味の近さで比べる検索です。

「出張費」と「旅費精算」、「締切」と「申請期限」、「社内ルール」と「就業規則」、「取引先への返信」と「顧客向けメール文面」。言葉は完全一致していなくても、意味として近いものがあります。ベクトル検索はこういう「表現は違うけれど、意味が近いもの」を拾いやすい。

ではなぜ「意味の近さ」が分かるのか。ここで出てくるのがベクトルという言葉です。仕事で使う人向けに雑に言うなら、ベクトルとは文章の意味を機械が比べやすい形にした座標のようなものです。文章や単語をそのまま文字列として持つのではなく、「意味の特徴」を反映した数の並びに変える。その数の並び同士の近さで、意味の近さを見ようとする。

つまりAIは「この言葉とこの言葉は辞書的に同じ」と見ているのではなく、この表現とこの表現は意味空間の中で近い位置にあると見ています。

「意味の地図」で考えると分かりやすいです。文書や質問がそれぞれ地図の上の点になっている。「出張費」「旅費精算」「交通費申請」は近いところにある。「採用面接」「プレスリリース」は離れたところにある。質問が来たら、その質問の位置に近い文書を探す。これがベクトル検索のイメージです。

この変換のことを「埋め込み(embedding)」と呼びます。文書の断片をベクトル化しておき、質問もベクトル化し、近いものを探し、その結果をAIに渡す。ここまで分かれば十分です。

RAGの裏側では、チャンクを「意味の地図」に置いている

前に、RAGでは文書をチャンクに分けると書きました。これはとても大事です。でもそれだけではありません。

実際には、そのチャンクを意味の地図の中に置いておくこともしています。つまりRAGの裏側では、文書をチャンクに分ける、それぞれを埋め込みにする、質問と近いチャンクを探す、近いものをAIに渡す、という流れが起きていることが多い。

この意味で、ベクトル検索はRAGの心臓部のひとつです。RAGがただのファイル検索で終わらず、「意味として近い情報」を引っ張ってこられるのは、この仕組みがあるからです。

だから完全に同じ単語が入っていなくても、近い意味の文書が拾われることがある。実務の言葉は必ずしも揃っていません。文書を書く人によって表現が違う。部署によって呼び方が違う。古い資料と新しい資料で用語が違う。でも扱っている意味は近い。こういう環境では、ベクトル検索の「意味で寄せる力」が効いてきます。

ベクトル検索も万能ではない

ここでバランスが大事です。ベクトル検索は強いですが、やはり万能ではありません。

「意味が近いものを探す」という強さは、逆に言うと「似ているけれど欲しいものではないもの」も拾うことがあるからです。旅費精算のルールを聞きたいのに出張申請のルールを拾う。育休の申請期限を聞きたいのに制度全体の説明を拾う。これは前回の「検索ずれ」ともつながります。

またキーワード検索が強い場面もあります。正式名称が分かっている、型番やコード番号が重要、条文番号がある、固有名詞をそのまま引きたい。こういうケースではキーワード検索の方が素直です。

つまりこれは「キーワード検索が古い、ベクトル検索が新しくて上位」という話ではありません。何を探すかによって向き不向きが違うという話です。実際の現場では、両方を組み合わせて使うことも多いです。

ベクトル検索の理解があると、RAGのズレ方も分かりやすくなります。「意味が近いもの」を取ろうとするからこそ、近いけれど欲しかったものではないというズレが起きうる。これは仕組み上自然です。だからRAGが微妙だったときに「AIがバカだった」で終わらせるのではなく、そもそも近さの取り方がズレたのか、欲しい粒度と違うものを拾ったのか、という見方ができるようになります。

ベクトル検索は、RAGの動きを理解するための土台

ここまでの話をシンプルにまとめます。


キーワード検索とベクトル検索の違い

キーワード検索ベクトル検索
探し方同じ言葉が含まれる文書を探す意味が近い文書を探す
強み正式名称・型番・コードなどの完全一致言い換え・表現の揺れ・自然文の質問に強い
弱み違う表現で同じ意味の文書を取りこぼす近いけれど違うものを拾うことがある
RAGとの関係組み合わせて使うことがあるRAGの中核として使われることが多い

よくある疑問

ベクトルとは具体的に何ですか?

文章の意味を機械が比べやすい形にした「数の並び(座標)」です。この変換を埋め込み(embedding)と呼びます。数字の近さ=意味の近さとして探索します。

キーワード検索はもう不要ですか?

不要ではありません。型番や条文番号など完全一致が大事な場面ではキーワード検索が強いです。実務では両方を組み合わせることも多いです。

RAGがズレるのはベクトル検索のせいですか?

一因ではあります。「意味が近い」と「欲しい情報そのもの」は別です。ベクトル検索の特性を理解しておくと、ズレ方の原因を探りやすくなります。


まとめ

この記事のポイントを3つにまとめます。

  • ベクトル検索は「言葉の一致」ではなく「意味の近さ」で情報を探す仕組み
  • RAGが「それっぽく近い資料」を拾えるのは、このベクトル検索の力があるから
  • ただし「近いけれど違う」も拾うため万能ではなく、キーワード検索との併用が有効な場面もある

次回は「Deep Researchとは何か」をやります。

ここまでで、RAGは取りに行く仕組み、ベクトル検索は意味の近さで探す仕組み、だから「それっぽく近い情報」を拾えるがズレ方もある、というところまで見えてきました。では次に出てくるのがDeep Researchです。「1回探して答える」のではなく「複数の情報源をあたりながら段階的に調べる」という世界が見えてきます。