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

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

数据集和架构

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

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

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

  • 交互— 此数据集存储用户与项目之间的交互中的历史数据和实时数据。在 Amazon Personalize 化中,相互作用事件您记录然后作为训练数据导入。对于域数据集组和自定义数据集组,至少必须创建交互数据集数据集。

每种数据集组和自定义数据集组只能有每种类型的数据集中的一种。在创建数据集之前,您需要定义该数据集的架构。一个纲要告诉 Amazon Personalize 化您的数据结构,并允许 Amazon Personalize 化解析数据。架构有名称键的值必须与数据集类型匹配。对于域数据集组,每种数据集类型都有一个包含必填字段和保留关键字的默认模式。每次创建数据集时,都可以使用现有的域架构,也可以通过修改现有的默认架构来创建新的域架构。使用默认模式作为为域导入哪些数据的指南。一旦定义了架构并创建数据集,就无法对架构进行更改。

架构格式要求

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

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

  • 架构字段可以按任何顺序显示,但它们必须与 CSV 文件中的对应列标题的顺序匹配。

  • 您必须将必填字段定义为其所需的数据类型。域数据集组数据集具有不同的要求,具体取决于域和数据集类型。自定义数据集组数据集根据类型有不同的要求。

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

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

Amazon Personalize 化模式支持复杂类型,例如阵列和地图。对于具有多个值的字段(包括分类元数据和展示数据),请使用数据类型然后使用竖线 “|” 字符分隔每个值。

架构数据类型

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

  • float

  • double

  • int

  • long

  • 字符串

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

  • null

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

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