【猎云网(微信号:ilieyun)】12月20日报道 (编译:叶展盛)
编者注:本文的作者是Ashok Chandrashekar、Fernando Amat、Justin Basilico和Tony Jebara。
历年来,Netflix个性化推荐系统的主要目标就是在正确的时间为每位会员给出一个正确的内容。它的内容种类多达数千个,用户群已达数亿,如何为每位会员给出合适的内容,就显得非常关键。
但仅仅推荐还是不够的。为什么用户会对某个特定的内容感兴趣?什么样的内容会引起用户的兴趣?你是如何确信某个内容值得你去观看?回答好这些问题能帮助你的会员发现更好的内容。
解决这些问题的一个途径就是去考虑如何选用更加吸引人的首图,它能吸引用户去观看背后的内容,并给出一些更加“可视化”的理由,表明为什么这个内容更加吸引你。这张图片里可能包含了某个你认识的演员,或者某些比较让人激动的时刻(比如赛车),或者某些电影或电视剧里出现过的比较戏剧化的场景。
如果我们能为首页选到最完美的图片(正所谓:一张图片胜过千言万语),那么就值得一试。而Netflix区别于其他传统媒体供应商的另一大特点就是,他们提供的产品多达数亿种,每一个产品都会针对每一位会员作出个性化的推荐,添加不同的图片。
在前期的工作中,我们会讨论如何为所有会员针对每个标题寻找到合适的图片。通过情境老虎机算法,我们能为一篇文章找到最好的图片,以《怪奇物语》为例,这部作品是会员中播放频率最高的。但是会员在口味和喜好上的差异性很大,如果我们能针对每个会员找到与他们相关程度最高的图片,那就再好不过了。
通过个性化算法,《怪奇物语》每张图片都能增加了大约5%的收视率。不同的图片能涵盖不同的主题,这是任何单张图片所难以企及的。
我们受此获得启发,开始探索什么情况下,图片的个性化能有意义。例如,不同的会员有不同的观看历史,在箭头的左边我们会有三个会员过去观看过的内容,在箭头右边所指的方向,则是一张我们为他们所推荐的图片,代表着一部特殊的电影。
比如我们可以想象一下,为电影《心灵捕手》配备一些个性化的插图来描述它。接下来我们就会定制一些决策,包括一个会员对不同风格和主题的喜好程度。假设一个人喜欢看一些爱情电影,那么我们展示的图片中包含了马特·达蒙和明妮·德瑞弗,那就有可能会引起他们对《心灵捕手》的兴趣。再比如一个人喜欢看喜剧,那么插图里如果出现了著名喜剧演员罗宾·威廉斯,那么他们就可能去观看这部电影。
在另一种情景下,我们也可以想象到会员对不同演员的喜好也会影响到自己会看到什么样的插图。你喜欢乌玛·瑟曼,那么你看到《低俗小说》的图片里,就会出现乌玛·瑟曼。约翰·特拉沃尔塔的粉丝则更有可能看到包含约翰的插图。
当然,并非所有情况都是清晰明了的。我们不会枚举出所有的情况,而是根据数据来进行决策。总的来说,对图片进行个性化处理,的确能让我们的内容更加吸引每一位会员,从而优化他们的体验。
面临的问题
在Netflix上,我们几乎将个性化算法应用到了会员体验的各个方面,包括首页的栏目,里面出现的内容,发送的信息等。每个方面都会给我们带来挑战,上述的插图个性化并非是一个例外。在插图的个性化中,我们面临的一个问题就是对于绝大多数内容而言,我们都只能选择一张图片来代表它(不论这张图片出现在哪里)。
相比之下,传统的推荐设置能给会员提供多个选择,从选择中了解他们的喜好。但这里又出现了一个问题:如果一个会员播放了一个内容,这个内容配备了一张图片,那么我们就要去明白,这张图片到底有没有促使用户去点开这个内容(也许用户根本不是因为这张图片点进去的)。因此插图个性化优于传统推荐系统,它的算法需要协同工作。当然,为了学习如何进行插图的个性化,我们需要搜集大量的数据来获悉哪些信号能决定某张图片会比其他图片更加优秀。
我们面临的另一个问题就是,如何了解改变图片所带来的影响。它是否会降低某个内容的辨识度,提高会员寻找它的难度,比如某个会员先前对它非常有兴趣,但改了图片以后就不看了。或者先前会员不感兴趣,结果一改图片,就开始看了。无疑,如果我们能找到更好的图片,当然会去使用它,但是持续不断的更改也会让会员感到困惑。而且还有一个问题,频繁地更改图片会让我们无法确定到底是哪一副图片吸引了用户,让他们对内容产生了兴趣。
接着,你还要了解在同一页面或同一段时期内,一张图片与其他图片之间的关系。对于某个内容而言,它的图片里出现了主角的特写会有不错的效果,因为相比其他图片它要更加突出。但如果每个内容的首图都差不多,那么它就不会那么有吸引力。所以把每一个内容的首图分开评价还圆圆不够,我们需要选择一些不同的图片。另外图片的效果还取决于摘要、预告片等因素,因此我们需要更加多样化的选择,每个选择都有自己吸引人的地方,彼此形成互补。
为了实现有效的个性化,每一个内容都需要一个图片库。也就是说我们需要很多图片,它们要和内容相关,具有提示性和代表性,这些图片涵盖的多样化程度也要足够高,这样它才能确保覆盖对内容不同方面感兴趣的受众,毕竟一张图片的相关性和代表性,很多时候取决于观看的个人。因此我们的图片不仅要囊括各种主题,还要包罗各种形式的美学。我们团队里的艺术家和设计师都在努力设计多样化的图片。同时他们要在设计过程中考虑各种个性化算法,后者会对图片进行筛选,从而实现首图的生成。
最终,图片个性化的推广还面临着工程技术方面的问题。首先我们的会员体验是高度可视化的,因此它包含了大量的图片。也就是说如果你想要为每个内容配备个性化的图片,那么你最多需要每秒钟处理2000万次请求,同时要确保较低的延迟,这样的系统一定要具备很强的鲁棒性,否则只会降低体验性。在内容发布后,算法的响应速度一定要快,也就是说它必须在冷启动的状态下快速进行个性化学习。另外随着时间的流逝,图片的效果可能也会发生改变,所以算法也要具备自适应能力。
基于情境的老虎机算法
大部分的Netflix推荐引擎都是由机器学习算法支持的。在过去,我们要搜集大量的数据来了解会员是如何使用服务的。随后我们会针对这些数据运行一个新的机器学习算法。接下来我们会和现有的产品系统做对比,对算法进行A/B测试。这种测试能帮我们了解新算法是否比原来的系统更优秀。A组会员采用原来的系统,B组会员采用新系统,如果B组的参与度更高,那么我们就会把这种新算法推广出去。不幸的是,这种方法也有不足之处:许多会员长期得不到更好的体验。
为了减少这种错误,我们开始考虑线上学习,所采用的在线学习框架为基于情境的老虎机算法(contextual bandits)。过去我们都是等待数据搜集完毕后,再建立一个模型,随后进行A/B测试得出结论。这种在线算法能快速地为每位会员,根据当时的情境计算出最优的图片选择。简单地讲,它能不需要你去搜集数据,它会直接根据每个会员当时的情况进行学习。
模型训练
在线上学习中,我们需要训练算法模型去根据当时的情境为用户选出最好的图片。一般情况下,每个内容都会有十几张图片待选。为了简化问题,有时候我们会简单地根据根据对图片进行排名,即便如此,我们也能了解到会员的喜好,因为对于每张候选图片都会有引起一部分会员的兴趣,也有一些会员会对它不感冒。而这种喜好就能通过建模帮助我们预测每一个元素(包括会员、内容和图片)。你可以采用监督学习模型或基于情境的老虎机模型,再加上汤普森采样、LinUCB算法或贝叶斯算法,智能地根据数据做出最好的预测。
潜在的信号
在情境老虎机模型中,所谓的“情境”通常代表着一个特征向量,它是模型的输入量。对于这个问题有很多信号都能作为特征。特别地,我们会考虑以下因素:会员播放的内容、内容的题材、与特定内容的互动方式、会员的国籍、语言偏好、会员所使用的设备、当天的时间以及是星期几。算法在选取图片是会和个性化推荐引擎协作,所以我们也会利用这些信号来判断不同的推荐算法是如何看待不同的内容的。
还有一点很重要,有些外界的图片可能就比候选图片要优秀。我们会留意所有图片的转换率(这个比率就是高质量的播放次数除以总点击量)。我们前期使用非个性化图片时,也会采用转换率来为所有人群选取最佳的首图。在新的模型中,这个指标依旧很重要。
图片的选择
图片的挑选就是从一个内容的待选图片库里选出最合适的一张。一旦上述模型训练完成,我们就会用它去根据每一个情境,对图片进行排序。这个模型会预测在特定情境下,某张图片能引起会员播放内容的可能性。我们会对图片进行筛选,并挑出可能性最高的一张。
效果评估
在上线之前,为了评估情境老虎机算法,我们采用了一种名叫“回放”的离线技术。这种方法让我们能根据记录的探索数据来回答一些违反事实的问题。换言之,我们能离线比较,在不同的情境下采用了不同的算法,接下来一段时间里会发生什么。
在不同的离线模型里进行试验后,我们会找到一些能明显增加播放量的模型,最后我们会通过A/B测试来比较确定最富有潜力的个性化算法。正如我们所预料的那样,这种个性化会对核心指标产生重要影响。我们也看到了离线指标和在线指标之间存在的合理联系。同时在线模式会带来一些有趣的见解。比如个性化能在会员与内容互动不足的情况下带来巨大的影响,这也解释了某个会员在不熟悉某个内容时,图片就显得很重要。
结论
有了这种方法,我们就能完成图片个性化的前几步。这能帮助我们改善用户发现新内容的过程,因此我们把它推广给了每一个人。但这种方法还有很多需要改进的地方,比如开发一种新算法能在冷启动的情况下尽快地实现图片和内容的个性化。另外我们还需要将这种方法进行推广,将其应用于摘要、预告片等方面。最后还有一个大问题,如何帮助艺术家和设计师添加更有吸引力的新图片。