レコメンデーション モデルを作成する

このページでは、新しいレコメンデーション モデルの作成方法について説明します。

適切なタイプのレコメンデーション モデルがすでにあり、サイトの別の場所から予測を取得する場合は、新しいモデルを作成するのではなく、新しいサービス構成を作成できます。詳細

はじめに

新しいレコメンデーション タイプを使用して予測を取得する場合は、新しいレコメンデーション モデルを作成して、トレーニングに十分なユーザー イベント データを提供する必要があります。新しいモデル用のサービス構成を作成し、モデルのトレーニングが完了したら、それらのサービス構成から予測をリクエストします。

Vertex AI Search for Retail を使用するプロセスの概要については、Vertex AI Search for Retail を実装するをご覧ください。

レコメンデーション モデルを作成する

Search for Retail コンソールまたは models.Create API メソッドを使用して、新しいレコメンデーション モデルを追加します。

プロジェクトごとに最大 20 個のモデルを作成できます。また、いつでも最大 10 個のモデルを有効(一時停止されていない)にできます。モデルの一時停止について確認してください。

1 分あたり最大 5 つのモデルのオペレーションを開始できます。対象となるモデルのオペレーションには、作成、削除、一時停止、再開が含まれます。

新しいモデルを作成する前に:

  • 利用可能なレコメンデーション モデル タイプモデルのビジネス目標を確認し、その中から選択します。これにより、このモデルでトレーニングが必要なレコメンデーションの種類が決まります。
  • モデルをチューニングする頻度を決定します。調整とトレーニングの費用の詳細については、料金をご覧ください。
  • 新しいモデルを作成するための要件を満たすように、十分なデータがアップロードされていることを確認します。一部の要件は、選択したモデルタイプによって異なります。
  • ページレベルの最適化モデルを作成する場合:

    • トレーニング済みのモデルが関連付けられているレコメンデーション サービス構成がすでにあることを確認します。ページのレコメンデーションを最適化するときに、ページレベルの最適化で選択できるレコメンデーション サービス構成を指定する必要があります。

    • detail-page-view イベントと、ページレベルの最適化モデルをデプロイするページタイプに応じたイベント記録を設定します(たとえば、モデルをホームページにデプロイする場合は、home-page-view イベントの記録を設定します)。パーソナライズされたレコメンデーションを向上させるには、purchase イベントと add-to-cart イベントを記録することもおすすめします。

    • ビジネス目標としてコンバージョン率(CVR)を選択する場合は、add-to-cart イベントのイベント レコーディングが必要です。

    • ページレベルの最適化モデルを作成した後、モデルのクエリを継続してレコメンデーション インプレッションを作成します。これらのインプレッションは、ページレベルの最適化モデルをトレーニングして、表示されるレコメンデーションを向上させるために使用されます。

新しいモデルを作成するには:

