篩選批次建議和使用者區段 (自訂資源) - Amazon Personalize

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

篩選批次建議和使用者區段 (自訂資源)

篩選批次建議和使用者區段的運作方式幾乎與篩選即時建議相同。它遵循 取得批次項目建議或 中所述的相同工作流程取得批次使用者區段。若要篩選批次建議或使用者區段,請執行下列動作:

  1. 建立篩選條件,就像即時建議一樣。如需詳細資訊,請參閱篩選即時建議

  2. 準備您的輸入資料,並將其上傳至 Amazon S3,如 準備批次建議的輸入資料或 所述準備用戶細分的輸入數據。如果您的篩選條件使用預留位置參數,您必須新增其他filterValues物件。如需詳細資訊,請參閱在輸入中提供篩選條件值 JSON。如果您的篩選條件未使用預留位置參數,則輸入資料可以遵循 中的範例 Batch 推論工作輸入與輸出範例 JSON Batch 區段工作輸入和輸出 JSON 範例

  3. 為您的輸出資料建立個別位置,可以是資料夾或不同的 Amazon S3 儲存貯體。

  4. 建立批次推論任務批次區段任務 。當您建立任務時,請指定篩選條件的 Amazon Resource Name (ARN)。

  5. 當批次推論或批次區段任務完成時,請從 Amazon S3 中的輸出位置擷取建議或使用者區段。

在輸入中提供篩選條件值 JSON

對於具有預留位置參數的篩選條件,例如 $GENRE,您必須提供輸入 中filterValues物件中參數的值JSON。對於filterValues物件,每個索引鍵都是參數名稱。每個值都是您要作為參數傳遞的條件。以逸出的引號包圍每個值:"filterValues":{"GENRES":"\"drama\""}。對於多個值,請以逗號分隔每個值: "filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}

批次推論任務輸入JSON範例

以下是批次推論任務 JSON 輸入檔案前幾行的範例。此範例包含 filterValues 物件。GENRES 索引鍵對應至篩選條件表達式中的$GENRES預留位置。此範例中的任務使用使用者個人化配方。對於 RELATED_ITEMS 配方,請提供 itemId而非 userId。對於 PERSONALIZED_RANKING 配方,請提供 userID 和 itemList。

{"userId": "5","filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}} {"userId": "3","filterValues":{"GENRES":"\"horror\",\"comedy\""}} {"userId": "34","filterValues":{"GENRES":"\"drama\""}}

如需依配方的批次推論任務輸入資料範例,請參閱 Batch 推論工作輸入與輸出範例 JSON。您可以使用這些範例作為起點,並從上述範例新增filterValues物件。

批次區段任務輸入JSON範例

以下是JSON輸入檔案的前幾行範例,其中包含批次區段任務 的篩選條件值。GENRES 索引鍵對應至篩選條件表達式中的$GENRES預留位置。

{"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\"","filterValues":{"COUNTRY":"\"Japan\""}} {"itemAttributes": "ITEMS.genres = \"Horror\"","filterValues":{"COUNTRY":"\"United States\"\""}} {"itemAttributes": "ITEMS.genres = \"Action\" AND ITEMS.genres = \"Adventure\"","filterValues":{"COUNTRY":"\"England\""}}

如需依配方的批次推論任務輸入資料範例,請參閱 Batch 區段工作輸入和輸出 JSON 範例。您可以使用這些範例作為起點,並從上述範例新增filterValues物件。

篩選批次工作流程 (主控台)

若要使用 Amazon Personalize 主控台篩選批次工作流程,您可以建立篩選條件,然後建立批次推論任務或批次區段任務,然後選擇篩選條件。如需完整的逐步說明,請參閱 建立批次推論工作 (主控台)建立批次區段工作 (主控台)

篩選批次工作流程 (AWS SDKs)

若要使用 篩選批次建議 AWS SDKs,請建立篩選條件,並在 CreateBatchInferenceJobCreateBatchSegmentJob請求中包含 FilterArn 參數。

下列程式碼說明如何使用 建立具有篩選條件的批次推論任務 AWS SDK for Python (Boto3)。我們建議您使用不同的位置來輸出資料 (資料夾或不同的 Amazon S3 儲存貯體)。如需所有欄位的完整說明,請參閱 建立批次推論工作 ()AWS SDKs

import boto3 personalize = boto3.client("personalize") personalize_rec.create_batch_inference_job ( solutionVersionArn = "Solution version ARN", jobName = "Batch job name", roleArn = "IAM role ARN", filterArn = "Filter ARN", jobInput = {"s3DataSource": {"path": "S3 input path"}}, jobOutput = {"S3DataDestination": {"path": "S3 output path"}} )