

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

# 使用自定义资源获取批量用户细分
<a name="getting-user-segments"></a>

 要获取*用户细分*，您可以使用批量细分作业。*批量细分作业* 是一种工具，可从 Amazon S3 存储桶导入您的批量输入数据，并使用通过 USER\$1SEGMENTATION 食谱训练的解决方案版本为每一行输入数据生成*用户细分*。

根据食谱，输入数据是 JSON 格式的物品列表或物品元数据属性列表。对于物品属性，您的输入数据可以包含基于多个元数据属性创建用户细分的表达式。批量细分作业将用户细分导出到输出 Amazon S3 存储桶。根据每个用户与您输入数据中物品交互的概率，按降序对每个用户细分进行排序。

在生成用户细分时，Amazon Personalize 会考虑来自批量和单独导入的数据集中的数据：
+ 对于批量数据，Amazon Personalize 仅使用上次完整解决方案版本训练中提供的批量数据生成细分。而且，它仅使用您以 FULL（替换现有数据）导入模式导入的批量数据。
+ 对于单独数据导入操作的数据，Amazon Personalize 使用上次完整解决方案版本训练中提供的数据生成用户细分。要让较新的记录影响用户细分，请创建新解决方案版本，然后创建批量细分作业。

生成用户细分的工作原理如下：

1.  准备好您的输入数据并以 JSON 格式将其上传到 Amazon S3 存储桶。输入数据的格式取决于您使用的食谱和要创建的作业。请参阅[为用户细分准备输入数据](prepare-input-data-user-segment.md)。

1.  为输出数据创建一个单独的位置，可以是不同的文件夹，也可以是不同的 Amazon S3 存储桶。

1.  创建批量细分作业。请参阅[使用批量细分作业来获取用户细分](creating-batch-seg-job.md)。

1.  批量细分作业完成后，从 Amazon S3 的输出位置检索用户细分。

**Topics**
+ [获取用户细分的准则和要求](#batch-seg-permissions-req)
+ [为用户细分准备输入数据](prepare-input-data-user-segment.md)
+ [使用批量细分作业来获取用户细分](creating-batch-seg-job.md)
+ [批量细分作业输出格式示例](batch-segment-job-output-examples.md)

## 获取用户细分的准则和要求
<a name="batch-seg-permissions-req"></a>

以下是获取批量细分的指南和要求：
+  您必须使用 USER\$1SEGMENTATION 食谱。
+ 您的 Amazon Personalize IAM 服务角色需要权限来读取文件并将其添加到您的 Amazon S3 存储桶。有关授予权限的信息，请参阅[批量工作流程的服务角色策略](granting-personalize-s3-access.md#role-policy-for-batch-workflows)。有关存储桶权限的更多信息，请参阅《Amazon Simple Storage Service 开发人员指南》**中的[用户策略示例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-policies-s3.html)。

   如果您使用 AWS Key Management Service (AWS KMS) 进行加密，则必须向 Amazon Personalize 和 Amazon Personalize IAM 服务角色授予使用您密钥的权限。有关更多信息，请参阅 [授予 Amazon Personalize 使用您的 AWS KMS 密钥的权限](granting-personalize-key-access.md)。
+  在创建批量推理作业之前，必须创建自定义解决方案和解决方案版本。不过，您无需创建 Amazon Personalize 市场活动。如果您创建了域数据集组，则仍然可以创建自定义资源。
+  输入数据的格式必须按[为用户细分准备输入数据](prepare-input-data-user-segment.md)所述来设置。
+  如果您使用 Item-Attribute-Affinity 配方，则输入数据中的属性不能包含非结构化文本物品元数据，例如产品描述。
+ 如果您使用带有占位符参数的筛选器，则必须在 `filterValues` 对象的输入数据中包含参数的值。有关更多信息，请参阅 [在您的输入 JSON 中提供筛选器值](filter-batch.md#providing-filter-values)。
+ 我们建议您使用与输入数据不同的位置来存储输出数据（文件夹或其他 Amazon S3 存储桶）。