个性化实时系统实现和应用 腾霄 ( 淘宝主搜算法,专注个性化方向 )
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
BMW 和 smart ,你喜欢那个?
BMW 和 smart ,你会买哪个? 考虑的因素: 价格、空间、油耗、停车 …
BMW 和 smart ,你会买哪个? 如果 Smart 的美女随车附赠呢? 考虑的因素: 价格、空间、油耗、停车 …
BMW 就是我的 dream car 商品促销,宝马大幅降价 商品变化,宝马又出新款了 个人变化,年底多收了三五斗 老婆突然怀孕了 身边好多人买了福克斯 突发阻尼片事件 阿里车展 一直关注宝马, 可是 …… 貌似福特也不错啊
空间够大,皮厚 实,动力够用 价格便宜量又 足,留点奶粉钱 促销力度大,不 用等
最终出手的可能和之前一直关注的完全没有关系! 空间够大,皮厚 实,动力够用 价格便宜量又 足,留点奶粉钱 促销力度大,不 用等
个性化为什么需要实时 个性化因素的变化 Personal Match & Rank Query Item UserProfile
个性化为什么需要实时 个性化因素的变化 Personal Match & Rank Query Item UserProfile 变化是时刻进行的 商品在变化 用户个体在变化 群体、环境在变化 个体和群体的隶属关系也在动态变化 User changing overtime Item changing overtime Desired changing overtime
淘宝商品的变化 – 每天新发布商品 1200 万 – 每天修改商品 2 个亿 – 各种换季、打折、促销、出新款 – 各种突发事件 ” 马云的围巾 ” 、 ” 父亲节 ” 卖家效率决定成败 – 卖家比的是比谁更敏锐抓住市场需求 – 每天 100 多万宝贝销量去零需要增加展现机会 – 没有个性化之前,今天发生的数据变化在排序上要两天后才能体现 如何响应变化,促进更新 ? 个性化为什么需要实时
销量全面提升 热销效果 反应到群 体中的其 他人 单品对某 人群热销 商品表现变化的快速反应
购物 需求 就是想起来了,然后觉得好像 缺什么东西了,就会上去逛逛。 想买某类东 西,还不明确 53.9% 基本上我打开电脑的第一件事就是上淘宝, 看看有没有一些今天比较划算的东西。 想购物还不知 道买什么 27.2% 突然我想买这个东 西了就上淘宝找,搜索。 有明确的想买 的商品 16.0% 有明确的想买 的商品 16.0% 没有购物需 求 2.2% 没有购物需 求 2.2% 上淘宝的时间也比较充裕,因为 白天在公司,没什么事就浏览逛 逛。 Ref: 引自搜索产品团队逛 - 调研部分 个性化为什么需要实时 用户需求的不同和不断变化
短时、实时 价格 、属性、 关键词 … 不断聚焦 Item base rec Recency 中长期兴趣 购买力 类目偏好 店铺偏好 … 人口统计学 性别 年龄 地域 职业 群体 User Base Rec 最近我朋友买了 什么 逛,看看有 什么感兴趣 的 有购物冲动 了,买点什 么呢? 有需要,选 择商品中 确定就买某 个东西 拍下 个性化为什么需要实时 不同状态下的个性化策略
快速反应商品销量、效果变化、加快展现轮动 快速体现换季、热门事件、实现鱼群效应 快速反应用户需求变化、实时调整搜索结果 提供不同的个性化策略数据依据,匹配用户的真实需求 准确反应用户当前偏好,修正用户长期数据,实时反馈 用当前行为解决混合账号的长期偏好混合问题 2500 万家庭账户,近 500 万混合账户 覆盖每天新上架、新成交商品、获得个性化排序权重 覆盖未登陆用户和登陆新用户 近 25% 的 PV 没有来自未登陆用户,平均每天 8.4 次 query 个性化为什么需要实时
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
实时系统的实现 目标: 让个性化拥抱变化 面临的问题: 数据规模 日处理 30 亿日志、高峰期 2-4 倍 每天数亿展现商品数,百亿商品展现次数 每天几千万用户的行为变化 数据完整性 保证数据的有效和可回溯 性能要求 秒级更新时延、保证数据时效性 毫秒级访问时延 业务需求 系统可扩展,适应多变的需求
个性化实时系统诞生 实时系统的实现 流式处理系统 中间大数据存储 TT 日 志流 通道 DB & 索 引 DB & 索 引 分布式 文件系 统 线上应用
系统功能 – 实时获取日志 – 实时在线计算个性化数据 – 实时更新用户和商品 – 实时提供数据服务 系统特点 – 基于 storm 、 HBase 、 UserProfileService 实现业务框架 – 流式计算、大数据存储和高速读写访问 – 秒级更新,毫秒级访问 – 离线训练模型 -> 实时更新特征 -> 在线 Ranking – 良好的系统扩展性 实时系统的实现
UserProfile 更新拓扑 实时系统的实现 日志解析 (parse Spout) 日志解析 (parse Spout) hbase tables 计算 拼接 ipv fav style price … … 分析计算 analyzer bolt 更新 UPS ( update Bout ) 更新 UPS ( update Bout ) TT 日志 userid Auction-behavier-listshop-behavier-list… shopidcateid itemid pricegenderkeyword… userid urlshopidbehavieritemid… Cate profileuserid Globe profile …
商品排序信息更新拓扑 实时系统的实现 日志解析 (parse spout 日志解析 (parse spout hbase tables 计算 user model … renqi SPV 分析计算 Analyzer bolt 拼接 BUY … SPV 缓存 更新索引 ( update Bout ) 更新索引 ( update Bout ) useridurlshopidbehavieritemid… 正排排序字段历史 SPV itemid 历史 IPV 历史销量人群数据 TT 日志 Tag1useridTag2Tag3
实时系统的实现 Keyword : 森女, 纯棉 商品信息 Gender 历史累计表现数据 Price 档位 cateid Shop id hbase 用户信息历史行为 Recency 行为 analyzer framework parser UPS Index 用户数据 插件系列 hbase 商品数据 插件系列 日志 页面页面 页面页面 <1s <1ms 10ms... <3ms 1~2 s 在线 应用 <3ms...
个性化模型分实时计算 计算特征 historyData RecencyData 计算权重 更新排序分 itemRankInfo 更新索引 累计行为 配置信息 规则 模型 Offline LR Learning 日志数据 实时系统的实现
风格偏好实时计算 加权词频 BehaveirList Rencency 计算偏好 删选 UserInfo 更新 UserInfo 删选行为记录 配置 词典 Offline Mining Offline Mining 实时系统的实现 日志数据
实时系统的核心存储 U ser P rofile S ervice – 功能 KKV 数据库及应用服务 支持二级 Key 更新 提供个性化数据的服务模块、提供数据跨平台 支持以插件 so 方式开发 – 性能 低成本存储 & 高稳定性 & 高性能 单机( 48G 内存)读 QPS(3W+) 、延迟 (1ms) / 单机写 QPS(4W+) 、延迟 ( 3ms ) 支持 T 级别的索引 和 10 亿级别的实时更新 数据存储压缩比接近于 gz 实时系统的实现
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
实时系统应用 搜索 浏览 猜你喜欢
搜索应用
在个性化排序中的应用 – query 扩展、类目选择 – 相关性计算 – 个性化模型实时算分 结合混合排序和实时反馈 – 为什么要混合排序和反馈 – 多样性排序 – 卖家流量均衡 – 避免个性化陷阱,个性化数据自我修正 – 排序逻辑时刻更新 – 如何实现混合排序 – 如何进行实时反馈 搜索应用
混合排序逻辑 搜索应用 parser Query & UserInfo Query & UserInfo scorer Score_ pluginN Score_ plugin1 score_p lugin2 score1 score2 … scoreM item list item list rank item List 1 rank item List 2 rank item List M rank item List M ruler Na Nb … … Nx … … 混排 item list resorted
搜索应用 实时反馈过程 个性化 结果 利用 resort 混合展现个性化 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果
搜索应用 实时反馈过程 个性化 结果 利用 resort 混合展现个性化 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 实时计算偏好
搜索应用 实时反馈过程 个性化 结果 利用 resort 混合展现个性化 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 实时计算偏好 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 实时计算偏好
搜索应用 实时反馈过程 个性化 结果 利用 resort 混合展现个性化 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 实时计算偏好 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 实时计算偏好 个性化 结果 自然排 序结果 个性化 结果 自然排 序结果 个性化 结果 翻页 / 换 query 个性化 结果 自然排 序结果 个性化 结果 个性化实时影响下混合排序 实时计算偏好
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
目录 个性化为什么需要实时 实时系统的实现 应用 效果和总结 后续计划
商品数据更新 – 单天千万次排序权重更新,涉及千万有点击、成交商品 – 点击 / 成交数 / 成交金额 / 成交转换率 UPS 更新 – 单天数亿次更新,涉及 4 千万用户 – 极限情况下一次商品问就促发一次更新 系统效果
效果 增加了实时计算后,档位发生提升的宝贝 的成交占全部宝贝的比例提升 2.56% 实时对个性化模型的影响
效果 增加了实时计算后,档位从 0-1 的宝贝的成交笔数占全部宝贝的比 例提升 5.0% , ipv 占比提升 8.0%, pv 占比提升 11.02% 实时对个性化模型的影响
效果体验 实时偏好线下体验 实时偏好线下体验 商品链接 商品链接 在线效果体验 效果
Big Data & Low Latency – 淘宝将整个行为链条都记录在强大的日志体系中 – 实时系统利用强大的日志体系实现信息的实时交互和流转 – 在大数据计算的基础上,进行实时计算和在线 Ranking dynamic personalization – User & item changing over time – 实时系统实现秒级别的用户兴趣捕捉 – 个性化体系反应实时变化,真正做到 dynamic personalization 群体智慧决策 – 用户和商品的联动变化效应,实现类群体智慧决策过程 总结
群体智慧决策 – 用户和商品的联动变化效应,实现类群体智慧决策过程 总结 人群对商品产生兴趣 商品累计有效行为 商品提升排名 人群活动 实时计算和在线 Ranking 把商品变 化信息反馈给人群中的个体 影响用户个体 个体参与群体决策 个体兴趣强化或迁移 商品进一步累计行为 个体反馈
后续计划 – 实时系统系统 Storm-YARN – 模型在线学习,增量学习 – 扩展计算插件,支持更多业务如跨平台 query 推荐、实时商品推荐 后续计划
Q & A 谢谢 结束