阿里“推荐系统”背后的算法介绍( 二 )


我们选择了 WDL(Wide & Deep Model)模型,迭代过程中我们也尝试了DCN(Deep & Cross Network) 。线上 AB,二者曝光收益差距很小,DCN 相比WDL 也就+0.03%,最终我们选择 DCN 模型进行全量 。模型训练目前采用 XTensorflow 每天定时训练并推送到 RTP 。
 

阿里“推荐系统”背后的算法介绍

文章插图
 
 
阿里“推荐系统”背后的算法介绍

文章插图
 
图3 左图是 WDL,右图是 DCN
■ 效果
效果其实是由两部分因子构成,为你推荐层面上的精准分发,以及卡片的内部效果 。卡片内部若效果糟糕,其实会进一步降低用户再次点击此类卡片的欲望,也就影响着上游分发 。
目前策略相比弱个性化,曝光收益相对+6.77%,人均点击商品数相对+18.60%; 相比单纯的商品推荐,曝光收益相对+1.58%,人均点击商品数相对+0.01% 。
系统流程
线上调度
为你推荐原有的商品推荐决定着整体商品顺序,而卡片排序模型则决定着哪些商品挂载什么卡片,最终结合规则(沿用弱个性化时期的卡片间隔策略),决定最终卡片展示的位置 。图4是一个调度的流程示意,囊括上述的弱个性化,以及现在的机器学习 。
 
阿里“推荐系统”背后的算法介绍

文章插图
 
图4 调度流程示意(含弱个性化和机器学习模型)
卡片兜底与冷启动
如果单次请求最终结果里有卡片类型缺失,对于缺失的卡片类型,按设定的概率,每种卡片最高出一个,间隔策略也影响着最终兜底的情况,如果没合适的坑位,则不会出 。这样同时保证卡片兜底和冷启动,又增加了卡片多样性,让用户有机会看到其他类型卡片 。
未来的工作
现在的模型,可以说只是卡片选择器,没有做到整体去考虑商品和卡片顺序 。卡片选择器目前只是对为你推荐层面上的曝光点击进行建模,基于我们的目标应该是要考虑卡片内部的点击,这块可以进一步优化 。同时未来打算把现有的商品推荐结果作为一路召回,卡片选择器作为卡片一方的召回,下游训练一个混合排序模型来做整体排序 。




推荐阅读