AIの技術をやさしく説明する

ベクトル検索とは何か――「言葉」ではなく「意味」で探す検索をやさしく理解する

前回は、「RAGとは何か」について説明しました。

RAGとは、AIに外部の資料を検索させ、その資料をもとに回答させる仕組みです。

たとえば、社内マニュアル、FAQ、商品資料、議事録などから、質問に関係する部分を探し出し、それをAIに渡して回答させます。

ここで、一つ疑問があります。

たくさんの資料の中から、どうやって質問に関係する部分を見つけるのでしょうか。

普通に考えると、質問に含まれている言葉で検索すればよさそうです。

しかし、それだけではうまくいかないことがあります。

たとえば、ユーザーが「商品を返したい」と質問したとします。

ところが、会社のマニュアルには「返品」という言葉ではなく、「購入後のキャンセルおよび返金について」と書かれているかもしれません。

使っている言葉は違いますが、意味はかなり近いです。

このような「意味の近さ」を使って情報を探す方法の一つが、ベクトル検索です。

一言でいうと、ベクトル検索とは、言葉が同じかどうかではなく、意味がどれくらい近いかをもとに情報を探す検索方法です。

ベクトル検索とは何か

ベクトル検索とは、文章、画像、商品などの情報を「ベクトル」と呼ばれる数値の並びに変換し、その数値同士の近さを比べて検索する方法です。

「ベクトル」と聞くと、数学の難しい話に感じるかもしれません。

このシリーズでは、難しい計算まで覚える必要はありません。

まずは、文章の意味を表すための数字の組み合わせくらいに考えてください。

たとえば、次の3つの文章があるとします。

  • 商品を返品したい
  • 買ったものを返したい
  • 明日の天気を知りたい

人間なら、最初の2つは意味が近く、3つ目はまったく別の話だとすぐわかります。

ベクトル検索では、このような意味の近さをコンピューターで計算できるようにします。

そのため、「返品」という言葉が資料に書かれていなくても、「商品を返す」「返金」「キャンセル」など、意味が近い情報を見つけられることがあります。

普通のキーワード検索との違い

私たちが普段使っている検索には、キーワード検索があります。

キーワード検索では、入力した言葉が文書の中に含まれているかどうかが重要です。

たとえば、「返品」と検索すれば、「返品」という文字が含まれている文章を探します。

これは、とても便利な方法です。

しかし、同じ意味でも別の言葉が使われていると、見つけにくいことがあります。

そこで、ベクトル検索では、文字そのものではなく意味の近さを使います。

検索方法 何を比べるか
キーワード検索 同じ言葉が含まれているか 「返品」と書かれた文書を探す
ベクトル検索 意味がどれくらい近いか 「商品を返したい」から「返品・返金」の資料を探す

つまり、キーワード検索は「同じ言葉を探す」のが得意です。

ベクトル検索は「似た意味を探す」のが得意です。

どちらが優れているというより、得意なことが違います。

「犬」と「猫」は近く、「犬」と「税金」は遠い

ベクトル検索のイメージを、地図にたとえてみましょう。

文章や単語を、意味に応じて地図上に置くとします。

「犬」「猫」「うさぎ」は、どれも動物なので近い場所に置かれそうです。

「自動車」「バイク」「トラック」も、乗り物として近い場所に集まりそうです。

一方、「犬」と「法人税」はあまり関係がないので、遠い場所に置かれます。

実際のベクトルは2次元の地図ほど単純ではなく、非常に多くの数字を使って表現されます。

しかし、考え方としては、意味が似ているものほど近く、意味が違うものほど遠くなる空間を作ると考えるとわかりやすいです。

ユーザーが質問すると、その質問も同じように数値へ変換します。

そして、その質問の近くにある資料を探します。

これがベクトル検索の基本的なイメージです。

なぜコンピューターに「意味」がわかるのか

ここで、「コンピューターがどうして文章の意味を数字にできるのか」と疑問に思うかもしれません。

そこで使われるのが、次回説明する埋め込みです。

埋め込みは、英語では embedding と呼ばれます。

文章、単語、画像などを、意味や特徴を表す数値の並びに変換する技術です。

たとえば、次のような文章があります。

  • 犬を飼っています
  • ペットのワンちゃんがいます
  • 株式市場が上昇しました

最初の2つは、使っている単語はかなり違います。

しかし意味としては近いです。

埋め込みモデルを使うと、最初の2つは似た数値表現になり、3つ目は離れた数値表現になるように変換できます。

ベクトル検索は、この数値表現を使って意味の近い情報を探します。

つまり、埋め込みが「意味を数字にする技術」で、ベクトル検索が「その数字を使って近いものを探す技術」です。

ベクトル検索の基本的な流れ

ベクトル検索の流れを簡単にすると、次のようになります。

  • 資料を用意する
  • 資料を文章のまとまりに分ける
  • それぞれを埋め込みによってベクトルに変換する
  • ベクトルデータベースなどに保存する
  • ユーザーの質問もベクトルに変換する
  • 質問に近いベクトルを探す
  • 対応する文章を検索結果として取り出す

