摘要
该文首先从youtube推荐任务所面临的实际难题入手,提出了一种切合视频推荐需求的二阶网络推荐算法,具有很强的工程性意义。
1. 简介
YouTube的视频推荐任务目前面临以下三个问题:
- 规模(scale):推荐算法应当可以适应youtube视频库中海量的视频内容
- 新鲜度(Freshness):由于youtube网络中每天都会有大量的视频被上传,因此推荐系统应当对新上传的视频给与足够的响应。
- 噪声(Noise):由于YouTube的稀缺性和各种不可观测的外部因素,用户在YouTube上的历史行为本来就很难预测。另外,庞大的视频数量不可避免地会增加噪声。
为解决以上问题,youtube提出一种基于深度学习的二阶推荐算法,该算法的网络框架如下:
整体框架由两个子网络串联而成,即召回网络(candidatey generation)以及排序网络(Ranking)。其中,召回网络的输入信息为用户历史文本(user history and context )以及视频源(video corpus),输出为一个召回列表;排序网络的输入信息为其他视频来源(other candidate sources),视频特征(video features)以及信息为用户历史文本(user history and context ),输出为用户感兴趣的视频列表(最终推荐结果)。下面将简明扼要地对两个子网络进行介绍。
2. 召回网络(candidatey generation)
召回网络的目的是从海量的视频中粗略地搜集一部分用户可能会感兴趣的视频,相当于“粗筛选”。召回网络的网络结构如下图。网络结构不算复杂,输入层embedding,中间层包含三个relu层,输出层则根据“训练阶段”以及“服务阶段”输出不同的内容。本小节将从网络的输入,输出以及小技巧三个面方面对召回网络进行简要的陈述。
2.1 网络输入信息
- video watchs :用户观看视频的记录
- search tokens: 用户的搜索记录
- geographic :地理位置信息
- example age:样本时效,即样本从产生时刻到目前时刻的时间
- gender:性别
前三个特征都比较直观,在这里不过多地赘述。对于example age特征,首先引用原文:
We consistently observe that users prefer fresh content, though not at the expense of relevance. In addition to the first-order efect of simply recommending new videos that users want to watch, there is a critical secondary phenomenon of bootstrapping and propagating viral content [11].
从原文中推理,引入example age特征主要有两点原因:
- youbute的研究人员发现,youtube用户对新上传的视频有一种偏好。
- 引导,传播viral content(viral content指通过网络传播从而得到高流行度的视频,可以理解成一上传就引爆网络的视频,如极乐净土等),因流行度极高,这类视频容易对社会造成一定影响,因此youtube的工程师希望算法能捕捉到这一类视频的特性。
机器学习算法一般通过训练数据来对用户的未来行为进行预测,根据实验,工程师们发现网络预测结果中流行度关于时间的分布较为平坦。因此,为了拟合"用户偏好"以及挖掘“viral content”,网络在embedding层中引入了example age特征。另外,example age的平方项(非线性变换)能增加时间的表征能力。总的来说,笔者认为这一特征的作用类似于一个时间戳,目的是为了让网络去学习的过程中去拟合流行度与时间的关系。对有无引入新特征的效果对比如下图: