工作原理 - Amazon Personalize
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

工作原理

为了进行推荐,Amazon Personalize 使用了借助您的数据训练过的机器学习模型。用于训练模型的数据存储在数据集组的相关数据集中。每个模型通过使用包含针对特定使用案例的算法的配方进行训练。在 Amazon Personalize 模型中,经过训练的模型称为解决方案版本。可以部署解决方案版本来用于市场活动。您的应用程序的用户可以通过市场活动获得推荐。例如,活动可以在网站或应用程序上显示电影推荐,其中显示的标题基于属于数据集一部分的查看习惯。

数据集可以随着时间的推移而增大,您的模型可以基于新数据重新训练。数据可能来自新的元数据以及对实时用户事件数据的使用。在之前的电影推荐示例中,您可以在新电影发行时添加新电影,也可以添加由登录用户选择的电影。

Amazon PersonalizeAmazon控制台,您可以用来创建、管理和部署解决方案版本。此外,您还可以使用Amazon Command Line Interface(Amazon CLI)或 Amazon Personalize 开发工具包之一。

Amazon Personalize 包含三个相关组件:

  • Amazon Personalize — 用于创建、管理和部署解决方案版本。

  • Amazon Personalize 事件 — 使用此记录事件以将其添加至您的训练数据。有关更多信息,请参阅记录事件

  • Amazon Personalize 运行时 — 用于从活动(部署的解决方案版本)获取推荐。有关更多信息,请参阅获取建议

Amazon Personalize 工作流

用于训练、部署和从活动获取推荐的工作流程为:

  1. 创建相关数据集和数据集组。

  2. 获取训练数据。

    • 将历史数据导入到数据集组。

    • 将用户事件记录到数据集组。

  3. 使用配方创建解决方案版本(已训练模型)。

  4. 使用指标评估解决方案版本。

  5. 创建市场活动(部署解决方案版本)。

  6. 为用户提供推荐。

以下部分简要概述了上述工作流程。每个部分都包含一个指向主要主题的链接,该主题深入介绍了相应步骤并提供了一个 Python 示例。

这些区域有:入门指南提供了使用 Amazon Personalize 控制台的分步过程,Amazon CLI和 Jupyter (iPython) 笔记本。

数据集和数据集组

Amazon Personalize 需要存储在 Amazon Personalize 数据集中的数据来训练模型。

有两种方法可以提供训练数据。您可以从 Amazon S3 存储桶导入历史数据,也可以在创建事件数据时记录它。

数据集组包含相关数据集。您可以创建三种类型的历史数据集:用户、项目和交互。数据集组只能包含每种数据集中的一个,至少必须包含 Consonalize 数据集。

您可以创建不同的数据集组来满足不同的用途。例如,您可能有一个提供购买鞋子的推荐的应用程序,还有一个提供欧洲旅游地点的推荐的应用程序。在 Amazon Personalize 中,每个应用程序都有自己的数据集组。

历史数据必须以 CSV 文件格式提供。每种数据集类型均具有指定 CSV 文件内容的唯一架构。

训练模型的最低数据要求如下:

  • 1000 条组合交互数据记录(按eventTypeeventValueThreshold(如果提供)。

  • 25 个唯一用户,每个用户至少 2 个交互。

注意

使用现有数据,您可以立即开始训练模型。如果您依赖在创建时记录的数据,并且没有历史数据,则可能需要一些时间才能开始训练。

有关更多信息,请参阅准备和导入数据

用户事件

Amazon Personalize 可以实时消费用户事件用于单独或与历史数据结合用于模型训练。

有关更多信息,请参阅记录事件

配方和解决方案

在交互数据集(历史和实时事件)中提供了足够的数据后,可以将这些数据用于训练模型。经过训练的模型称为解决方案版本。模型是使用配方经过训练的。Amazon Personalize 中提供的配方包括算法和数据处理步骤,这些步骤根据您的输入数据为特定类型的推荐优化解决方案。

Amazon Personalize 配方支持许多预定义配方。Amazon Personalize 可以根据其对训练数据的分析自动选择最合适的配方。或者,您也可以选择要用于训练模型的配方。每个配方都有自己的使用案例,您应选择最符合您需求的配方。

每次训练模型时,都会为它分配一个新解决方案版本。使用解决方案版本 ARN 可确定要为您的活动使用的解决方案版本。

有关更多信息,请参阅创建解决方案

Metrics

创建完解决方案版本后,您将评估在训练期间创建的指标。这些指标可指示解决方案版本的性能。控制台将显示指标,并在必要时允许您创建新的解决方案版本。此外,也可以调用 GetSolutionMetrics API。通常情况下,使用多个配方训练模型,并使用生成的指标显示最佳性能的配方。基于所选配方创建解决方案版本后,该解决方案版本可以部署为市场活动。

有关更多信息,请参阅第 4 步:使用指标评估解决方案版本

Campaigns

已部署的解决方案版本称为市场活动。通过活动,Amazon Personalize 可以对您的用户进行推荐。要部署解决方案版本,您应在控制台中或通过调用 CreateCampaign API 创建一个市场活动。您选择要使用的解决方案版本。

有关更多信息,请参阅创建市场活动

Recommendations

在您创建活动后,将能够实时或作为包含纯粹历史数据的批处理工作流程的一部分获取推荐。有关更多信息,请参阅获取建议

实时推荐

在客户使用您的应用程序时,您希望更新建议的情况下获取实时建议。例如,假设您向登录到应用程序的用户提供影片推荐,并且希望在他们选择不同影片时更新推荐。

您可以获得两种不同类型的实时推荐:

  • 对于用户个性化和相关项目配方,请使用GetRecommendationsAPI 获取推荐项目的列表。例如,可以为登录到网站的用户推荐电影。

  • 对于个性化排名配方,请使用GetPersonalizedRankingAPI 让 Amazon Personalize 根据指定的查询对推荐商品的列表进行重新排名。

有关更多信息,请参阅 获取实时推荐

Batch 推荐

在您拥有不需要实时更新的大型数据集的情况下获取批处理推荐。例如,您可以创建批处理推理作业,以获取电子邮件列表中所有用户的产品建议,或者获得库存中的物料与物料相似性 (SIMS)

有关更多信息,请参阅 获取批量建议