组织不断投入时间和精力来开发智能推荐解决方案,以便为用户提供定制的相关内容。 目标可以有很多:改变用户体验、产生有意义的交互以及推动内容消费。 其中一些解决方案使用基于历史交互模式、用户人口统计属性、产品相似性和群体行为构建的常见机器学习 (ML) 模型。 除了这些属性之外,交互时的上下文(例如天气、位置等)也会影响用户在浏览内容时的决策。
在这篇文章中,我们展示了如何使用用户当前的设备类型作为上下文来提高您的效率 亚马逊个性化基于的建议。 此外,我们还展示了如何使用此类上下文来动态过滤推荐。 尽管本文展示了如何将 Amazon Personalize 用于视频点播 (VOD) 用例,但值得注意的是 Amazon Personalize 可以跨多个行业使用。
什么是亚马逊个性化?
Amazon Personalize 使开发人员能够构建由 Amazon.com 使用的相同类型的 ML 技术提供支持的应用程序,以实现实时个性化推荐。 Amazon Personalize 能够提供广泛的个性化体验,包括特定产品推荐、个性化产品重新排名和定制直接营销。 此外,作为一项完全托管的 AI 服务,Amazon Personalize 通过 ML 加速客户数字化转型,从而更轻松地将个性化推荐集成到现有网站、应用程序、电子邮件营销系统等中。
为什么语境很重要?
使用用户的上下文元数据(例如位置、时间、设备类型和天气)可以为现有用户提供个性化体验,并有助于改善新用户或未识别用户的冷启动阶段。 这 冷启动阶段 指的是您的推荐引擎由于缺乏有关该用户的历史信息而提供非个性化推荐的时期。 在有其他要求来过滤和推广项目的情况下(例如新闻和天气),添加用户当前的上下文(季节或一天中的时间)有助于通过包含和排除推荐来提高准确性。
我们以视频点播平台向用户推荐节目、纪录片和电影为例。 根据行为分析,我们知道 VOD 用户倾向于在移动设备上消费较短的内容(例如情景喜剧),以及在电视或台式机上消费较长的内容(例如电影)。
解决方案概述
扩展考虑用户设备类型的示例,我们展示了如何提供此信息作为上下文,以便 Amazon Personalize 可以自动了解用户设备对其首选内容类型的影响。
我们遵循下图所示的架构模式来说明如何将上下文自动传递到 Amazon Personalize。 自动派生上下文是通过以下方式实现的 亚马逊的CloudFront的 包含在请求中的标头,例如 REST API Amazon API网关 那叫一个 AWS Lambda 检索推荐的功能。 请参阅我们的完整代码示例 GitHub存储库。 我们提供一个 AWS CloudFormation 模板来创建必要的资源。
在以下部分中,我们将逐步介绍如何设置示例架构模式的每个步骤。
选择一个食谱
配方是针对特定用例准备的 Amazon Personalize 算法。 Amazon Personalize 提供基于训练模型常见用例的配方。 对于我们的用例,我们使用用户个性化配方构建了一个简单的 Amazon Personalize 自定义推荐系统。 它根据交互数据集预测用户将与之交互的项目。 此外,此配方还使用项目和用户数据集来影响推荐(如果提供)。 要了解有关此食谱如何工作的更多信息,请参阅 用户个性化配方.
创建并导入数据集
利用上下文需要通过交互指定上下文值,以便推荐器在训练模型时可以使用上下文作为特征。 我们还必须在推理时提供用户的当前上下文。 交互模式(请参阅以下代码)定义历史和实时用户到项目交互数据的结构。 这 USER_ID
, ITEM_ID
及 TIMESTAMP
Amazon Personalize 为此数据集需要字段。 DEVICE_TYPE
是我们为此示例添加的自定义分类字段,用于捕获用户当前的上下文并将其包含在模型训练中。 Amazon Personalize 使用此交互数据集来训练模型并创建推荐活动。
同样,项目架构(请参阅以下代码)定义产品和视频目录数据的结构。 这 ITEM_ID
Amazon Personalize 需要此数据集。 CREATION_TIMESTAMP
是保留的列名称,但不是必需的。 GENRE
和 ALLOWED_COUNTRIES
是我们为此示例添加的自定义字段,用于捕获视频的类型和允许播放视频的国家/地区。 Amazon Personalize 使用此项目数据集来训练模型并创建推荐活动。
在我们的背景下, 史料 指最终用户与点播平台上的视频和项目的交互历史记录。 这些数据通常被收集并存储在应用程序的数据库中。
出于演示目的,我们使用 Python 的 Faker 库生成一些测试数据,模拟 3 个月内与不同项目、用户和设备类型的交互数据集。 定义架构和输入交互文件位置后,下一步是创建数据集组,将交互数据集包含在数据集组中,最后将训练数据导入到数据集中,如以下代码片段所示:
收集历史数据并训练模型
在此步骤中,我们定义所选配方并参考先前定义的数据集组创建解决方案和解决方案版本。 创建自定义解决方案时,您可以指定配方并配置训练参数。 当您为解决方案创建解决方案版本时,Amazon Personalize 会根据配方和训练配置训练支持解决方案版本的模型。 请看下面的代码:
创建活动端点
训练模型后,将其部署到 运动。 活动为您训练的模型创建和管理自动扩展端点,您可以使用该端点来获取个性化推荐 GetRecommendations
API。 在后面的步骤中,我们使用此活动端点自动将设备类型作为上下文作为参数传递,并接收个性化推荐。 请看下面的代码:
创建动态过滤器
从创建的营销活动中获取建议时,您可以根据自定义条件过滤结果。 对于我们的示例,我们创建一个过滤器来满足推荐仅允许在用户当前国家/地区播放的视频的要求。 国家/地区信息从 CloudFront HTTP 标头动态传递。
创建一个Lambda函数
我们架构的下一步是创建 Lambda 函数来处理来自 CloudFront 分配的 API 请求,并通过调用 Amazon Personalize 活动终端节点进行响应。 在此 Lambda 函数中,我们定义逻辑来分析以下 CloudFront 请求的 HTTP 标头和查询字符串参数,从而分别确定用户的设备类型和用户 ID:
CloudFront-Is-Desktop-Viewer
CloudFront-Is-Mobile-Viewer
CloudFront-Is-SmartTV-Viewer
CloudFront-Is-Tablet-Viewer
CloudFront-Viewer-Country
创建此函数的代码是通过 CloudFormation 模板部署的。
创建 REST API
为了使 Lambda 函数和 Amazon Personalize 活动终端节点可供 CloudFront 分配访问,我们创建一个设置为 Lambda 代理的 REST API 终端节点。 API Gateway 提供了用于创建和记录将 HTTP 请求路由到 Lambda 函数的 API 的工具。 Lambda 代理集成功能允许 CloudFront 调用单个 Lambda 函数,将请求抽象到 Amazon Personalize 活动终端节点。 创建此函数的代码是通过 CloudFormation 模板部署的。
创建 CloudFront 分配
创建 CloudFront 分配时,因为这是演示设置,所以我们使用自定义缓存策略禁用缓存,确保请求每次都到达源。 此外,我们使用原始请求策略来指定原始请求中包含的所需 HTTP 标头和查询字符串参数。 创建此函数的代码是通过 CloudFormation 模板部署的。
测试建议
当从不同设备(台式机、平板电脑、手机等)访问 CloudFront 分配的 URL 时,我们可以看到与其设备最相关的个性化视频推荐。 此外,如果呈现冷淡的用户,则呈现针对用户的设备定制的推荐。 在以下示例输出中,视频名称仅用于表示其类型和运行时间,以使其具有相关性。
在以下代码中,向一位喜欢基于过去交互的喜剧并通过电话设备访问的已知用户展示了较短的情景喜剧:
以下已知用户在从智能电视设备访问时会根据过去的交互观看故事片:
通过电话访问的冷漠(未知)用户会看到较短但受欢迎的节目:
Recommendations for user: 666 ITEM_ID GENRE ALLOWED_COUNTRIES 940 Satire US|FI|CN|ES|HK|AE 760 Satire US|FI|CN|ES|HK|AE 160 Sitcom US|FI|CN|ES|HK|AE 880 Comedy US|FI|CN|ES|HK|AE 360 Satire US|PK|NI|JM|IN|DK 840 Satire US|PK|NI|JM|IN|DK 420 Satire US|PK|NI|JM|IN|DK
从桌面访问的冷漠(未知)用户会看到顶级科幻电影和纪录片:
以下通过手机访问的已知用户返回基于位置(美国)的过滤推荐:
结论
在这篇文章中,我们描述了如何使用用户设备类型作为上下文数据以使您的建议更具相关性。 使用上下文元数据训练 Amazon Personalize 模型将帮助您推荐与新用户和现有用户相关的产品,不仅可以通过个人资料数据,还可以通过浏览设备平台。 不仅如此,位置(国家、城市、地区、邮政编码)和时间(星期几、周末、工作日、季节)等上下文为提出与用户相关的推荐提供了机会。 您可以使用我们提供的 CloudFormation 模板来运行完整的代码示例 GitHub存储库 并将笔记本克隆到 亚马逊SageMaker Studio.
作者简介
吉尔斯·库桑·萨奇维 是一名 AWS 企业解决方案架构师,拥有网络、基础设施、安全和 IT 运营背景。 他热衷于帮助客户在 AWS 上构建架构完善的系统。 在加入 AWS 之前,他在电子商务领域工作了 17 年。 工作之余,他喜欢与家人共度时光,并为孩子的足球队加油。
阿迪亚·彭迪亚拉 是位于纽约市的 AWS 的高级解决方案架构师。 他在构建基于云的应用程序方面拥有丰富的经验。 他目前正在与大型企业合作,帮助他们打造高度可扩展、灵活且有弹性的云架构,并在云上为他们提供指导。 他拥有希彭斯堡大学计算机科学硕士学位,并相信“当你停止学习时,你就停止成长”这句话。
帕巴卡尔钱德拉塞卡兰 是 AWS 企业支持的高级技术客户经理。 Prabhakar 喜欢帮助客户在云端构建尖端的 AI/ML 解决方案。 他还与企业客户合作,提供主动指导和运营协助,帮助他们在使用 AWS 时提高其解决方案的价值。 Prabhakar 拥有六项 AWS 和六项其他专业认证。 Prabhakar 拥有超过 20 年的专业经验,在加入 AWS 之前,他是金融服务领域的一名数据工程师和项目负责人。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 汽车/电动汽车, 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 块偏移量。 现代化环境抵消所有权。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/recommend-and-dynamically-filter-items-based-on-user-context-in-amazon-personalize/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 1
- 10
- 100
- 11
- 12
- 160
- 17
- 20
- 20 年
- 22
- 220
- 23
- 24
- 420
- 7
- 9
- a
- 关于
- 加速
- 访问
- 无障碍
- 访问
- 账号管理
- 实现
- 横过
- 操作
- 添加
- 增加
- 另外
- 优点
- 后
- AI
- AI / ML
- 算法
- 所有类型
- 允许
- 还
- 尽管
- Amazon
- 亚马逊个性化
- 亚马逊网络服务
- Amazon.com
- an
- 分析
- 分析
- 和
- API
- APIs
- 应用领域
- 架构
- 保健
- 排列
- AS
- 帮助
- At
- 属性
- 自动
- 可使用
- AWS
- 背景
- 后盾
- 基于
- BE
- 因为
- before
- 相信
- 除了
- 都
- 浏览
- 建立
- 建
- 但是
- by
- 呼叫
- 呼叫
- 营销活动
- 活动
- CAN
- 能力
- 捕获
- 案件
- 例
- 检索目录
- 认证
- 选择
- 城市
- 云端技术
- 码
- 冷
- 柱
- COM的
- 喜剧
- 未来
- 相当常见
- 一台
- 计算机科学
- 配置
- 考虑
- 消耗
- 消费
- 内容
- 上下文
- 上下文
- 一直
- 国家
- 国家
- 手艺
- 创建信息图
- 创建
- 创建
- 创造
- 标准
- 电流
- 目前
- 习俗
- 顾客
- 合作伙伴
- 定制
- 前沿
- data
- 数据库
- 数据集
- 天
- 决定
- 定义
- 定义
- 学位
- 交付
- 需求
- 演示
- 人口统计学
- 部署
- 部署
- 描述
- 通过电脑捐款
- 确定
- 开发
- 发展
- 设备
- 设备
- 不同
- 数字
- 直接
- 分配
- 纪录片
- 记录
- 驾驶
- 两
- 动态
- 动态
- 每
- 更容易
- 电子商务
- 效用
- 努力
- 邮箱地址
- 邮件营销
- 使
- 端点
- 发动机
- 工程师
- 提高
- 保证
- 企业
- 企业
- 所有的
- 例子
- 排除
- 现有
- 体验
- 体验
- 广泛
- 丰富的经验
- 家庭
- 专栏
- 特征
- 小说
- 部分
- 字段
- 文件
- 薄膜
- 过滤
- 终于
- 金融
- 金融服务
- 柔软
- 遵循
- 以下
- 针对
- 止
- ,
- 充分
- 功能
- 功能
- 网关
- 云集
- 生成
- 得到
- 越来越
- 理想中
- GOES
- 团队
- 增长
- 指导
- 指南
- 有
- he
- 头
- 帮助
- 帮助
- 帮助
- 高度
- 他的
- 历史的
- 历史
- 持有
- 恐怖
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- ID
- if
- 进口
- 重要
- 改善
- in
- 包括
- 包括
- 包含
- 行业
- 影响
- 信息
- 基础设施
- 输入
- 整合
- 积分
- 智能化
- 相互作用
- 相互作用
- 互动
- 成
- 投资
- IT
- 项目
- 加盟
- JPG
- 只是
- 知道
- 已知
- 缺乏
- 大
- 大企业
- 后来
- 领导者
- 学习用品
- 学习
- 自学资料库
- 喜欢
- 喜欢
- 圖書分館的位置
- 逻辑
- 长
- 爱
- 机
- 机器学习
- 使
- 制作
- 管理
- 经理
- 管理
- 许多
- 营销
- 主
- 有意义的
- 元数据
- ML
- 联络号码
- 移动设备
- 模型
- 模型
- 更多
- 最先进的
- 电影
- 多
- 神秘
- 姓名
- 名称
- 导航
- 必要
- 工业网络
- 全新
- 消息
- 下页
- 注意
- 纽约市
- of
- on
- 仅由
- 打开
- 操作
- 运营
- ZAP优势
- or
- 起源
- 其他名称
- 我们的
- 输出
- 学校以外
- 超过
- 参数
- 参数
- 通过
- 通过
- 多情
- 过去
- 模式
- 模式
- 期间
- 个性化
- 个性化
- 个性化你的
- 相
- 电话
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 播放
- 政策
- 热门
- 帖子
- 邮政
- 供电
- 预测
- 首选
- 准备
- 呈现
- 先前
- 先
- 主动
- 过程
- 产品
- 核心产品
- 所以专业
- 本人简介
- 曲目
- 促进
- 提供
- 提供
- 提供
- 优
- 代理
- 目的
- 报价
- 实时的
- 接收
- 食谱
- 建议
- 推荐
- 建议
- 建议
- 记录
- 指
- 关于
- 地区
- 相应
- 表示
- 请求
- 要求
- 必须
- 需求
- 岗位要求
- 需要
- 保留的
- 弹性
- 资源
- 分别
- 回应
- REST的
- 成果
- 返回
- 路线
- 运行
- sagemaker
- 同
- 对工资盗窃
- 可扩展性
- 科学
- 科幻小说
- 季节
- 部分
- 保安
- 看到
- 前辈
- 服务
- 服务
- 特色服务
- 集
- 格局
- 显示
- 如图
- 作品
- 相似之处
- 简易
- 单
- 情况
- SIX
- 智能
- 智能电视
- So
- 足球
- 方案,
- 解决方案
- 一些
- 太空
- 具体的
- 花
- 步
- 步骤
- 存储
- 串
- 结构体
- 这样
- SUPPORT
- 产品
- 平板电脑
- 量身定制
- 采取
- 团队
- 文案
- 专业技术
- 模板
- test
- 这
- 其
- 他们
- 那里。
- 博曼
- 事
- Free Introduction
- 通过
- 次
- 时间戳
- 至
- 工具
- 最佳
- 培训
- 熟练
- 产品培训
- 火车
- 改造
- 转换
- true
- tv
- 类型
- 类型
- 大学
- 不明
- 网址
- us
- 使用
- 用例
- 用过的
- 用户
- 用户体验
- 用户
- 使用
- 运用
- 平时
- 折扣值
- 价值观
- 版本
- 视频
- 视频点播
- 视频
- 是
- we
- 天气
- 卷筒纸
- Web服务
- 网站
- 周
- 周末
- ,尤其是
- 而
- WHO
- 宽
- 将
- 中
- 工作
- 工作
- 加工
- 合作
- 价值
- 年
- 完全
- 您一站式解决方案
- 和风网