たとえば、会社のマニュアルに次の文章があるとします。

「購入後7日以内で未開封の商品については、返金手続きを受け付けます。」

ユーザーは次のように質問します。

「買った商品を返すことはできますか?」

質問には「返金手続き」「未開封」という言葉はありません。

資料側にも「商品を返す」という表現はありません。

しかし、意味は近いため、ベクトル検索によってこの文章を見つけられる可能性があります。

ベクトルデータベースとは何か

ベクトル検索について調べると、「ベクトルデータベース」という言葉もよく出てきます。

ベクトルデータベースとは、ベクトルとして表された情報を保存し、似ているベクトルを高速に探すための仕組みです。

普通のデータベースでは、名前、日付、商品番号、金額などを保存して検索します。

ベクトルデータベースでは、それに加えて、文章や画像などの特徴を表すベクトルを保存します。

データベース 主に保存・検索するもの
一般的なデータベース 名前、ID、日付、住所、金額など
ベクトルデータベース 文章や画像などの意味・特徴を表すベクトル

大量の資料がある場合、すべてのベクトルを一つずつ比べていたら時間がかかります。

そこで、似たベクトルを効率よく探すための仕組みが使われます。

ベクトルデータベースは、RAGの仕組みでよく登場します。

RAGでベクトル検索は何をしているのか

前回説明したRAGでは、ユーザーの質問に関連する資料を探す必要があります。

その検索方法として、ベクトル検索がよく使われます。

流れを整理すると次のようになります。

  • ユーザーがAIに質問する
  • 質問をベクトルに変換する
  • 意味が近い資料をベクトル検索する
  • 見つかった資料をAIに渡す
  • AIが資料をもとに回答する

つまり、RAGでは、ベクトル検索が「AIにどの資料を読ませるか」を決める役割を持つことがあります。

ここは非常に重要です。

どれだけ高性能なAIを使っても、関係のない資料を渡せば、よい回答はできません。

正しい資料を見つけられるかどうかが、RAGの回答品質に大きく影響します。

ベクトル検索はキーワード検索を置き換えるのか

ベクトル検索が便利だと聞くと、「もうキーワード検索はいらないのでは」と思うかもしれません。

しかし、そうとは限りません。

キーワード検索には、ベクトル検索にはない強みがあります。

たとえば、商品番号「AB-12345」を探す場合を考えます。

この場合、意味の近さは必要ありません。

「AB-12345」と完全に一致する情報を探したいからです。

人名、型番、電話番号、契約番号、法律の条文番号なども、完全一致が重要な場合があります。

一方、「返品方法について知りたい」「パスワードを忘れた場合の対処を知りたい」といった質問では、意味の近さが重要になります。

そのため、実際のシステムでは、キーワード検索とベクトル検索を組み合わせることがあります。

このような方法を、一般にハイブリッド検索と呼ぶことがあります。

探したいもの 向いている検索
商品番号「AB-12345」 キーワード検索・完全一致検索
返品についての説明 ベクトル検索
特定の法律名 キーワード検索
意味が似ている過去の問い合わせ ベクトル検索

ベクトル検索はどんなところで使われるのか

ベクトル検索は、RAG以外にもさまざまな用途があります。

  • 似た文章を探す
  • 似た商品をおすすめする
  • 似た画像を探す
  • FAQから関連する質問を探す
  • 過去の問い合わせから似た事例を探す
  • ニュース記事の関連記事を探す
  • 文章をテーマごとに分類する
  • 重複した文書を見つける

たとえば、ネットショップで「この商品に似た商品」を表示するときにも、商品情報をベクトル化して近い商品を探す考え方が使えます。

画像検索でも、文章ではなく画像の特徴をベクトルにして、似た写真を探すことができます。

つまり、ベクトル検索は「意味」や「特徴が似ているものを探す」ための幅広い技術です。

ベクトル検索の強み

ベクトル検索の大きな強みは、言葉が完全に一致しなくても検索できることです。

  • 言い換えに強い
  • 自然な質問文から検索できる
  • 意味の近い文章を探せる
  • 大量の文書から関連情報を探せる
  • 文章以外に画像などにも応用できる
  • RAGと組み合わせやすい

たとえば、「パソコンに入れなくなった」という質問から、「ログインパスワードを忘れた場合」というFAQを見つけられるかもしれません。

言葉としては一致していません。

しかし、意味としては関係しています。

こうした検索ができることが、ベクトル検索の強みです。

ベクトル検索の弱点

一方で、ベクトル検索にも弱点があります。

意味が近い情報を探すため、必要のない文章まで「似ている」と判断されることがあります。

また、細かい数字や固有名詞の違いが重要な場合には、意味の近さだけでは十分ではありません。

たとえば、「2025年度の料金」と「2026年度の料金」は文章として非常に似ています。

しかし、ユーザーが2026年度の料金を聞いているなら、2025年度の資料を出してはいけません。

