为训练准备动作交互数据 - Amazon Personalize

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

为训练准备动作交互数据

如果您使用 Next-Best-Action 自定义配方,Amazon Personalize 会使用操作互动数据来识别用户的兴趣并预测他们最有可能采取的行动。操作交互操作数据集中涉及用户和操作的交互。例如,如果您的操作数据集中有一个注册操作,而用户执行了此操作,则您将记录用户的 ID、操作的 ID、时间戳,并对于事件类型记录 TAKEN

您可以将操作交互导入 Amazon Personalize 操作交互数据集中。您可以使用数据集导入任务批量导入操作交互事件,也可以通过PutActionInteractionsAPI操作实时流式传输这些事件。您无法在域数据集组中创建次佳操作资源,包括操作和操作交互数据集。

您的批量操作交互数据必须位于CSV文件中。文件中的每一行都应代表用户和操作之间的独特交互。准备完数据后,就可以创建架构JSON文件了。此文件告知 Amazon Personalize 您的数据结构。有关更多信息,请参阅 为 Amazon Personalize 架构创建架构JSON文件

以下各节提供了有关如何为 Amazon Personalize 准备操作互动数据的更多信息。有关所有类型数据的批量数据格式指南,请参阅批量数据格式指南

操作交互数据要求

对操作交互数据没有最低要求。我们建议您将其导入以获取高质量的操作建议。如果您没有操作互动数据,则可以创建一个空的 Action intersactions 数据集,并使用该PutActionInteractionsAPI操作记录客户与操作的互动。

您的操作互动数据必须至少包含以下几列。您可以根据您的用例和数据自由添加其他自定义列。

  • USER_ID — 与项目交互的用户的唯一标识符。每个事件都必须有一个 USER _ID。它必须是string最大长度为 256 个字符的。

  • ACTION_ID — 用户与之交互的项目的唯一标识符。每个活动都必须有一个商品 ID。它必须是string最大长度为 256 个字符的。

  • TIMESTAMP— 事件发生的时间(采用 Unix 纪元时间格式,以秒为单位)。每个动作互动都必须有一个TIMESTAMP. 有关更多信息,请参阅 时间戳数据

  • EVENT_ TYPE — 操作是 “已执行”、“未执行” 还是 “已查看”。每个操作交互都必须具有事件类型。有关更多信息,请参阅 事件类型数据

在您导入操作互动数据之前,Amazon Personalize 会建议您在不进行个性化设置的情况下执行操作,倾向分数为 0.0。在动作达到以下条件后,该动作将获得分数:

  • 至少有 50 个与该TAKEN事件类型的动作互动。

  • 至少 50 个操作互动,其类型为 NOT _ TAKEN 或VIEWED事件。

这些操作交互必须出现在最新的解决方案版本训练中,并且必须在 Action intersactions 数据集中的最新交互时间戳后的 6 周内发生。

事件类型数据

Amazon Personalize 可以使用事件类型数据中的模式来识别您的用户最有可能采取的操作。例如,如果客户经常忽略电子邮件订阅操作(以 NOT _ TAKEN 事件类型表示),Amazon Personalize 可能会调整推荐以减少此类操作。

您只能将以下事件类型用于操作交互事件。Amazon Personalize 使用这些事件来了解您的用户,并计算接下来要建议的操作。

  • 已执行 - 当用户采取了建议的操作时,记录已执行事件。

  • 未执行 – 当您的用户在查看操作后特意选择不采取该操作时,记录未执行事件。例如,当您向他们展示操作时,如果他们选择未执行事件可能表示客户对该操作不感兴趣。

  • 已查看 - 当您在用户选择采取或不采取操作之前向他们展示操作时,记录已查看事件。Amazon Personalize 使用查看事件来了解用户的兴趣。例如,如果用户查看了某项操作但未执行该操作,则该用户将来可能对此操作不感兴趣。

动作交互数据示例

包含操作交互数据和所有必填列的CSV文件的前几行可能如下所示。

USER_ID,ACTION_ID,EVENT_TYPE,TIMESTAMP 35,73,Viewed,1586731606 54,35,Not taken,1586731609 9,33,Viewed,1586735158 23,10,Taken,1586735697 27,11,Taken,1586735763 ... ...

准备完数据后,就可以创建架构JSON文件了。此文件告知 Amazon Personalize 您的数据结构。有关更多信息,请参阅 为 Amazon Personalize 架构创建架构JSON文件。以上示例数据的架构JSON文件如下所示。

{ "type": "record", "name": "ActionInteractions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ACTION_ID", "type": "string" }, { "name": "EVENT_TYPE", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }