从根本上来说,机器学习 (ML) 技术从数据中学习并做出预测。 企业将其数据与机器学习驱动的个性化服务结合使用,以提升客户体验。 这种方法允许企业使用数据来获得可行的见解,并帮助增加收入和品牌忠诚度。
亚马逊个性化 通过 ML 加速您的数字化转型,更轻松地将个性化推荐集成到现有网站、应用程序、电子邮件营销系统等中。 Amazon Personalize 使开发人员能够快速实施定制的个性化引擎,而无需 ML 专业知识。 Amazon Personalize 提供必要的基础设施并管理整个机器学习 (ML) 管道,包括处理数据、识别特征、使用最合适的算法以及训练、优化和托管模型。 您通过 API 接收结果,并且只需为您使用的内容付费,没有最低费用或预先承诺。
该职位 使用 Amazon Personalize 构建近乎实时的个性化推荐 展示如何使用 Amazon Personalize 构建近乎实时的个性化推荐 AWS 专门构建的数据服务。 在这篇文章中,我们将引导您完成使用 Amazon Personalize 的实时个性化推荐系统的参考实施。
解决方案概述
实时个性化推荐解决方案是使用 亚马逊个性化, 亚马逊简单存储服务(Amazon S3), Amazon Kinesis数据流, AWS Lambda及 Amazon API网关.
架构实现如下:
- 资料准备 –开始 创建数据集组、模式和 数据集 代表您的项目、交互和用户数据。
- 训练模型 – 导入数据后,选择与您的用例匹配的配方,然后 创建一个解决方案 通过以下方式训练模型 创建解决方案版本。 当您的解决方案版本准备就绪时,您可以为您的解决方案版本创建营销活动。
- 获得近乎实时的推荐 – 当您有活动时,您可以在应用程序中集成对该活动的调用。 这是调用的地方 获取推荐 or 获取个性化排名 API 旨在向 Amazon Personalize 请求近乎实时的推荐。
有关更多信息,请参阅 使用 Amazon Personalize 构建近乎实时的个性化推荐.
下图说明了解决方案体系结构。
SAP系统集成计划实施
我们通过一个用例来演示此实现,该用例根据最终用户与电影数据库的交互情况向他们提供实时电影推荐。
该解决方案通过以下步骤实施:
- 先决条件(数据准备)
- 设置您的开发环境
- 部署解决方案
- 创建解决方案版本
- 建立广告活动
- 创建事件跟踪器
- 获取建议
- 摄取实时交互
- 验证实时建议
- 净化
先决条件
在开始之前,请确保您具备以下先决条件:
- 准备您的训练数据 – 使用以下命令准备数据并将其上传到 S3 存储桶 说明。 对于这个特定的用例,您将上传交互数据和项目数据。 交互是您记录然后导入为训练数据的事件。 Amazon Personalize 主要根据您导入交互数据集中的交互数据生成建议。 您可以记录多种事件类型,例如点击、观看等。 尽管 Amazon Personalize 创建的模型可以根据用户过去的交互提出建议,但当模型拥有有关用户或项目之间关联的数据时,可以提高这些建议的质量。 如果用户曾观看过项目数据集中归类为戏剧的电影,Amazon Personalize 将推荐相同类型的电影(项目)。
- 设置您的开发环境 – Install 安装 AWS 命令行界面 (AWS CLI)。
- 使用您的 Amazon 账户配置 CLI – 配置 AWS CLI 与您的 AWS 账户信息。
- 安装并引导 AWS 云开发套件 (AWS CDK)
部署解决方案
要部署该解决方案,请执行以下操作:
创建解决方案版本
解决方案是指 Amazon Personalize 配方、自定义参数和一个或多个解决方案版本(经过训练的模型)的组合。 当您在上一步中部署 CDK 项目时,系统会自动为您创建一个具有用户个性化配方的解决方案。 解决方案版本是指经过训练的机器学习模型。 创建一个 解决方案版本 为实施。
建立广告活动
活动部署一个解决方案版本(经过训练的模型),该版本具有用于生成实时建议的预配置事务容量。 创建一个 运动 为实施。
创建事件跟踪器
Amazon Personalize 可以仅基于实时事件数据、仅基于历史事件数据或两者来提出建议。 记录实时事件以构建您的交互数据,并允许 Amazon Personalize 从您的用户最近的活动中了解。 这可以使您的数据保持最新并提高 Amazon Personalize 建议的相关性。 在记录事件之前,您必须创建事件跟踪器。 事件跟踪器将新事件数据定向到数据集组中的交互数据集。 创建并 事件追踪器 为实施。
获取建议
在此用例中,交互数据集由电影 ID 组成。 因此,呈现给用户的推荐将包含最符合用户个人偏好的电影 ID,这些偏好是根据他们的历史交互确定的。 您可以使用 getRecommendations
API 通过发送相关联的信息来检索用户的个性化推荐 userID
, 您需要为用户以及营销活动 ARN 提供的建议结果数。 您可以在 Amazon Personalize 控制台菜单中找到活动 ARN。
例如,以下请求将为用户检索 5 条推荐 userId
是429:
请求的响应将是:
API 调用返回的项目是 Amazon Personalize 根据用户的历史交互向用户推荐的电影。
本上下文中提供的分数值表示范围在 1.0 到 XNUMX 之间的浮点数。 这些值对应于当前活动以及该用例的相关配方。 它们是根据分配给综合数据集中所有项目的集体分数来确定的。
摄取实时交互
在前面的示例中,根据 ID 为 429 的用户与电影数据库的历史交互获得了推荐。 对于实时推荐,用户与商品的交互必须实时提取到 Amazon Personalize 中。 这些交互通过 Amazon Personalize 摄取到推荐系统中 事件追踪器。 交互类型,也称为 EventType
,由交互数据集中的同名列给出(EVENT_TYPE
)。 在此示例中,事件可以是“watch”或“click”类型,但您可以根据应用程序的需要拥有自己的事件类型。
在此示例中,生成用户与项目的事件的公开 API 接收与事件数量相对应的“交互”参数(interactions
)的用户(UserId
)与单个元素(itemId
) 现在。 这 trackingId
参数可以在 Amazon Personalize 控制台和创建事件跟踪器请求的响应中找到。
这个例子显示了一个 putEvent
请求:使用当前时间戳,为用户 ID“1”生成 185 个点击类型的交互,项目 ID 为“429”。 请注意,在生产中,“sentAt”应设置为用户交互的时间。 在下面的示例中,我们将其设置为我们为本文编写 API 请求时采用纪元时间格式的时间点。 事件通过 API 网关发送到 Amazon Kinesis Data Streams,这就是您需要发送stream-name 和 PartitionKey 参数的原因。
您将收到类似于以下内容的确认回复:
验证实时建议
由于交互数据集已更新,因此建议将自动更新以考虑新的交互。 为了验证实时更新的推荐,您可以对同一个用户 id 429 再次调用 getRecommendations API,结果应该与之前的不同。 以下结果显示 id 为 594 的新推荐以及 id 为 16、596、153 和 261 的推荐更改了分数。 这些项目将新电影类型(“动画|儿童|戏剧|奇幻|音乐剧”)引入了前 5 名推荐。
要求:
回应:
响应显示 Amazon Personalize 提供的推荐是实时更新的。
清理
为了避免不必要的费用,请使用以下方式清理解决方案实施 清理资源.
结论
在这篇文章中,我们向您展示了如何使用 Amazon Personalize 实施实时个性化推荐系统。 与 Amazon Personalize 的交互以获取实时交互并获取建议是通过名为curl 的命令行工具执行的,但这些 API 调用可以集成到业务应用程序中并得出相同的结果。
要为您的用例选择新配方,请参阅 实时个性化。 要衡量 Amazon Personalize 所提建议的影响,请参阅 衡量建议的影响.
作者简介
克里斯蒂安·马克斯(Cristian Marquez) 是一名高级云应用架构师。 他在设计、构建和交付企业级软件、高负载分布式系统以及云原生应用程序方面拥有丰富的经验。 他拥有后端和前端编程语言以及 DevOps 实践的系统设计和实施经验。 他积极协助客户构建和保护创新的云解决方案,解决他们的业务问题并实现他们的业务目标。
阿南德·科曼杜鲁 是 AWS 的高级云架构师。 他于 2021 年加入 AWS 专业服务组织,帮助客户在 AWS 云上构建云原生应用程序。 他拥有 20 多年构建软件的经验,他最喜欢的亚马逊领导原则是“领导们很多时候都是对的。“
- :具有
- :是
- :在哪里
- $UP
- 1
- 100
- 11
- 150
- 16
- 17
- 20
- 20 年
- 200
- 2021
- 24
- 49
- 7
- 8
- a
- 关于
- 加速
- 根据
- 账号管理
- 实现
- 可行的
- 积极地
- 活动
- 后
- 再次
- 算法
- 对齐
- 所有类型
- 让
- 允许
- 还
- 尽管
- Amazon
- 亚马逊Kinesis
- 亚马逊个性化
- 亚马逊网络服务
- 其中
- an
- 和
- API
- APIs
- 应用领域
- 应用领域
- 的途径
- 适当
- 架构
- 保健
- AS
- 分配
- 助攻
- 相关
- 协会
- At
- 尝试
- 自动
- 避免
- AWS
- AWS专业服务
- 后端
- 基于
- 基本包
- BE
- 很
- before
- 之间
- 引导
- 都
- 品牌
- 带
- 建立
- 建筑物
- 商业
- 企业
- 但是
- by
- 呼叫
- 被称为
- 呼叫
- 营销活动
- CAN
- 容量
- 案件
- 变
- 收费
- 清洁
- 点击
- 密切
- 云端技术
- 集体
- 柱
- 组合
- 承诺
- 由
- 全面
- 确认
- 所以
- 考虑
- 安慰
- 上下文
- 对应
- 创建信息图
- 创建
- 创建
- 电流
- 顾客
- 客户体验
- 合作伙伴
- 定制
- data
- 资料准备
- 数据库
- 交付
- 演示
- 部署
- 部署
- 漂移
- 设计
- 设计
- 通过电脑捐款
- 决心
- 开发
- 研发支持
- 不同
- 数字
- 数字化改造
- 指导
- 分布
- 分布式系统
- do
- 戏剧
- 更容易
- element
- ELEVATE
- 邮箱地址
- 邮件营销
- 使
- 结束
- 从事
- 发动机
- 增强
- 企业级
- 整个
- 环境
- 时代
- 活动
- 事件
- 例子
- 执行
- 现有
- 体验
- 专门知识
- 裸露
- 喜爱
- 特征
- 费用
- 找到最适合您的地方
- 以下
- 如下
- 针对
- 格式
- 发现
- 新鲜
- 止
- 前端
- 网关
- 生成
- 产生
- 发电
- 类型
- 得到
- 特定
- 理想中
- 团队
- 增长
- 有
- he
- 帮助
- 帮助
- 高
- 他的
- 历史的
- 托管
- 创新中心
- How To
- HTML
- HTTPS
- ID
- 确定
- IDS
- if
- 说明
- 影响力故事
- 实施
- 履行
- 实施
- 进口
- 输入
- 提高
- in
- 包含
- 信息
- 基础设施
- 创新
- 可行的洞见
- 整合
- 集成
- 相互作用
- 互动
- 接口
- 成
- IT
- 项目
- 它的
- 加盟
- JPG
- 保持
- Kinesis 数据流
- 语言
- 领导团队
- 学习用品
- 学习
- 可以学习
- Level
- 喜欢
- Line
- 加载
- 占地
- 忠诚
- 机
- 机器学习
- 制成
- 使
- 制作
- 管理
- 营销
- 匹配
- 衡量
- 菜单
- 的话
- 最低限度
- ML
- 模型
- 模型
- 更多
- 最先进的
- 电影
- 电影
- 多
- 必须
- 姓名
- 本地人
- 近
- 必要
- 需求
- 需要
- 全新
- 没有
- 现在
- 数
- 数字
- 获得
- of
- on
- 一
- 仅由
- 追求项目的积极优化
- or
- 组织
- 输出
- 成果
- 超过
- 己
- 参数
- 参数
- 特别
- 过去
- 个人
- 个性化
- 个性化
- 个性化你的
- 管道
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 点
- 拥有
- 帖子
- 做法
- 预测
- 喜好
- 准备
- Prepare
- 先决条件
- 当下
- 呈现
- 以前
- 主要
- 原理
- 问题
- 处理
- 生产
- 所以专业
- 代码编程
- 编程语言
- 项目
- 提供
- 质量
- 很快
- 范围
- 准备
- 实时的
- 接收
- 接收
- 最近
- 食谱
- 推荐
- 建议
- 建议
- 记录
- 参考
- 参考
- 指
- 相关性
- 知识库
- 代表
- 代表
- 请求
- 响应
- 导致
- 成果
- 收入
- 右
- 同
- 得分了
- 安全
- 提交
- 发送
- 前辈
- 发送
- 服务
- 特色服务
- 集
- 应该
- 显示
- 显示
- 作品
- 类似
- 简易
- 单
- 软件
- 方案,
- 解决方案
- 解决
- 堆
- 开始
- 开始
- 步
- 步骤
- 存储
- 流
- 顺利
- 这样
- 建议
- 肯定
- 系统
- 产品
- 专业技术
- 这
- 其
- 然后
- 博曼
- 他们
- Free Introduction
- 通过
- 次
- 时间戳
- 至
- 工具
- 最佳
- 前5名
- 培训
- 熟练
- 产品培训
- 交易
- 转型
- 类型
- 类型
- 不必要
- 更新
- 上传
- 使用
- 用例
- 用户
- 用户
- 运用
- 验证
- 价值观
- 广阔
- 版本
- 版本
- 走
- 是
- 了解
- we
- 卷筒纸
- Web服务
- 网站
- 井
- 为
- 什么是
- ,尤其是
- 这
- 谁的
- 为什么
- 将
- 也完全不需要
- 写
- 年
- 完全
- 您一站式解决方案
- 和风网
- 零