コンテンツに移動
デベロッパー

Recommendations AI のモデリング

2021年10月8日
Google Cloud Japan Team

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

Recommendations AI について詳しく解説するこのブログシリーズでは、これまで Recommendations AI の概要をご紹介し、データ取り込みプロセスについて説明してきました。今回は、モデル作成プロセスについて説明し、ML の深い専門知識がなくても Google の AI と ML の手法を最大限に活用してビジネス上の問題を解決する方法をご紹介します。

データを Recommendations AI に取り込む際、商品カタログユーザー イベントがレコメンデーション モデルをトレーニングさせるための 2 つの重要な柱となります。商品アイテム ID、商品名、カテゴリ、商品説明、価格、在庫状況などの商品の特徴と、ホームページの閲覧、詳細ページの閲覧、カートへの追加、購入などのイベントは、各ユーザーのジャーニー全体を表しています。これらにより、Recommendations AI はユーザー履歴、現在のランディング ページ、次のアクションの相互関係をキャプチャし、ディープ ニューラル ネットワークを構築して、カスタマイズされたレコメンデーションを提供できます。データを無事に取り込むことができたら、最初のモデルをトレーニングする準備は完了です。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_FFom81q.max-500x500.max-500x500.png

グラフィカル インターフェースでレコメンデーションを作成する

Recommendations AI には、使いやすいグラフィカル インターフェースが備わっているため、モデルタイプの選択、最適化目標の定義、ビジネスルールのカスタマイズが簡単に行え、モデルのトレーニングをわずか数クリックで実行できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image7_a1BY2UN.max-1400x1400.max-1000x1000.png

モデルは、送信されたデータを使用して、GCP プロジェクトの範囲内でゼロからトレーニングされます。3~7 日後には、モデルの初期トレーニングと調整が終了し、ダッシュボードにモデルがクエリできる状態であることを示すインジケータが表示されます。その後、お客様におすすめ情報を提供したり、本番環境トラフィックに実装する前にモデルが生成するレコメンデーションを視覚的にプレビューして、設定に問題がないことを確認したりすることができます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_c3aagUr.max-700x700.max-400x400.png

Google には、長年にわたって Google 広告、Google 検索、YouTube といった主力サービスでおすすめのコンテンツを提供してきた実績があります。Recommendations AI はその経験を活かし、お客様一人ひとりの趣味や好みに合わせてカスタマイズしたおすすめ情報を、あらゆるタッチポイントで提供します。

レコメンデーション モデル タイプ

Recommendations AI では、5 つのレコメンデーション モデル タイプを利用できます。これには、「関連商品のおすすめ」、「よく一緒に購入されている商品」、「あなたへのおすすめ」、「似ている商品アイテム」、「最近表示したアイテム」が含まれます。最初の 4 つのモデルタイプは機械学習を利用しており、新しいモデルタイプの「似ている商品アイテム」は現在プレビュー中です。

関連商品のおすすめ」レコメンデーションでは、ユーザーが次に関心を持つか、コンバージョンにつながる可能性が最も高い商品が予測されます。この予測は、ユーザーのショッピング履歴や閲覧履歴に加え、現在の特定の商品と候補商品との関連性に基づいています。下の例は、青いドレスの商品詳細ページです。「関連商品のおすすめ」モデルにより、お客様がクリックしたり購入したりする可能性の高い 3 着のドレスをおすすめとして表示しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_arwxnEL.max-600x600.max-500x500.png

よく一緒に購入される商品」レコメンデーションでは、特定の商品の購入時に、同じショッピング セッション内でよく一緒に購入される商品が予測されます。商品のリストが表示されると、その商品リストでよく購入される商品を予測します。このレコメンデーションは、ユーザーが特定の商品(または商品のリスト)を購入する意向をすでに示していて、代替品ではなく補完品をおすすめしたい場合に便利です。このレコメンデーションは通常、「カートに追加」ページ、または「ショッピング カート」や「登録」ページに、ショッピング カートの拡張のために表示されます。下の例では、「よく一緒に購入される商品」モデルによって、直前にカートに入れた青いドレスと相性の良いヒールと時計、そしてお客様がさまざまな場面で複数のドレスを必要とする場合のために別の緑のドレスがおすすめとして表示されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image6_AL1J8yA.max-600x600.max-600x600.png

