编者按:多年来,Netflix力求将最合适的内容在正确的时间推送给正确的用户。这个在线视频网站有数千个种类的影片,用户量超过一亿,为每个账户推荐恰当的影片是一项艰巨的任务:用户为什么要花费时间看你推荐给他的东西?如何能让用户对一个陌生内容产生兴趣?如何说服用户这些值得观看?弄清楚这些问题有助于让观众发现更多精彩的内容。方法之一就是为一部影片配上个性化的封面。近日,Netflix的科技部门创建了一种能够为每位用户推送定制封面的系统,一起跟着论智君来看看吧!
插图或封面能凸显出观众喜欢的演员,或是捕捉到影片中激动人心的时刻,才能彰显电影的精髓。如果我们能在用户主页上呈现一幅能有着“一图胜千言”效果的图像,那么你也许想要体验一下。这正是Netflix区别于传统媒体的另一种方式:我们没有自己的产品,但是我们有一亿多种不同的产品,对每位用户,我们都能用独特的推荐方式为其展现个性化的内容。
Netflix之前研究过如何为一部影片挑选一张最合适的封面,当然这是针对所有观众来说的。通过multi-armed bandit算法,我们能捕捉到一张最完美的剧照作为封面。以电视剧《怪奇物语》(Stranger Things)来说,受益于这项技术,该剧吸引了一大批粉丝。但是,每个人的审美不同,对封面也有不同的评价。于是Netflix计划为每名观众推荐不同的封面或插图,这样的效果是否更好?
既然有了想法,那就让我们看一看定制化封面在现实中会产生怎样的效果吧。比如下面的例子,每一行左边都是某位用户曾经看过的影片,箭头右边是我们把电影《心灵捕手》(Good Will Hunting)推荐给他后,他可能看到的封面图。
我们在这里是根据用户喜欢的电影的类型和主题来决定放什么封面。比如,看过许多浪漫电影的人可能会喜欢有马特·达蒙(Matt Damon)和米妮·卓芙(Minnie Driver)的封面。而对于经常看喜剧的人来说,他们可能更喜欢有罗宾·威廉姆斯(Robin Williams)的封面(以上三人均是电影中的演员)。
在另一部电影《低俗小说》(Pulp Fiction)中,我们进一步分析了观众对演员的不同喜欢对观看率的影响。比如经常看女演员乌玛·瑟曼(Uma Thurman)的作品的观众可能会对这部电影感兴趣。同样,约翰·特拉沃尔塔(John Travolta)的粉丝们也会对这部作品感兴趣。
当然,并不是所有通过个性化定制的封面都能十分清晰地分析出来。所以,Netflix打算用数据分析应该怎样生成合适的封面。总的来说,通过个性化处理,我们将逐步改善其用户体验。
Netflix运用算法改进了用户体验的方方面面,例如调整主页的行数、为影片选择的封面、展示出的图集、官方消息等等。每方面的个性化定制都会遇到新的挑战。在这项任务中,我们每次只能选择一个封面作为推荐,而在Netflix原始的设置中可以向同一位用户推荐多张封面,通过用户的选择来了解他们的偏好,这就陷入了“是先有鸡还是先有蛋”的循环:如果用户选择观看一个影片,他就只能看到一幅图像。但是我们想要知道某张封面图是否会影响观众决定看(或不看)这部影片,以及用户在看到哪张封面时有可能看(或不看)。因此,对于封面的个性化推荐位于传统的内容推荐之上,并且需要算法协同彼此的工作。当然,为了了解如何更好地个性化,我们需要收集大量数据,研究那种决策对用户是更好的。
另一个难题在于,如果更换了封面,是否会影响收视率?封面的更换有可能降低影片的识别度,假如某位观众之前对某部影片很感兴趣,但是还没来得及看就换了封面,是否会降低其观看的概率?或者当观众发现影片封面换了,是否会影响他的选择?如果我们有更好的封面,的确是应该传递给用户,但是如果一直换来换去,也会让用户迷惑。所以换封面这一问题也成为了一个“归因问题”,因为不清楚哪张图会引起观众的兴趣。
在这之后,我们还要弄清楚所选封面与同一页面中的其他封面、或同一部剧中的其他季封面之间的关联程度。也许将主角的特写镜头作为封面是个不错的选择,但是如果每部剧都用这个方法的话,看起来就没什么吸引力了。所以,孤立地看一件作品也许还不够,还要考虑如何选择适合整个页面、同时每季之间看起来都非常和谐的多样化图像。除此之外,封面的选择还要取决于影片的其他素材,例如简介和预告片等。因此,这是一个非常多样的选择,每个选择都可能引起观众的兴趣。
为了实现这一目的,我们还需要为每个影片创建一个封面库。这就意味着每张图都是要有吸引力的,能让观众从中看到有价值的信息,而非是为了骗取点击放一幅夸张的图上去。多样化的目的是为了涵盖对不同方面感兴趣的观众。毕竟一件艺术品要想吸引人,还是取决于让更多的人看到它。因此,Netflix的封面库不仅要突出影片的不同主体,还要展示不同的美学角度。
最后一个难题是如何大规模生成定制的封面图。由于Netflix网站几乎是由图片组成的,因此若想实现封面图的个性化,服务器每秒要处理超过2000万个请求峰值。这就要求一个十分稳定的系统,如果用户界面不能快速更新,软件就会被降级。Netflix的个性化算法还需要在影片题目出现时快速响应,即在冷启动的情况下快速学习个性化。在这之后,算法必须不断适应,因为封面图可能要随着影片的发展和观众的口味不断变化。
Netflix大部分的推荐机制都采用机器学习算法。以前我们会收集一批注册会员如何使用服务的数据,然后用这批数据训练一个新的机器学习算法。接下来用A/B测试法在当前的生产系统上测试这种新算法。A/B测试通过在随机子集上运行,可以让人们了解新算法是否比现有的生产系统更好。A组最终获得生产经验,B组获得新的算法。如果B组中的用户更喜欢泡在Netflix上,那么网站就会把这个新算法推广到整个用户群体。但不幸的是,这种处理方式产生了后悔(regret):长期以来,许多用户并没有体验到更好的服务。下图展示了这一过程:
为了减少后悔,我们放弃了批量机器学习,转而考虑在线机器学习。在这次的封面图的个性化中,我们使用的就是情境式拉霸技术(contextual bandits)。这种方法不必收集整批数据、等待机器学习模型训练好后再进行A/B测试,而是可以迅速找出每位用户对影片封面的个性化选择。简而言之,情境式拉霸技术是一种在线学习算法,它可以平衡传统机器学习需要收集数据训练模型所花费的成本与模型应用到每个用户上时所带来的收益。在之前没有使用这种方法的时候,我们找到的最佳封面是没有考虑周围环境的。对于个性化,用户决定了这个环境,因为Netflix希望每个用户对封面做出不同的反应。
情境式拉霸技术的一个重要特征是减少后悔。在高层次上,通过在学习模型中注入受控的随机数据来获得该算法的训练数据。随机化方案的复杂性各不相同,有简单的ε-贪婪算法,也有随着模型不确定性而自适应的闭环算法。我们将这一过程成为数据探索。候选封面的数量和将要覆盖的用户数量将决定数据收集的策略。通过这样的探索,我们需要记录每个封面选择的随机化信息,从而纠正存在误差的选择,以中立的方式执行离线模型评估。
由于在用户界面可能不会选择预测的最佳图像作为封面,所以这样的数据探索通常会产生成本(或后悔)。虽然如此,但因为Netflix拥有超过一亿名会员,所以这样的后悔所带来的影响通常非常非常小。这也是选择情境式拉霸技术的重要考量因素,如果成本太高,那么这种选择就不合适。
根据在线探索方案,Netflix获得一个训练数据集,记录每位用户的浏览数据,他们是否会观看某部影片。此外,我们还可以控制不让封面图像变化地太快,让用户对其的印象更加深刻。另外,研究者还通过用户访问的质量来仔细观察,防止出现“骗点击”的情况,即刚开始给用户提供高质量的图片,但之后推送低质量的封面。
模型训练
在这个在线学习设置中,我们通过训练上述的情境式拉霸,让它们为每个用户选择最好的封面图。通常每个影片最多有几十个候选封面图,为了学习模型选择,可以通过在各个影片中为每个成员独立地进行封面排名,实现这一过程的简化。即使有了简化,我们还是能够了解用户的偏好,因为对于每张候选封面图,总会有看到之后喜欢上它的用户,也有不喜欢的用户。然后可以对这些偏好建模(每组都含有成员、标题、图像),最后可以得到用户接受高质量图片的概率。这些也可以用监督式机器学习模型完成,或带有Thompson Sampling、LinUCB和贝叶斯分类的情境式拉霸,从而得到最佳预测与数据探索。
潜在信号
在情境式拉霸中,情景通常作为输入模型中的特征向量。我们可以使用多中信号作为这个问题的特征。尤其是我们可以考虑用户的许多属性:他们玩的游戏的名称、种类,他们的国家、语言偏好、正在使用的设备、最喜欢在什么时候娱乐等等。由于算法可以和个性化推荐引擎一起选择图像,所以Netflix还可以使用各种推荐算法测试各种名称是否合适,不论是否配图。
图像选择
这归根到底是在图像池中找到最佳候选图像的问题。一旦模型被上文所述那样训练,图像就会根据具体情境排序。该模型可以预测在特定用户的主页中给定图像被播放的概率,最后选择概率最高的图像呈现给用户。
线下
为了评估这种情境式拉霸技术,研究人员在真正开始使用前使用一种名为replay的技术进行利息按评估。这种方法能让他们根据记录的数据回答反事实问题。换句话说,研究人员可以使用不同的算法,在离线情况下比较不同场景下可能发生的情况。
每个用户都有衣服随机图像(顶行)。系统记录了用户对其的印象以及是否播放了该影片(绿色圆点代表播放,红色圆点没有播放)。通过通过匹配随机分配和模型费配相同的分布(黑色方块)并计算该子集的分数来处理子集
随机选择或其他方法在提高目录中的平均参与率中与情境式拉霸法的不同
不同用户为两幅图打分情况。喜欢看浪漫喜剧的观众更喜欢A,喜欢喜剧的观众更喜欢B
线上
经过离线测试不同模型后,研究人员发现重播(replay)有了实质性的增加,然后最终进行了A/B测试。最终结果与研究人员们预想的一样,这种个性化的工作在提升核心指标上起到了重大作用。同时,结果也证明了在离线测量中的重播数据和模型在线得到的数据之间的合理关联。在线结果也得出了一些有趣的见解。例如,在用户没有了解过影片信息之前,个性化的推荐会更准确。这是有一定道理的,因为当我们不熟悉某个事物的时候,封面对我们来说是最重要的信息。
Netflix通过这种新型个性化方式为用户推荐更多新内容,这一项目的重点不仅是如何决定推荐内容,更重要的是他们是如何被推荐给用户的。