首页新闻动态正文

Python培训之从YouTube算法论文反推其推荐机制(二)

更新时间:2017-08-31 来源:黑马程序员python培训学院 浏览量:


如何对视频进行排名这一块的数学原理非常复杂。论文既没有详述排名过滤器所用的数百项因素,又没有提及他们是如何加权的。但它列举了其中的三大主要因素:浏览记录、搜索记录、观看人数,以及包括新鲜程度在内的其他视频元素。

每一秒钟都有大量的视频上传到YouTube。向用户推荐这些最新上传的新鲜内容,对YouTube来说极其重要。我们长期观察的结果是,用户喜欢新鲜的内容,即便有些内容跟他的关联程度并不大。

论文中提到的比较有趣的一点,是算法并不总会受用户所看的上一个视频的影响,除非你的观看记录极其有限。

我们会优先使用用户的随机观看和关键词搜索记录,然后才会考虑上一个观看视频的数据。

在论文后面讨论视频封面图和标题的时候,他们提到了点击率的问题:

举例来说,用户有很大的几率来观看系统推荐的视频,但不太可能基于封面图的选择而去点击其主页……我们最终的排名会根据实时A/B测试的结果不断调整,它大体上就是一个用于预测用户观看时长的简单函数。

在这里提出点击率的问题其实并未出乎预料。为了能生成更多观看时间,一个视频必须先让人看到才成,其中最好的办法就是做出一个很赞的缩略图并相出一个很赞的标题。这让很多UP主都认为点击率对于视频在算法中的排名极其重要。

但YouTube知道点击率是可以人为刷上去的,所以他们也给出了应对之策。他们在论文中是这么承认的:

通过点击率进行排名往往会变相鼓励诱导性的视频内容,用户即便点进去也很少看完视频,因而观看时长能更反映出视频的好坏。

起码这一机制还算鼓舞人心(译注:对比一下国内某些网站的内容生产机制),作者接下来写到:

如果用户并未观看最近推荐的视频,页面下一次加载时模型就会自动降低该视频的排名。

这就说明,如果用户没有点击特定的视频,该算法就不再将其推荐给相似的用户。频道推荐的情况也一样,论文中的证据如下:

我们观察到的最为重要的信号是用来描述用户此前跟某个视频及其他相似视频的交互的……举例来说,考虑一下用户跟某个频道已经被算法打分过的视频的交互记录:该频道有多少视频被该用户看过?该用户观看同类话题的上一个视频是在什么时间?此类描述用户过往活动的数据特别强大……

此外,该论文还指出,算法在训练时考虑了YouTube视频所有的观看方式,包括那些推荐算法触及不到的地方:

训练数据生成自所有观看方式的YouTube视频(包括内嵌在其他网页中的那些),而非仅用我们自己所生成推荐视频。否则,新内容将很难登上推荐榜单,而推荐系统又将过于依赖过往视频的数据。如果用户通过内容查找到的视频不同于我们的推荐,我们就需要能迅速通过推荐系统把该发现传播给其他用户。

最终,这一切又回到了算法所用的观看时间。正如我们在论文开头所看到的,该算法在设计之初就是一个”目标期望函数“,作者总结”我们的目标就是为了预测用户的观看时长“,”我们最终的排名会根据实时A/B测试的结果不断调整,它大体上就是一个用于预测用户观看时长的简单函数。“

这也再一次说明了视频观看时间之于算法的重要性,该算法的目的就是为了YouTube网站上能有更多、更长的视频以及更多、更长的用户观看时间。

一个简单的回顾

讲了这么多,让我们简单回顾一下:

YouTube使用三个主要的观看因素来推荐视频,它们是用户的观看历史、搜索记录以及相关的用户统计信息。推荐视频是通过候选生成器与排名过滤器的筛选出来的,这两大过滤器决定了YouTube如何读取、筛选视频,如何生成推荐列表。排名过滤器主要是基于用户输入的因素,其他因素还包括视频的”新鲜程度“和点击率。推荐算法的设计初衷是持续增加用户在YouTube网站的观看时长,其方法是持续把视频A/B测试的实时结果不断反馈给神经网络,从而使YouTube能不断为用户推荐它大体上就是一个用于预测用户观看时长的简单函数。

如果你还不明白,咱们就再举一个例子

我们用一个实例来说明这个推荐系统具体是如何运作的:

比如说,小明很喜欢YouTube,他有YouTube账号相关的一切。每天浏览YouTube时,他都会在浏览器登录。一旦登录,YouTube便给小明此次浏览的内容创建三个token:浏览记录、搜索记录以及关于他的统计信息。小明可能压根就不知道这三种数据的存在。

然后轮到候选生成器上场了。YouTube拿这三个token的值跟观看记录类似于小明的用户进行对比,由此筛选出小明可能会喜欢的数百个视频,过滤掉YouTube视频库中数以百万计的其他内容。

接下来,基于视频和小明的相关性,这些视频被排名算法排序。排序时该算法会考虑这样一些问题:小明有多大的可能会打开这个视频?这个视频有没有可能让小明在YouTube上打发更多时间?这个视频的新鲜程度如何?小明最近在YouTube上的活动程度如何?还有数百个其他的问题。

经过YouTube算法的读取、筛选和推荐后,排名最高的视频将被推荐给小明。之后小明看与不看的选择数据都会反馈给神经网络,以供算法后续使用。视频被点开,并吸引小明在YouTube上打发更多时间的目标,则一直持续下去。那些小明没有点开的推荐视频,等他下次登录网站时则有可能通不过候选生成器。

总结

Deep Neural Networks for YouTube Recommendations这篇论文读起来很棒,它第一次让人从源头直击YouTube推荐算法的内幕!!我们希望能接触到更多的论文,以便在为这个平台制作内容的时候能做出更好的选择。这也是愿意花时间来写这些内容的根本原因。毕竟,更适合该平台的内容就意味着更多的浏览量、更高的收入,从而让我们能有更多的资源来为数以十亿计的用户制作出品质更高、更有吸引力的内容。



本文版权归黑马程序员Python培训学院所有,欢迎转载,转载请注明作者出处。谢谢!

作者:黑马程序员Python培训学院

首发:http://www.itheima.com/news/python.html


分享到:
在线咨询 我要报名
和我们在线交谈!