本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为用户细分准备输入数据
批量细分作业使用解决方案版本,根据您在输入 JSON 文件中提供的数据进行用户细分。在获取用户细分之前,您必须准备好 JSON 文件并将其上传到 Amazon S3 存储桶。我们建议您在 Amazon S3 存储桶中创建输出文件夹,或者使用单独的输出 Amazon S3 存储桶。然后,您可以使用相同的输入数据位置运行多个批量推理作业。
如果您使用带有占位符参数的筛选器(如 $GENRE
),则必须在输入 JSON 的 filterValues
对象中提供参数的值。有关更多信息,请参阅 在输入中提供筛选器值 JSON。
准备和导入数据
-
根据您的解决方案使用的食谱,设置批量输入数据的格式。用新行分隔输入数据元素。您的输入数据是 itemIds 列表 (Item-Affinity) 或物品属性列表 (Item-Attribute-Affinity)。
-
对于物品属性,输入数据可以包括带有
AND
运算符的逻辑表达式,用于为每个查询获取多个物品或属性的用户。有关更多信息,请参阅 为物品属性关联配方指定物品属性。 -
对于项目属性,使用该
\
字符对输入数据中的任何特殊字符以及单引号或双引号进行转义。 -
有关这两种配方的输入数据示例,请参阅批量细分作业输入和输出 JSON 示例。
-
-
将您的输入 JSON 上传到 Amazon S3 存储桶中的输入文件夹。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用拖放功能上传文件和文件夹。
-
为输出数据创建一个单独的位置,可以是文件夹,也可以是其他 Amazon S3 存储桶。通过为输出 JSON 创建单独的位置,您可以使用相同的输入数据位置运行多个批量细分作业。
准备好输入数据并将其上传到 Amazon S3 存储桶后,即可使用批量细分作业生成用户细分。有关更多信息,请参阅 使用批量细分作业获取用户细分。
为物品属性关联配方指定物品属性
如果您使用商品属性关联配方,则您的输入数据是物品属性列表。您可以混合不同列的元数据。例如,一行可能是数字列,下一行可能是类别列。您不能使用非结构化文本项目元数据作为项目属性。
您的输入项目元数据可以包含带有AND
运算符的逻辑表达式,用于获取多个属性的用户细分。例如,一行输入数据可能是 {"itemAttributes": "ITEMS.genres = \"Comedy\" AND ITEMS.genres = \"Action\""}
或 {"itemAttributes":
"ITEMS.genres = "\Comedy\" AND ITEMS.audience = "\teen\""}
。
当您将两个属性与 AND
运算符组合在一起时,您会根据用户交互历史记录创建用户细分,其中包含更有可能与同时具有这两个属性的物品进行交互的用户。与筛选器表达式(使用 IN
运算符表示字符串相等)不同,批量细分输入表达式仅支持字符串匹配的相等 =
符号。
批量细分作业输入和输出 JSON 示例
对于批量细分作业,您的输入数据必须是 itemIds 列表(Item-Affinity 食谱)或物品属性列表 (Item-Attribute-Affinity)。每行输入数据都是一个单独的推理查询。根据每个用户与您库存物品交互的概率,按降序对每个用户细分进行排序。
如果您使用带有占位符参数的筛选器(如 $GENRE
),则必须在输入 JSON 的 filterValues
对象中提供参数的值。有关更多信息,请参阅 在输入中提供筛选器值 JSON。
以下是按食谱组织的批量细分作业格式正确的 JSON 输入和输出示例。
Item-Affinity
Item-Attribute-Affinity