あなたへのおすすめ」レコメンデーションでは、ユーザーのショッピング履歴や閲覧履歴、タイムスタンプなどのリクエストのコンテキスト情報に基づいて、ユーザーが次に関心を持つか、購入する可能性が最も高い商品が予測されます。このレコメンデーションは通常、ホームページで使用されます。「あなたへのおすすめ」機能はカテゴリページでも役立ちます。カテゴリページはホームページに似ていますが、そのカテゴリのアイテムのみを表示する点が異なります。これを実現するには、フィルタタグを持つ標準の「あなたへのおすすめ」モデルを使用します。たとえば、カスタマイズしたフィルタタグ(各カテゴリページに対応)をカタログのアイテム商品に追加できます。予測リクエストを送信するときは、ユーザー イベント オブジェクトを category-page-view として設定し、特定のカテゴリページのタグを「filter」フィールドに指定します。リクエストされたフィルタタグに一致するレコメンデーションの結果のみが返されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image8_FRe1GOr.max-600x600.max-500x500.png

関連商品のおすすめ」と「あなたへのおすすめ」は、Transformer ベースのシーケンスのモデリングによって高度にカスタマイズされたレコメンデーションです。「関連商品のおすすめ」レコメンデーションにはアンカーとなるアイテム商品が必要で、通常は商品の詳細ページで使用されますが、「あなたへのおすすめ」は、ホームページやカテゴリページなど、アンカーとなるアイテム商品がないページでも使用できます。ユーザーのクリック履歴や購入の内容や順番を考慮して、ユーザーの真意を正しく把握し、ユーザーがチェックしたり購入したりしたいと思う次の商品アイテムを的確に予測します。たとえば、ユーザーがさまざまなマキシドレスを閲覧してから、ファッショナブルなシューズに切り替えた場合、「関連商品のおすすめ」モデルは、日中のカジュアルなファッションと夜のドレッシーな装いの両方に対応するために、マキシドレスによく合うヒールとサンダルを組み合わせておすすめを表示することがあります。

「似ている商品アイテム」は、最近開発された新しいモデルタイプで、現在プレビュー中です。「似ている商品アイテム」モデルは商品カタログのみを使用し、ユーザー イベントを必要としません。これは、モデルのテスト時間を短縮し、お客様へのおすすめの結果をコンソールでより早くプレビューできるようにするためです。自己教師あり学習を活用しており、ユーザー イベントが取り込まれていなくても、商品名やカテゴリなどのメタデータに基づいてアイテムの類似性を正確に把握します。

最適化の目標

機械学習モデルは、特定の目的に合わせて最適化するために作成されます。その特定の目的によって、モデルの作成方法が決定されます。「関連商品のおすすめ」と「あなたへのおすすめ」のレコメンデーション モデルでは、クリック率(CTR)をデフォルトの最適化目標としています。クリック率の最適化はエンゲージメントを重視します。ユーザーがレコメンデーションを操作する可能性を最大化したい場合は、クリック率を最適化する必要がありますそれに対して、注文あたりの収益が「よく一緒に購入される商品」レコメンデーション タイプのデフォルトの最適化目標で、「よく一緒に購入される商品」では、クロスセルと注文値の増加に注目します。

また、「関連商品のおすすめ」と「あなたへのおすすめ」レコメンデーション モデルでは、コンバージョン率(CVR)も目標としてサポートされています。コンバージョン率の最適化は、ユーザーがおすすめされた商品をカートに追加する可能性を最大化します。「カートに追加」のイベントが少ないお客様に対してコンバージョン率を目標として指定すると、マルチタスク学習メカニズムが自動的に起動し、通常 add-to-cart イベントよりもはるかに密度の高い detail-page-view イベントから転移学習を実行します。

ユーザー イベントのデータ要件

新しいモデルを作成する前に、新しいモデルを作成するための要件を満たしている必要があります。インポートするユーザー イベントのタイプと必要なデータ量は、レコメンデーション(モデル)タイプ最適化の目標によって異なります。たとえば、クリック率を最適化するための「関連商品のおすすめ」モデルをトレーニングするには、次のデータ要件を満たす必要があります。

  • 100 個以上のユニーク ユーザー ID を含む 10,000 件の detail-page-view イベント

  • 結合されたカタログ アイテムごとに平均 10 件の detail-page-view イベントがある 1 週間のデータ、または少なくとも 1 つの結合した detail-page-view イベントがある 60 日間のデータ

最小データ要件に達した時点で、モデル トレーニングを開始できます。最小のイベントデータ要件をより早く満たすためには、過去のユーザー イベントデータをインポートするか、ユーザー イベントデータの収集が最小要件を満たすまで待ちます。

パフォーマンスを向上させるためのその他の機能

Google のモデルは数千万ものアイテムを持つ膨大なカタログにも対応しており、カスタマイズされたレコメンデーションを通じて広範なカタログ全体から商品を見つけるための機会をお客様にもたらします。毎日モデルを再トレーニングすることで、変化するカタログ、ユーザーの行動、ショッピング トレンドから分析情報を引き出し、お客様に提供しているレコメンデーションに組み込むことができます。また、人気の高い商品やセール品を考慮してバイアスを補正したり、データの少ないロングテール商品や季節商品の扱いを改善したりすることで、最終的にお客様のクリック率、コンバージョン率、収益を向上させることができます。

レコメンデーションの取得

最初のトレーニングと調整が完了すると、モデルページの [クエリの準備完了] 列が [はい] に変わります。モデルがトレーニングされ、クエリの準備が完了すると、Cloud Console で結果をプレビューしたり、API を使用した予測リクエストを作成したりできます。リクエストはモデルに直接作成されません。予測リクエストは特定のサービス構成(旧称プレースメント)に対して行われます。サービス構成では、追加のオプションを使用できるため、同じモデルを呼び出す複数のプレースメントを用意し、それぞれに価格の再ランキングや分散などの異なるオプションを設定することもできます。

サービス構成の作成:

https://storage.googleapis.com/gweb-cloudblog-publish/images/create_serving.max-800x800.max-800x800.png

サービス構成に名前を付ける

https://storage.googleapis.com/gweb-cloudblog-publish/images/include_model.max-900x900.max-900x900.png

モデルを選択する

https://storage.googleapis.com/gweb-cloudblog-publish/images/preferences.max-900x900.max-900x900.png

オプションを選択する

通常、モデルの異なるプレースメントごとに別々のサービス構成を作成します。これはレポート作成時に便利なだけではありません。他のプレースメントに影響を与えることなく、サイトの特定の場所に使用するモデルタイプを変更できるようにもなります。

Recommendations AI は、レコメンデーションと検索の両方に使用できる全般的な Retail UI に移行しており、新しい Retail UI では一部のオプションが変更されます。たとえば、モデルではなくサービス構成でのビジネスルールの構成をサポートします。これにより、同じ基礎モデルに異なるレベルの価格の再ランキング多様化を適用するなど、さまざまなビジネスルールを適用したサービス構成をすぐに試すことができます。

[評価] タブ(プレビュー)では、実際の結果を迅速に確認できます。VisitorId や商品アイテム ID などの必須パラメータをフォームに入力して送信すると、特定のサービス構成とモデルの組み合わせの結果を取得できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/pdp.max-1500x1500.max-1500x1500.png

カスタマー ジャーニーのあらゆる局面で Recommendations AI を活用できます。ホームページ、商品の詳細ページ、カートページなどが最も一般的な設置場所ですが、メール キャンペーンやモバイルアプリにもレコメンデーションを含めることができます。ここで例として、カスタマー ジャーニーを見てみましょう。

https://storage.googleapis.com/gweb-cloudblog-publish/images/image5_XppwlaO.max-1600x1600.max-1300x1300.png

カスタマー ジャーニーがお客様のノートパソコンから始まります。スポーツ アパレルのカテゴリを閲覧し始めると、Recs AI が靴をおすすめします。お客様は閲覧を一旦やめますが、別の靴を見るためにスマートフォンでサイトに戻ってきます。ここで Recs AI が再び介入してサングラスをおすすめします。お客様は、サングラスと靴をカートに入れ、両方の商品に興味があることを示します。ここで、Recs AI がショートパンツをおすすめし、お客様はクリックしてこれを表示するものの、最終的にはカートから削除します。

3 日後に、お客様のクリック数や興味に応じたおすすめ商品を、カスタマイズしたフォローアップ メールで送信できます。Recs AI はループを完結させ、お客様にサングラスとショートパンツを購入するように促します。どちらの商品も、お客様が複数のデバイスを利用して検索した過去の行動に基づいて推奨されています。

ご覧のように、Rec AI はノートパソコンで最初に商品を見つけたときから、モバイル デバイスで検討しているとき、購入に達するまでのメールでのやり取りまで、購買プロセス全体で機能します。

これは、カスタマー ジャーニーでおすすめ情報を提供するほんの一例にすぎません。お客様は、さまざまな種類のデバイス(モバイル、パソコン)を通じて、メール キャンペーンや実店舗(キオスク)で、さらには間接的に(コールセンター担当者、営業担当者)レコメンデーションを利用できます。

Video Thumbnail

このブログシリーズの投稿の手順に沿って進めると、自社のカスタムデータ用にトレーニングされた ML モデルが完成し、クエリを実行できる状態になります。次回の投稿では、これらのモデルからレコメンデーションを取り入れ、自社のサイトに組み込む方法について説明します。

-          ソフトウェア エンジニア兼プロダクト マネージャー ローテーター Guangsha Shi

-          テクニカル ソリューション コンサルタント Eric Larson

投稿先