Vector Search
ベクトル検索
べくとるけんさく
Definition
Vector search is a retrieval method that uses distances between embeddings to find semantically similar documents or data. It enables meaning-based search beyond keyword matching.
「東京から大阪への行き方」と検索するとき、キーワード検索では「行き方」という単語を含むページしか見つかりません。しかし「東京→大阪のアクセス方法」や「新幹線の所要時間」も知りたい情報のはずです。ベクトル検索(Vector Search)とは、テキストを数値ベクトル(埋め込み)に変換し、意味の近さで文書を検索する技術です。
キーワード検索との違い
従来のキーワード検索(BM25など)は、クエリに含まれる単語が文書中に出現するかどうかで関連度を判定します。これは高速で確実ですが、同義語や言い換えに弱いという根本的な限界があります。ベクトル検索では、クエリと文書の両方を埋め込みモデルでベクトル化し、ベクトル空間上の距離で類似度を測ります。「売上の推移」と「収益のトレンド」のような表現の違いを吸収できるのが最大の強みです。
コサイン類似度による距離計算
ベクトル間の距離を測る指標にはいくつかありますが、テキスト検索で最も広く使われるのがコサイン類似度です。2つのベクトルが成す角度のコサイン値を計算し、1に近いほど意味が似ている、0に近いほど無関係と判定します。ベクトルの長さ(大きさ)ではなく方向を比較するため、文章の長短に影響されにくい特徴があります。他にもユークリッド距離やドット積が使われることもあり、用途に応じて選択します。
セマンティックマッチングの威力
ベクトル検索の本質は「セマンティックマッチング(意味的一致)」にあります。ユーザーが「社員が辞めたいと言ったときの対応」と検索したとき、「退職の意思表示を受けた場合の面談手順」というドキュメントがヒットします。キーワードの一致がほぼゼロでも、意味レベルで関連しているためです。これがRAGの検索精度を支える基盤技術になっています。
実用上の課題と対策
ベクトル検索は万能ではありません。製品コードや法律の条文番号など、正確な文字列一致が必要な検索にはキーワード検索が適しています。そのため実務では、ベクトル検索とキーワード検索を組み合わせた「ハイブリッド検索」が広く採用されています。意味的な関連性と正確な文字列一致の両方をカバーし、検索精度を最大化できるためです。また、ベクトル検索は埋め込みモデルの品質に大きく依存するため、日本語対応モデルの選定と検索精度の事前評価が成功の鍵を握ります。