京东展示推荐技术 优化算法提升用户体验
2015年11月19日-21日,由CSDN重磅打造的SDCC2015(中国软件开发者大会)在北京举行,吸引了超过上千位专业人士的参与。京东个性化与排序平台部高级总监邹宇、京东推荐平台部总监刘思喆代表京东参与了此项年度技术盛会,并向业界分享了京东的推荐技术。
京东推荐产品覆盖各个渠道,各个平台,包括PC端、APP端、微信购物、手Q购物以及EDM、定向营销等。京东推荐产品有四大价值:挖掘用户潜在的购买需求;缩短用户到商品的距离;用户需求不明确的时候提供比较好的参考;吸引有好奇心的用户。
京东个性化与排序平台部高级总监邹宇
目前,搜索对京东订单引入贡献非常大,推荐的贡献更是高速成长。比如京东推荐系统在京东少儿图书品类推荐效果最好,主要原因是商品单价不高,用户决策并且最终转化成本很低。
京东推荐的架构与算法优化
刘思喆介绍了京东推荐的结构。京东推荐最基础的单元被称为Key,是最基本的召回元素。Key标准结构可能是商品到商品、用户到商品的关系,类目到类目的关系,品牌到品牌的关系,人到商品的关系等等。
再向上一层就是业务逻辑的封装层,将推荐位的行为以及用户当时行为都进行接入,这包括用户的实时数据还有累积消费数据。然后约有上千个和推荐相关的调度系统,把需要的结果都进行计算,最终会加到这个系统里面。
最上层的是整个用户的反馈环,最终可以变成统计系统,即包含优化目标,也包含整个KPI,可以指导最终的顶层数据的存储甚至排序,形成推荐系统的闭环。
据透露,京东推荐系统在算法优化上有四个方向。第一,对业务要有一个非常好的理解,主要的手段就是大量的数据分析,对数据的质量以及覆盖度进行一个比较好的考量,会占25%的权重,第二,京东会测试大量的召回结果,会测试不同算法在不同数据源上的效果,提高召回模型的质量,占据50%权重。第三,京东推荐系统要实时,实时方式拿到用户的反馈,然后应用不同维度数据源进行结果重新排序,占据15%。第四,把离线放到在线,加大数据更新频率,响应用户需求频率,占据10%。
因用户行为而调整的召回与排序
京东的数据主要两大类,用户行为数据和基于内容的数据。京东会根据用户的行为数据构建用户画像,比如是不是有小孩,是不是男性,在京东的生命周期怎么样,促销的敏感度如何,在家还是单位购物多,购买率的等级是什么?京东会根据用户的行为做推荐,这大多是通过离线数据计算的。此外,系统还会根据用户的实时行为进行推荐,比如判断出用户喜欢浏览牙刷的品类,喜欢电动牙刷,而且偏好声波类电动牙刷。
通过“共现矩阵”的办法,京东推荐系统可以度量商品到商品的、用户到用户的商品、商品到商品的相似指数。比如用户对某个商品的分值比较高,浏览的分值比较高,购买的分值更高。通过这些办法,可以找到比较贴近其需求和爱好的产品推荐给消费者,在这些基础算法之外,京东还会应用高级算法提升推荐的效果。
京东还会通过一些模型进行推荐,比如用户的购买力模型、周期商品购买模型、LDA模型等。例如,京东现在有大量第三方商家,会存在有“一品多商”的问题,京东就会用图片相似等方法做过滤。
在排序上,京东会进行两级预估,先预估CTR(点击率),再预估CVR(转化率),由此进行排序。这是如何实现的呢?对于任何一个商品,京东都认为它具备品牌、中心词、类目、扩展属性等指标,可以用销售量来度量。每个商品和商品之间有一张购买的网,每个商品的pagerank也可以使用,这个指标不但考虑了数量问题,还考虑了网状关系,考量的指标还有评论数、好评度、浏览深度等。拿一个实际的例子来说,如果某用户购买产后塑身产品,那么孕妇装虽然有关联度,但这种关系会被剧烈地降低权重,因为逻辑上是先怀孕后生产再塑身。
邹宇分享了对冷启动用户的处理方法。所谓的“冷启动”是指一个新用户,系统中没有他的行为数据。这个时候,京东做法就是根据人以群分的归类法则。比如基于社交关系推荐。当然如果这些没有,可能找更粗的人群分群的方式,比如性别、年龄、地域。当然最极端的情况下,完全没有,那就根据最近的热点进行类别多样化精选推荐的策略,把每一类当下最流行的商品拼在一起推荐给新用户去看,这其实是试探的过程,然后根据用户的交互反馈,慢慢向用户主信息上收敛。
重视实验与监控迅速确认算法优劣
刘思喆介绍,在推荐系统中,京东非常重视实验与监控。京东是算法和架构分离,架构可以管顶层工程,算法就是每天尝试各种各样的特征、数据、规则,以及流量最终的效果怎么样。
京东推荐的实验系统采用了外部的页面配置。流量实时生效,而且流量比例是可以任意分配的。简单修改某一个线上实验,它的流量就可以实现秒级线上更新,第二天甚至实时可以看到结果。京东的分流策略常用两种,第一种是随机,每次刷新看到的结果可能都不一样,比如十组实验,每一版都是10%的概率呈现;第二种就是相对固定,一旦看到第一次结果之后,就保证你以后看到的结果都是这个样子。京东的实验系统支持版本回溯,算法工程师一旦出现误配,可以找回相关的版本和权限。
除了实时实验之外,京东实验系统同样有离线debug平台支持,输入参数可以是一个或多个SKU,也可以是类,进行不同实验的结果召回,定位不同实验的效果。这样算法工程师可以通过自测几个小的例子,迅速找到自己的算法,在没有切流量之前问题在哪,或者到底好在什么地方。
持续优化迭代提升推荐系统价值
刘思喆认为,算法优化必须逐步迭代。不可能忽然上一个很牛的算法保证效果提高50%,工程师之间的相互交流有助于提高算法优化效果。
而通过数据的挖掘,京东也会发现,某些用户从来不点任何推荐,不点任何广告,也就是对这个东西完完全全不感冒。那可能京东也有可能对该用户隐藏推荐系统。“用户如果能深度地参与到推荐系统里面来,当然可能是无意识的,这时推荐系统才真正做到了。”
邹宇认为,京东大数据的价值越来越大。举例来说,互联网展示广告的点击率通常能到千分之一就不错了,转化率更低,通常是万分之几。但京东的搜索转化率高于这种广告转化率的几个数量级,因此,京东的数据会有越来越高的价值,京东的推荐系统在推动业务成长方面的作用也将越来越重要。