Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

作者 : 开心源码 本文共5433个字,预计阅读时间需要14分钟 发布时间: 2022-05-12 共84人阅读

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

假如你是某个发行渠道(比方电影、戏剧、电视节目、网络视频)的内容工作者,那么内容的成败就取决于发行机制的运转逻辑。比方说,你制作了一档电视节目,你很想它能火起来,那么你就得知道该在哪里切入广告,怎样宣传节目,上哪个频道播放,所选的频道能被多少家庭收看,等等,诸如此类。python学习群.png

假如你的发行渠道是YouTube,那么你最应该搞清楚的是YouTube的算法是怎样工作的。然而,全天下所有由算法来经营的平台,要搞清楚这一点那不是一般的困难。

YouTube没有把他们算法使用到的变量公之于众。要搞清楚其Python算法的运转原理,即便数据很有限,我们也得对这个大大的黑盒子一探索竟。有些算法倚重的变量,我们是一点数据也拿不到的(比方缩略图,标题印象,使用户访问历史,使用户行为,会话信息,等),假如能拿到这些数据,那等于就是把YouTube的算法脱光了让我们看,然而呢,呵呵哒,并没有。

看起来我们啥都没有,但还是想尽可能使用手上这点数据大致搞清楚其算法逻辑。所以,我的前同事(为什么是“前”同事呢?由于我最近从Frederator离任啦,哇咔咔)Jeremy Rosen花了半年时间分析Frederator自己掌握和经营的频道数据,想搞清楚YouTube的算法。

开始之前,先明确一下:这篇文章内所指的Python算法包含多个YouTube增长类算法(为你推荐(Recommended),建议观看(Suggest),相关视频(Related),搜索(Search),原始评分(MetaScore),等等)。这些不同的算法产品,各有侧重,但有一个共同点,那就是它们的优化目标相同,都是观看时长(Watch Time)。

观看时长

先要说清楚的,“观看时长”并不是说观看过的分钟数。这个概念我们之前也探讨过[1],观看时长由以下指标构成:

  • 访问次数
  • 访问停留
  • 会话开始
  • 上传频率
  • 会话时长
  • 会话结束

本质上以上每一项都关系着频道以及频道的视频体现好坏,人们是不是经常来访问(开始一次页面访问的会话)以及是不是停留很长时间。

要在算法那里积累下任何变量的取值,你的频道和视频首先得有人来访问你才行。一个视频要成功(成功定义为订阅者中超过一半的人在前30天访问过)需要视频发布的前几分钟、前几小时、前几天内得到大量的访问,我们把这称之为访问速率( View Velocity)

访问以及访问速率

我们分析Frederator的访问速率,发现整个生命周期内累计访问次数与前48小时内订阅使用户访问百分比呈指数关系。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

48小时内访问的订阅使用户百分比与得到的平均访问次数

基于这个观察,我们略微深挖了一下,发现使用这个速率规律去预测一个视频能否会成功,可以做到92%的精确率。其实,还存在一个更直接的相关性:72小时内访问的订阅使用户百分比,与视频整个生命周期的累计被访问次数之间。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

72小时内访问的订阅使用户百分比与整个生命周期内累计的访问次数

这两个图以及相关系数充分说明访问次数和访问速率对视频和频道有着直接而重要的影响。除此之外,我们还有证据证实这个规律反过来也成立。差劲的访问速率不但影响这个视频本身,还影响其上一个和下一个视频。

下图说明假如Frederator上一个视频48小时内访问速率比较糟糕(少于5%的订阅使用户访问),那么接下来上传的视频也会受其影响。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

访问了下一个视频的订阅使用户百分比与访问了前两个视频的订阅使用户平均百分比之间的关系

这个数据证明了Matthew Patrick的理论:假如某一个视频点击效果不好,那么你的下一次上传的视频,YouTube就不会给予太多权重让它被你的订阅使用户看到。[2]

也可能是由于上一个视频体现糟糕,所以访问你的频道次数就会减少,自然地就导致更少的订阅使用户以原生的方式访问到。不论究竟“为什么”,结果反正就是酱紫。

