現在のAI開発において、**Retrieval-Augmented Generation(RAG)**は標準的な手法ですが、その多くは「密ベクトル(Dense Embeddings)」によるセマンティック検索に依存しています。しかし、特定の専門用語や製品型番などの「正確なキーワード一致」が求められるユースケースでは、伝統的なキーワード検索(ベクトルレス)の重要性が再認識されています。
Google CloudのVertex AI SearchおよびVector Searchにおいて、この「ベクトルレス」に近い検索をどのように実現し、どのような限界があるのかを詳細に解説します。
1. 技法の概要:Vertex AIにおける「キーワード検索」の正体
厳密には、Vertex AI Searchはベクトルベースのエンジンですが、**Sparse Embeddings(スパース埋め込み)**を活用することで、実質的なキーワード検索(ベクトルレス風の挙動)を実現できます。
A. Sparse Embeddingsによるキーワード検索
Sparse Embeddingsは、数万次元のベクトルのうち、ほとんどの要素がゼロである形式です。これは「どの単語が含まれているか」という構文上の特徴を捉えるのに適しており、伝統的なBM25アルゴリズムのような挙動をベクトルエンジン上で再現します。
- 特徴: 正確な単語一致(Exact Term Matching)に強く、型番、人名、特定の技術用語の検索で威力を発揮します。
- メタデータフィルタ: 名前空間(Namespace)や特定の属性値によるフィルタリングを組み合わせることで、不要な検索範囲を事前に除外し、より「ベクトルレスな」絞り込みが可能です。
