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

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

物品交互数据集

商品互动是用户与您目录中的商品之间的积极互动事件。例如,用户在看电影、查看房源或购买一双鞋。您可以将有关用户与您的物品交互的数据导入到物品交互数据集中。您可以记录多种事件类型,例如单击观看点赞

例如,如果用户单击 某件物品,然后点赞 了该物品,则可以让 Amazon Personalize 使用这些事件作为训练数据。对于每个事件,您将记录用户的 ID、物品的 ID、时间戳(采用 Unix 时间纪元格式)和事件类型(单击点赞)。然后,您可以将这两个物品交互事件添加到物品交互数据集中。

对于所有使用案例(域数据集组)和配方(自定义资源),您的物品交互数据必须具有以下内容:

  • 至少 1000 条来自用户与您目录中的物品进行交互的物品交互记录。这些交互可以来自批量导入,也可以来自流事件,或者两者兼而有之。

  • 至少 25 个唯一的用户 ID,每位用户至少有两次物品交互。

为获得高质量的建议,我们建议您至少有 1000 名用户的最少 5 万次物品交互,每位用户有两次或更多次物品交互。

要创建推荐器或自定义解决方案,您必须至少创建一个物品交互数据集。本部分提供有关您可以导入 Amazon Personalize 的以下类型的物品交互数据的信息。

事件类型和事件值数据

项目交互数据集可以存储每个交互的事件类型和事件值数据。只有自定义资源才使用事件值数据。

事件类型数据

Amazon Personalize 使用事件类型数据(例如点击购买数据)来识别用户的意图和兴趣。如果您创建域推荐器,则所有用例都需要事件类型数据。某些使用案例需要特定的事件类型。您可以自由使用其他事件类型。有关更多信息,请参阅 选择使用案例

如果您创建自定义资源,则可以按事件类型选择用于训练的事件。如果您的数据集在 EVENT_TYPE 列中有多个事件类型,并且您在配置自定义解决方案时未提供事件类型,则 Amazon Personalize 会使用所有项目交互数据进行训练,无论类型如何。有关更多信息,请参阅 选择用于训练的物品交互数据

正面和负面事件类型

Amazon Personalize 假设任何互动都是积极的。与负面事件类型(例如不喜欢)的互动不一定会阻止该项目出现在用户的 future 推荐中。

以下是让负面事件和用户不感兴趣影响推荐的方法:

  • 对于所有域名用例和User-Personalization配方,Amazon Personalize 都可以使用展示次数数据。当某件商品出现在展示次数数据中,而用户未选择该项目时,该项目出现在推荐中的可能性就会降低。有关更多信息,请参阅 展示数据

  • 如果您使用自定义资源并导入正面和负面事件类型,则只能在正面事件类型上进行训练,然后筛选出与用户进行负面互动的项目。有关更多信息,请参阅 选择用于训练的物品交互数据筛选建议和用户细分

事件值数据(自定义资源)

事件值数据可能是用户观看的电影的百分比或 10 分的评分。如果您创建自定义解决方案并导入事件值数据以及事件类型数据,则可以根据类型和值选择用于训练的记录。对于域名推荐器,Amazon Personalize 不使用事件值数据,也无法在训练前筛选活动。

要根据类型和值选择记录,请记录每个事件的事件类型和事件值。您为每个事件选择的值取决于您要排除的数据以及要记录的事件类型。例如,您可以匹配用户活动,例如观看 事件类型的用户观看视频的百分比。

配置解决方案时,可以将特定值设置为从训练中排除记录的阈值。例如,如果 EVENT_TYPE 为观看 的事件的 EVENT_VALUE 数据是用户观看的视频的百分比,如果您将事件值阈值设置为 0.5,将事件类型设置为观看,则 Amazon Personalize 将仅使用 EVENT_VALUE 大于或等于 0.5 的观看 交互事件来训练模型。

有关更多信息,请参阅选择用于训练的物品交互数据

上下文元数据

对于某些食谱和推荐器使用案例,Amazon Personalize 可以在识别底层模式时使用上下文元数据,为用户显示最相关的物品。上下文元数据是您在事件发生时在用户环境中收集的交互数据,例如其位置或设备类型。

