コンテンツに移動
AI & 機械学習

Google Cloud と Elasticsearch によるインタラクティブな会話型検索

2023年11月8日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 10 月 27 日に、Google Cloud blog に投稿されたものの抄訳です。

小売業者にとって、ウェブサイトやモバイルアプリに高度な検索機能を装備することはきわめて重要です。しかし、現在の検索エクスペリエンスはいささか基本的で限定的なものが多く、そのほとんどはキーワードの関連性に基づいてランク付けされた結果のリストを返します。そして通常は、顧客は求めているものについて漠然としか考えておらず、具体的な商品は意識していません。たとえば、ダイニング テーブルを探しているすべての顧客が、スタイル、サイズ、形状、その他の細かい仕様をしっかりと決めているわけではありません。当然ながら、顧客の多くは適切な商品が見つからないと、小売業者のウェブサイトを離れます。その結果、顧客は満足の行くショッピング体験を得られず、小売業者にとっても販売機会の逸失となります。

本日は、Vertex AI と Elasticsearch による生成 AI を使用した小売業者向けの新しい検索エクスペリエンスをご紹介します。この拡張インターフェースは、小売業者の一般公開された情報や内部知識を活用して関連データを要約し、個々の顧客の固有のニーズに基づいてレスポンスをカスタマイズする、直感的な会話型エクスペリエンスをユーザーに提供します。そこでは、たとえば小売業者の専門領域の知識から次のような一般公開情報を利用できます。

  • 特定のニーズを解決するためのガイドラインや一般的なシナリオ
  • リクエストに一致する類似製品のレビューの要約
  • 商品の組み立て、組み合わせ、使用方法に関する公式のリファレンス
  • その他

あるいは、次のような小売業者の非公開情報も利用できます。

  • ユーザーのおおよその場所とユーザーに適用される現地規制
  • リアルタイムに更新される商品カタログ、周辺店舗の在庫、価格
  • 非公開のドキュメントや知識
  • その他

この高度な検索エクスペリエンスは、ただ単に関連する商品の単純なリストを生成するのではなく、深い専門知識を持った営業コンシェルジュのように機能します。顧客の購入プロセス全体を通して支援やガイドを提供し、より魅力的で効率的なショッピング体験を生み出します。

アーキテクチャ

次の図は、この新しいユーザー エクスペリエンスの基礎をなす、Google Cloud の生成 AI サービスと Elasticsearch 機能のインテグレーションを示しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_WXSMhr1.max-1700x1700.png

検索クエリのライフサイクル

このアーキテクチャでは、検索クエリは大きく分けて以下の 2 つのフェーズを経由します。

  1. 初期クエリ処理とエンリッチメント

ユーザーが検索ページからクエリや質問を送信することで、プロセスが開始されます。

このクエリが、おおよその位置情報、セッション情報、その他の小売業者が重要とみなしたデータなどの関連メタデータとともに、Elastic Cloud に転送されます。

Elastic Cloud は、このクエリとメタデータを使用して問題領域固有の顧客データを検索し、豊富なコンテキスト情報を収集します。そのプロセスは次のとおりです。

  1. 複数の内部企業データソース(ERP、CRM、WMS、BigQuery、GCS など)から関連性の高いリアルタイムのデータが一連のインテグレーションを通じて Elastic に継続的にインデックス登録され、小売業者が選んだ任意の Transformer モデルまたは組み込みの ELSER を使用して関連エンベディングが生成されます。取り込みパイプラインにより、すべてのデータ ストリームに推論を自動的に適用できます。
  2. エンベディングが Elastic のベクトル データベースに密ベクトルとして保存されます。
  3. Search API を使用して、Elasticsearch がインデックス検索を開始します。1 回の呼び出しでテキスト検索とベクトル検索の両方が行われます。それと同時に、ユーザーから受け取ったクエリテキストでベクトルが生成されます。
  4. ベクトル検索により、生成されたエンベディングと以前に取り込まれたデータからの密ベクトルが kNN(k 最近傍探索アルゴリズム)を使って比較されます。

セマンティックおよびテキスト検索の結果と Reciprocal Rank Fusion(RRF)ハイブリッド ランキングを組み合わせて、出力が生成されます。

2. 生成 AI を使用した結果の生成

元々のクエリと新しく取得された豊富なコンテキスト情報が Vertex AI Conversation に転送されます。対話型 AI は、設計者や開発者向けに対話型 AI ツール、ソリューション、API を集めたものです。このデザインでは、対話型 AI のために Vertex AI Conversation の Dialogflow CX を使用し、その API と統合しています。

