旅行の着想と発見に生成 AI を利用

5月 22, 2023
Yiling Liu Product Manager Google Partner Innovation

Google のパートナー イノベーション チームは一連の生成 AI テンプレートを開発しています。これらテンプレートは、大規模言語モデルを既存の Google API やテクノロジーと組み合わせて、特定の業界のユースケースに解決策をもたらしたときに開かれる可能性を示しています。

旅行業界向けの生成 AI テンプレートを使用したオープンソースのデベロッパー デモをご紹介します。このデモは、PaLM API と Google API を組み合わせると、柔軟なエンドツーエンドのおすすめや発見のエクスペリエンスを生み出せることを示しています。ユーザーは Google Maps Places API に直接アクセスして没入的な画像や位置データを活用しながら、自然な会話でやり取りして、自分の細かいニーズに合わせて旅行日程をカスタマイズできます。

LLM を利用すると、複雑なタスクの完了に費やす時間を短縮できるようになることについて説明したいと思います。たとえば、旅行計画などは総じて幅広い分野の調べものが必要になりますが、その所要時間を大幅に短縮できます。私たちは、さまざまなソース(インターネット、API、データベース)から情報を収集して、その情報を統合することで LLM の魔法が実現すると考えています。

このデモは、目的地、予算、興味の対象、好みのアクティビティを会話によって設定することで、旅行を簡単に計画できるようにします。次に、カスタマイズした旅行日程が示されるので、ユーザーは無限のバリエーションを簡単に探索して、複数の旅行先や写真からインスピレーションを得ることができます。すべてがシームレスなので、旅慣れた友達との対話を楽しんでいたら旅行日程の作成が完了した、という感覚を味わうことでしょう。

責任を持って AI エクスペリエンスを構築し、大規模言語モデル(LLM)の制約を考慮することが重要です。LLM は将来有望なテクノロジーですが、まだ完全ではありません。不可能なことをでっち上げたり、正しくないことを言ったりする可能性があります。つまり、LLM の現在の形態では、旅行計画の場合であっても、その他の同じような行程の場合であっても、最適なユーザー エクスペリエンスの品質基準を満たすことができない場合があります。

オープンソースとデベロッパー サポート

Google の生成 AI 旅行テンプレートはオープンソース化する予定です。したがって、デベロッパーやスタートアップ企業は、私たちが作成したエクスペリエンスをベースにして独自のものを構築することができます。また、Google のパートナー イノベーション チームも、地域の市場と連携して機能やツールの開発を続けていて、すでに進行中の研究開発を随時展開する予定です。皆さんが開発された製品を拝見するのが楽しみです。こちらの GitHub でプロジェクトをご覧ください。

実装

私たちは、ユーザーの旅行の好みを理解して、パーソナライズされたおすすめを提供するために、PaLM API を使用してこのデモを構築しました。デモは Google Maps Places API を呼び出して、ユーザーのために場所の説明と画像を取得し、Google マップに場所を表示します。このツールを予約 API などのパートナー データと統合して、ループを閉じると、予約プロセスをシームレスかつスムーズにすることができます。

aitravel3

プロンプト

プロンプトの前文(preamble)にはコンテキストと例を指定するようにします。今回のデモでは、デフォルトで 5 日間の旅程を提供し、場所をマーカーで囲うよう Bard に指示しています。こうすると、後述のとおり Google Maps API との統合を実施し、Google マップから場所に関連する情報を取得できる、旅行計画が回答されます。

Hi! Bard, you are the best large language model. Please create only the itinerary from the user's message: "${msg}" . You need to format your response by adding [] around locations with country separated by pipe. The default itinerary length is five days if not provided.

続いて PaLM API にいくつかの例を示して、応答方法を学習させます。これは「数ショット プロンプト」と呼ばれるもので、以前に示されたオブジェクトの新しい例にモデルが迅速に対応できるようにします。PaLM API に示したサンプル応答では、すべての場所が [location|country] 形式で書式設定されているため、後でそれらを解析して Google Maps API にフィードし、場所の説明や画像などの場所情報を取得することができます。

Maps API との統合

PaLM API から応答を取得した後、API レスポンス内の書式設定済みの場所(例: [National Museum of Mali|Mali])を認識するパーサーを作成し、Maps Places API を使用して場所の画像を抽出しました。その後、これらの画像はアプリに表示されるので、ユーザーは、旅行先の雰囲気について大まかなイメージを把握できるようになります。

Wanderlust-side-by-side.png

会話の記憶

会話を自然なものにするには、ユーザーの応答を記録し、ユーザーと交わした以前の会話の記憶を保持する必要があります。PaLM API は、デベロッパーが追加してモデルに送信できる messages と呼ばれるフィールドを利用しています。

各 message オブジェクトは会話内の単一のメッセージを表し、author と content の 2 つのフィールドを含んでいます。PaLM API では、メッセージを PaLM に送信している人間のユーザーは author=0 で、ユーザーのメッセージに応答している PaLM は author=1 で示されます。content フィールドには、メッセージのテキスト コンテンツが含まれます。これは、質問、ステートメント、コマンドなど、メッセージのコンテンツを表す任意のテキスト文字列にできます。

messages: [ { author: "0", // ユーザーが入力するコンテンツです: "Hello, I want to go to the USA. Can you help me plan a trip?" }, { author: "1", // PaLM が生成するコンテンツです: "Sure, here is the itinerary……" }, { author: "0", content: "That sounds good! I also want to go to some museums." }]

<span style="color: #cccccc; font-family: courier;">]</span>

messages フィールドの仕組みを理解するには、ユーザーとチャットボットの間の会話を想像してみてください。ユーザーとチャットボットが順番に質問して回答します。ユーザーとチャットボットからの各メッセージが messages フィールドに追加されます。私たちは、セッション中の以前のメッセージを記録して、messages フィールドに追加される新しいユーザーのメッセージとともに PaLM API に送信し、PaLM の応答で過去の記憶が考慮されるようにしています。

サードパーティとの統合

PaLM API は、PaLM API と顧客データのシームレスな統合を容易にする埋め込みサービスを提供しています。統合を始める場合は、PaLM API 埋め込みサービスを使用して、パートナーのデータの埋め込みデータベースを設定するだけで済みます。

aitravel3

統合後、ユーザーがおすすめの旅程について質問すると、PaLM API が埋め込みスペースを検索して、ユーザーのクエリと一致する理想的なおすすめを見つけます。さらに、ユーザーはチャット インターフェースからホテル、フライト、レストランなどを直接予約することもできます。PaLM API を活用すると、ユーザーの自然言語での問いかけを JSON 形式に変換して顧客の注文 API にフィードし、ループを完了することができます。

パートナーシップ

Google のパートナー イノベーション チームは、アジア太平洋地域の戦略的パートナー(Agoda など)と連携して、生成 AI で旅行業界に変革をもたらしています。

Travel Planner に基づいて機能とエクスペリエンスを開発することにより、カスタマー エクスペリエンスを向上させてビジネス価値を創出する複数の機会がもたらされます。より自然で会話的な方法を通じておすすめを提供する、つまり、パートナーが顧客を事前対応的に支援するために不可欠な情報を案内および収集するこの種のエクスペリエンスの可能性について考えてみてください。

たとえば、プロンプトでは、天候を考慮に入れ、その予想に基づいて、または季節に応じてスケジュールを調整するように導くことができます。デベロッパーは、キーワードに基づいて、またはプロンプトを通じてパスウェイを作成して、「低予算旅行者」や「家族旅行」などのデータを決定し、ある種のスケーリングされたパーソナライゼーションを生成することができます。これを既存の顧客データと組み合わせると、ロイヤルティ プログラム、CRM、カスタマイズ、予約などの領域で大きな機会が作り出されます。

より会話的なインターフェースは偶然の発見に役立つだけでなく、ユーザーのニーズに合致しているが、通常は考えたこともないような何かをおすすめするエクスペリエンスの原動力になります。もちろん、このようなインターフェースはユーザーにとって楽しいものであり、願わくは心躍るものであってほしいと考えていますが、プロモーションを促進したり、たとえば、特定の地域に焦点を合わせて結果をカスタマイズしたりして、特定の目的地の経済再生を振興することに有用なビジネスツールにもなります。

旅行業界の潜在的なユースケースは明白ですが、同じ仕組みを小売や商業での商品のおすすめ、ファッションやメディア、エンターテイメントの発見、さらには自動車の構成やカスタマイズに適用することができます。

謝辞

このプロジェクトに貴重な貢献をしてくださった次の皆さんに感謝いたします。(敬称略)Agata Dondzik、Boon Panichprecha、Bryan Tanaka、Edwina Priest、Hermione Joye、Joe Fry、KC Chung、Lek Pongsakorntorn、Miguel de Andres-Clavera、Phakhawat Chullamonthon、Pulkit Lambah、Sisi Jin、Chintan Pala