Google Cloud コンソール

  1. Search for Retail コンソールの [モデル] ページに移動します。

    [モデル] ページに移動

  2. [モデルを作成] をクリックします。

  3. モデルに名前を入力します。

    名前は 1,024 文字以下で、英数字、アンダースコア、ハイフン、スペースのみを含めることができます。

  4. レコメンデーション タイプを選択します。

  5. ページレベルの最適化モデルタイプを選択した場合:

    1. 「ページレベルの最適化」モデルによって最適化されるページのタイプを選択します。

    2. パネル間で類似のサービス構成の提供を制限する量を選択します。

      • 一意のモデルタイプ: 同じモデルタイプの複数のサービス構成を、異なるパネルに表示することはできません。

      • 一意のモデル: 同じモデルの複数のサービス構成を、異なるパネルに表示することはできません。

      • 一意のサービス構成: 同じサービス構成を複数のパネルに表示しないようにします。

      • 制限なし: サービス構成を任意の数のパネルに表示できます。

    3. このモデルで表示する予定のレコメンデーション パネルごとに、次の操作を行います。

      1. パネル ID を入力します。

      2. ページレベルの最適化モデルがパネルのオプションとして考慮できるサービス構成を選択します。

        たとえば、「カートに追加」ページに、よく一緒に購入されている商品レコメンデーションや、関連商品のおすすめレコメンデーションなどを表示するレコメンデーション パネルがあるとします。この場合、このパネルに関する考慮事項として、よく一緒に購入されている商品モデルを使用するサービス構成と、関連商品のおすすめモデルを使用するサービス構成を選択します。 ページレベルの最適化モデルに対して予測呼び出しを行うと、エンドユーザーのイベント履歴に基づいて、そのパネルに表示するレコメンデーションの種類が選択されます。

      3. デフォルトのサービス構成を選択します。

        Google サーバーが停止しても、ページレベルの最適化モデルは、デフォルトのサービス構成から結果を提供できます。

    4. 追加のパネルを作成する必要がある場合は、新しいパネルごとに [パネルを追加] をクリックして新しいパネルの詳細を入力します。

  6. ビジネス目標を選択します(そのモデルタイプに使用可能な場合)。

  7. 「よく一緒に購入される商品」モデルタイプを選択した場合は、[コンテキスト サービスタイプ] を選択します。

    • 複数のコンテキスト サービス: このモデルからのレコメンデーションのコンテキストとして、1 つ以上の項目を使用します。
    • シングル コンテキスト サービス: このモデルのレコメンデーションのコンテキストとして、1 つのアイテムを使用します。
  8. [データ要件は満たしていますか?] リストを参照して、選択したモデルタイプに十分なデータがアップロードされていることを確認します。

    データ要件が満たされていないためにモデルを作成できない場合、要件の横に [X] アイコンが表示され、[レコメンデーション モデルの作成] ペインの下部にある [作成] ボタンは無効になっています。

    さらにデータをアップロードする必要がある場合は、一覧表示されたデータ要件を慎重に確認し、そのモデルに対して一部またはすべてを満たす必要があることを確認してから、モデルの作成に必要なユーザー イベントまたは商品をインポートします。

    インポート方法については、過去のユーザー イベントのインポートカタログ情報のインポートをご覧ください。

  9. モデルをチューニングする頻度を選択します。調整の費用の詳細については、料金をご覧ください。

    • 3 か月ごと: モデルは 3 か月ごとに自動的に調整されます。
    • 手動調整のみ: モデルは手動で調整した場合にのみ調整されます。
  10. パブリック プレビュー機能)フィルタリング用のタグを自動生成するかどうかを選択します。

    • タグを自動生成: このオプションをオンにすると、このモデルからレコメンデーションの結果がフィルタされます。このオプションを有効にすると、トレーニング時間が長くなる可能性があります。トレーニングの費用の詳細については、料金をご覧ください。
    • タグを生成しない: このオプションをオフにすると、このモデルからフィルタリングされたレコメンデーションを取得できなくなります。
  11. [Create] をクリックして、新しいレコメンデーション モデルを作成します。

    必要なタイプの十分なユーザー イベントデータをアップロードした場合、初期モデルのトレーニングと調整が開始されます。 最初のモデルのトレーニングと調整には 2~5 日かかりますが、大規模なデータセットの場合はさらに時間がかかることがあります。

    新しいモデルのトレーニングを完了する前にサービス提供構成を作成できますが、最初のトレーニングと調整が完了してモデルがアクティブになるまでは「ドライラン」予測のみで使用できます。

curl

リクエスト本文に Model のインスタンスを使用して、v2 API に Models.create リクエストを送信します。Models.create API リファレンスをご覧ください。

すべての Models フィールドについて詳しくは、Models API リファレンスをご覧ください。

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data '{
            "name": "FULL_MODEL_NAME",
            "displayName": "DISPLAY_NAME",
            "trainingState": "TRAINING_STATE",
            "type": "MODEL_TYPE",
            "optimizationObjective": "OPTIMIZATION_OBJECTIVE",
            "periodicTuningState": "TUNING_STATE",
            "filteringOption": "FILTERING_STATE",
            "modelTypeConfig" {
              "contextProductsType": "CONTEXT_PRODUCTS_TYPE"
            }
          }' \
  "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/models"

必要なタイプの十分なユーザー イベントデータをアップロードした場合、初期モデルのトレーニングと調整が開始されます。 最初のモデルのトレーニングと調整には 2~5 日かかりますが、大規模なデータセットの場合はさらに時間がかかることがあります。

トレーニングの完了前に、新しいモデルのサービス構成を作成ができますが、最初のトレーニングと調整が完了してモデルがアクティブになるまでは「ドライラン」予測のみが提供されます。

新しいレコメンデーション モデルを作成するための要件

