筛选批量建议和用户细分(自定义资源) - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

筛选批量建议和用户细分(自定义资源)

筛选批量建议和用户细分的工作方式与筛选实时建议几乎相同。它遵循获取批量商品推荐或中描述的工作流程获取批量用户细分。要筛选批量建议或用户细分,请执行以下操作:

  1. 创建筛选器,就像针对实时建议创建筛选器一样。有关更多信息,请参阅 筛选实时建议

  2. 准备您的输入数据并将其上传到 Amazon S3,如为批量建议准备输入数据为用户细分准备输入数据中所述。如果您的筛选器使用占位符参数,则必须添加其他 filterValues 对象。有关更多信息,请参阅 在输入中提供筛选器值 JSON。如果您的筛选器不使用占位符参数,则您的输入数据可以遵循Batch 推理作业输入和输出示例 JSON 批量细分作业输入和输出 JSON 示例中的示例

  3. 为输出数据创建一个单独的位置,可以是文件夹,也可以是其他 Amazon S3 存储桶。

  4. 创建批量推理作业批量细分作业。创建任务时,请指定筛选条件的 Amazon 资源名称 (ARN)。

  5. 批量推理或批量细分作业完成后,从 Amazon S3 的输出位置检索建议或用户细分。

在输入中提供筛选器值 JSON

对于带有占位符参数的过滤器(例如)$GENRE,您必须在输入JSON中提供filterValues对象中参数的值。对于 filterValues 对象,每个键都是一个参数名称。每个值都是您作为参数传递的标准。用转义引号将每个值括起来:"filterValues":{"GENRES":"\"drama\""}。对于多个值,用英文逗号分隔每个值:"filterValues":{"GENRES":"\"horror\",\"comedy\",\"drama\""}

Batch 推理作业输入示例 JSON

以下是批处理推理作业JSON输入文件前几行的示例。该示例包括 filterValues 对象。GENRES 键对应于筛选器表达式中的 $GENRES 占位符。此示例中的作业使用 User-Personalization 食谱。对于 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 对象。

Batch 分段作业输入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\""}}

有关按食谱进行批量推理作业输入数据的更多示例,请参阅批量细分作业输入和输出 JSON 示例。您可以使用这些示例作为起点并添加上面示例中的 filterValues 对象。

筛选批量工作流程(控制台)

要使用 Amazon Personalize 控制台筛选批量工作流程,您需创建筛选器,然后创建批量推理作业或批量细分作业,并选择筛选器。有关完整的分步说明,请参阅创建批量推理作业(控制台)创建批量细分作业(控制台)

筛选批处理工作流程 (Amazon SDKs)

要使用筛选批量建议 Amazon SDKs,请创建一个筛选条件并在CreateBatchInferenceJobCreateBatchSegmentJob请求中包含FilterArn参数。

以下代码展示了如何使用 Amazon SDK for Python (Boto3)创建带筛选器的批量推理作业。我们建议使用不同的输出数据位置(文件夹或其他 Amazon S3 存储桶)。有关所有字段的完整说明,请参阅创建批量推理作业 (Amazon 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"}} )