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

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

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

はじめに

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

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] アイコンが表示され、[X] ペインの下部にある [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

purchase-complete

home-page-view

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の detail-page-view イベント。

少なくとも 7 日間の home-page-view イベント。

10,000 件の home-page-view イベント。

AND

(1 週間、結合されたカタログ アイテムごとに平均 10 件の detail-page-view イベントを含む。

OR

60 日間、少なくとも 1 つの結合した detail-page-view イベントを含む)。

3 か月
あなたへのおすすめ コンバージョン率 detail-page-view

add-to-cart

purchase-complete

home-page-view

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の add-to-cart イベント。

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の detail-page-view イベント。

少なくとも 7 日間の home-page-view イベント。

10,000 件の home-page-view イベント。

AND

(1 週間、結合されたカタログ アイテムごとに平均 10 件の add-to-cart イベントと detail-page-view 件のイベントを含む。

OR

60 日間、1 日あたり少なくとも 1 つの結合された add-to-cart イベントと 1 つの結合された detail-page-view を含む)。

3 か月
あなたへのおすすめ セッションあたりの収益 detail-page-view

add-to-cart

purchase-complete

home-page-view

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の add-to-cart イベント。

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の detail-page-view イベント。

少なくとも 7 日間の home-page-view イベント。

10,000 件の home-page-view イベント。

AND

(1 週間、結合されたカタログ アイテムごとに平均 10 件の add-to-cart イベントと detail-page-view 件のイベントを含む。

OR

60 日間、1 日あたり少なくとも 1 つの結合された add-to-cart イベントと 1 つの結合された detail-page-view を含む)。

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

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の detail-page-view イベント。

AND

(1 週間、結合された商品ごとに平均 10 件の detail-page-view イベント。

OR

60 日間、少なくとも 1 つの結合した detail-page-view イベントを含む)。

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

detail-page-view

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の add-to-cart イベント。

10,000 件の detail-page-view イベント。

AND

(1 週間、結合された商品ごとに平均 10 件の add-to-cart イベント。

OR

60 日間、少なくとも 1 つの結合した add-to-cart イベントを含む)。

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

detail-page-view

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の add-to-cart イベント。

10,000 件の detail-page-view イベント。

AND

(1 週間、結合された商品ごとに平均 10 件の add-to-cart イベント。

OR

60 日間、少なくとも 1 つの結合した add-to-cart イベントを含む)。

3 か月
よく一緒に購入されている商品 任意 purchase-complete

detail-page-view

100 個以上のユニーク ユーザー ID を含む 1,000 件の purchase-complete イベント。

AND

(結合されたプロダクトごとに平均 10 件の purchase-complete イベント。

OR

90 日間の purchase-complete イベント)。

12 か月

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

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

add‑to‑cart

purchase-complete

home-page-view

shopping-cart-page-view

category-page-view

アクティブなカタログ ブランチに 100 以上のセール商品がある(商品の priceInfo.price 値が priceInfo.originalPrice 値未満)。

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の detail-page-view イベント。

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる、少なくとも 7 日間の home-page-view イベント。

10,000 件の home-page-view イベント。

(1 週間、結合されたカタログ アイテムごとに平均 10 件の detail-page-view イベントを含む。

OR

60 日間、1 日あたり少なくとも 1 つの結合された detail-page-view イベントを含む)。

3 か月
セール中 コンバージョン率 detail-page-view

add-to-cart

purchase-complete

home-page-view

category-page-view

shopping-cart-page-view

アクティブなカタログ ブランチに 100 以上のセール商品がある(商品の priceInfo.price 値が priceInfo.originalPrice 値未満)。

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,000 件の add-to-cart イベント。

10,000 件の detail-page-view イベント。

10,000 件の home-page-view イベント。

AND

(1 週間、結合されたカタログ アイテムごとに平均 10 件の add-to-cart イベントと detail-page-view 件のイベントを含む。

OR

60 日間、1 日 あたり少なくとも 1 つの add-to-cart イベントと 1 つの結合された detail-page-view イベントを含む)。

3 か月
似ている商品 クリック率 必要なし。

100 個以上の在庫あり、商品 SKU がアクティブなカタログ ブランチに存在する必要があります。ユーザー イベントは必要ありません。

なし
ページレベルの最適化 任意 detail-page-view

add-to-cart

purchase-complete

home-page-view

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

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

アクティブなブランチ内で、少なくとも 100 個の一意の訪問者 ID と、100 個の一意の結合商品が含まれる 10,00 件の purchase-complete イベント。

AND

60 日間の purchase-complete イベント。

AND

100 個以上の在庫あり、商品 SKU がアクティブなカタログ ブランチに存在する必要があります。

90 日

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

次のステップ