阿里飞猪推荐算法探索实践( 五 )


阿里飞猪推荐算法探索实践

文章插图
 
未来,我们还是会更多的结合旅行场景的特色,例如用户的旅行周期,时空属性,行业特点等,去开展相关的算法研究 。
PS:这里打个广告,我们飞猪算法团队专注于搜推广相关领域的研究,也希望一些对旅行行业感兴趣的同学加入我们,和我们一起去打造整个旅行业的新标杆 。这里我把相关同学的联系方式写出来,感兴趣的同学可以直接去联系 。
04问答环节
Q:从点击通过加购或者收藏进行购买的样本量大吗?如果量很小的话,能带来足够大的收益吗?
A:我们可以看下手淘上某个场景的数据:
阿里飞猪推荐算法探索实践

文章插图
 
我们点击后直接产生购买的概率大概是2.5% 。引入一些合适的post-click行为是为了辅助CVR的建模,所以引入的这些行为,从点击到相应行为发生的概率肯定不能比2.5%更低,例如,从点击到加购,概率是8.3% 。这就满足我们刚才讲的条件 。同时引入的post-click行为还要与最终的购买强相关 。我的理解是,在点击和购买之间引入了一些和购买强相关的、且能直接拿到用户反馈label的post-click行为,然后拿它可以进一步辅助我们做CVR的建模 。
Q:ESM^2模型中每增加一类的post-click行为,就需要多增加三个塔吗?
A:不需要 。事实上,我们也不能够完全枚举出所有的post-click行为 。那这里我们怎么做呢?我们把所有的post-click行为分为两类:一类是我们通过数据分析,把一些覆盖量较大的post-click行为先摘出来 。比如点击后的加购/收藏行为等,这类post-click行为也较满足我们的大众认知;另一类就是一些比较长尾的post-click行为了,我们也不需要刻意去处理它们,只需要对前面的DAction取反就能够得到了 。所以这里增加post-click行为也不会增加我们训练的复杂度 。
Q:从购买历史中再次购买会算有点击吗?CTR到CTR概率需要怎么处理?
A:这就要看你这个行为是怎么发生的了 。如果商品从曝光到点击,然后点击后再购买,购买之后再次购买 。连续的两次购买在建模时只当做了一条正样本,label为1 。如果你在第一次购买完之后,又去逛了相应的场景,又产生从曝光到点击再到购买的行为,这样我们又会额外增加了一条训练数据 。它的label即购买的label也为1 。
Q:用户生命周期里面在激发需求阶段和行前阶段是怎么定义或者区分的?
A:这是我们人工定义的规则 。我们把用户的行为数据拿到并进行分析后,人为的把阶段分为了激发需求、行前、行中、行后阶段 。事实上,用户在各个阶段的点击率会有存在一定的差异 。
Q:使用一年甚至更长的数据来训练,不就非常的耗时吗?还是说有一些采样的策略?
A:如果我们还是用DIN的思想,把行为序列拉到一年来建模肯定会非常耗时 。这块我们目前也正在做相应的研究 。比如说针对超长行为训练建模,阿里妈妈团队提供了如何在线上serving的解决方案,具体怎样做,论文里有相关的介绍 。这一块我个人意见还是在于它的工程链路会复杂一些 。
Q:CTR,CVR,CTCVR样本和label分别是怎么标注的?
A:不管是ESM^2还是HM^3模型,建模时都是基于全空间的 。全空间建模需要我们的label也要基于全空间去标注的 。那么,针对一条曝光样本,如果有点击行为,那对应的CTR label就是1,没点就是0 。CTCVR就是说曝光之后,买了就是1,没有买就是0 。这样CTR和CTCVR的label就得到了 。我们是没有单独对CVR做label的标注的 。因为我们基于全空间建模,CVR是通过多个辅任务给间接估出来的 。
Q:周期感知序列建模怎么处理双十一、双十二、国庆节等这些序列点?
A:我们其实可以把不同年份下相应的节日,例如,国庆节等,再结合个人的行为pattern,做一个纵向的建模 。然后这一块的工作也是正在开展之中,暂时还没有取得特别大的突破 。
Q:请问ESM^2模型具体在我们线上业务中的哪块儿场景中应用?
A:该模型以前是在商品详情页腰部的推荐场景上线的 。另外,这个模型的思想我觉得挺好的,我们也把相应的建模思想应用在飞猪旅行场景,也拿到了一些效果 。而且,这个思想也不一定局限于CVR预估里 。例如,可以结合我们飞猪的特点,将它用在我们的CTR模型里面 。比如传统预估CTR时,曝光后,点击的话,label就是1,否则为0 。我们也可以结合这个思想,可以把对CTR的预估分为两个阶段去看 。第一个阶段就是去预估用户对商品所属目的地是否感兴趣,再预估在相应目的地下,对相应的商品是否感兴趣 。这样,我们可以把这个两阶段的建模,统一到ESM^2的建模思想中来 。


推荐阅读