本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
筛选批量建议和用户细分(自定义资源)
筛选批量建议和用户细分的工作方式与筛选实时建议几乎相同。它遵循获取批量商品推荐或中描述的工作流程获取批量用户细分。要筛选批量建议或用户细分,请执行以下操作:
-
创建筛选器,就像针对实时建议创建筛选器一样。有关更多信息,请参阅 筛选实时建议。
-
准备您的输入数据并将其上传到 Amazon S3,如为批量建议准备输入数据或为用户细分准备输入数据中所述。如果您的筛选器使用占位符参数,则必须添加其他
filterValues
对象。有关更多信息,请参阅 在输入中提供筛选器值 JSON。如果您的筛选器不使用占位符参数,则您的输入数据可以遵循Batch 推理作业输入和输出示例 JSON 批量细分作业输入和输出 JSON 示例中的示例 -
为输出数据创建一个单独的位置,可以是文件夹,也可以是其他 Amazon S3 存储桶。
-
批量推理或批量细分作业完成后,从 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,请创建一个筛选条件并在CreateBatchInferenceJob或CreateBatchSegmentJob请求中包含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
"}} )