【べくとるけんさく】

ベクトル検索 とは?

💡 言葉の「意味」を数値にして、似ているものを探し出す新しい検索
📌 このページのポイント
ベクトル検索の仕組み クエリ 「犬の飼い方」 埋め込みモデル [0.8, 0.3, ...] ベクトル空間 クエリ 類似(近い) 非類似(遠い) 検索結果(類似度順) ペットの育て方 類似度: 0.95 ワンちゃんのしつけ 類似度: 0.91 動物病院ガイド 類似度: 0.87
ベクトル検索のイメージ
ひよこ ひよこ

ベクトル検索って普通の検索と何が違うの?

ペンギン先生 ペンギン先生

普通のキーワード検索は「同じ言葉が含まれているか」で探すよね。ベクトル検索は「意味が近いか」で探すんだ。たとえば「犬」で検索したら「ワンちゃん」や「ペット」も見つかる。言葉が違っても意味が似ていれば引っかかるよ。

ひよこ ひよこ

どうやって「意味が近い」って判断するの?

ペンギン先生 ペンギン先生

まずテキストや画像をベクトル(数値の配列)に変換するんだ。これを「埋め込み(エンベディング)」と呼ぶよ。意味が近いデータは近い座標に配置されるから、ベクトル同士の距離を計算すれば類似度がわかるんだ。

ひよこ ひよこ

距離ってどうやって測るの?

ペンギン先生 ペンギン先生

代表的なのはコサイン類似度だよ。2つのベクトルの向きがどれだけ近いかを-1から1で表す。1に近いほど似ている、0は無関係、-1は正反対。他にもユークリッド距離や内積を使う方法もあるよ。

ひよこ ひよこ

最近よく聞くRAGにもベクトル検索が使われているんだね!

ペンギン先生 ペンギン先生

そうだよ。RAGはLLMに質問する前に、関連する文書をベクトル検索で見つけてきて、それをプロンプトに含めるんだ。これでLLMが学習していない社内文書の質問にも答えられるようになる。ベクトル検索はAI活用の土台と言っていいね。

ひよこ ひよこ

ベクトルDBってたくさんあるみたいだけど、どう選ぶの?

ペンギン先生 ペンギン先生

既存のPostgreSQLpgvectorを入れるのが手軽なスタート。専用のベクトルDBだとPineconeWeaviate、Qdrantが人気だよ。数百万件までならpgvectorで十分、数億件規模やリアルタイム性が必要なら専用DBを検討するといいね。

ひよこ ひよこ

ベクトル検索にも弱点ってあるの?

ペンギン先生 ペンギン先生

あるよ。まず完全一致の検索はキーワード検索の方が得意。「注文番号12345」みたいな正確な検索にはベクトル検索は向かない。だから最近はキーワード検索とベクトル検索を組み合わせた「ハイブリッド検索」が主流になりつつあるんだ。両方の良いとこ取りだね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
ベクトル検索」って出てきたら「データを数値に変換して、意味が近いものを探す検索方法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Vector Search」 = ベクトルによる検索
💬 数学の「ベクトル(方向と大きさを持つ量)」を使って類似性を計算するから、この名前なんだよ
← 用語集にもどる