记录实时事件以影响推荐 - Amazon Personalize

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

记录实时事件以影响推荐

事件是用户与您的目录之间的交互。它可以是与物品的互动,例如用户购买物品或观看视频,也可以是采取行动,例如申请信用卡或注册会员计划。

Amazon Personalize 可以仅根据实时事件数据、历史事件数据(或两者混合)来提供建议。在客户与推荐互动时记录实时事件。这会生成您的交互数据,并使您的数据保持最新状态。并且它会告知 Amazon Personalize 您的用户当前的兴趣,从而提高建议的相关性。

如果您的域使用案例或自定义配方支持实时个性化,则 Amazon Personalize 会实时使用事件根据用户不断变化的兴趣来更新和调整建议。

如何记录实时事件取决于您要导入的交互数据的类型:

  • 对于物品交互,您可以通过 PutEvents API 操作记录实时事件。Amazon Personalize 会将此数据附加到数据集组中的物品交互数据集。有关更多信息,请参阅 记录实时事件以影响推荐。

  • 对于操作交互,您可以使用 PutActionInteractions API 操作记录实时事件。Amazon Personalize 会将此数据附加到数据集组中的操作交互数据集。只有 PERSONALIZED_ACTIONS 配方使用操作交互数据。有关更多信息,请参阅 记录实时动作互动事件

实时事件如何影响建议

如果您的配方支持实时个性化,则在您创建推荐器或自定义市场活动后,Amazon Personalize 会在导入后的几秒钟内为现有物品或操作使用新记录的事件数据。以下使用案例和食谱支持实时个性化:

如果您使用 Trending-Now 食谱,则 Amazon Personalize 会在可配置的时间间隔内自动考虑来自新事件数据的物品。您不必创建新的解决方案版本。有关更多信息,请参阅 Trending-Now 食谱

如果事件中的物品、操作或用户是新的物品、操作或用户,则 Amazon Personalize 如何使用数据取决于您的用户案例或配方。有关更多信息,请参阅 新数据如何影响实时建议

为匿名用户记录事件

重要

如果您没有为用户记录至少一个含 sessionIduserId 的事件,则 Amazon Personalize 不会在训练时使用仅按 sessionId 跟踪的活动。而且,训练完成后,将不再根据按 sessionId 跟踪的活动提出建议。

在用户创建账户之前,您可以记录他们的物品交互或操作交互事件。为匿名用户记录事件,以构建持续的事件历史记录,其中包含此类用户登录前后的事件。这为 Amazon Personalize 提供了更多关于用户的交互数据,这有助于生成更多相关的建议。

要记录匿名用户(尚未登录的用户)的事件,只需为每个事件指定一个 sessionId。当用户首次访问您的网站或使用您的应用程序时,您的应用程序会生成唯一 sessionId。在整个会话中,您必须在所有活动中使用相同的 sessionId。Amazon Personalize 在用户登录之前使用 sessionId 将事件与用户关联起来。

Amazon Personalize 在训练时不会使用来自匿名用户的事件,除非您将他们与 userId 关联起来。有关更多信息,请参阅 为匿名用户构建持续的事件历史记录

要为匿名用户提供实时个性化设置,请在您的GetRecommendations或 GetActionRecommendations 请求userId中指定sessionId为。

  • 有关显示如何记录与 PutEvents 操作以及会话 ID 和用户 ID 的项目交互事件的代码示例,请参阅。使用 PutEvents 操作

  • 有关显示如何使用 PutActionInteractions 操作以及 sessionID 和用户 ID 记录动作交互事件的代码示例,请参阅。使用 PutActionInteractions 操作

为匿名用户构建持续的事件历史记录

要为匿名用户构建事件历史记录并让 Amazon Personalize 在训练时使用他们的事件,请至少记录一个同时含 sessionIduserId 的事件。然后,您可以为 userId 记录任意数量的事件。在开始提供 userId 之后,sessionId 可以改变。在下一次全面的再训练中,Amazon Personalize 会将 userId 与按原始 sessionId 跟踪的匿名用户历史记录关联起来。

再训练完成后,将根据按匿名事件的 sessionId 跟踪的活动以及按 userId 跟踪的任何事件,提出建议。

注意

如果您的用户没有创建账户,而您希望 Amazon Personalize 在训练时使用这些数据,则您可以使用 sessionId 作为事件中的 userId。但是,如果用户最终创建了一个账户,则您将无法将匿名浏览中的事件与他们的新 userId 关联起来。

第三方事件跟踪服务

以下客户数据平台 (CDP) 可帮助您从应用程序中收集事件数据并将其发送到 Amazon Personalize。

示例实施

有关展示如何使用 Amazon Personalize 对使用事件跟踪器和PutEvents操作的用户实时行为做出反应的 Jupyter 笔记本示例,请参阅存储库 getting_starting_started 文件夹中的 2.view_campaign_and_ interactions.ipynb。amazon-personalize-samples GitHub

有关展示如何直播用户与推荐互动的事件的示例,请参阅 Amazon Personalize 示例存储库中的 streaming_e vents。 GitHub

有关包含用于部署位于 Amazon Personalize 资源和客户端应用程序之间的实时 API 的源代码和支持文件的完整示例,请参阅 AWS 示例 GitHub 存储库中的实时个性化 API。该项目包括如何实施以下内容:

  • 用户上下文和用户事件收集

  • 响应缓存

  • 根据物品元数据装饰建议

  • A/B 测试

  • API 身份验证