【べくとるけんさく】
ベクトル検索 とは?
最終更新:
💡 データをベクトルにして、近いものを探す検索
データを数値の並びであるベクトルとして表し、問い合わせのベクトルに近いものを距離や類似度で探す手法。埋め込みモデルを使うと、テキストや画像の意味的な類似性を検索に利用できる。
📌 このページのポイント
- 問い合わせと検索対象を、比較できるベクトルとして用意する
- 意味的な類似性を扱えるが、結果は埋め込みモデルや距離尺度に依存する
- コサイン距離・ユークリッド距離・内積などを使う
- 厳密な近傍検索と近似近傍検索があり、速度と取りこぼしを考える
キーワード検索と何が違うの?
キーワード検索が語句を手掛かりにするのに対し、ベクトル検索は数値で表したデータの近さを使うよ。意味を捉える埋め込みなら、表現が違う文書を見つけるのに役立つ。ただし『犬』から必ず『ペット』が返るという保証ではないんだ。
どうやってベクトルを用意するの?
テキストや画像を埋め込みモデルで数値の並びへ変換する方法があるよ。検索対象と問い合わせは、同じモデルなど比較可能な方法で表す必要がある。別々のモデルの座標を、そのまま混ぜて比較できるとは考えないでね。
近さはどう測るの?
近いものは全部見つかる?
どんな用途で使い、どう選べばいい?
RAGの文書検索やレコメンドなどに使えるよ。pgvectorはPostgreSQLの拡張で、専用DBそのものではない。件数だけで製品を決めず、精度・待ち時間・更新・フィルタ・運用を比べよう。注文番号の一致などは通常の条件検索も使い、キーワードと組み合わせるハイブリッド検索も候補になるね。
まとめ:ざっくりこれだけ覚えればOK!
「ベクトル検索」って出てきたら「数値で表したデータ同士の近さを使う検索」と思えばだいたいOK!
📖 おまけ:英語の意味
「Vector Search」 = ベクトルによる検索
💬 数学の「ベクトル(方向と大きさを持つ量)」を使って類似性を計算するから、この名前なんだよ