使用 Amazon Personalize 构建推荐引擎 - 个性化的实现模式
从用户行为数据生成个性化推荐。介绍配方选择和实时事件集成。
Personalize 的机制与数据准备
Personalize 是基于 Amazon.com 推荐技术的托管 ML 服务。无需 ML 专业知识,即可从用户的行为数据构建推荐模型。输入数据由 3 种数据集构成。Interactions 数据集(必需)记录用户与物品的行为历史(点击、购买、评分)。Items 数据集(可选)包含物品的元数据(类别、价格、类型)。Users 数据集(可选)包含用户的属性信息(年龄段、地区)。只要有至少 1,000 条 Interactions 记录和 25 个以上的唯一用户,就可以开始构建模型。
配方选择
Personalize 提供多种适合不同用途的配方(算法)。User-Personalization 是最通用的配方,为每个用户生成个性化的物品排名。该配方反映实时事件(PutEvents API),在用户浏览网站期间动态更新推荐。Similar-Items 是基于物品间相似性的推荐,适合商品详情页的「浏览此商品的人还浏览过这些商品」。Personalized-Ranking 是根据用户偏好对外部生成的物品列表重新排序的配方,可用于搜索结果的个性化。
实时个性化的实现
实时推荐通过创建活动并调用 GetRecommendations API 来获取。通过 API Gateway + Lambda + Personalize 的架构,从 Web 应用实时获取推荐是标准做法。用户的行为事件通过 PutEvents API 实时发送,模型即时反映这些事件。过滤器功能可以组合动态过滤器(例:仅价格在 5,000 日元以下的物品)和静态过滤器(例:仅类别为「书籍」的物品),按业务规则控制推荐。
Personalize 的定价
Personalize 的费用由数据处理、训练和实时推理构成。数据处理每 GB 约 0.05 美元,训练每训练小时约 0.24 美元(截至 2026 年 8 月)。实时推理每 TPS(Transactions Per Second)小时约 0.20 美元,最低需要预置 1 TPS。批量推理每 1,000 个用户约 0.067 美元,在不需要实时性的情况下,批量方式成本更低。免费套餐在最初 2 个月内包含 20 GB 数据处理、100 小时训练和 50 TPS 小时推理。
代表性的使用场景
Personalize 可用于为每个用户生成经过优化的推荐的各种场景。EC 网站上的「为你推荐的商品」、根据用户喜好对视频或文章列表重新排序的个性化排名、展示与某个商品相关的物品等都是代表性的例子。也可以按行为模式对用户进行分组,并针对每个细分群体采取措施。这些用法通过向用户提供符合其兴趣的信息,有助于提升站内浏览、满意度和转化率。其魅力在于,无需自行实现复杂的推荐算法,就能从行为数据实现高级的个性化。
数据质量与冷启动
推荐的精度在很大程度上取决于用于训练的行为数据的数量和质量。浏览、购买等历史记录越充足,越能给出准确的推荐。对于新用户和尚无历史记录的物品,由于数据不足,精度难以提高,这就是所谓的冷启动问题。对此,辅助利用物品和用户的属性信息(元数据)、引入适度曝光新物品的机制等对策是有效的。持续积累优质数据,同时也结合属性信息,能够带来稳定的推荐质量。
评估与持续改进
推荐不是引入后就结束,而是要一边衡量效果一边持续改进。通过训练时获得的指标可以在一定程度上把握性能,但是否真的起作用,要通过实际用户的反应来确认。如果实施向部分用户展示新推荐以作对照的 A/B 测试,就能定量评估措施对点击和购买产生的影响。由于用户行为随时间变化,需要定期重新训练模型,以反映最新数据。通过循环进行评估和重新训练,可以持续提高推荐的精度和对业务的贡献。
集成与业务规则的应用
Personalize 有实时返回推荐的方式和集中批量生成的方式,可根据用途区分使用。如果要在网站上即时显示,适合使用实时方式;如果要为邮件推送等提前准备,适合使用批量方式。如果希望即时反映用户的最新行为,就使用随时导入行为事件的机制。此外,不仅可以得到纯粹的推荐结果,还可以通过过滤器应用排除缺货商品、优先特定类别等业务上的需要。通过将算法的推荐与业务规则相结合,可以提供实用且自然的推荐。
总结
Personalize 以托管服务形式提供 Amazon.com 积累的推荐技术。只需投入行为数据并选择配方即可构建模型,通过实时 API 获取个性化推荐。适用于电商、媒体分发、内容平台等需要提升用户参与度的服务。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。