另一个负速率对新上传视频的影响就是:有证据表明这还会伤害到你的整个视频库。下面的第一张图是视频上传48小时内就访问的订阅使用户7天平均百分比(译者注:这7天上传了若干个视频,纪录每个视频上传后48小时就访问的订阅使用户百分比,而后取这些百分比的平均值)与频道总访问次数(译者注:反应了整个视频库的效果)的关系。第二张图是某一天访问视频的总体订阅使用户百分比与当日的总体访问次数之间的关系。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

七天内的平均“48小时内访问视频的订阅使用户百分比” 与 每日整个频道视频访问总数之间的关系

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

七天平均订阅使用户访问人数 与 总体访问访问次数之间的关系

这些图标都说明一件事:一旦新上传视频和整个视频库的访问使用户百分比走低,那么频道的总体访问次数也会走低。对于我们来说的启示是:YouTube算法更看重那些能够吸引到核心观众的频道,而惩罚那些不能吸引其核心观众的。

访问停留

另一个算法非常看重的指标就是访问停留(View Duration)。

访问停留就是使用户会花多长时间停留在单个视频页面。这个变量的权重很高,我们的数据中能看到一个显著的引爆点。Frederator其中一个频道,前30天内,平均访问时长8分钟的视频,比平均5分钟的要多350%的访问量。下图表明,Frederator的一个频道的视频访问量,与平均访问停留时长的关系。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

整个生命周期内,平均访问时长和平均访问量的关系 注意,这里没考虑访问时长在八分钟之上的数据。

我们还发现,访问停留时长越长,视频体现越好。下面这张图是七天内访问停留时长少于5分钟的视频(1),介于五分钟到十分钟的(5), 十分钟以上的(10)分别与访问量的关系。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

七天内平均访问量与平均访问停留时长的关系

下面这张图也是一个意思,不过从7天拉长到整个生命周期内了。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

整个生命周期内平均访问量与平均访问停留时长的关系

基于这些发现,我们可以得出一个简单的结论:发布长视频可以提高访问效果。Frederator有一个关于儿童乐园的频道,每周会上传三到四个不同长度(3分钟,10分钟,30分钟。70分钟)的视频,我们发现每个视频发布后的48小时内,70分钟视频的访问次数远远超过其余长度的视频,哪怕是重发少量炒剩饭的旧视频。除此之外,70分钟的视频和其余版本的视频有相同的平均访问停留时长。

于是,我们建议公司每周就只上传70分钟长度的视频就好了。就使用了这个策略,频道日均访问量增长了50万,而过去6周里我们上传的视频个数却减少了75%。好了好了,我知道你受刺激了,不要崇拜哥。

会话开始,会话时长,会话结束

能做这篇研究,全都得益于我之前的一篇文章:《观看时长是个什么鬼》(WTF is WatchTime?)[1]

快速回顾一下,会话开始(Session Starts)就是指使用户有多少次是从你的视频开始访问YouTube的。这其实说明了订阅使用户能在前72小时访问你是多么重要。订阅使用户是在视频发布后最早能看到的你人,他们也是最可能点击你频道图标的人,由于他们已经熟习你的品牌了。

会话时长(Session Duration)就是你的内容让使用户在YouTube平台上逗留了多久,他们访问你的视频,以及访问之后都算是在平台上逗留。除了使用户平均访问时长(Average View Duration )和独立访问数( Unique Views),也没有更好的数据了。

会话结束(Session Ends)衡量使用户是不是经常在看完你的视频后就离开了YouTube平台。这是算法利使用的一个负面指标,但是我们根本拿不到数据。

一则算法理论

YouTube的算法设计时关注的是频道效果而不是单个视频效果。但是它要利使用单个视频来提高频道效果。

算法结合了单个视频的特定数据和频道的聚合数据来决定推荐哪个视频。最终目标依然是为频道聚拢其目标观众。

YouTube这么做是由于:

1. 让使用户常常回访YouTube平台

2. 让使用户在平台停留越久越好

下面有三张图表来证实这则理论是成立的。

