读芯术|抖音的奇幻漂流:为什么TikTok让用户如此着迷?
全文共4275字 , 预计学习时长14分钟
本文插图
图源:unsplash
TikTok正像风暴一样席卷全球 。 据Sensor Tower的数据显示 , 这一短视频App在苹果应用商店和谷歌Play商店上的全球下载量已经超过了20亿 。 它背后究竟有什么魔力让人如此着迷?答案是机器学习推荐引擎 。
坦白说 , 谁不喜欢猫猫狗狗的搞笑视频呢?尤其是隔离在家时 , 刷短视频是打发时间的最佳选择 。 但这只是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让用户如此着迷?】
本文插图
推荐引擎
一个实时推荐系统应该有坚实的数据基础(用于收集和存储数据)来支持多个顶部抽象层(包括算法层、服务层和应用层) , 通过这些抽象层解决不同的商业问题 。
TikTok推荐引擎的设计原型
本文插图
图源:unsplash
“以用户为中心的设计”是这一原型的核心 。 简单来说 , 从冷启动期的后台调整到为活跃用户提供明确推荐 , TikTok只会推荐用户喜欢的内容 。
如果用户点击了舞蹈视频 , 一开始看到的内容就定制为这一娱乐类型 , 随后的机制是跟踪用户行为 , 进行进一步分析 , 最终提供该用户独有的精准推荐 。
高级工作流如下所示:
本文插图
3个主要组成部分
在TikTok的原型中 , 有三个主要的构成要素:标记内容、建立用户画像和用户场景以及训练并提供推荐算法 。
数据和特征
首先是数据 。 推荐模型的正式描述是:利用用户原创内容满足用户的功能 。 要提供这一功能需要输入三个方面的数据 。
· 内容数据——TikTok是一个有大量用户原创内容的平台 。 每种内容都有其特质 , 系统应该能够识别和区分内容 , 才能提供可靠的推荐 。
· 场景数据——这一数据记录的是使用场景 , 以及不同场景下用户的喜好转变 。 比如 , 某用户在上班、旅行、通勤时分别喜欢看什么类型的视频 。
· 用户数据——既包括兴趣标签、职业、年龄、性别、人口统计数据等 , 也包括以机器学习为基础的用户聚类分析得到的潜在特征 。
一旦收集到了相关数据 , 模型就会从中导出四种严谨设计的特征 , 输入推荐引擎中 。
· 关联特征:代表内容属性和用户标签之间的关联 , 包括关键词配对、分类标签、来源匹配、主题标签以及潜在特征(比如用户与内容发布者的距离) 。
· 流行特征:以用户交互为基础 , 代表国际潮流、热门话题、搜索热词、流行主题等等 。
· 用户场景特征:由场景数据而来 , 包括地理位置、时间段、事件标签等 。
· 协同特征:以协同过滤技术为基础 , 平衡了狭义推荐(根据喜好推荐)和协同推荐(综合用户喜好推荐) 。 具体而言 , 该算法不只考虑某个用户的浏览历史 , 还分析类似用户群体共同的行为(点击、兴趣、关键词、主题等) 。
模型会学习以上的特征 , 以此预测某个内容是否适合某用户在某种场景观看 。
无法度量的对象
在推荐模型中 , 点击率、浏览时间、点赞数、评论和转发都是可量化对象 。 程序员可以让模型或算法适应这些对象 , 然后做出最终预测 。
本文插图
图源:unsplash
然而 , 其他无法度量的对象是无法用量化指标来衡量的 。 比如 , 为了维持健康的社区环境和生态系统 , TikTok以控制暴力、诈骗、色情、浮夸内容为目标 , 将权重赋予符合事实、高质量的内容 , 比如新闻 。
为了实现这一目的 , 需要在量化模型对象之外 , 建立更大的控制框架(内容审核系统) 。
算法
推荐对象可以转化为经典的机器学习问题 , 然后协同过滤模型、逻辑回归模型、因子分解模型、几何数据库和深度学习等算法就能解决这一问题 。
行业级的推荐系统需要灵活可扩展的机器学习平台 , 这样才能建立实验流程 , 从而快速训练各种模型 , 然后把它们组合起来 , 实时提供服务(比如把LR模型和DNN模型组合 , CVM模型与CNN模型组合) 。
除了主要的推荐算法 , TikTok还需要训练内容分类算法和用户画像算法 。 以下是内容分析的层级分类结构 。
本文插图
层级分类树
从主干往下看 , 主类别的下方是子类别 。 与其他分类模型相比 , 使用层级分类机制能好地解决数据倾斜的问题 。
训练机制
TikTok使用实时在线训练模式 , 这一方法占用的计算资源更少 , 能够更快地给出反馈 。 这对于流媒体和信息流产品来说是非常重要的 。
用户的行为会马上被捕捉 , 然后反馈给模型 , 反映在下一个视频中(用户点击新视频时 , 下一个视频会快速根据最近的行为做出调整) 。 TikTok更有可能使用Storm集群来处理实时样本数据 , 包括点击、表演、收藏、点赞、评论和分享 。
他们也会建立高性能的系统 , 比如模型参数和特征服务器(特征库和模型库) 。 特征库可以保存并提供上千万的原始特征和编辑过的vector , 模型库则会维护并提供模型以及调整过的参数 。
本文插图
在线训练机制
完整训练过程是:
· 线上服务器捕捉实时数据 , 然后储存到Kafka
· Storm集群分析Kafka数据并生成特征
· 特征库收集新特征和推荐便签 , 建立新的训练集
· 在线训练流程重新训练模型参数 , 并将同样的参数输入模型库
· 更新客户端的推荐列表 , 捕捉新的反馈(即用户行为)并再次循环
TikTok的推荐工作流
TikTok从未向公众或技术界公开核心算法 。 但是 , 基于该公司公布的零碎信息以及极客们通过逆向工程技术找到的种种踪迹 , 我们可以得出以下结论 。
(声明——这仅仅是作者的理解和推断 , 可能跟TikTok的做法有出入)
本文插图
推荐工作流
步骤0:用户原创内容 (UGC) 的双重审查系统
本文插图
图源:unsplash
在TikTok上 , 每天用户上传的视频有上百万 。 恶意内容更容易在单机审查系统中找到漏洞 , 在这种条件下只靠人工审查是不现实的 , 因此 , 双重审查系统就成为TikTok筛查视频内容的主要算法 。
本文插图
机器审查:总的来说 , (以计算机视觉为基础的)双重审查模型能够识别视频图片和关键词 。 它主要有两个基本功能:
· 检查视频片段是否违反法律法规 , 是否存在抄袭 。 如果疑似违反规定 , 模型就会拦截视频内容 , 打上红标或者黄标 , 然后转交人工审查 。
· 通过从视频中截取图像或者关键帧 , TikTok的双重审查算法会将截图与海量归档内容库比对 。 重复内容会被选出 , 其流量受限 , 在推荐引擎上的权重降低 。
人工审查:主要关注3个方面 , 视频标题 , 封面缩略图和视频中的关键帧 。 对于双重审查模型标记为可疑的内容 , 技术人员会进行人工审查 。 如果发现某视频违规 , 该视频会被删除 , 账户活动暂停 。
步骤1:冷启动
TikTok推荐机制的核心是信息流漏斗 。 视频通过双重审查之后 , 会被放入冷启动流量池中 。 比如 , 用户的新视频通过了审核流程之后 , TikTok一开始会分配200-300个活跃用户的流量 , 视频能得到上千次的浏览 。 在这一机制中 , 新人可以与(粉丝上万的)网红竞争 , 因为他们拥有同样的起点 。
步骤2:以指标为基础赋予权重
通过最初的流量池 , 视频能得到几千播放量 , 这些数据会被收集和分析 。 在分析中考虑的指标包括点赞数、播放量、整个视频看完的人数、评论数、关注数、转发数、分享数等等 。
然后 , 推荐引擎就基于这些最初的指标 , 给视频赋予权重 , 给账户打分(无论是否是高质量创作者) 。 如果引擎决定提高内容的权重 , 权重最高的10%还会有额外10000-100000流量的曝光 。
步骤3:用户画像放大器
第2步中从流量池得到的反馈会被进一步分析 , 用于用户画像放大器的决策 。 在这一步中 , 表现出色的内容会得到强化 , 增加对特定用户群体的投放(比如 , 体育迷 , 时尚爱好者) 。
这与“猜你喜欢”功能类似 。 推荐引擎会建立用户画像库 , 这样它就能找到内容和用户群体之间的最佳匹配了 。
本文插图
步骤4:精品潮流池
只有不到1%的内容最终会进入潮流池 。 这个池子中的视频得到的曝光量比其他视频高出一个量级 。 因为流行内容会无差别地推荐给所有用户 。
其他步骤:延迟引爆
有一些TikTok 博主会注意到 , 他们的内容突然得到了巨大的引流 , 但此前数周发布的内容都表现平平 。
这主要有两个原因:
· 首先 , TikTok有一个算法( “挖宝人”) , 该算法会回顾历史内容 , 寻找适合曝光的高质量内容 。 如果某用户的视频被这个算法选中 , 意味着该用户的账户上有足够多的垂直视频 , 可以得到一个新标签 。 该标签使视频内容更多出现在“挖宝人”算法中 。
· 第二个原因是“潮流效应” 。 这意味着 , 如果某个视频有几百万的观看量 , TikTok会引流到该用户的主页 , 因此以前发布的内容播放量就会上升 。 对于垂直创作者(比如搞笑猫咪视频创作者)来说 , 这是常有的事 。 一个流行视频会引爆所有其他高质量的视频(人们想看更多可爱又奇怪的猫咪视频) 。
本文插图
图源:unsplash
局限性:流量高峰
如果一个视频能够通过信息流漏斗(双重审查 , 权重更新和放大器) , 创作者的账户就能够得到额外的曝光、互动和粉丝 。 但研究表明 , 这样的高曝光时间窗很短 。 通常 , 时间窗大约为一周 。 窗口期过后 , 该视频及账户的热度会下降 , 甚至随后发布的视频也很难火起来 。
这是因为TikTok追求多样化 , 它会消除算法中无意识的偏见 。 通过这样的设计 , 推荐引擎不会倾向某一特定类别的内容 , 确保新内容有公平的机会进入潮流池 。
TikTok的魔力就在于此 , 明白自己为什么一刷短视频就停不下来了吗?
本文插图
留言点赞关注
我们一起分享AI学习与发展的干货
如转载 , 请后台留言 , 遵守转载规范
本文为***作者原创 , 未经授权不得转载
推荐阅读
- 科学探索|新技术能快速将海水变成饮用水
- 彩色时代邂逅白色艺术,vivo S7月光白展现独有魅力
- 美将38家华为子公司列入实体清单|美将38家华为子公司列入实体清单,限制它们获得某些“敏感技术”
- 现代迎来技术“爆发”解读第十代索纳塔动力系统
- 栽培技术|发展林下树下黑木耳栽培技术,促进林业生产发展,增加经济收入
- 机海战术!realme又一款新机入网,或采用骁龙765G处理器
- 隐身能力太差,俄军仍采购76架苏57战机,新技术加持或超越F35
- 【学术会议】我院内分泌“糖尿病规范化管理培训班”成功开班
- 实用化妆术|爱化妆的你知道正爆红的“兔子眼妆”吗?
- 推荐|易建联确认跟腱受伤,已接受手术,俱乐部负责人回应“退役”猜测
