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

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

交互式数据集

一个交互式数据集存储来自用户和项目之间交互的历史数据和实时数据。要使用 Amazon Personalize 创建推荐系统,您必须至少创建交互数据集。

在 Amazon Personalize 中,交互是一个event,然后将其作为训练数据导入。您可以记录多个事件类型,例如单击观看或者LIK。例如,如果用户CLIK一个特定项目,然后LIK项目,并且您希望 Amazon Personalize 将这些事件用作培训数据,对于每个事件,您将记录用户 ID、项目 ID、时间戳(Unix 时间纪元格式)和事件类型(单击LIK)。然后,您需要将两个交互事件添加到 “交互” 数据集中。记录了足够的事件后,您可以训练模型并使用 Amazon Personalize 为用户生成建议。有关最低要求,请参阅服务配额

当您创建 Intersonalize 数据集时,还必须为该数据集创建架构。Aschema告诉 Amazon Personalize 您的数据结构,并允许 Amazon Personalize 解析数据。有关交互式数据集的架构示例,请参阅交互架构示例。有关架构要求的信息,请参阅数据集和方案要求

本节提供有关交互数据类型的信息,包括展示次数数据和上下文元数据,您可以上传以进行培训。它还包括一个交互架构示例。有关导入历史交互式数据的信息,请参阅准备和导入数据。有关使用PutEventsAPI 的信息,请参阅记录事件

创建交互式数据集并导入交互数据之后,您可以筛选建议,以包括或排除用户与之交互的项目。有关更多信息,请参阅 筛选建议

必需的交互数据

您为每个交互提供的训练数据必须与您的方案匹配。根据您的架构,交互元数据可以包含空/空值。必须至少提供每个交互式的以下内容:

  • 用户 ID

  • 商品 ID

  • 时间戳(采用 Unix 纪元时间格式)

可添加到交互数据集的可选元数据字段的最大总数,以及区分事件类型,是 10。此计数中包含的元数据字段包括 EVENT_TYPE、EVENT_VALUE 字段以及添加到架构中的任何自定义元数据字段。不包括保留字段(如印象)的元数据字段的最大数量为 5。类别值最多可包含 1000 个字符。任何具有超过 1,000 个字符的类别值的交互作用都会在数据集导入作业期间丢弃,并且不在训练中使用。

有关交互数据集的最小要求和最大数据限制的详细信息,请参阅服务配额

上下文元数据

如果您使用个性化用户个性化-排名配方,交互数据集可以存储上下文信息,以便在训练中使用。上下文元数据是您在事件发生时在用户环境中收集的交互数据。通过包含上下文元数据,您可以为现有用户提供更加个性化的体验。例如,如果客户在通过电话访问您的目录时与计算机相比,购物方式有所不同,请包括有关用户设备的上下文元数据。随后,建议将根据它们的浏览方式更具相关性。

此外,上下文元数据有助于减少新用户或未识别用户的冷启动阶段。冷启动阶段是指由于缺乏有关该用户的历史信息,推荐引擎提供的建议不太相关的时间段。

有关上下文信息的更多信息,请参阅以下AmazonMachine Learning 博客文章:通过利用上下文信息提高您的 Amazon Personalize 建议的相关性

展示数据

如果您使用个性化用户配方,Amazon Personalize 可以对您上传到互动数据集的展示量数据进行建模。展示次数是用户在与特定项目进行交互(例如,单击或观看)时可见的项目列表。Amazon Personalize 使用展示次数数据来指导浏览,其中建议包含具有较少互动数据或相关性的新项目。有关探索优点的信息,请参阅个性化用户。Amazon Personalize 可以模拟两种类型的展示次数:隐式印象显式展示

隐式印象

