本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Amazon Personalize 架构创建架构 JSON 文件
准备好数据后,就可以开始为要导入的每种数据类型创建架构 JSON 文件。这些文件概述了数据的结构和内容,包括列名及其数据类型。
在 创建架构和数据集 中创建 Amazon Personalize 架构时,使用架构 JSON 文件。在 Amazon Personalize 中,架构 是一种资源,它让 Amazon Personalize 可以在您将数据导入数据集时对其进行解析。您可以为要使用的每个数据集创建一个架构。
对于自定义资源,每个数据集都有特定的架构要求。对于域数据集组,您选择的域将决定您的数据集和架构要求。每个域都有每种数据集类型的默认架构。在创建数据集时,可以使用现有域架构,也可以通过修改现有默认架构来创建新的域架构。使用默认架构作为指南,确定要为域导入哪些数据。
以下各节介绍了为每种数据集类型创建架构 JSON 文件的自定义要求和域要求。
架构格式设置要求
为域数据集组或自定义数据集组中的数据集创建架构时,您必须遵循以下准则:
-
架构具有名称键,其值必须与数据集类型相匹配。
-
架构字段可以采用任何顺序显示,但它们必须与 CSV 文件中对应列标题的顺序匹配。
-
架构必须是没有嵌套结构的平面 JSON 文件。例如,一个字段不能是多个子字段的父字段。
-
Amazon Personalize 架构不支持复杂类型,例如数组和映射。
-
架构字段必须具有唯一的字母数字名称。例如,您不能同时添加
GENRES_FIELD_1
字段和GENRESFIELD1
字段。 -
您必须定义必填字段作为其所需的数据类型。保留的分类字符串字段的
categorical
属性必须设置为true
,而保留的字符串字段不能是分类字段。关键字不能出现在数据中。 -
如果您添加自己的类型为
string
的元数据字段,并且您希望 Amazon Personalize 在训练时使用它,则该字段必须包含categorical
属性或textual
属性(只有物品架构支持带有文本属性的字段)。 -
Amazon Personalize 在训练或筛选建议时不使用
boolean
类型数据。要让 Amazon Personalize 在训练或筛选时使用布尔数据,请使用类型为字符串 的字段,并在数据中使用值"True"
和"False"
。或者,您可以使用类型 int 或 long 以及值0
和1
。 -
文本字段的类型必须为
string
,且必须将textual
属性设置为true
。有关非结构化文本数据的更多信息,请参阅非结构化文本元数据。
根据域和数据集类型,域数据集组数据集还有其他要求。自定义数据集组数据集也有其他要求,具体取决于类型。
架构数据类型
Amazon Personalize 架构支持以下 Avro 类型的字段:
-
float
-
double
-
int
-
long
-
字符串
-
布尔值
-
null
一些必填字段和保留字段支持空数据。通过向字段添加 null
类型,您可以使用不完美的数据(例如,空值的元数据)来生成建议。有关哪些字段支持空数据的信息,请参阅域的架构要求主题:VIDEO_ON_DEMAND 数据集和架构、ECOMMERCE 数据集和架构 或 自定义数据集和架构。以下示例说明了如何为 GENDER 字段添加空类型。
{ "name": "GENDER", "type": [ "null", "string" ], "categorical": true }