京东推荐系统实践-刘思喆

时忆曼

2018/05/13 发布于 技术 分类

自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、ChinaUnix两大技术社区,已经连续举办了五届中国数据库技术大会,每届大会与会规模超千人,大会云集了国内水平最高的数据架构师、数据库管理和运维工程师、数据库开发工程师、研发总监和IT经理等技术人群,是目前国内最受欢迎、人气最高的的数据库技术交流盛会。

文字内容
1. 京东推荐系统实践 打造千人千面的个性化推荐引擎 推荐搜索部 刘思喆 2015 年 4 月 18 日 . . . . . .
2. 目 推荐系统 1. 京东推荐产品及架构 2. 通用模型的应用 3. 离线 CTR 预测实例 4. 实验与监控 . . . . . .
3. 目 推荐系统 1. 京东推荐产品及架构 2. 通用模型的应用 3. 离线 CTR 预测实例 4. 实验与监控 . . . . . .
4. 京东推荐产品 • 80+ 推荐产品,包括移动端和 Web 端 • 20+ 推荐服务,支撑 EDM、广告、微信端等 • 遍布用户网购的各个环节 推荐系统的价值 • 挖掘用户潜在购买需求 • 缩短用户到商品的距离 • 用户需求不明确时提供参考 • 满足用户的好奇心 . . . . . .
5. 推荐产品截图示例 . . . . . .
6. 不同位置的推荐产品定位不同 • 单品页:购买意图 • 过渡页:提高客单价 • 购物车页:购物决策 • 无结果页:减少跳出率 • 订单完成页:交叉销售 • 关注推荐:提高转化 • 我的京东推荐:提高忠诚度 • 首页猜你喜欢:吸引用户 . . . . . .
7. 京东推荐系统架构 . . . . . .
8. 京东推荐算法优化方向 • 以数据分析为工具,提升数据的质量和覆盖度,增强对业务的理解(25%) • 测试不同算法在不同数据源的效果,提高召回模型的质量,增加结果辨识 度(50%) • 以用户反馈为依据,融合不同类型、不同维度据源,对推荐结果重排序 (15%) • 增加数据的更新频率(5%) • 其他(5%) . . . . . .
9. 推荐系统效果全景图 注:出于公司数据发布安全考虑,已对品类订单占比数据做了随机变换,仅为演示所用 . . . . . .
10. 目 推荐系统 1. 京东推荐产品及架构 2. 通用模型的应用 3. 离线 CTR 预测实例 4. 实验与监控 . . . . . .
11. 京东对推荐数据的理解 用户行为 1. 浏览 2. 点击 • 普通点击 • 搜索点击 3. 加入购物车(或关注) 4. 购买 • 订单 • 用户 5. 评分 基于内容 • 标题 • 扩展属性 • 评论 • 描述 • ... . . . . . .
12. 典型推荐系统技术 按照数据的分类: 协同过滤、内容过滤、社会化过滤 按照模型的分类: 基于近邻的模型、矩阵分解模型、图模型 . . . . . .
13. 协同过滤 I 用户和商品的共现阵: I U 1,0,0,0,0,1, 0,1,0,0,0,0, 1,1,0,0,0,1, 0,0,0,0,1,0, 0,0,1,0,1,0, 0,0,1,0,1,0, 0,0,0,1,0,0, 0,0,0,0,0,1, 0,0,0,0,1,0, 0,0,1,0,0,1, 对于商品 (item) 向量至少有 10+ 的距离计 算公式来计算商品间的距离,一般有: • Jaccard 距离 • (修正)cosine 距离 • Manhattan 距离 • Chebychev 距离 • 欧 (闵) 式距离 • Pearson 相关系数 • Spearman 相关系数 • Kendall 相关系数 • ... . . . . . .
14. 协同过滤 II 以及不太常见的: • simrank • Mahalanobis 距离 • 基于条件概率的 interest • Log likelihood ratio • Mutual information . . . . . .
15. 支持类模型 • 离线推荐 CTR 预测模型 • 用户购买力模型 • 周期购买商品识别模型(商品识别 + 购买周期) • ``不良'' 商品识别模型 • 基于图书内容的 LDA 模型 • 用户行为加权组合的 SVD、SVD++ . . . . . .
16. 关于冷启动 对于“瓜子”我们应该推荐什么 1 1591_ 瓜子 1590_ 锅巴 1.000 2 1591_ 瓜子 1590_ 薯片 0.596 3 1591_ 瓜子 1590_ 花生 0.443 4 1591_ 瓜子 1591_ 开心果 0.318 5 1591_ 瓜子 1591_ 花生 0.274 6 1591_ 瓜子 1591_ 西瓜子 0.265 7 1591_ 瓜子 1591_ 腰果 0.235 8 1591_ 瓜子 1595_ 饼干 0.230 9 1591_ 瓜子 1590_ 豆腐干 0.227 10 1591_ 瓜子 1592_ 牛肉干 0.226 11 1591_ 瓜子 1594_ 口香糖 0.206 12 1591_ 瓜子 1591_ 炒货 0.204 13 1591_ 瓜子 1590_ 肉松饼 0.203 14 1591_ 瓜子 1671_ 卫生纸 0.172 15 1591_ 瓜子 1593_ 大枣 0.165 . . . . . .
17. 周期类商品(部分) . . . . . .
18. 作弊和反作弊 • 用户行为的复杂 • 过度 SEO • 直接作弊 策略: • 异常行为降权 • 异常用户直接过滤 • 点击流规则过滤 . . . . . .
19. 目 推荐系统 1. 京东推荐产品及架构 2. 通用模型的应用 3. 离线 CTR 预测实例 4. 实验与监控 . . . . . .
20. 推荐的 CTR 预测 • 关联推荐的情境下,根据给定主商品推出的推荐商品,在用户浏览后被点 击的概率。 • 可以理解为条件概率 P(Y = 1 X) 为什么要预测推荐商品的 CTR? 1. 调整推荐商品的排序,推断潜在模式 2. 多模型融合的方式 3. 发现影响推荐商品点击率的重要因素 . . . . . .
21. 特征表征方法 用目标问题所在的特定领域知识或者自动化方法来生成、提取、删减或组合变 化来得到特征。 领域经验法 • 条件关系(=,!=) • 几何运算 • 分段及比例 • 其他 自动化技术 • PCA, ICA, NMF • Linear Discriminant Analysis • Collaborative Filtering • AutoEncoder . . . . . .
22. 最优子集(Feature selection)的优点 • 提高模型的可解释性 • 减少训练和预测的时间 • 有效降低过拟合,提升模型的适应能力 模型选用的是基于 L1 + L2 正则的 elastic net . . . . . .
23. 最优子集(Feature selection)的优点 • 提高模型的可解释性 • 减少训练和预测的时间 • 有效降低过拟合,提升模型的适应能力 模型选用的是基于 L1 + L2 正则的 elastic net . . . . . .
24. 如何对商品属性进行描述 对商品的形容: 品牌词、中心词、修饰词;类目属性、扩展属性; 基于用户行为的在商品上的反映: • 销量、PageRank、评论数、好评度、浏览深度 • 商品的标签(如时间标签、地域标签、性别标签等) 对于商品标签(以时间差异构建的时间 feature 为例): 假设 9:00 - 19:00 为白天(D),19:00 - 9:00 为夜间(N),则在这两个时 间段内的用户购买则构成了该商品的时间标签,该商品标签的一般性定义为: ∑ ∑ ∑ u∈D M∑u,i u∈D Mu,i + u∈N Mu,i − ∑ u∈D ∑Mu u∈D Mu + u∈N Mu . . . . . .
25. 商品的组合属性 基于单一属性组合产生的属性,有以下三种: • 相同类属性的组合:如时序上的销量(趋势系数),销量的方差 • 不同类属性的组合:如商品的展示和点击组合(如 CTR)、点击和购买的 组合(如 CVR) • 推荐主商品和推荐品属性的组合。比如品牌词是否一致,价格的比值是否 在一定范围内。 推荐主商品和推荐品三级类目关系需要使用两两配对的 feature 表征形式。 . . . . . .
26. 采样策略 1 vs 0 . . . . . .
27. 部分三级类组合系数展示 前项 后项 权重 1 产后塑身 孕妇装 -1.55 2 月子装 孕妇装 -1.32 3 婴儿外出服 羽绒服/棉服 -1.28 4 水壶/水杯 洗衣液/皂 -1.27 5 宝宝洗浴 爬行垫/毯 -1.25 6 待产/新生 湿巾 -1.17 7 待产/新生 宝宝护肤 -1.13 8 婴儿鞋帽袜 防辐射服 -1.12 9 扭扭车 日常护理 -1.04 10 宝宝零食 钙铁锌/维生素 -1.00 11 日常护理 孕妈美容 -0.99 12 奶瓶奶嘴 驱蚊防蚊 -0.97 13 婴儿内衣 防辐射服 -0.97 14 婴儿鞋帽袜 摇铃/床铃 -0.97 15 滑板车 日常护理 -0.87 16 拉拉裤 婴幼奶粉 -0.87 17 奶瓶奶嘴 吸奶器 -0.85 18 婴儿尿裤 调味品 -0.84 19 婴幼奶粉 水壶/水杯 -0.84 . . . . . .
28. 目 推荐系统 1. 京东推荐产品及架构 2. 通用模型的应用 3. 离线 CTR 预测实例 4. 实验与监控 . . . . . .
29. 实验配置平台 • 配置实时生效 • 任意百分比流量切换 • 可使用 random、partition by user 等策略分流 • 支持版本回溯 • 有权限管理体系 . . . . . .
30. 实验对比平台 . . . . . .
31. 监控和报警 周期监控 • 按照一周为周期的推荐位指标监控,包括 PV、Click、OrderLine • 推荐位实验级别的逐日监控 • 分品类的点击率监控(周单位) 实时监控 • 重点推荐位覆盖以及准确率监控 • 分钟级别 • 一旦异常邮件预警 . . . . . .
32. 效果跟踪:模型效率 . . . . . .
33. 一些感受 • 推荐系统是完整的工程实现,算法 + 工程,二者缺一不可; • 用户行为和业务的主要连接是数据, • 数据的理解高于算法的理解,简单模型配以优质有效数据有更加的效果; • 算法优化是逐步迭代的过程,更多需要的是灵感; • ... . . . . . .
34. I'm hiring! • 邮件:liusizhe<at>jd.com • 博客: http://www.bjt.name • 微博:@ 刘思喆 .Jump to first slide . . . . . .