Dialogflow CX API を使用する際は、以下のことを行う必要があります。

  1. エージェントを作成します。
  2. エンドユーザー向けのユーザー インターフェースを用意します。
  3. 会話ターンごとに Dialogflow API を呼び出して、エンドユーザーからの入力を API に送信します。
  4. エージェントのレスポンスが純粋に静的な場合(そのようなケースはめったにありません)を除き、Webhook サービスをホストして Webhook 対応フルフィルメントを処理します。

API の使用の詳細については、Dialogflow CX API のクイックスタートをご覧ください。

対話型 AI モジュールが、Vertex AI テナントにデプロイされた LLM モデルのエンドポイントにアクセスし、モデルの知識と Elastic から提供された非公開データを統合した完全なレスポンスを自然言語で生成します。これは以下の手順で実現されます。

  1. Model Garden から適切なモデルを選択する
  2. 必要に応じて、選択したモデルを目的の問題領域のタスクでファイン チューニングする
  3. 完成したモデルを Google Cloud プロジェクトのエンドポイントにデプロイする
  4. Dialogflow ワークフローからエンドポイントを使用する

データへのアクセス制御の管理とプライバシー確保のため、Vertex AI は IAM を使用してリソースへのアクセスを管理します。アクセスはプロジェクト レベルまたはリソースレベルで柔軟に制御できます。詳細については、こちらの Google ドキュメントをご覧ください。このステップの詳細は下の方のセクションにあります。

Dialogflow は、会話に近いレスポンスによる実用的な chatbot エクスペリエンスを実現し、コンテキストに応じた関連性の高いアクションをユーザーに提供します(たとえば、注文の方法やコンテンツの案内など)。

レスポンスが中継されてユーザーに返されます。

Elastic Cloud: エンタープライズ データからコンテキストを構築する

生成 AI を使用する際は、コンテキスト ウィンドウが役立ちます。コンテキスト ウィンドウは、ユーザーから提供されたリアルタイムのプライベート データを、クエリ時点で質問とともにモデルに追加で渡します。これにより、LLM のトレーニングに使用された公開情報に基づき、小売業者が提供した特定の領域に固有の知識も加味して、ユーザーに返す回答をより良いものにすることができます。生成 AI の効果は入力エンジニアリングに大きく依存しており、コンテキストは結果の質を確実に向上させます。

ユーザーがウェブサイトの検索ボックスから質問を送信すると、Elasticsearch は小売業者の内部ナレッジベースで関連コンテンツを検索し、さらなる処理のためにその質問を待機中の生成モデルに渡します。Elasticsearch は、顧客企業の多岐にわたる複数のデータソース内で情報を検索することを目的に設計されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_k2uDeBM.max-1100x1100.png

しかし、コンテキスト ウィンドウのサイズが限られている場合、一般的なモデルでは数千個のトークンしか処理できません。したがって、エンタープライズ データセット全体を各クエリに渡すことはできません。さらに、ユーザーから送信されたクエリのサイズが大きいほど、より多くのパフォーマンスが必要となり、費用にも影響します。そのため、クエリを生成 AI に送信する前に、フィルタリングして関連性の高いコンテキストを見つける必要があります。

Elasticsearch Relevance Engine(ESRE)は、検索と AI の分野における Elastic の数年に及ぶ研究開発と専門知識を基に構築されたパッケージで、ハイエンドの ML 機能を持つ Elasticsearch の力を活用するための基盤となります。ESRE は、テキスト、画像、音声、動画に対する高度なベクトル検索機能と Elasticsearch のインデックスに基づく従来のテキスト検索を組み合わせて、巨大な異種混在データセットから関連する結果を迅速に取得します。ESRE では、あらゆるものが関連しているだけでなく、安全性も確保されており、Elastic が扱うすべてのコンテンツにドキュメント レベルとフィールド レベルのセキュリティを適用できます。

Elastic には、エンベディングの生成や特徴抽出のために顧客独自の ML モデルを選択して実行できる自由度があるため、特定の領域、言語、データ型に応じた詳細な制御やカスタマイズが可能です。さらに、Vertex AI を使って独自の Transformer モデルを作成し、Elastic プラットフォームにインポートすることもできます。検索の改善に直ちに着手したいものの、社内に ML のスキルがない場合でも、心配はいりません。すぐに使用できる ELSER リトリーバル モデルにより、数回クリックするだけで稼働させることができます。

Vertex AI での基盤モデルのファイン チューニング

プロンプト設計戦略とコンテキスト ウィンドウだけでは、モデルの挙動の調整には十分でない場合があります。

