読み方 : ベクトルけんさく

ベクトル検索【vector search】

ベクトル検索とは?

データの意味や特徴を数値の列(ベクトル)で表現し、その近さを手掛かりに情報を探し出す技術のこと。表現が異なっていても内容が似ていれば見つけられるため、従来のキーワード検索では難しかった意味的な一致に基づく検索に対応できる。
ベクトル検索のイメージ画像

従来の検索は、入力した文字列がデータ内に存在するかを照合するのが基本だった。「犬」と入力しても「イヌ」や「チワワ」とは一致せず、表現が少し違うだけで目的の情報にたどり着かないことがあった。同義語や言い換え、表記ゆれへの対応には複雑な処理が必要で、異なる言語間での検索はさらに困難であった。ベクトル検索はこうした制約を、文字の一致ではなく意味の近さで判断することによって乗り越える。

ベクトル検索を行うには、まず対象データ群を数値の組み合わせに変換する工程が必要である。「埋め込みモデル」と呼ばれる機械学習モデルにテキストや画像を通すと、その意味や特徴を反映した数百~数千個の数値が並んだ列(埋め込みベクトル)が生成される。意味の近いデータほどベクトル空間上で近い位置に配置されるよう設計されており、検索時には入力も同様にベクトル化して距離を計算する。「コサイン類似度」や「ユークリッド距離」といった指標で数値の近さを測り、距離が小さいものから順に結果として返す仕組みである。

大量データを扱う際に、全件と距離を比較すると処理が膨大になる。そこで、「近似最近傍探索」(ANN)というアルゴリズムを使い、全件を比較せずとも似たデータを高速に絞り込む工夫が行われる。ベクトル検索を提供するライブラリとして「FAISS」や「Milvus」などが知られているほか、全文検索システムの「Elasticsearch」などにベクトル検索機能が組み込まれており、従来のキーワード検索と組み合わせて使う構成も可能になっている。

ベクトル検索はECサイトの類似商品の推薦(レコメンド)機能、画像の類似検索、社内文書の意味検索など、様々な用途に応用されている。近年では、生成AIと組み合わせた「RAG」(Retrieval-Augmented Generation検索拡張生成)での利用が広がっており、利用者の質問に関連する文書をベクトル検索で取得し、その内容をもとに大規模言語モデルLLM)が回答を生成する仕組みが構築されている。専門用語を知らなくても自然な言葉で問い合わせられるため、人間の意図を汲み取った情報探索を実現する技術として定着しつつある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。