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

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

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

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

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

  2. 準備您的輸入資料並將其上傳至 Amazon S3,如 準備批次建議的輸入資料或 中所述準備用戶細分的輸入數據。如果您的篩選條件使用預留位置參數,您必須新增其他filterValues物件。如需詳細資訊,請參閱在輸入中提供篩選條件值 JSON。如果您的篩選條件不使用預留位置參數,您的輸入資料可以遵循 中的範例 批次推論任務輸入和輸出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\""}}

如需依配方的批次推論任務輸入資料範例,請參閱 批次推論任務輸入和輸出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"}} )