包括上下文元数据,可让您为现有用户提供更加个性化的体验。例如,如果客户通过手机访问您的目录与通过计算机访问您的目录时的购物方式不同,则应包括有关用户设备的上下文元数据。然后,根据他们的浏览方式,所提供的建议将更具相关性。

此外,上下文元数据有助于缩短新用户或身份不明用户的冷启动阶段。冷启动阶段是指由于缺少有关该用户的历史信息您的建议引擎提供相关性较低的建议的时段。

对于域数据集组,以下推荐器使用案例可以使用上下文元数据:

对于自定义资源,使用上下文元数据的食谱包括以下内容:

有关情境信息的更多信息,请参阅以下 M Amazon achine Learning 博客文章:利用情境信息提高 Amazon Personalize 推荐的相关性

展示数据

展示是用户与特定物品交互(例如,单击或观看)时可见的物品列表。如果您使用提供个性化或User-Personalization配方的域名用例,Amazon Personalize 可以使用展示次数数据来指导探索。

在浏览中,建议包括一些通常不太可能向用户建议的物品或操作,例如新物品或操作、交互量很少的物品或操作,或者根据用户以前的行为与用户不太相关的物品或操作。物品在展示数据中出现的频率越高,Amazon Personalize 将该物品包含在浏览中的可能性就越小。

在您创建推荐者或解决方案时,Amazon Personalize 始终将展示次数数据排除在培训之外。这是因为 Amazon Personalize 不会使用展示量数据训练您的模型。相反,当你获得建议时,它会使用它来指导用户进行探索。

展示值最多可以包含 1000 个字符(包括竖线字符)。对于域名数据集组,以下推荐用例可以使用展示次数数据:

有关浏览的更多信息,请参阅探索。Amazon Personalize 可以对两种类型的展示进行建模:隐式展示显式展示

隐式展示

隐式展示 是指您向用户显示且从 Amazon Personalize 中检索的建议。您可以将 RecommendationId(由 GetRecommendationsGetPersonalizedRanking 操作返回)作为未来 PutEvents 请求的输入包括在内,将它们集成到您的建议工作流程中。Amazon Personalize 会根据您的建议数据得出隐式展示。

例如,您可能有一个应用程序用于提供流视频的建议。使用隐式展示的建议工作流程可能如下所示:

  1. 您使用 Amazon Personalize GetRecommendations API 操作为其中一位用户请求视频建议。

  2. Amazon Personalize 会为使用您的模型(解决方案版本)的用户生成建议,并在 API 响应中返回这些建议(含 recommendationId)。

  3. 您在应用程序中向用户显示视频建议。

  4. 当您的用户与视频交互(例如,单击)时,在调用 PutEvents API 时记录该选择,并将 recommendationId 作为参数包括在内。有关代码示例,请参阅记录展示次数数据

  5. Amazon Personalize 使用 recommendationId 从之前的视频建议中获取展示数据,然后使用展示数据来指导浏览,即未来的建议包括交互数据较少或相关性较低的新视频。

    有关使用隐式展示数据记录事件的更多信息,请参阅记录展示次数数据

显式展示

显式展示 是您手动记录并发送到 Amazon Personalize 的展示。使用显式展示来操作 Amazon Personalize 的结果。物品的顺序没有影响。

例如,您可能有一个购物应用程序用于提供有关鞋的建议。如果您只推荐目前有库存的鞋,则可以使用显式展示来指定这些物品。使用显式展示的建议工作流程可能如下所示:

  1. 您使用 Amazon Personalize GetRecommendations API 为其中一位用户请求建议。

  2. Amazon Personalize 会为使用您的模型(解决方案版本)的用户生成建议,并在 API 响应中返回这些建议。

  3. 您只向用户显示有库存的推荐的鞋。

  4. 对于实时增量数据导入,当您的用户与一双鞋交互(例如单击)时,您在调用 PutEvents API 时记录该选择,并在 impression 参数中列出有库存的推荐物品。有关代码示例,请参阅记录展示次数数据

    要在历史物品交互数据中导入展示,您可以在 csv 文件中列出显式展示,并通过“|”字符分隔每个物品。竖线字符计入 1000 个字符的限制。有关示例,请参阅设置显式展示的格式

  5. Amazon Personalize 使用展示数据来指导浏览,即未来的建议包括交互数据较少或相关性较低的新鞋。