バッチレコメンデーションの取得 - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バッチレコメンデーションの取得

カスタムリソースを使用すると、非同期のバッチフローでアイテムのレコメンデーションを取得できます。例えば、E メールリストのすべてのユーザー向けの製品レコメンデーションや、インベントリ全体のitem-to-item類似点を取得できます。

バッチレコメンデーションを取得するには、バッチ推論ジョブを使用します。バッチ推論ジョブは、Amazon S3 バケットからバッチ入力データをインポートし、ソリューションバージョンを使用してアイテムのレコメンデーションを生成してから、そのレコメンデーションを Amazon S3 バケットにエクスポートするツールです。レシピに応じて、入力データは、ユーザーもしくはアイテムのリスト、またはそれぞれがアイテムのコレクションを持つユーザーのリストです。

ソリューションが Similar Items レシピを使用し、Items データセットにテキストデータとアイテムタイトルデータがある場合、アイテムグループごとにテーマ付きのバッチレコメンデーションを生成できます。詳細については、「Content Generator のテーマ付きバッチレコメンデーション」を参照してください。

バッチレコメンデーションを生成する際、Amazon Personalize は最新のソリューションバージョン作成時に存在するすべてのバルクデータを考慮します。このデータは、フルまたは増分のインポートモードでインポートできます。新しい一括レコードがバッチレコメンデーションに影響を与えるようにするには、新しいソリューションバージョンを作成してから、バッチ推論ジョブを作成する必要があります。

Amazon Personalize は、次のようにバッチレコメンデーションを生成する際に、個々のインポートのデータを使用します。

  • 既存のアイテムやユーザーとの新規インタラクション: USER_PERSONALIZATION または PERSONALIZED_RANKING レシピを使用する場合、Amazon Personalize はデータインポートから約 15 分以内に既存のアイテムやユーザーとの新規インタラクションデータを考慮します。イベントが確実に考慮されるように、インポート後 15 分以上待ってからバッチ推論ジョブを開始することをお勧めします。その他のレシピについては、バッチレコメンデーションに影響を与えるように、ストリーミングイベント用に新しいソリューションバージョンを作成する必要があります。

  • 新規ユーザー: インタラクションデータを持たないユーザーの場合、レコメンデーションは最初は人気商品のみを対象としています。USER_PERSONALIZATION または PERSONALIZED_RANKING レシピを使用していて、ユーザーのイベントを記録すると、インポート後約 15 分以内に再トレーニングを行わずにレコメンデーションの関連性が高くなる可能性があります。イベントが確実に考慮されるように、インポート後 15 分以上待ってからバッチ推論ジョブを開始することをお勧めします。その他のレシピについては、インタラクションデータのないユーザーへのバッチレコメンデーションに影響を与えるために、ストリーミングイベント用に新しいソリューションバージョンを作成する必要があります。

  • 新しいアイテム: User-Personalization-v2 と User-Personalization では、バッチ推論ジョブを作成し、ソリューション用に完全にトレーニングされた最新のソリューションバージョンを指定すると、Amazon Personalize はソリューションバージョンを自動的に更新して、探索を伴うレコメンデーションに新しいアイテムを含めます。最新のソリューションバージョンを指定しないと、更新は行われません。その他のレシピについては、レコメンデーションに含める新しいアイテム用に新しいソリューションバージョンを作成する必要があります。探索の詳細については、「探査」を参照してください。

バッチワークフロー

バッチワークフローは次のとおりです。

  1. 入力データを JSON 形式で準備して Amazon S3 バケットにアップロードします。入力データの形式は、使用するレシピによって異なります。バッチレコメンデーション用の入力データを準備します。 を参照してください。

  2. フォルダまたは別の Amazon S3 バケットのいずれかで、出力データ用に個別の場所を作成します。

  3. バッチ推論ジョブを作成します。バッチ推論ジョブの作成 を参照してください。

  4. バッチ推論が完了したら、Amazon S3 の出力場所からアイテムのレコメンデーションを取得します。

ガイドラインと要件

バッチレコメンデーションを取得するためのガイドラインと要件は次のとおりです。

  • Amazon Personalize の IAM サービスロールには、Amazon S3 バケットを読み取り、ファイルを追加するための許可が必要です。許可の付与については、「バッチワークフロー用のサービスロールのポリシー」を参照してください。バケットの許可の詳細については、「Amazon Simple Storage Service デベロッパーガイド」の「ユーザーポリシーの例」を参照してください。 AWS Key Management Service (AWS KMS) を暗号化に使用する場合は、Amazon Personalize と Amazon Personalize の IAM サービスロールに、 キーを使用するためのアクセス許可を付与する必要があります。詳細については、「AWS KMS キーを使用するアクセス許可を Amazon Personalize に付与する」を参照してください。

  • バッチ推論ジョブを作成する前に、カスタムソリューションとソリューションバージョンを作成する必要があります。ただし、Amazon Personalize のキャンペーンを作成する必要はありません。ドメインデータセットグループを作成した場合は、引き続きカスタムリソースを作成できます。

  • テーマ付きバッチレコメンデーションを生成するには、Similar-Items レシピを使用する必要があります。また、テキストデータとアイテムタイトルデータを含むアイテムデータセットが必要です。テーマ別レコメンデーションの詳細については、「Content Generator のテーマ付きバッチレコメンデーション」を参照してください。

  • 入力データは、「ユーザーセグメントの入力データを準備しています。」で説明されている形式にする必要があります。

  • Trending-Now レシピまたは Next-Best-Action レシピではバッチレコメンデーションを取得することはできません。

  • プレースホルダーパラメータを含むフィルタを使用する場合は、filterValues オブジェクトの入力データにパラメータの値を含める必要があります。詳細については、「入力 JSON にフィルター値を指定します。」を参照してください。

  • 出力データには入力データとは異なるの場所 (フォルダまたは別の Amazon S3 バケット) を使用することをお勧めします。

  • バッチレコメンデーションは、リアルタイムレコメンデーションとまったく同じではない場合があります。これは、バッチ推論ジョブの完了に時間がかかり、ジョブの開始の 15 分前にのみ利用可能なデータを考慮するためです。

バッチワークフローのスコアリング

バッチレコメンデーションには、次のようなスコアが含まれます。