翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
バッチ推論ジョブの作成
バッチ推論ジョブを作成して、Amazon S3 からの入力データに基づいてユーザー向けのバッチアイテムのレコメンデーションを取得します。入力データは、 JSON形式のユーザーまたはアイテム (またはその両方) のリストにすることができます。バッチ推論ジョブは、Amazon Personalize コンソール、 AWS Command Line Interface (AWS CLI)、または を使用して作成できます AWS SDKs。
バッチ推論ジョブを作成するときは、入力場所と出力場所への Amazon S3 パスを指定します。Amazon S3 はプレフィックスベースです。入力データの場所にプレフィックスを指定すると、Amazon Personalize はそのプレフィックスに一致するすべてのファイルを入力データとして使用します。例えば、s3://amzn-s3-demo-bucket/folderName
を指定し、バケットにもパスが s3://amzn-s3-demo-bucket/folderName_test
のフォルダがある場合、Amazon Personalize は両方のフォルダのすべてのファイルを入力データとして使用します。特定のフォルダ内のファイルのみを入力データとして使用するには、Amazon S3 パスの末尾に /
のようなプレフィックス区切り文字を付けます: s3://amzn-s3-demo-bucket/folderName/
Amazon S3 がオブジェクトを整理する方法の詳細については、「オブジェクトの整理、一覧表示、操作」を参照してください。
許可の要件、レコメンデーションスコアリング、入力データの準備とインポートなど、Amazon Personalize のバッチワークフローの詳細については、「カスタムリソースを使用したバッチアイテムのレコメンデーションの取得」を参照してください。
バッチ推論ジョブの作成 (コンソール)
バッチレコメンデーション用の入力データを準備します。 を完了すると、バッチ推論ジョブを作成する準備が整います。この手順は、ソリューションとソリューションバージョン (トレーニング済みモデル) を既に作成していることを前提としています。
バッチ推論ジョブを作成するには (コンソール)
-
https://console.aws.amazon.com/personalize/ホーム
で Amazon Personalize コンソールを開き、アカウントにサインインします。 -
[データセットグループ] のページで、データセットグループを選択します。
-
ナビゲーションペインの [カスタムリソース] で、[バッチ推論ジョブ] を選択します。
-
[Create batch inference job (バッチ推論ジョブの作成)] を選択します。
-
バッチ推論ジョブタイプを選択します。
-
テーマなしでアイテムのレコメンデーションを生成するには、[アイテムのレコメンデーション] を選択します。
-
Similar-Items レシピを使用し、類似アイテムのグループにわかりやすいテーマを追加する場合は、[Content Generator のテーマ別レコメンデーション] を選択します。テーマを生成するには、アイテム名データとテキストデータを含むアイテムデータセットが必要です。詳細については、「Content Generator のテーマ付きバッチレコメンデーション」を参照してください。
-
-
[Batch inference job details (バッチ推論ジョブ詳細)] の [Batch inference job name (バッチ推論ジョブ名)] で、バッチ推論ジョブの名前を指定します。
-
[Solution] (ソリューション) で、ソリューションを選択してから、レコメンデーションの生成に使用する [Solution version ID] (ソリューションバージョン ID) を選択します。
-
[Number of results] (結果の数) で、オプションで、入力データの各行についてのレコメンデーション数を指定します。デフォルトは 25 です。
-
バッチジョブでテーマ付きレコメンデーションが生成される場合は、[テーマ別レコメンデーションの詳細] で、アイテムデータセット内のアイテムの名前またはタイトルを含む列を選択します。このデータは、より関連性の高いテーマを作成するのに役立ちます。詳細については、「Content Generator のテーマ付きバッチレコメンデーション」を参照してください。
-
[入力ソース] で、入力ファイルへの Amazon S3 パスを指定します。
次の構文を使用します:
s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json
入力データは、ソリューションで使用するレシピに適した形式である必要があります。入力データの例については、「バッチ推論ジョブの入力と出力JSONの例」を参照してください。
-
復号キーで、バケット暗号化に独自の AWS KMS キーを使用する場合は、キーの Amazon リソースネーム (ARN) を指定します。Amazon Personalize は、キーを使用する許可を持っている必要があります。許可の付与の詳細については、「AWS KMS キーを使用するアクセス許可を Amazon Personalize に付与する」を参照してください。
-
[出力先] で、出力場所へのパスを指定します。出力データには別の場所 (フォルダまたは別の Amazon S3 バケット) を使用することをお勧めします。
次の構文を使用します:
s3://amzn-s3-demo-bucket/<output folder name>/
-
暗号化キーで、暗号化に独自の AWS KMS キーを使用する場合は、キーARNの を指定します。Amazon Personalize は、キーを使用する許可を持っている必要があります。許可の付与の詳細については、「AWS KMS キーを使用するアクセス許可を Amazon Personalize に付与する」を参照してください。
-
IAM サービスロールで、セットアップ中に Amazon Personalize 用に作成したIAMサービスロールを選択します。このロールには、入力および出力の Amazon S3 バケットへの読み取りおよび書き込みアクセスがそれぞれ必要です。
-
[フィルター] では、フィルターを選択し、バッチレコメンデーションにフィルターを適用することもできます。フィルターでプレースホルダーパラメータを使用する場合は、パラメータの値が入力 に含まれていることを確認してくださいJSON。詳細については、「入力でのフィルター値の提供 JSON」を参照してください。
-
[タグ] には、オプションで任意のタグを追加します。Amazon Personalize リソースのタグ付けの詳細については、「Amazon Personalize リソースのタグ付け」を参照してください。
-
[Create batch inference job (バッチ推論ジョブの作成)] を選択します。バッチ推論ジョブの作成が開始され、[Batch inference jobs (バッチ推論ジョブ)] ページが開いて、[Batch inference job detail (バッチ推論ジョブ詳細)] セクションが表示されます。
バッチ推論ジョブのステータスが [Active] (アクティブ) に変わると、指定した出力 Amazon S3 バケットからジョブの出力を取得できます。出力ファイルの名前は
という形式になります。input-name
.out
バッチ推論ジョブの作成 (AWS CLI)
バッチレコメンデーション用の入力データを準備します。 を完了すると、CreateBatchInferenceJob 操作を使用してバッチ推論ジョブを作成する準備が整います。
バッチ推論ジョブの作成
create-batch-inference-job
コマンドを使用して、バッチ推論ジョブを作成できます。ジョブ名を指定し、 をソリューションバージョンの Amazon リソースネーム (ARN) Solution version ARN
に置き換え、 をセットアップ中に Amazon Personalize 用に作成したIAMサービスロールIAM service role ARN
ARNの に置き換えます。このロールには、入力および出力の Amazon S3 バケットへの読み取りおよび書き込みアクセスがそれぞれ必要です。必要に応じて、レコメンデーションをフィルタリングARNするフィルターを指定します。フィルターでプレースホルダーパラメータを使用する場合は、パラメータの値が入力 に含まれていることを確認してくださいJSON。詳細については、「バッチレコメンデーションとユーザーセグメントのフィルタリング (カスタムリソース)」を参照してください。
S3 input path
と S3 output path
を、入力ファイルへの Amazon S3 パスと出力場所に置き換えます。出力データには別の場所 (フォルダまたは別の Amazon S3 バケット) を使用することをお勧めします。入力および出力の場所には、s3://amzn-s3-demo-bucket/<folder
name>/<input JSON file name>.json
および s3://amzn-s3-demo-bucket/<output folder
name>/
の構文を使用します。
この例には、オプションの User-Personalization レシピ固有の itemExplorationConfig
ハイパーパラメータ (explorationWeight
および explorationItemAgeCutOff
) が含まれています。オプションで、explorationWeight
および explorationItemAgeCutOff
の値を含めて、探索を設定します。詳細については、「User-Personalization レシピ」を参照してください。
aws personalize create-batch-inference-job \ --job-name
Batch job name
\ --solution-version-arnSolution version ARN
\ --filter-arnFilter ARN
\ --job-input s3DataSource={path=s3://S3 input path
} \ --job-output s3DataDestination={path=s3://S3 output path
} \ --role-arnIAM service role ARN
\ --batch-inference-job-config "{\"itemExplorationConfig\":{\"explorationWeight\":\"0.3
\",\"explorationItemAgeCutOff\":\"30
\"}}"
テーマを生成するバッチ推論ジョブの作成
類似アイテムのテーマを生成するには、Similar-Items レシピを使用し、アイテムデータセットにテキストフィールドとアイテム名データの列が必要です。テーマ付きレコメンデーションの詳細については、「Content Generator のテーマ付きバッチレコメンデーション」を参照してください。
次のコードは、テーマ付きレコメンデーションを生成するバッチ推論ジョブを作成します。batch-inference-job-mode
は THEME_GENERATION
に設定したままにしておきます。COLUMN_NAME
をアイテム名データが格納されている列の名前に置き換えます。
aws personalize create-batch-inference-job \ --job-name
Themed batch job name
\ --solution-version-arnSolution version ARN
\ --filter-arnFilter ARN
\ --job-input s3DataSource={path=s3://S3 input path
} \ --job-output s3DataDestination={path=s3://S3 output path
} \ --role-arnIAM service role ARN
\ --batch-inference-job-mode THEME_GENERATION \ --theme-generation-config "{\"fieldsForThemeGeneration\": {\"itemName\":\"COLUMN_NAME
\"}}"
バッチ推論ジョブの作成 (AWS SDKs)
バッチレコメンデーション用の入力データを準備します。 を完了すると、CreateBatchInferenceJob 操作を使用してバッチ推論ジョブを作成する準備が整います。
バッチ推論ジョブの作成
次のコードを使用して、バッチ推論ジョブを作成できます。ジョブ名、ソリューションバージョンの Amazon リソースネーム (ARN)、セットアップ中に Amazon Personalize 用に作成したIAMサービスロールARNの を指定します。このロールには、入力および出力の Amazon S3 バケットへの読み取りおよび書き込みアクセスが必要です。
出力データには別の場所 (フォルダまたは別の Amazon S3 バケット) を使用することをお勧めします。入力および出力の場所には、s3:/amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json
および s3://amzn-s3-demo-bucket/<output folder name>/
の構文を使用します。
numResults
には、入力データの各行に Amazon Personalize に予測させたいアイテムの数を指定します。必要に応じて、レコメンデーションをフィルタリングARNするフィルターを指定します。フィルターでプレースホルダーパラメータを使用する場合は、パラメータの値が入力 に含まれていることを確認してくださいJSON。詳細については、「バッチレコメンデーションとユーザーセグメントのフィルタリング (カスタムリソース)」を参照してください。
バッチジョブの処理が完了するまでに時間がかかる場合があります。DescribeBatchInferenceJob を呼び出し、入力パラメータとして batchRecommendationsJobArn
を渡すことで、ジョブのステータスを確認できます。を呼び出すことで、 AWS 環境内のすべての Amazon Personalize バッチ推論ジョブを一覧表示することもできますListBatchInferenceJobs。
テーマを生成するバッチ推論ジョブの作成
類似アイテムのテーマを生成するには、Similar-Items レシピを使用し、アイテムデータセットにテキストフィールドとアイテム名データの列が必要です。テーマ付きレコメンデーションの詳細については、「Content Generator のテーマ付きバッチレコメンデーション」を参照してください。
次のコードは、テーマ付きレコメンデーションを生成するバッチ推論ジョブを作成します。batchInferenceJobMode
は "THEME_GENERATION"
に設定したままにしておきます。COLUMNN_NAME
をアイテム名データが格納されている列の名前に置き換えます。
import boto3 personalize_rec = boto3.client(service_name='personalize') personalize_rec.create_batch_inference_job ( solutionVersionArn = "
Solution version ARN
", jobName = "Batch job name
", roleArn = "IAM service role ARN
", filterArn = "Filter ARN
", batchInferenceJobMode = "THEME_GENERATION", themeGenerationConfig = { "fieldsForThemeGeneration": { "itemName": "COLUMN_NAME
" } }, jobInput = {"s3DataSource": {"path": "s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json
"}}, jobOutput = {"s3DataDestination": {"path": "s3://amzn-s3-demo-bucket/<output folder name>/
"}} )