ベクトル検索概要
Google や Amazon のような高品質の検索エンジンと頻繁にやり取りすることで、高速で関連性の高い検索に対する顧客の期待は高まっています。ベクトル検索(セマンティックベクトル検索とも呼ばれる)は、ディープラーニングと機械学習を活用して、データの意味と文脈を把握します。企業の検索体験を向上させ、以下のようなさまざまなメリットをもたらすことができます。
- ユーザーに関連性の高い検索結果を少ない労力で提供する
- 大規模で多様なデータに対しても、高速な検索結果を返します。
- テキスト、画像、音声の新しい検索方法が可能になります。
- より正確な製品推奨、FAQ 回答、さらにはパーソナライゼーションを顧客に直接提供する。
テクノロジーリーダーには、ベクトル検索について、そしてそれが顧客の期待に応えるだけでなく、期待を超えるためにどのように役立つかについて、より詳しく知っていただきたいと思います。ベクターサーチは、検索体験を変革し、ビジネス目標を達成するのに役立ちます。
ベクトル検索とは
ベクトル検索は、テキスト、音声、画像を数値表現に変換し、ディープラーニングと機械学習(ML)を活用して、これらの表現の意味、意図、文脈を解釈し、より関連性の高い検索結果を提供します。
セマンティックベクトル検索が新しい検索クラスを実現
私たちは、どのように検索クエリを作成しても、関連性の高い検索結果が得られることを期待しています。しかし、抽象的なキーワード検索であっても、高度な自然言語理解と高速なレスポンスが要求されます。さらに、ビジュアルショッピングのための画像検索、Amazon Alexaのような音声検索、Pinterestのようなアプリ内ビジュアル推薦など、より幅広い検索体験への欲求が加わり、検索が我々の探し方に適応する必要があることは明らかです。
セマンティックベクトル検索技術は、人間の言語を理解することに優れており、視覚、音声、非構造化テキストなど、さまざまなデータ形式を解釈することができます。非構造化データとユーザーの意図(キーワードだけでなく)の解釈の橋渡し役として、期待に応えるだけでなく、期待を超える可能性のあるパワフルな体験を提供します。
ベクトル検索は真の収益につながる
ベクトル検索は、関連性の向上、販売促進、収益向上のために、すでに広く活用されています。
Spotify のベクトル検索活用法
Spotify は、ポッドキャストに対して常にベクトル検索を使用してきたわけではありません。最近、Spotify は主にキーワードの語句マッチングに頼っていました。この検索方法では、インデックス化されたメタデータにクエリのキーワードが含まれるものすべてを含む結果を返していました。しかし、ユーザーは常に自分の欲しいものを正確に入力するとは限りません。どのような言葉を使えばいいのか分からなかったり、表現方法が全く違ったりすることもあります。
ベクター検索は、Spotify が単語を正確にマッチさせるのではなく、意味的に相関のある結果をマッチさせることで、より関連性の高いコンテンツを、大幅に少ない労力で提供することを可能にしました。例えば、"electric cars climate impact" と検索すると、"electric cars and ecology" や "environmental impact of electric vehicles" といった結果が返されます。意味ベクトル検索は、検索エンジニアやユーザーが何もしなくても、「気候」と「エコロジー」、「電気自動車」と「電気自動車」という言葉の類似性を識別することができるのです。
Home Depot がセマンティックベクトル検索でより適切な検索結果を提供する方法
Home Depot は、専門性の高い工具を含め、200万点以上の商品の在庫リストを保有しています。顧客は自分のニーズに合った工具を探すのに苦労し、しばしば何度も試行錯誤を繰り返し、フラストレーションが溜まり、ホームデポの返品が増加しました。セマンティックベクトル検索を導入することで、ベクトル検索とテキスト検索を組み合わせ、より適切な結果をお客様に提供できるようになりました。
例えば、お客様が「ルーフィング用品」というキーワードで検索すると、帯状疱疹も返されます。これにより、ホーム・デポの検索チームは、クリエイティブな商品説明、地域ごとのバリエーション、スペルミスのあるキーワードを検索インデックスに読み込む必要から解放されたのです。
ベクトル検索を支える技術、自然言語処理(NLP)について詳しくはこちら
企業規模を問わずベクトル検索を導入可能
ベクトル検索は、さまざまなユースケースに活用できます。企業の規模やデータ量にかかわらず、適切なツールを使用すれば、ベクトル検索は検索エクスペリエンスを向上させることができます。ベクトル検索を使うことで、実現できることは、下記の通りです。
より良い関連性でより良いエンゲージメントを促進する
ユーザーにとってより有益な結果を提供することは、Web サイトやアプリのエンゲージメントを高めることにつながります。キーワード検索は、複数の意味を持つ言葉や、曖昧な言葉ではうまくいきません。セマンティック・ベクトル検索は、非常に大きなデータセットに対しても、より正確な検索結果を提供することができます。セマンティック検索技術を活用することで、ユーザーが正確なキーワードを知らなくても、関連性の高い結果を返すことができます。
大容量データでもより高速に処理
ベクトル検索は、従来の検索スコアリングと組み合わせることで、より良い検索体験を提供することができます。これにより、大規模なデータセットであっても、より関連性の高い結果を迅速に提供することができます。最近傍や近似最近傍などのアルゴリズムは、検索クエリのために大量のドキュメントを処理し、ランク付けする効率的な方法を活用します。
検索対象クラスの拡大
ベクトルデータベース、セマンティック検索、コサイン検索として知られるベクトル検索エンジンで、画像や音声などの新しいタイプの検索を可能にします。例えば、eコマースビジネスでは、サイト訪問者がドレスなどの商品の写真をアップロードし、類似した商品を検索できるようにすることができます。これにより、一部の買い物客にとっては、よりシンプルな方法で検索ができるようになり、エンゲージメントが生まれます。
セマンティックベクトル検索は、検索の文脈、意図、意味を解釈するため、お客様が検索をする必要はない
セマンティックベクトル検索は、クエリの意図、意味、文脈を判断することで、より関連性の高い検索を可能にします。これは、検索クエリを意味のある数値表現、つまりベクトルに変換し、データセットと比較することで類似性を測定し、最も関連性の高い結果を見つけることができるものです。テクノロジーリーダーは、十分な情報に基づいた意思決定を行うために、ベクトル検索に関する高度な技術的理解を必要とします。
1. ベクトル埋め込みでテキストを数字に変える:
どのようなアルゴリズムでも、動作には数値が必要です。ベクトルは、キーワードテキストを数値データに変換し、テキストの言語的内容を把握します。例えば、広く使われている Word2Vec と BERT という2つのモデルは、言語データの大きなサンプルを分析し、単語間の共起頻度や関係性を理解することによって作られたものです。つまり、「カナダ」のベクトルは、ある方向では「フランス」に近く、別の方向では「トロント」に近いかもしれないのです。これらのモデルにより、キーワード、文章、段落を、比較可能なベクトル埋め込みに変換することができます。
2. より優れた検索アルゴリズムで高速に検索:
ベクトル検索に欠かせないもう一つの要素は、何十億もの文書を比較する場合でも、関連する結果を素早く比較し返すための高性能なアルゴリズムである。これは近接検索の一種である近似最近傍探索(ANN)を含むことができ、与えられたクエリに最も近い(最も類似した)結果を与えられたセットの中で見つけることができます。ANN は効率的に動作し、性能を維持したまま大規模なデータセットに対応することができます。クエリの速度を向上させるため、すべてのデータ点をナビゲートするグラフを生成し、最も類似した、一致する結果にベクトルを迅速にマッピングします。
3. 距離メトリックによる類似結果の発見:
ベクトルによって、各キーワードに異なる座標を割り当てることができます。この座標は、検索語がどの程度近くに現れるかの距離を測定することによって、クエリと文書間の類似性を評価するために使用することが可能です。ベクトル間の距離が短いほど、コンテンツが類似していることを意味します。コサイン類似度などの測定は、2つの数値列とベクトル間の類似性を判断し、最も類似した結果を返すために使用されます。
ベクトル検索エンジンのメリットを最大限に活かす方法
検索エクスペリエンスの向上を約束するソリューションもありますが、Elastic は検索エンジン搭載テクノロジーのリーダーとして知られています。お客様は Elastic のプラットフォームを使うことですぐにメリットを実感し、ベクターサーチのような新しく革新的な機能で継続的に検索エクスペリエンスを向上させることができるのです。
なぜベクトル検索に Elastic なのか?
Elastic ではベクター検索やハイブリッド検索を簡単に導入することができるので、お客様はすぐに検索エクスペリエンスの向上に取りかかることができます。Elastic のベクトル検索は、検索関連性に対する複数のアプローチを組み合わせており、パフォーマンス、シンプルさ、カスタマイズ性といった Elastic の長所をベクトル検索のパワーで実現しているからです。
ベクターサーチを導入することで、検索エクスペリエンスにおける最大のギャップに対処することができます。
Elastic は大量の文書に対するクエリパフォーマンスを高速化します
クエリのスピードを高めるために、Elastic は生成されるグラフを使ってすべてのデータポイントをナビゲートし、最も類似した、一致する結果にベクトルを素早くマッピングします。このベクトル類似性検索のアプローチには、HNSW (Hierarchical Navigable Small World) と呼ばれる ANN アルゴリズムが使用されています。クエリのパフォーマンスを加速するために、複数層の HNSW がサポートされており、グラフをより速くトラバースすることができます。新しいレイヤーは、上位レイヤーが増えるごとにデータポイントが少なくなり、近傍を見つけるために必要なデータポイント間のホップ数が大きくなるため、クエリ経路が最適化されます。
Elastic は簡単で統合されたエンドツーエンドのソリューションを提供します
先に述べたように、セマンティックベクトル検索では、類似性を判断するためにベクトルの埋め込みを入力する必要があります。ほとんどのソリューションでは、ベクトル埋め込みを生成するために、例えばディープニューラルネットワークのようなテキスト用の外部プロセスが必要ですが、Elastic は違います。Elastic のベクトル検索の利点は、ベクトル埋め込みに対するサポートをいかに簡単に作成できるかにあります。
これは dense vector field タイプによるもので、float 値の密なベクトルを格納し、Elastics kNN search API で類似の結果を素早く見つけることができます。これによって実装が簡素化され、より簡単にベクトルを生成できるようになります。チームはすぐに価値を実感することができます。また、Elastic を活用してベクトルとして分散、計算、スケールすることで、パフォーマンスを向上させ、コストを削減することができます。
Elastic はあなたのやり方で動きます - あなたのニーズに応じてカスタマイズしてください
Elastic は PyTorch をサポートしており、独自のモデルを展開するための完全な制御を可能にします。お客様のニーズや業界に合わせてカスタマイズすることで、競争力を高めることができます。また、Elastic は HuggingFace を通じてすぐに使えるモデルを提供しており、成長を続ける主要言語モデルのコミュニティを活用したクイックスタートが可能です。
より良い検索は、あなたのビジネスに役立つ
顧客ニーズの高まりにより、優れた検索体験の提供は必須となっています。幸いなことに、セマンティック・ベクトル検索は、優れた検索体験を約束する進化したテクノロジーです。新しいタイプの検索、より速い検索結果、より高い関連性、パーソナライゼーションなど、Elasticはその実現をサポートします。Elastic のテクニカルブログでは、ベクター検索でどのようにインパクトを与えるかをご紹介しています。
本社の元ブログ
Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト
鈴木 章太郎