本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
物品交互数据集
物品交互是用户与您目录中的物品之间的交互。您可以将有关用户与您的物品交互的数据导入到物品交互数据集中。您可以记录多种事件类型,例如单击、观看 或点赞。
例如,如果用户单击 某件物品,然后点赞 了该物品,则可以让 Amazon Personalize 使用这些事件作为训练数据。对于每个事件,您将记录用户的 ID、物品的 ID、时间戳(采用 Unix 时间纪元格式)和事件类型(单击 和点赞)。然后,您可以将这两个物品交互事件添加到物品交互数据集中。
对于所有使用案例(域数据集组)和配方(自定义资源),您的物品交互数据必须具有以下内容:
-
至少 1000 条来自用户与您目录中的物品进行交互的物品交互记录。这些交互可以来自批量导入,也可以来自流事件,或者两者兼而有之。
-
至少 25 个唯一的用户 ID,每位用户至少有两次物品交互。
为获得高质量的建议,我们建议您至少有 1000 名用户的最少 5 万次物品交互,每位用户有两次或更多次物品交互。
要创建推荐器或自定义解决方案,您必须至少创建一个物品交互数据集。本部分提供有关您可以导入 Amazon Personalize 的以下类型的物品交互数据的信息。
事件类型和事件值数据
物品交互数据集可以存储事件类型数据(例如单击和观看事件类型),以及每个事件的事件值数据。Amazon Personalize 使用事件类型数据,通过用户行为中的任何模式来识别用户的意图和兴趣。
-
如果您创建域推荐器,则所有使用案例都要求您的数据包含 EVENT_TYPE 字段。某些使用案例需要特定的事件类型。您可以自由使用其他事件类型。有关更多信息,请参阅选择使用案例。
对于域推荐器,Amazon Personalize 不使用事件值数据。
-
如果您创建自定义资源,则 Amazon Personalize 可以在训练前使用事件类型和事件值数据来筛选事件。您可以导入事件类型数据,也可以导入事件类型和 事件值数据。导入这些数据以选择 Amazon Personalize 在训练中使用的物品交互数据,如下所示:
-
根据事件类型选择事件 - 要根据类型选择记录,请在 EVENT_TYPE 列中记录每个事件的类型。配置解决方案时,您需要指定类型,Amazon Personalize 将在训练中仅使用此类记录。
例如,如果您的数据包括购买、单击 和观看 事件类型,并且您希望 Amazon Personalize 仅使用观看 事件来训练模型,则应在 EVENT_TYPE 列中包含每个事件的类型。然后,在创建解决方案时,将观看 指定为 Amazon Personalize 在训练中使用的
event type
。如果您的物品交互数据集在 EVENT_TYPE 列中有多个事件类型,并且您在配置解决方案时未提供事件类型,则 Amazon Personalize 会使用所有物品交互数据进行训练,无论其类型如何,权重均相同。
-
根据类型和值选择记录 - 要根据类型和值选择记录,请记录每个事件的事件类型和事件值。您为每个事件选择的值取决于您要排除的数据以及要记录的事件类型。例如,您可以匹配用户活动,例如观看 事件类型的用户观看视频的百分比。
配置解决方案时,可以将特定值设置为从训练中排除记录的阈值。例如,如果 EVENT_TYPE 为观看 的事件的 EVENT_VALUE 数据是用户观看的视频的百分比,如果您将事件值阈值设置为 0.5,将事件类型设置为观看,则 Amazon Personalize 将仅使用 EVENT_VALUE 大于或等于 0.5 的观看 交互事件来训练模型。
-
上下文元数据
对于某些配方和推荐器使用案例,Amazon Personalize 可以在识别底层模式时使用上下文元数据,为用户显示最相关的物品。上下文元数据是您在事件发生时在用户环境中收集的交互数据,例如其位置或设备类型。
包括上下文元数据,可让您为现有用户提供更加个性化的体验。例如,如果客户通过手机访问您的目录与通过计算机访问您的目录时的购物方式不同,则应包括有关用户设备的上下文元数据。然后,根据他们的浏览方式,所提供的建议将更具相关性。
此外,上下文元数据有助于缩短新用户或身份不明用户的冷启动阶段。冷启动阶段是指由于缺少有关该用户的历史信息您的建议引擎提供相关性较低的建议的时段。
对于域数据集组,以下推荐器使用案例可以使用上下文元数据:
对于自定义资源,使用上下文元数据的配方包括以下内容:
有关上下文信息的更多信息,请参阅以下 Amazon 机器学习博客文章:利用上下文信息提高 Amazon Personalize 建议的相关性
展示数据
如果您为 VIDEO_ON_DEMAND 或 ECOMMERCE 域创建域数据集组,或者使用 User-Personalization 配方,则 Amazon Personalize 可以对您上传到物品交互数据集的展示数据进行建模。展示是用户与特定物品交互(例如,单击或观看)时可见的物品列表。
Amazon Personalize 使用展示数据来确定浏览中应包含哪些物品。在浏览中,建议包括一些通常不太可能向用户建议的物品或操作,例如新物品或操作、交互量很少的物品或操作,或者根据用户以前的行为与用户不太相关的物品或操作。物品在展示数据中出现的频率越高,Amazon Personalize 将该物品包含在浏览中的可能性就越小。展示值最多可以包含 1000 个字符(包括竖线字符)。
有关浏览的更多信息,请参阅探索。Amazon Personalize 可以对两种类型的展示进行建模:隐式展示和显式展示。
隐式展示
隐式展示 是指您向用户显示且从 Amazon Personalize 中检索的建议。您可以将 RecommendationId
(由 GetRecommendations 和 GetPersonalizedRanking 操作返回)作为未来 PutEvents 请求的输入包括在内,将它们集成到您的建议工作流程中。Amazon Personalize 会根据您的建议数据得出隐式展示。
例如,您可能有一个应用程序用于提供流视频的建议。使用隐式展示的建议工作流程可能如下所示:
-
您使用 Amazon Personalize GetRecommendations API 操作为其中一位用户请求视频建议。
-
Amazon Personalize 会为使用您的模型(解决方案版本)的用户生成建议,并在 API 响应中返回这些建议(含
recommendationId
)。 -
您在应用程序中向用户显示视频建议。
-
当您的用户与视频交互(例如,单击)时,在调用 PutEvents API 时记录该选择,并将
recommendationId
作为参数包括在内。有关代码示例,请参阅记录展示次数数据。 -
Amazon Personalize 使用
recommendationId
从之前的视频建议中获取展示数据,然后使用展示数据来指导浏览,即未来的建议包括交互数据较少或相关性较低的新视频。有关使用隐式展示数据记录事件的更多信息,请参阅记录展示次数数据。
显式展示
显式展示 是您手动记录并发送到 Amazon Personalize 的展示。使用显式展示来操作 Amazon Personalize 的结果。物品的顺序没有影响。
例如,您可能有一个购物应用程序用于提供有关鞋的建议。如果您只推荐目前有库存的鞋,则可以使用显式展示来指定这些物品。使用显式展示的建议工作流程可能如下所示:
-
您使用 Amazon Personalize GetRecommendations API 为其中一位用户请求建议。
-
Amazon Personalize 会为使用您的模型(解决方案版本)的用户生成建议,并在 API 响应中返回这些建议。
-
您只向用户显示有库存的推荐的鞋。
-
对于实时增量数据导入,当您的用户与一双鞋交互(例如单击)时,您在调用 PutEvents API 时记录该选择,并在
impression
参数中列出有库存的推荐物品。有关代码示例,请参阅记录展示次数数据。要在历史物品交互数据中导入展示,您可以在 csv 文件中列出显式展示,并通过“|”字符分隔每个物品。竖线字符计入 1000 个字符的限制。有关示例,请参阅设置显式展示的格式。
-
Amazon Personalize 使用展示数据来指导浏览,即未来的建议包括交互数据较少或相关性较低的新鞋。