サイトで特定のレコメンデーション タイプを初めて使用するときは、新しい機械学習モデルをトレーニングします。このモデルには、十分なトレーニング データと、モデルのトレーニングと調整を行う時間が必要です。新しいレコメンデーション タイプを使用するには、次の手順が必要です。

  1. まだ行っていない場合は、小売業向け Vertex AI Search にカタログをインポートし、アップロードされたカタログを最新に保つプロセスを実施します。
  2. まだ行っていない場合は、必ずユーザー イベントデータの記録のベスト プラクティスに従って、小売業向け Vertex AI Search へのユーザー イベントの記録を開始します。
  3. 使用するレコメンデーション タイプ最適化目標を指定します。
  4. 希望するレコメンデーション タイプと目標に対するユーザー イベント データの要件を決定します。
  5. 最小のイベント データの要件を満たすために過去のユーザー イベントデータをインポートするか、ユーザー イベントデータの収集が最小要件を満たすまで待ちます。
  6. モデルを作成し、サービス構成を作成します。

    この時点で、Vertex AI Search for Retail はモデルのトレーニングとチューニングを開始します。最初のモデルのトレーニングと調整には 2~5 日かかりますが、大規模なデータセットの場合はさらに時間がかかることがあります。

  7. 予測プレビューを使用して、モデルが正しく機能していることを確認します。

  8. A/B テストを作成します。

モデルタイプの最小データ要件

インポートするユーザー イベントのタイプと必要なデータ量は、レコメンデーション(モデル)タイプ最適化の目標によって異なります。最小データ要件に達した時点で、モデル トレーニングを開始できます。

データ収集時間は、ユーザー イベントの期間を表します。それ以上の履歴データをインポートしても、モデルの品質には影響しません。

実際のユーザー イベントと実際のカタログデータを使用してください。合成データでは高品質のモデルを構築できません。

モデルタイプ 最適化の目標 サポートされているユーザー イベント タイプ 最小データ要件 データ収集時間
あなたへのおすすめ クリック率 detail-page-view

home-page-view

過去 90 日間に detail-page-view イベントが発生した日が 7 日かつ、カタログ アイテムごとに平均 10 件(90 日間の期間)の detail-page-view イベントが発生している、または過去 90 日間に detail-page-view イベントが発生した日が 60 日

過去 90 日間に 100 件の detail-page-view イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の detail-page-view イベントが発生している

AND

過去 90 日間に 7 日間 home-page-view イベントが発生している

過去 90 日間に 10,000 件の home-page-view イベントが発生している

3 か月
あなたへのおすすめ コンバージョン率 add-to-cart

detail-page-view

home-page-view

過去 90 日間に add-to-cart イベントが発生した日が 7 日間かつ、add-to-cart イベントがカタログ アイテムごとに平均 10 回(90 日間の期間)発生している、または過去 90 日間に add-to-cart イベントが発生した日が 60 日間

過去 90 日間に 100 件の add-to-cart イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の add-to-cart イベントが発生している

AND

過去 90 日間に detail-page-view イベントが発生した日が 7 日、かつカタログ アイテムごとに平均 10 件(90 日間の期間)の detail-page-view イベントが発生している、または過去 90 日間に detail-page-view イベントが発生した日が 60 日

過去 90 日間に 100 件の detail-page-view イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の detail-page-view イベントが発生している

AND

過去 90 日間に 7 日間 home-page-view イベントが発生している

過去 90 日間に 10,000 件の home-page-view イベントが発生している

3 か月
あなたへのおすすめ セッションあたりの収益 add-to-cart

detail-page-view

home-page-view

過去 90 日間に add-to-cart イベントが発生した日が 7 日、かつカタログ アイテムごとに平均 10 回(90 日間の期間) add-to-cart イベントが発生している、または過去 90 日間に add-to-cart イベントが発生した日が 60 日

過去 90 日間に 100 件の add-to-cart イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の add-to-cart イベントが発生している

AND

過去 90 日間に 7 日間 home-page-view イベントが発生している

過去 90 日間に 10,000 件の home-page-view イベントが発生している

3 か月
関連商品のおすすめ クリック率 detail-page-view

過去 90 日間に detail-page-view イベントが発生した日が 7 日、かつカタログ アイテムごとに平均 10 回(90 日間の期間)detail-page-view イベントが発生している、または過去 90 日間に detail-page-view イベントが発生した日が 60 日

過去 90 日間に 100 件の detail-page-view イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の detail-page-view イベントが発生している

3 か月
関連商品のおすすめ コンバージョン率 add-to-cart

detail-page-view

過去 90 日間に add-to-cart イベントが発生した日が 7 日、かつカタログ アイテムごとに平均 10 件(90 日間の期間)の add-to-cart イベントが発生している、または過去 90 日間に add-to-cart イベントが発生した日が 60 日

過去 90 日間に 100 件の add-to-cart イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の add-to-cart イベントが発生している

AND

