使用 Amazon Personalize 构建推荐引擎 - 个性化的实现模式
从用户行为数据生成个性化推荐。介绍配方选择和实时事件集成。
Personalize 的机制与数据准备
Personalize 是基于 Amazon.com 推荐技术的托管 ML 服务。无需 ML 专业知识即可从用户行为数据构建推荐模型。输入数据由 3 种数据集构成。Interactions 数据集(必需)记录用户与物品的行为历史(点击、购买、评分)。Items 数据集定义物品的元数据(类别、价格、描述)。Users 数据集定义用户属性(年龄、性别、会员等级)。数据以 CSV 格式上传到 S3,Personalize 自动进行特征工程和模型训练。
配方选择
Personalize 提供多种按用途分类的配方(算法)。User-Personalization 是最通用的配方,为每个用户生成个性化的物品排名。通过实时事件(PutEvents API)反映用户浏览行为,推荐在用户浏览网站期间动态更新。Similar-Items 基于物品间的相似性生成推荐,适用于「查看此商品的人还看了」场景。Personalized-Ranking 对指定的物品列表按用户偏好重新排序,适用于搜索结果和类别页面的个性化排序。
实时个性化的实现
实时推荐通过创建活动并调用 GetRecommendations API 获取。API Gateway + Lambda + Personalize 的架构是从 Web 应用实时获取推荐的标准模式。用户行为事件通过 PutEvents API 实时发送,模型在数秒内反映最新行为。过滤器可按条件排除特定物品(已购买物品、缺货物品),通过动态过滤器在 API 调用时指定条件。批量推荐通过 CreateBatchInferenceJob 为大量用户批量生成推荐并输出到 S3,适用于邮件营销等离线场景。 关于个性化的深入学习,技术书籍 (Amazon)也可供参考。
Personalize 的定价
Personalize 的费用由数据处理、训练和实时推理构成。数据处理每 GB 约 0.05 美元,训练每训练小时约 0.24 美元。实时推理每 TPS(每秒事务数)小时约 0.20 美元,最低需预置 1 TPS。批量推理每 1,000 用户推荐约 0.067 美元。小规模(月 100 万推荐请求以下)时月费约 200-500 美元,大规模时通过 Auto Scaling 优化 TPS 来控制成本。
总结
Personalize 以托管服务形式提供 Amazon.com 积累的推荐技术。只需投入行为数据并选择配方即可构建模型,通过实时 API 获取个性化推荐。适用于电商、媒体分发、内容平台等需要提升用户参与度的服务。