数据集和架构 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

数据集和架构

Amazon Personalize数据集是数据的容器。有三种类型的数据集:

  • Users— 该数据集存储有关您的用户的元数据。这可能包括年龄、性别或会员资格等信息,这些信息可能是个性化系统中的重要信号。

  • 项目— 此数据集存储有关您的物品的元数据。这可能包括如价格、SKU 类型或可用性等信息。

  • 交互作用— 此数据集用于保存来自用户和物品(物品)之间的交互中保存的历史数据和实时数据。在 “Amazon Personalize” 中,一个相互作用是一个事件你记录下来然后作为训练数据导入。对于域数据集组和自定义数据集组,您至少必须创建一个 Interactions 数据集。

对于所有用例(域数据集组)和配方(自定义数据集组),您的互动数据必须具有以下内容:

  • 至少有 1000 条来自与您目录中商品互动的用户的互动记录。这些交互可以来自批量导入或流媒体事件,或两者兼而有之。

  • 至少 25 个唯一用户 ID,每个用户至少有 2 次互动。

域数据集组和自定义数据集组只能拥有每种类型的数据集中的一个。在创建数据集之前,您需要为该数据集定义架构。一个纲要告知 Amazon Personalize 您的数据结构,并允许Amazon Personalize 解析数据。架构具有名称键,其值必须与数据集类型相匹配。创建架构后,您无法更改架构。

对于域数据集组,每种数据集类型都有一个包含必填字段和保留关键字的默认架构。每次创建数据集时,您可以使用现有的域架构,也可以通过修改现有的默认架构来创建新的域架构。使用默认架构作为指南,确定要为您的域导入哪些数据。一旦定义了架构并创建了数据集,就无法对架构进行更改。

如果您批量导入数据,数据必须以逗号分隔值 (CSV) 格式存储。CSV 文件的第一行必须包含列标题,这些标题必须与您的架构相匹配。

架构格式要求

在为域数据集组或自定义数据集组中的任一数据集创建架构时,必须遵循以下准则:

  • 您必须在中定义架构Avro 格式. 有关我们支持的 Avro 数据类型的信息,请参阅架构数据类型.

  • 架构字段可以按任意顺序出现,但它们必须与 CSV 文件中相应列标题的顺序相匹配。

  • 必须将必填字段定义为其必填数据类型。保留的分类字符串字段必须具有categorical设置为true,而保留的字符串字段不能是分类字段。关键字不能出现在你的数据中。基于域和数据集类型,域数据集组数据集还有其他要求。自定义数据集组数据集有其他要求,具体取决于类型。

  • 架构必须是没有嵌套结构的平面 JSON 文件。例如,一个字段不能是多个子字段的父字段。

  • 架构字段必须具有唯一的字母数字名称。例如,您不能同时添加GENRES_FIELD_1字段和 aGENRESFIELD1字段中返回的子位置类型。

  • Amazon Personalize 架构不支持复杂的类型,例如数组和地图。

  • 对于具有多个值的字段,包括分类元数据和展示次数数据,请使用数据类型并使用竖线 “|” 字符分隔每个值。对于分类字段,添加"categorical": true.

架构数据类型

Amazon Personalize 架构支持以下 Avro 类型的字段:

  • float

  • double

  • int

  • long

  • 字符串

  • 布尔值(值)truefalse数据中必须是小写字母)

  • null

您可以使用null为了EVENT_VALUERECOMMENDATION_ID保留的关键字以及交互、用户和项目元数据字段。添加null在字段中键入允许您使用不完美的数据(例如,带有空值的元数据)来生成个性化推荐。以下示例介绍如何为 GENTERS 字段添加空类型。

{ "name": "GENRES", "type": [ "null", "string" ], "categorical": true }