このような場合、日付や年度などの条件を別に確認する必要があります。

  • 意味が近いだけの不要な情報を拾うことがある
  • 数字や日付の細かい違いを重視しにくいことがある
  • 固有名詞や型番の完全一致には弱い場合がある
  • 埋め込みモデルの性能に影響される
  • 資料の分割方法によって結果が変わる
  • 検索結果が正しいとは限らない

そのため、実際のRAGでは、ベクトル検索だけに頼らず、キーワード検索や日付、カテゴリ、権限などの条件を組み合わせることがあります。

資料の「分け方」も重要

ベクトル検索では、検索対象となる資料をどのように分けるかも重要です。

たとえば、100ページのマニュアルを丸ごと一つのベクトルにしてしまうと、どの部分が質問に関係しているのかわかりにくくなります。

そこで、資料をある程度小さな文章のまとまりに分けます。

この小さなまとまりを、チャンクと呼ぶことがあります。

たとえば、マニュアルを次のように分けます。

  • 返品について
  • 交換について
  • 送料について
  • 支払い方法について
  • 保証について

それぞれを別々にベクトル化しておけば、質問に最も関係する部分を取り出しやすくなります。

ただし、細かく分けすぎると文脈が失われます。

逆に、大きく分けすぎると関係のない情報まで一緒についてきます。

このため、RAGでは資料の分割方法も回答品質に影響します。

「近い」とはどうやって決めるのか

ベクトル検索では、ベクトル同士がどれくらい近いかを計算します。

実際には、コサイン類似度など、いくつかの計算方法が使われます。

ただし、初心者の段階では数式を覚える必要はありません。

大切なのは、質問を表す数字と資料を表す数字を比べて、似ているものを上位から探しているという考え方です。

たとえば、検索結果として意味の近い文章を上位5件取り出し、その中からAIに必要な情報を読ませる、といった使い方ができます。

つまり、検索結果は「正解が1つだけ」というより、「意味が近い順番に候補を並べる」イメージに近いです。

ベクトル検索と生成AIは別の技術

ここも混同しやすいところです。

ベクトル検索そのものが文章を作るわけではありません。

ベクトル検索の役割は、必要な情報を探すことです。

文章を作るのは、大規模言語モデルなどの生成AIです。

RAGでは、この2つを組み合わせます。

技術 役割
ベクトル検索 質問に意味が近い資料を探す
大規模言語モデル 見つかった資料を使って自然な回答を作る
RAG 検索と生成を組み合わせた仕組み

たとえるなら、ベクトル検索は図書館で必要な本を探す司書のような役割です。

大規模言語モデルは、その本を読んで質問にわかりやすく答える説明役です。

そして、その一連の仕組みがRAGです。

ベクトル検索を理解するとRAGが見えてくる

ベクトル検索を理解すると、RAGがなぜ単なる「AIに資料を読ませる仕組み」ではないのかが見えてきます。

資料が数ページしかなければ、そのままAIに全部渡すこともできます。

しかし、資料が数千ページ、数万ページになれば、全部を一度にAIへ渡すことは現実的ではありません。

そこで、質問に関係する部分だけを探して渡します。

その役割を担う方法の一つがベクトル検索です。

つまり、RAGの性能はAIモデルの性能だけで決まりません。

必要な情報をどれだけ正しく探せるかも非常に重要です。

検索が間違えば、高性能なAIでも間違った資料をもとに回答してしまいます。

AIに正しい答えを出させるためには、「何を考えさせるか」だけでなく、「何を見せるか」も大切なのです。

まとめ

ベクトル検索とは、言葉が完全に一致しているかどうかではなく、意味がどれくらい近いかをもとに情報を探す検索方法です。

文章や画像などをベクトルと呼ばれる数値の並びに変換し、そのベクトル同士の近さを比べます。

そのため、「商品を返したい」という質問から、「返品・返金について」という資料を探すようなことができます。

ベクトル検索は、RAGで関連資料を探す方法としてよく使われます。

ただし、キーワード検索が不要になるわけではありません。

商品番号、固有名詞、日付など、完全一致が重要な場面ではキーワード検索の方が向いています。

そのため、実際のシステムでは、ベクトル検索とキーワード検索を組み合わせることもあります。

また、ベクトル検索の結果は、埋め込みモデルや資料の分割方法にも影響されます。

ベクトル検索は、「意味で探す」ための強力な技術ですが、万能ではありません。

それでも、自然な言葉で質問して大量の資料から関連情報を探せることは、生成AIを仕事で使ううえで大きな意味があります。

次回は、「埋め込みとは何か」について説明します。

埋め込みは、文章や画像の意味や特徴を、コンピューターが比較できる数字の並びに変える技術です。ベクトル検索がなぜ「意味の近さ」を判断できるのかを、さらにやさしく見ていきます。

2026年8月17日 1:17 AM   投稿者: M.A.   カテゴリー: AI

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


© 2003- f.mignon Ltd. 有限会社エフ・ミニヨン