快手提出基于因果消偏的观看时长预估模型《Deconfounding Duration Bias in Watch-time Prediction for Video Recommendation》

背景

观看时长(wathc time)是视频推荐中的重要指标之一,提升整体观看时长是视频推荐系统的主要目标。观看时长主要受两个因素的影响:1)用户是否对视频感兴趣;2)视频本身的时长(duration)。

作者分析发现,一方面,100s以下的视频,其观看时长和本身时长有着正相关关系将视频时长作为输入特征的观看时长预测方法会引入偏置问题;另一方面,随时间推移,视频时长分布极不均匀,且长视频曝光占比会逐渐增大,由此模型训练样本被长视频占据,用户个性化兴趣可能无法有效建模。

 

如何解決duration bias?

最暴力的方法就是对每个视频的样本独立训练一个模型,实际上这么做肯定是不可行的,作者采用了一种折中的方法,先对所有的视频样本按duration排序等频分桶,那么当分桶数目足够多的时间,桶内视频duration差别比较小,如果只用每个桶内的样本单独训练一个模型的话,基本可以消除duration bias了。这种做法扔然有些缺陷,如果每个分桶都单独训练一个模型(或采用multitask建模)会导致模型参数过多,而且不同分桶样本不能共享参数提升泛化性,如果所有分桶都用一个模型训练的话那就无法消除duration bias。作者采用了对label做变换的方法,具体来说不直接拟合观看时长,而是拟合观看时长在这个分桶内所有样本观看时长的分位数,这样就可以把不同分桶label拉到同一尺度,用一个模型训练所有分桶数据也不会有duration bias,预估实把分位数预估值映射回真实光看时长。

 

模型结构

论文提出了三种模型结构:

  1. Native-D2Q:不同分桶不共享NN参数
  2. D2Q:不同分桶共享所有参数
  3. Res-D2Q:不同分桶共享所有参数,并且在输出层前拼接durantion特征

 

问题

1. 分桶多久更新一次

2. 分桶设为多少合理,分桶设的过少分桶内存在duration bias,分桶数过多计算时长分为数时误差会变大

3. 观看时长和分位数的映射关系多久更新一次

 

参考资料

https://zhuanlan.zhihu.com/p/557463255

https://mp.weixin.qq.com/s/Jg0YvlQTwVMJJPvgBP_RLg

posted @ 2022-11-27 11:58  xd_xumaomao  阅读(701)  评论(0编辑  收藏  举报