vector index ってなんだろう?

vector indexは、ベクトルと呼ばれる多次元データを保存・管理するために設計された特殊なタイプのインデックスです。「embedding models」と呼ばれるAIモデルからベクトルを生成することができます。embedding modelsは、オブジェクト(記事、画像、動画)をベクトルとして要約します。
この数値表現は、元のオブジェクトの意味するものを保持します。ベクトルに含まれるそれぞれの数値は、vector embeddingと呼ばれます。

vector indexは、超効率的なAI対応システムを管理する鍵です。vector embeddingと呼ばれる、アイテムの本質を数学的に捉えたベクトルデータを格納します。vector indexの中にあるとき、これらのvector embeddingは、SF映画で見るような3Dホログラフィックな「星図」のように見えます。embeddingが近ければ近いほど、その点は大きく明るくなります。それを1000次元で想像してみましょう。

専門用語で言えば、related vector embeddingsは、データ内の関係を明らかにします。
これにより、vector indexは、プレーンテキスト検索の単純なマッチングを超え、AIが強化したセマンティック検索の領域へとアプリを移行させることができるのです。

なぜセマンティック検索が重要なのか?

例を見てみましょう。これはカサブランカで撮影されたファッション写真と、カサブランカのバザールにいる女性の写真です。通常、これらの写真にはあまり関連性がありません。それぞれ服装も、照明も、人物も、カラー写真とセピア調の白黒写真も、建物の中の写真と路上の写真も、まったく違います。

しかし、両者を結びつけるものは、どちらも写真であり、どちらも人間の画像であり、どちらも服を着ていて、どちらもモロッコのカサブランカという街で撮影されたということです。vector indexに格納されたベクトルではどう見えるのでしょうか?

Photo1 = [ 234.53, 45.31, 23.45, …]
Photo2 = [ 45.32, 98.6, 23.45, …]

これはどういうことかというと、vector indexにこれらのベクトルを書き込むことで、類似するvector embeddingは、vector indexの多次元空間において、他のベクトルの近く、隣、または同じになります。それらは自動的に関連しているのです。
従って、セマンティック検索で、23.45近辺のvector embeddingを持つベクトル、45.31近辺のvector embeddingを持つベクトルなど、すべてのベクトルを見つけることができます。
45.31付近のXYZを検索します。
私たちが扱っているのは数値の配列であり、かさばるデータではないので、このような検索を満たすことは、他のインデックスタイプよりも劇的に効率的であり、パフォーマンスも高いのです。

vector indexを何に使うのか?

vector embeddingでvector indexが何をするのかがわかったところで、vector indexを使って何ができるのか、いくつかの例について説明しましょう。

AI チャットボット

例えば、ある製品のドキュメントサイトなど、特定のデータセットをAIに学習させることを考えてみましょう。
それを、様々な言語でアプリケーションを書くための他のトレーニングデータと組み合わせれば、ドキュメントのセットに対して質問をし、AIにユーザーのためにコードを書かせることができます。
もうドキュメントを検索する必要はなく、AIに普通に質問するだけで、トピックに沿った、あるいは質問した内容に似た回答を生成してくれるのです。
このユースケースは、私がナレッジbotと呼びたいものです。

検索

このアプローチは、推薦エンジン、画像認識、自然言語処理(NLP)など、様々なアプリケーションにおいて基本となっています。膨大なデータセットから関連する項目を効率的に見つける能力により、類似検索は現代のデータ分析や機械学習における強力なツールとなっているのです。
これは、商品カタログ、動画/音楽ストリーミングサイト、電子商取引サイトなどで利用できます。

推薦エンジン

これは”検索”でも触れたが、単独な機能としても十分に一般的です。例えば、あなたがテーブルを購入するためにオンラインで調べているとしましょう。あなたの過去の購入履歴や、他の人が検索したもの、クリックしたもの、高評価を得たものを知ることで、AIを活用したレコメンデーションは、単純な検索よりもあなたのリサーチに適したサイトや画像、動画を提供することができるのです。

異常検知

異常検知は、データ分析において重要なプロセスであり、予期された動作に適合しない異常なパターンを特定します。
これらの異常値や異常現象は、不正行為、ネットワーク侵入、システム障害などの問題を示す可能性があります。リアルタイムで異常を検出できるため、即座に対応でき、潜在的なリスクを軽減し、システム全体の整合性と信頼性を高めることができます。

感情分析

言葉をvector indexの多次元空間にマッピングすることで、ポジティブ、ネガティブ、またはニュートラルな感情に相関するパターンを見分けることができます。これにより、大規模なデータセット間で効率的な比較が可能になり、製品やトレンドなどに対する意見を測定するのに役立ちます。
リアルタイム処理と適応性により、vector indexは、様々なプラットフォームにおけるユーザーの感情を理解し、それに対応するために価値あるものとなります。

この記事は Kirk Kirkconnell によって書かれたWhat is a vector index?の日本語訳です。翻訳は、Momento Community Advocateの小板橋 由誉が担当しました。