作者:读芯术
来源:读芯术
TikTok正像风暴一样席卷全球。据Sensor Tower的数据显示,这一短视频App在苹果应用商店和谷歌Play商店上的全球下载量已经超过了20亿。它背后究竟有什么魔力让人如此着迷?答案是机器学习推荐引擎。
Tiktok is sweeping the world like a storm. According to sensor tower, the short video app has been downloaded more than 2 billion times worldwide from Apple App store and Google play store. What is the magic behind it that fascinates people? The answer is machine learning recommendation engine.
坦白说,谁不喜欢猫狗的搞笑视频?尤其是隔离在家的时候,刷短视频是消磨时间的 佳选择。但这只是TikTok成功的一部分原因。不到两年,TikTok从小规模传播的App就成2020年月活8亿、病毒传播的App。
2020年1月,TikTok成为美国下载量 高的应用程序。
TikTok全球下载量
人们平均每天花52分钟刷TikTok,而Snapchat,Instagram和Facebook的用户使用时长分别是每天26分钟、29分钟和37分钟。
图源:Oberlo
除了增长黑客策略,这个60秒短视频App充满了玩梗、搞笑、舞蹈和才艺。它有业内 优秀的推荐引擎之一,用户无需搜索,也不用纠结看哪个博主,轻点手指就会有个性化推荐的视频。
这种快速、简单、无穷无尽的快乐使人很难停止刷TikTok,有人称它为终极时间杀手,占据所有的空闲时间,以某种方式创造了一个现实扭曲力场——“TikTok 5分钟等于现实生活1小时”。
本文将讨论TikTok如何运用机器学习技术,通过互动分析用户的兴趣和喜好,并为不同的用户展示个性化的视频内容。
推荐引擎对数据 界来说并不陌生。有人认为它是上一代的AI系统,确实,它不像图片识别和语言生成技术那样有着炫酷的影响力。但尽管如此,推荐引擎依然是主流AI系统之一,应用广泛,几乎所有线上服务及平台都使用推荐引擎系统,比如YouTube的视频推荐、亚马逊发送的促销邮件、浏览kindle书店时出现的“你可能也喜欢的书”推荐。
戈麦兹·乌里韦发布的研究报告以及Netflix产品总监尼尔·亨特都称,个性化和推荐的结合每年给Netflix省下的钱超过10亿美元,80%的用户都从引擎的推荐列表中选择视频。
那么是什么让TikTok与众不同的呢?一起来看看吧!
推荐引擎介绍
有太多关于推荐引擎的有用文章和网课,本文不再一一赘述,下面两个资源有助于对推荐引擎建立基本了解:
::从零开始创建推荐引擎综合指南(阅读时间约35分钟,复制python代码需要40-60分钟):https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guide-recommendation-engine-python/
·吴恩达的推荐引擎(视频时长一小时):https://www.youtube.com/playlist?list=PL-6SiIrhTAi6x4Oq28s7yy94ubLzVXabj
除了基础部分,产业化的推荐引擎需要强大的后端和架构设计才能实现一体化。下面是一个基本示例:
推荐引擎
一个实时推荐系统应该有坚实的数据基础(用于收集和存储数据)来支持多个顶部抽象层(包括算法层、服务层和应用层),通过这些抽象层解决不同的商业问题。
TikTok推荐引擎的设计原型
图源:unsplash
“以用户为中心的设计”是这一原型的核心。简单来说,从冷启动期的后台调整到为活跃用户提供明确推荐,TikTok只会推荐用户喜欢的内容。
如果用户点击了舞蹈视频,一开始看到的内容就定制为这一娱乐类型,随后的机制是跟踪用户行为,进行进一步分析, 终提供该用户独有的精准推荐。
工作流如下所示:
3个主要组成部分
在TikTok的原型中,有三个主要的构成要素:标记内容、建立用户画像和用户场景以及训练并提供推荐算法。
数据和特征
首先是数据。推荐模型的正式描述是:利用用户原创内容满足用户的功能。要提供这一功能需要输入三个方面的数据。
内容数据——TikTok是一个有大量用户原创内容的平台。每种内容都有其特质,系统应该能够识别和区分内容,才能提供可靠的推荐。
场景数据——这一数据记录的是使用场景,以及不同场景下用户的喜好转变。比如,某用户在上班、旅行、通勤时分别喜欢看什么类型的视频。
用户数据——既包括兴趣标签、职业、年龄、性别、人口统计数据等,也包括以机器学习为基础的用户聚类分析得到的潜在特征。
一旦收集到了相关数据,模型就会从中导出四种严谨设计的特征,输入推荐引擎中。
关联特征:代表内容属性和用户标签之间的关联,包括关键词配对、分类标签、来源匹配、主题标签以及潜在特征(比如用户与内容发布者的距离)。
流行特征:以用户交互为基础,代表 潮流、热门话题、搜索热词、流行主题等等。
用户场景特征:由场景数据而来,包括地理位置、时间段、事件标签等。
协同特征:以协同过滤技术为基础,平衡了狭义推荐(根据喜好推荐)和协同推荐(综合用户喜好推荐)。具体而言,该算法不只考虑某个用户的浏览历史,还分析类似用户群体共同的行为(点击、兴趣、关键词、主题等)。
模型会学习以上的特征,以此预测某个内容是否适合某用户在某种场景观看。
无法度量的对象
在推荐模型中,点击率、浏览时间、点赞数、评论和转发都是可量化对象。程序员可以让模型或算法适应这些对象,然后做出 终预测。
然而,其他无法度量的对象是无法用量化指标来衡量的。比如,为了维持健康的社区环境和生态系统,TikTok以控制暴力、诈骗、 、浮夸内容为目标,将权重赋予符合事实、高质量的内容,比如新闻。
为了实现这一目的,需要在量化模型对象之外,建立更大的控制框架(内容审核系统)。
算法
推荐对象可以转化为经典的机器学习问题,然后协同过滤模型、逻辑回归模型、因子分解模型、几何数据库和深度学习等算法就能解决这一问题。
行业级的推荐系统需要灵活可扩展的机器学习平台,这样才能建立实验流程,从而快速训练各种模型,然后把它们组合起来,实时提供服务(比如把LR模型和DNN模型组合,CVM模型与CNN模型组合)。
除了主要的推荐算法,TikTok还需要训练内容分类算法和用户画像算法。以下是内容分析的层级分类结构。
层级分类树
从主干往下看,主类别的下方是子类别。与其他分类模型相比,使用层级分类机制能更好地解决数据倾斜的问题。
训练机制
TikTok使用实时在线训练模式,这一方法占用的计算资源更少,能够更快地给出反馈。这对于流媒体和信息流产品来说是非常重要的。
用户的行为会立即被捕获,然后反馈给模型,反映在下一个视频中(用户点击新视频时,下一个视频会根据 近的行为快速调整)。TikTok更有可能使用Storm集群处理实时样本数据,包括点击、表演、收藏、表扬、评论和分享。
他们也会建立高性能的系统,比如模型参数和特征服务器(特征库和模型库)。特征库可以保存并提供上千万的原始特征和编辑过的vector,模型库则会维护并提供模型以及调整过的参数。
在线训练机制
完整训练过程是:
线上服务器捕捉实时数据,然后储存到Kafka
Storm集群分析Kafka数据并生成特征
特征库收集新特征和推荐便签,建立新的训练集
在线训练流程重新训练模型参数,并将同样的参数输入模型库
更新客户端的推荐列表,捕捉新的反馈(即用户行为)并再次循环
TikTok的推荐工作流
TikTok从未向公众或技术界公开核心算法。但是,基于该公司公布的零碎信息以及极客们通过逆向工程技术找到的种种踪迹,我们可以得出以下结论。
(声明——这仅仅是作者的理解和推断,可能跟TikTok的做法有出入)
推荐工作流
步骤0:用户原创内容(UGC)的双重审查系统
在TikTok上,每天用户上传的视频有上百万。恶意内容更容易在单机审查系统中找到漏洞,在这种条件下只靠人工审查是不现实的,因此,双重审查系统就成为TikTok筛查视频内容的主要算法。
机器审查:总的来说,(以计算机视觉为基础的)双重审查模型能够识别视频图片和关键词。它主要有两个基本功能:
检查视频片段是否违反法律法规,是否存在抄袭。如果疑似违反规定,模型就会拦截视频内容,打上红标或者黄标,然后转交人工审查。
通过从视频中截取图像或者关键帧,TikTok的双重审查算法会将截图与海量归档内容库比对。重复内容会被选出,其流量受限,在推荐引擎上的权重降低。
人工审查:主要关注3个方面,视频标题,封面缩略图和视频中的关键帧。对于双重审查模型标记为可疑的内容,技术人员会进行人工审查。如果发现某视频违规,该视频会被删除,账户活动暂停。
步骤1:冷启动
信息流漏斗是TikTok推荐机制的核心。在双重审核后,视频将被放入冷启动流量池。例如,在用户的新视频通过审核过程后,TikTok首先将分配200-300个活跃用户的流量,视频可以被浏览数千次。该机制中,新用户可以与(粉丝数万人)网红竞争,因为他们有相同的起点。
步骤2:以指标为基础赋予权重
通过 初的流量池,视频能得到几千播放量,这些数据会被收集和分析。在分析中考虑的指标包括点赞数、播放量、整个视频看完的人数、评论数、关注数、转发数、分享数等等。
然后,推荐引擎就基于这些 初的指标,给视频赋予权重,给账户打分(无论是否是高质量创作者)。如果引擎决定提高内容的权重,权重 高的10%还会有额外10000-100000流量的曝光。
步骤3:用户画像放大器
第2步中从流量池得到的反馈会被进一步分析,用于用户画像放大器的决策。在这一步中,表现出色的内容会得到强化,增加对特定用户群体的投放(比如,体育迷,时尚爱好者)。
这与“猜你喜欢”功能类似。推荐引擎会建立用户画像库,这样它就能找到内容和用户群体之间的 佳匹配了。
步骤4:精品潮流池
只有不到1%的内容 终会进入潮流池。这个池子中的视频得到的曝光量比其他视频高出一个量级。因为流行内容会无差别地推荐给所有用户。
其他步骤:延迟引爆
有一些TikTok博主会注意到,他们的内容突然得到了巨大的引流,但此前数周发布的内容都表现平平。
这主要有两个原因:
,TikTok有一种算法(挖宝人),它可以回顾历史内容,找到适合曝光的高质量内容。若某个用户的视频被该算法选中,则意味着该用户的帐户上有足够多的垂直视频,可以获得新的标签。这个标签使得视频内容更多地出现在挖宝人算法中。
另一个原因是潮流效应。也就是说,如果一个视频有几百万的观看量,TikTok会引流到用户的首页,所以之前发布的内容播放量会增加。对于垂直创作者(比如搞笑猫视频创作者)来说,这是很常见的。一个流行的视频会引爆其他高质量的视频(人们想看更多可爱奇怪的猫视频)。
局限性:流量高峰
如果一个视频可以通过信息流漏斗(双审、权重更新、放大器)获得,创作者的账号可以获得额外的曝光、互动、粉丝。但是研究表明,这样的高曝光时间窗口很短。一般时间窗口一周左右。窗口期过后,视频和账号的人气会下降,甚至后来发布的视频也很难火起来。
这是因为TikTok追求多样化,它会消除算法中无意识的偏见。通过这样的设计,推荐引擎不会倾向某一特定类别的内容,确保新内容有公平的机会进入潮流池。
TikTok的魔力就在于此,明白自己为什么一刷短视频就停不下来了吗?
编译组:蔡思齐、李世琛
相关链接:
https://towardsdatascience.com/why-tiktok-made-its-user-so-obsessive-the-ai-algorithm-that-got-you-hooked-7895bb1ab423
https://towardsdatascience.com/why-tiktok-made-its-user-so-obsessive-the-ai-algorithm-that-got-you-hooked-7895bb1ab423
---------End---------
TikTok已提议成立一个由社交媒体公司组成的全球联盟
TikTok周二表示,TikTok已提议成立一个由社交媒体公司组成的全球联盟,以及早识别和清除有害内容,因为网络应用程序面临着从错误信息到数据隐私的一系列批评。
…
如何使Facebook视频广告更具表现力
在我们应用Facebook时,会发觉里边的信息确实是太多了,并不可以每条信息都查询,总是可选择性的关心这些有使用价值的信息内容。那麼如何使Facebook广告视频更具有感染力呢?广告视频理应简单明了,那样你的广告宣传更非常容易被收看完,并且也更非常容易吸引住受众群体,进而产生更强的实际效果。此外也有六点小窍门~
…