隐式印象是您向用户展示的从 Amazon Personalize 检索的建议。您可以将它们集成到您的建议工作流中,方法是包含RecommendationId(返回的GetRecommendationsGetPersonalizedRanking操作)作为未来的输入PutEvents请求。“Amazon Personalize” 根据您的推荐数据派生隐含的曝光量。

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

  1. 您可以使用 Amazon Personalize 为其中一个用户请求视频推荐GetRecommendationsAPI 操作。

  2. Amazon Personalize 使用您的模型(解决方案版本)为用户生成建议,并使用recommendationIdAPI 响应中的更多信息。

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

  4. 当您的用户与视频进行交互(例如,单击)时,请在调用PutEventsAPI 并包含recommendationId作为参数。有关代码示例,请参阅记录展示数据

  5. Amazon Personalize 使用recommendationId从以前的视频推荐中获取印象数据,然后使用印象数据来指导探索,其中未来的建议包括具有较少交互数据或相关性的新视频。

    有关使用隐式印象数据记录事件的详细信息,请参阅记录展示数据

显式展示

显式展示是您手动录制并发送给 Amazon Personalize 的展示次数。使用显式展示来操纵 Amazon Personalize 的结果。商品的顺序没有影响。

例如,您可能有一个提供鞋子的推荐的购物应用程序。如果您只推荐目前有货的鞋子,您可以使用明确的展示指定这些商品。您使用显式展示的推荐工作流程可能如下所示:

  1. 您可以使用 “Amazon Personalize” 为其中一个用户请求推荐GetRecommendationsAPI。

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

  3. 您向用户展示只推荐的鞋子有股票。

  4. 对于实时增量数据导入,当您的用户与一对鞋子进行交互(例如,单击)时,您可以在调用PutEventsAPI,并在impression参数。有关代码示例,请参阅记录展示数据

    要在历史交互数据中导入展示次数,您可以在 csv 文件中列出显式展示次数,并使用 “|” 字符分隔每个项目。请参阅 格式化显式展示

  5. Amazon Personalize 使用展示数据来指导探索,其中未来的推荐包括具有较少互动数据或相关性的新鞋子。

交互架构示例

以下示例显示了交互式数据集的架构。USER_IDITEM_IDTIMESTAMP 为必需字段。这些区域有:EVENT_TYPEEVENT_VALUE, 和IMPRESSION字段是 Amazon Personalize 识别的可选预留关键字。LOCATIONDEVICE是可选的上下文元数据字段。有关架构要求的信息,请参阅数据集和方案要求

{ "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "EVENT_TYPE", "type": "string" }, { "name": "EVENT_VALUE", "type": [ "float", "null" ] }, { "name": "LOCATION", "type": "string", "categorical": true }, { "name": "DEVICE", "type": [ "string", "null" ], "categorical": true }, { "name": "TIMESTAMP", "type": "long" }, { "name": "IMPRESSION", "type": "string" } ], "version": "1.0" }

对于此架构,CSV 文件中的前几行历史数据可能如下所示。请注意,EVENT_VALUE 的某些值为空。

USER_ID,ITEM_ID,EVENT_TYPE,EVENT_VALUE,LOCATION,DEVICE,TIMESTAMP,IMPRESSION 35,73,click,,Ohio,Tablet,1586731606,73|70|17|95|96|92|55|45|16|97|56|54|33|94|36|10|5|43|19|13|51|90|65|59|38 54,35,watch,0.75,Indiana,Cellphone,1586735164,35|82|78|57|20|63|1|90|76|75|49|71|26|24|25|6|37|85|40|98|32|13|11|54|48 9,33,click,,Oregon,Cellphone,1586735158,68|33|62|6|15|57|45|24|78|89|90|40|26|91|66|31|47|17|99|29|27|41|77|75|14 23,10,watch,0.25,California,Tablet,1586735697,92|89|36|10|39|77|4|27|79|18|83|16|28|68|78|40|50|3|99|7|87|49|12|57|53 27,11,watch,0.55,Indiana,Tablet,1586735763,11|7|39|95|71|1|6|40|41|28|99|53|68|76|0|65|69|36|22|42|34|67|24|20|66 ... ...