過去 90 日間に detail-page-view イベントが発生した日が 7 日かつ、カタログ アイテムごとに平均 10 件(90 日間の期間)の detail-page-view イベントが発生している、または過去 90 日間に detail-page-view イベントが発生した日が 60 日

過去 90 日間に 100 件の detail-page-view イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の detail-page-view イベントが発生している

3 か月
関連商品のおすすめ セッションあたりの収益 add-to-cart

detail-page-view

過去 90 日間に add-to-cart イベントが発生した日が 7 日、かつカタログ アイテムごとに平均 10 件(90 日間の期間)の add-to-cart イベントが発生している、または過去 90 日間に add-to-cart イベントが発生した日が 60 日

過去 90 日間に 100 件の add-to-cart イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の add-to-cart イベントが発生している

AND

過去 90 日間に detail-page-view イベントが発生した日が 7 日かつ、カタログ アイテムごとに平均 10 件(90 日間の期間)の detail-page-view イベントが発生している、または過去 90 日間に detail-page-view イベントが発生した日が 60 日

過去 90 日間に 100 件の detail-page-view イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の detail-page-view イベントが発生している

3 か月
よく一緒に購入されている商品 セッションあたりの収益 purchase-complete

カタログ アイテムごとに平均 10 回(purchase-complete イベントの 1 年間の期間)または過去 1 年間で 90 日間 purchase-complete イベントが発生している

過去 1 年間の purchase-complete イベントのユニーク カタログ アイテムが 100 件

過去 1 年間の purchase-complete イベントが 1,000 件

3 か月

良好なデータ品質を維持するために、少なくとも 1 日 1 回イベントをアップロードすることをおすすめします。過去のイベントのインポート中に、データ分布が最新のタイムスタンプに偏っていることを確認します。最後のタイムスタンプの日付のイベント数は、1 日の平均イベント数以上である必要があります。

セール中 クリック率 detail-page-view

home-page-view

過去 90 日間に detail-page-view イベントが発生した日が 7 日かつ、カタログ アイテムごとに平均 10 件(90 日間の期間)の detail-page-view イベントが発生している、または過去 90 日間に detail-page-view イベントが発生した日が 60 日

過去 90 日間に 100 件の detail-page-view イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の detail-page-view イベントが発生している

AND

過去 90 日間に 7 日間 home-page-view イベントが発生している

過去 90 日間に 10,000 件の home-page-view イベントが発生している

3 か月
セール中 コンバージョン率 add-to-cart

detail-page-view

home-page-view

過去 90 日間に add-to-cart イベントが発生した日が 7 日間かつ、カタログ アイテムごとに平均 10 回(90 日間の期間)add-to-cart イベントが発生している、または過去 90 日間に add-to-cart イベントが発生した日が 60 日

過去 90 日間に 100 件の add-to-cart イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の add-to-cart イベントが発生している

AND

過去 90 日間に detail-page-view イベントが発生した日が 7 日かつ、カタログ アイテムごとに平均 10 件(90 日間の期間)の detail-page-view イベントが発生している、または過去 90 日間に detail-page-view イベントが発生した日が 60 日

過去 90 日間に 100 件の detail-page-view イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 10,000 件の detail-page-view イベントが発生している

AND

過去 90 日間に 7 日間 home-page-view イベントが発生している

過去 90 日間に 10,000 件の home-page-view イベントが発生している

3 か月
似ている商品 なし 必要なし。

100 個の商品 SKU がブランチに存在する必要があります

なし
ページレベルの最適化 すべて detail-page-view

add-to-cart

purchase-complete

home-page-view

ページレベルの最適化は、可能なモデルをいくつか選択することで、レコメンデーション パネルを最適化します。ページレベルの最適化のオプションとして選択したモデルのデータ要件をご覧ください。

なし
もう一度購入 なし purchase-complete

カタログ アイテムごとに平均 10 件(90 日間の期間)の purchase-complete イベントが発生している、または過去 90 日間に purchase-complete イベントが 60 日間発生している

過去 90 日間に 100 件の purchase-complete イベントのユニーク カタログ アイテムが発生している

過去 90 日間に 1,000 件の purchase-complete イベントが発生している

100 個の商品 SKU がブランチに存在する必要があります

該当なし

良好なデータ品質を維持するために、少なくとも 1 日 1 回イベントをアップロードすることをおすすめします。過去のイベントのインポート中に、データ分布が最新のタイムスタンプに偏っていることを確認します。最後のタイムスタンプの日付のイベント数は、1 日の平均イベント数以上である必要があります。

次のステップ