Model Garden: Vertex AI の Model Garden は、多様なユースケースに応える事前構築済みの ML モデルを豊富に取り揃えたリポジトリです。これらのエンタープライズ対応のモデルは綿密にテストされ、エンタープライズ アプリケーションのパフォーマンスや適合率のニーズに合わせて最適化されています。ユーザーが使いやすいように、API、ノートブック、ウェブサービスを通じてアクセスできます。スケーラビリティを念頭に置いて設計されたこれらのモデルは、大量のデータを扱いながら多くのユーザーにサービスを提供できます。さらに、自由に利用することができ、定期的に新しいモデルで更新されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_mRC0AUa.max-2000x2000.png

モデルのカスタマイズ: 基盤モデルが自社固有のニーズに適合するように調整したい場合があります。ファイン チューニングは、モデルのタスク固有のパフォーマンスを向上させるため、またはモデルの教育が不十分な場合に特有の出力要件に準拠させるためのアプローチとして効率的かつ経済的です。しかし、新しい基盤モデルを一から開発してトレーニングするのには多大な費用がかかります。効率的なパラメータ チューニングのような手法は、オーバーヘッドを削減すると同時に、既存の LLM の上位にアダプタレイヤを実装します。これらのレイヤは、すでに確立されたモデルのスキルを維持したまま、不足している特定の知識を補ってモデルを補完します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/4_sUeJCmh.max-2000x2000.png

セキュリティとプライバシー: 消費者向け AI アシスタントは一般に堅牢ですが、その機能やセキュリティを必ずしもユーザーが制御できるわけではありません。データの使用状況やデータがどのように保存されているかを詳細に把握することは、コンプライアンス、プライバシー、競争力の維持のために欠かせません。Google の Secure AI Framework は、AI 技術を責任ある方法で構築しデプロイするための明確な業界標準を提供します。こうした理由から、Google の Vertex AI 機能を通じてエンタープライズ向け生成 AI を導入することは賢明な判断です。

エンタープライズ グレードのソリューション: Vertex AI Generative AI Studio は、最先端のモデルへのアクセスを提供し、さまざまなリリースや修正版をご確認いただけます。モデルをカスタマイズした後、モデルをテストやデプロイでき、Google Cloud でホストされている他のアプリケーションやプラットフォームと統合できます。これは Vertex AI SDK を通じて行えるほか、Google Cloud コンソールから直接行うこともできるため、ほとんど誰にとっても使いやすく、データ サイエンスの専門知識は特に必要ありません。

責任ある AI: 大きな力には大きな責任が伴います。LLM には、言語の翻訳、テキストの要約、クリエイティブな文章、コード、画像の生成など、さまざまなタスクをこなす能力があります。しかし、新たに誕生した技術として、その進化する能力や用途は、不正使用、誤用、予期しない結果につながる可能性があります。これらのモデルから生成される出力はときとして、不快な、配慮に欠けた、または事実とは異なるテキストなど、予測できないものになる場合があります。Google は、この技術の責任ある利用を推進するために専心的に取り組んでおり、ユーザーの保護と Google の AI に関する原則への準拠、および責任ある AI への取り組みを確実なものにするために、安全機能とフィルタを提供しています。

次のステップ

生成 AI を搭載した独自の顧客向け小売アプリの構築にいきなり取り掛かるのは、決して簡単ではありません。こちらの Elastic 公式 GitHub リポジトリで公開されている、ESRE と Vertex AI を使用して e コマース用検索バーを作成する手順を見ると、アプリの開発や実行に役立ちます。

コードサンプルを通じてさらに詳しく調査したい場合は、Google Lab で提供されている Dialogflow CX: 小売向け仮想エージェントの構築という包括的なガイドをご覧ください。その他の Google 生成 AI 設計の例については、生成 AI の例のページを見ることをおすすめします。

Vertex AI モデルやサービスの使用状況について不安を持つ必要はありません。Elastic が提供しているエンドツーエンドのオブザーバビリティ プラットフォームでは、Google Cloud Platform とのネイティブ インテグレーションにより、Google Cloud オペレーション スイートで収集されたすべてのログ、指標、トレースを直接利用できます。

この画期的なイノベーションを取り逃さないでください。このソリューションを詳しく調査して導入し、顧客のショッピング体験の変革に着手することをおすすめします。手始めの方法としては、Elastic Cloud で Google Cloud アカウントを使用して 14 日間無料で試用できるクラスタを作成するのが最適です。また、Google Cloud Marketplace から Elastic Cloud に簡単に登録することもできます。

ー Google Cloud、スタッフ クラウド ソリューション アーキテクト Yang Li

ー Elastic、シニア ソリューション アーキテクト Valerio Arvizzigno 氏

投稿先