第一张图是48小时内访问的订阅者比例与7天内总访问量之间的关系。这张图说明,假如开始有大量使用户从你的视频开始的平台会话,那么你的视频就会取得很大的访问量。到达一个阈值之后,就会呈指数级增长。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

7日内总访问量与48小时内访问的订阅使用户百分比

第二个图是频道内日均访问量与5日内访问的订阅使用户百分比的关系。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

日均访问量与5日内访问的订阅使用户百分比的关系

这意味着假如能一直让大量使用户从你开始访问YouTube(近5天内平均来看),那么算法就会将使用户每日访问向你整个频道视频库倾斜。

最后一幅图是日均访问的订阅使用户百分比与5天内访问的订阅使用户百分比之间的关系。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

日均访问的订阅使用户百分比与5日内访问的订阅使用户百分比之间的关系

我们相信这一切都表明,频道效果的连贯性与访问量之间存在相关性,访问量又体现在订阅使用户访问百分比,YouTube就会因而把流量倾斜给你。

如果说你有一个游戏频道,10万个订阅使用户,你每天上传6个视频,每个视频有5%的订阅使用户访问。你的每个视频的平均访问订阅使用户会稳固在区区5%。这意味你会每天产生30%的订阅使用户访问次数(3万/天,60万/月)。现在假设你有1百万订阅使用户,那么每日访问次数在30万,每月在600万。

我们认为这一段数学运算是不会骗人的。这意味YouTube在根据少量指标选择少量频道进行推荐,而后只需算法帮这个频道提高访问量。

但,勇士请留步,以上还仅仅是理论上的分析!

一种打分算法

这里我们打算破解YouTube的算法,而后重建一个。使用了15个信号量,以及我们预计的权重,来重新构建打分算法。信号量列举如下:

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

使用来开发打分算法的信号量/因素

下面这些图是这些信号量实际产生的效果。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

三天的算法平均分与访问量的相关趋势

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

算法打分与访问量的相关性趋势

下面这张图更详细少量。

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

三天的算法打分均值与每日访问量

知道你还是很好奇,那下面就揭晓我们模拟出来的各种权重:

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

各种算法的权重分布模拟

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

观看时长优化算法的各信号量权重分布模拟

Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

相关推荐及其余算法的各信号量权重分布

然而但是but,我们也没有其余数据了,所以我们也不敢一定在计算相关性时该使用哪种回归方式,也只敢说大多数信号和算法之间很相关,而已。也正由于如此,我们对YouTube算法一直热情不减。

对YouTube算法的看法

根据我们的数据,至少可以得到6个粗浅结论:

1. YouTube使用算法决定了我们的视频和频道能得到多少访问量。

2. 成功的频道都是专注在特定类型的内容或者创意上。

3. 频道自己一旦明确了哪种类型的内容成功之后,就不要再摇摆了。

4. 内容制作者光靠钱在YouTube平台上绝无可能成功,因而土豪型的制作者不太会全身心拥抱YouTube。

5. 个性化的节目/频道会一直是YouTube上面占统治地位的内容类型,由于这就是人们要找的“特定类型的内容”。

6. 新建的频道,假如不能在YouTube站外导流进去的话,相当长时间内增长都会比较困难。

前面说到,YouTube更注重于提高频道的访问效果,这个观点只是我们推测得到的。频道能够上传很多视频,从而取得和留住大量的目标观众。假如你想在YouTube上成功,我们能给的建议就是:瞄准一个非常垂直的兴趣类型,而后持续去制作10分钟以上的视频,肯定得是你选定的这个兴趣类型的视频。

我这里是私人博客,需要提示一下,YouTube可是储备了大量的算法弹药啊,也希望他们不把本文视为对算法的负面消息。通过这篇研究,我更加感谢YouTube及其算法工程师们,有预见性地设计了这些算法。毕竟,他们还是想努力让这个世界上的十亿使用户能在一个月内不重样地观看视频。假如你能停下来回头再整体上审视一下这一切,你会惊叹于YouTube算法设计如此优雅,在实现商业目标上和保护平台健康发展上做得难以置信的好。为他们点32个赞!

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Python破解YouTube视频推荐算法,深度解析原理,但还是看不懂!

发表回复