YoutuBe 推荐系统

这篇博客参考了2016年Youtube发表的paper《Deep Neural Networks for YouTube Recommendations》,主要讲述了Youtube如何根据用户历史行为观看记录而在线上使用的给用户推荐视频的系统结构,虽然论文有点老,但是里面很多东西还是很有启发意义的。

下面是整个系统的架构图:
在这里插入图片描述
整体来看整个系统像一个漏斗,和其他的推荐系统一样由两个主要部分组成:candidate generation 和 ranking,分别对应了粗排和精排的概念。那么在粗排阶段Youtube使用的模型如下所示:
在这里插入图片描述
首先要声明的是整个系统是离线的,其目的是针对每一个video和用户生成一个Embedding,然后在线上进行粗排召回的时候直接使用内积结果进行排序即可。可以看出整个离线模型和其他一般的推荐系统框架并没有什么不同,就是多层神经网络,只不过最后一层为了加快模型的训练速度并没有直接使用softmax进行训练而是使用了negative sample进行抽样。在特征工程方面加入了一个小trick:那就是加入age信息,即距离training 窗口最近的时间间隔,那么在预测的时候这个时间间隔就是0或者负值。

接下来就是ranking阶段用到的模型,总的来说和candidate generation架构是相似的,只不过多加入了一些额外的特征毕竟候选集已经被缩的足够小了。如下图所示:
在这里插入图片描述
除了candidate generation阶段用到的特征外,其中加入了一些更加精细的特征比方说用户上一次观看该视频的持续时间。其实整篇paper从模型结构上来讲感觉新颖性并不大,但是其中有一些工程上的处理细节还是很有借鉴意义的。

猜你喜欢

转载自blog.csdn.net/guoyuhaoaaa/article/details/84938943