本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用批量细分作业来获取用户细分
如果您使用了 USER _ SEGMENTATION 配方,则可以创建批量细分作业以获取包含解决方案版本的用户细分。根据每个用户与您库存物品交互的概率,按降序对每个用户细分进行排序。根据配方,您的输入数据必须是JSON格式的项目列表 (Item-Affinity 食谱) 或项目属性 (Item-Attribute-Affinity 食谱)。您可以使用 Amazon Personalize 控制台 Amazon Command Line Interface (Amazon CLI)或创建批量细分任务 Amazon 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 如何组织对象的更多信息,请参阅组织、列出和处理您的对象。
创建批量细分作业(控制台)
完成为批量建议准备输入数据后,就可以创建批量细分作业了。此过程假设您已经使用 USER _ SEGEMENTATION 配方创建了解决方案和解决方案版本(经过训练的模型)。
创建批量细分作业(控制台)
-
在https://console.aws.amazon.com/personalize/家
中打开 Amazon Personalize 控制台并登录您的账户。 -
在数据集组页面上,选择您的数据集组。
-
在导航窗格中选择批量细分作业,然后选择创建批量细分作业。
-
在批量细分作业详细信息 中,对于批量细分作业名称,为您的批量细分作业指定一个名称。
-
对于解决方案,选择解决方案,然后选择要用于生成建议的解决方案版本 ID。只有在使用 USER _ SEGEMENTATION 配方时,才能创建批量分段作业。
-
对于用户数量,可以选择指定 Amazon Personalize 为每个用户细分生成的用户数量。默认值为 25。最大值为 500 万。
-
对于输入源,指定输入文件的 Amazon S3 路径,或者使用浏览 S3 选择您的 Amazon S3 存储桶。
使用以下语法:
s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json
您的输入数据必须采用与您的解决方案使用的食谱对应的正确格式。有关输入数据的示例,请参阅批量细分作业输入和输出 JSON 示例。
-
对于输出目标,指定输出位置的路径,或使用浏览 S3 选择您的 Amazon S3 存储桶。我们建议使用不同的输出数据位置(文件夹或其他 Amazon S3 存储桶)。
使用以下语法:
s3://amzn-s3-demo-bucket/<output folder name>/
-
对于IAM角色,请选择以下选项之一:
-
选择创建和使用新的服务角色,然后输入服务角色名称以创建新角色,或者
-
如果您已经创建了具有正确权限的角色,请选择使用现有服务角色并选择该IAM角色。
您使用的角色必须分别对您的输入和输出 Amazon S3 存储桶具有读写权限。
-
-
对于筛选器配置,可以选择一个过滤器,将筛选器应用于用户细分。如果您的过滤器使用占位符参数,请确保这些参数的值包含在您的输入JSON中。有关更多信息,请参阅 在输入中提供筛选器值 JSON。
-
对于标签,可以选择添加任何标签。有关标记 Amazon Personalize 资源的更多信息,请参阅为 Amazon Personalize 资源添加标签。
-
选择创建批量细分作业。此时将开始创建批量细分作业,批量细分作业 页面将显示,并显示批量细分作业详细信息 部分。
-
当批量细分作业的状态更改为活动 时,您可以从指定的输出 Amazon S3 存储桶中检索作业的输出。输出文件的名称将采用
格式。input-name
.out
创建批量细分作业 (Amazon CLI)
完成为批量建议准备输入数据后,就可以使用以下 create-batch-segment-job
代码创建批量细分作业了。指定任务名称,替换Solution version ARN
为解决方案版本的亚马逊资源名称 (ARN),然后用您在设置期间为 Amazon Personalize 创建的IAM服务角色替换。IAM service role ARN
ARN此角色必须分别对您的输入和输出 Amazon S3 存储桶具有读写权限。对于 num-results
,指定您希望 Amazon Personalize 为每行输入数据预测的用户数量。默认值为 25。最大值为 500 万。(可选)提供 filter-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>/
。
aws personalize create-batch-segment-job \ --job-name
Job name
\ --solution-version-arnSolution version ARN
\ --num-resultsThe number of predicted users
\ --filter-arnFilter ARN
\ --job-input s3DataSource={path=s3://S3 input path
} \ --job-output s3DataDestination={path=s3://S3 output path
} \ --role-arnIAM service role ARN
{ "batchSegmentJobArn": "arn:aws:personalize:us-west-2:acct-id:batch-segment-job/batchSegmentJobName" }
创建批量细分作业 (Amazon SDKs)
完成为批量建议准备输入数据后,就可以通过 CreateBatchSegmentJob
操作创建批量细分作业了。以下代码展示了如何创建批量细分作业。为任务命名,指定要使用的解决方案版本的亚马逊资源名称 (ARN),为您的 Amazon Personalize IAM 角色指定,并指定您的输入文件和输出位置的 Amazon S3 路径。ARN您的IAM服务角色必须分别拥有对您的输入和输出 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 为每行输入数据预测的用户数量。默认值为 25。最大值为 500 万。(可选)提供 filterArn
来筛选用户细分。如果您的过滤器使用占位符参数,请确保这些参数的值包含在您的输入JSON中。有关更多信息,请参阅 筛选批量建议和用户细分(自定义资源)。
处理批处理作业可能需要一段时间才能完成。您可以通过调用 DescribeBatchSegmentJob 和传递 batchSegmentJobArn
作为输入参数来检查作业的状态。您也可以致电列出您 Amazon 环境中的所有 Amazon Personalize 批量细分任务ListBatchSegmentJobs。