動的検索

最新の e コマースの検索バーは、単なる入力欄ではありません。ユーザーがテキストの入力を完了する前に、適切な商品に誘導するインタラクティブな動的アシスタントです。この検索候補表示(SAYE)機能では、クエリ候補、人気ブランド、関連性の高いカテゴリ、さらには上位の商品検索結果がリアルタイムで表示されるため、ユーザーのエンゲージメントを高め、コンバージョンにつながる可能性を高めることができます。

Vertex AI Search for commerce は、クエリの自動補完と商品検索に個別の API を提供しますが、SAYE ユーザー エクスペリエンスの最終的な実装は意図的にオープンエンドにしています。

この Vertex AI Search for Commerce を使用した構築ガイドでは、Vertex AI Search for Commerce API を使用して堅牢な SAYE ウィジェットを実装するための 2 つの主要な設計パターンについて説明し、各アプローチのトレードオフについて詳しく説明します。

コア コンポーネントを理解する

包括的な SAYE 機能を構築するには、Vertex AI Search for Commerce が提供する 2 つの基本的な API を理解する必要があります。

  1. CompleteQuery API: 予測入力候補の背後にある機能です。

    • 機能: lipst などの入力文字列を指定すると、lipsticklip gloss などのクエリ候補のリスト、関連する人気ブランド、関連するカテゴリが返されます。
    • 費用: この API は、Vertex AI Search for Commerce パッケージの料金に含まれています。
    • パフォーマンス: キーストロークごとに必要な高速で低レイテンシのレスポンスを実現するように設計された、高スループットの API です。この機能では、スペル修正や検索結果を向上させる候補など、自動学習機能が活用されています。これらの機能はすべて、ショップの毎日の検索イベントに基づいてトレーニングされています。
  2. Search API:これは、コアの商品検出エンジンです。

    • 関数:指定されたクエリに対して、関連性の高い商品結果のランク付けされたリストを返します。
    • 費用:これは有料 API であり、その使用量は運用費用に直接影響します。
    • イベント: モデルのトレーニングと分析では、ユーザーの行動をトラッキングし、関連性モデルを継続的に改善するために、各 Search API 呼び出しを検索イベントとペアにするのが理想的です。

SAYE エクスペリエンスを作成するには、これらの API を両方呼び出し、その結果を 1 つのまとまりのあるユーザー インターフェースに統合するラッパー API またはフロントエンド ロジックを記述する必要があります。

実装パターン 1: 直接的だがコストの高いアプローチ

これは最も簡単な実装方法です。このロジックでは、キー入力ごとに CompleteQuery API と Search API の両方に並列呼び出しを行います。

フロー

フローは次の順次パスをたどります。

  1. ユーザーが l などの文字を入力します。
  2. アプリケーションは lCompleteQuery API に送信します。
  3. 同時に、アプリケーションは Search API に l を送信します。
  4. 結果が結合されて表示されます。
  5. ユーザーが別の文字(l)を入力し、クエリが li になります。
  6. 新しいクエリ li. についてもこのプロセスが繰り返されます。

利点

メリットとしては、実装が高速であるため、ログを迅速に記述してデプロイできることが挙げられます。

欠点

  • Search API の大量呼び出し: このアプローチでは、Search API 呼び出しの数が大幅に増加します。「口紅」のようなクエリは、8 つの個別の検索リクエストをトリガーするため、ボリュームが大幅に増加します。
  • コストの増加: Search API は有料サービスであるため、この大量のデータは運用コストの増加に直接つながり、投資収益率(ROI)をプラスにすることが難しくなります。
  • イベント管理の複雑さ: 正確なモデルのトレーニングと測定を行うには、すべての Search API 呼び出しを対応する検索イベントとともにログに記録する必要があります。呼び出しの量が多いと、すべてのイベントをキャプチャすることが難しくなり、データの損失や分析の偏りにつながる可能性があります。
  • 結果の品質が低下する可能性がある: l、li などの 1 文字または 2 文字の検索では、ノイズの多い結果や広すぎる結果が返される可能性があり、関連性の低い初期エクスペリエンスにつながる可能性があります。

このパターンでは、CompleteQuery API を使用して Search API を呼び出すタイミングをインテリジェントに決定することで、費用、パフォーマンス、関連性を最適化します。

フロー

フローは次の順次パスをたどります。

  1. ユーザーが「lip.」などの部分的なテキスト クエリを入力します。
  2. アプリケーションは lipCompleteQuery API に送信します。
  3. API は候補のリストを返します。lipstick が最初の結果になる可能性が高くなります。
  4. アプリケーションは最初の候補 (口紅)を取得し、その用語を使用して Search API を 1 回呼び出します。
  5. lipstick」の予測入力の候補と商品結果が表示されます。
  6. ユーザーが lips、lipst、... と入力し続けると、最初のオートコンプリート候補が変更された場合にのみ新しい検索呼び出しを行うロジックを追加できます。

利点

  • 大幅なコスト削減: Search API 呼び出しの数を大幅に削減することで、コストを抑えることができます。
  • API とイベントのボリュームを制御: API とイベントのボリュームを管理および予測できるため、モデルのトレーニングと分析の信頼性の高いデータを確保できます。
  • 関連性の向上: より完全で可能性の高い語句を検索するため、SAYE ウィジェットでより質の高い商品結果が表示されます。
  • ROI の向上: コストの削減とユーザー エクスペリエンスの向上により、投資収益率が向上します。

エッジケースの処理

この方法は優れていますが、いくつかのコーナー ケースを処理する必要があります。

  • 候補がない: CompleteQuery API が候補を返さない場合、ロジックはユーザーの未加工の入力を使用して Search API を呼び出すようにフォールバックする必要があります。
  • 部分的なクエリと候補のクエリ: まれに、ユーザーが上位の候補(「アイシャドウ」)ではなく、部分的な語句(「アイ」)の検索結果を求めている場合があります。これは小さなトレードオフですが、最適化されたアプローチでは、ユーザーの意図が最も高い可能性のあるものが優先されます。

テスト ID で成果を測定する

実装方法にかかわらず、メインの検索結果ページとは別に SAYE ウィジェットのパフォーマンスを測定することが重要です。両方に同じトラッキングを使用すると、SAYE 機能がクリック率とコンバージョンを実際に改善しているかどうかを判断できません。

SAYE ウィジェットのクリック率とコンバージョン率を測定するには、検索イベントで個別の experimentIds を使用して、これらの指標をメインの検索イベントの指標と区別します。

  • SAYE イベント: 入力中の検索機能から発生したすべての検索イベントに、"experimentId": "saye-widget" などの特定の ID を割り当てます。
  • メイン検索イベント: ユーザーが Enter キーを押すか、[検索] をクリックしてメインの検索結果ページに移動したときに開始される検索には、別の ID(または ID なし)を使用します。

このようにイベントをセグメント化すると、Vertex AI コンソールのアナリティクス ダッシュボードを使用して、SAYE ウィジェットのパフォーマンスを標準の検索エクスペリエンスと比較してフィルタリングし、明確で実用的な分析情報を得ることができます。

まとめ

Vertex AI Search for Commerce は、入力時の検索エクスペリエンスを作成するためのコンポーネントを提供します。CompleteQuery API と Search API 間のインタラクションを設計するアーキテクトとして、ユーザー エクスペリエンスとパフォーマンスの橋渡しとなる検索機能を構築できます。ほとんどのユースケースでは、最適化されたアプローチにより、コンピューティング負荷の高いオペレーションを回避しながら、ユーザーに関連性の高いエクスペリエンスを提供できます。