谁不喜欢看到可爱的小狗和调皮的小猫呢?尤其是在世界因新冠疫情影响全面隔离的当下,我们更需要欢乐的视频来调节心情。但这还不足以解释抖音为什么能得到那么多好感。在不到两年的时间里,它已经从一个只有少数粉丝的“口型同步”应用发展成为今年月活跃用户近8亿的“病毒式”应用。就连带有“新冠病毒”标签的抖音视频在该应用中的播放量也达到了530亿次。▲抖音成为2020年1月全美下载量最高的应用程序▲抖音全球下载抖音最显着的特点在于各种洗脑歌曲加上有趣的哑剧短视频。用户平均每天在该应用上花费52分钟,而Snapchat为26分钟,Instagram为29分钟,Facebook为37分钟。▲Oberlo统计的使用时间报告另外,这个只支持60秒的app短视频也充满了表情包、喜剧、舞蹈和无数有才华的用户。借助业内最强大的推荐引擎之一,我们可以快速找到符合我们口味的内容,而无需搜索或具有明确的吸引力。只需单击一下,引擎就会为您生成个性化推荐。这种无穷无尽的快速刺激带来轻松愉快的体验,最终让用户沉迷其中无法自拔。有人称抖音是终极浪费时间的杀手,说“在抖音上5分钟感觉就像过了1小时。”而在今天的文章中,我们将探讨抖音如何利用机器学习技术,通过交互机制分析用户的兴趣爱好,并据此为用户展示不同的个性化推荐内容。推荐引擎对数据科学界来说并不是什么新鲜事。然而,由于缺乏图像识别或语言生成等最新吸引眼球的“特效”,很多人倾向于将其归类为传统的AI系统。尽管如此,推荐引擎仍然是人工智能系统中重要的一类,几乎存在于各种在线服务和平台中。从YouTube视频推荐,到亚马逊发出的广告邮件,再到Kindle书店的热门书籍,一切都归功于推荐引擎。根据Gomez-Uribe和Netflix负责人NeilHunt发表的研究论文,个性化和推荐相结合每年可为Netflix节省超过10亿美元。此外,80%的订阅者从引擎提供的推荐列表中选择视频。那么,抖音的绝活是什么呢?1.关于推荐引擎【如果你已经很熟悉推荐引擎的基本概念,可以直接看下一章】目前网上关于推荐引擎的讲解文章和在线课程很多,这里只介绍给你两个相关学习资源链接:AComprehensiveGuidetoBuildingaRecommendationEnginefromScratch[注1](阅读时间约35分钟,复现里面的Python代码需要40到60分钟)RecommendationEngineGuidefromNg恩达【注2】(视频时长约1小时)除了这些必要的基础,一个工业级的推荐引擎还需要强大的后端和架构设计才能实现全集成。看相关例子:▲推荐引擎(CatherineWang创建,版权所有)实时系统要有坚实的数据基础(收集和存储),并支持顶层的多个抽象层(算法层,服务层和应用层),解决不同的业务问题。2.抖音推荐系统设计原型“以用户为中心的设计”是抖音原型的核心。简单来说,抖音只会推荐当前用户喜欢的内容,从应用的冷启动开始,就会持续追踪和强化用户的喜好。如果你点击舞蹈视频,系统会先将你的喜好定制为娱乐,然后继续跟踪你的行为进行进一步分析,最终为你提供高度符合你喜好的精准推荐。让我们谈谈高级工作流程。▲三大核心组件(CatherineWang创作,版权所有)在抖音的原型系统中,有三个核心组件:1)标记内容;2)创建用户档案和用户场景;3)训练并提供推荐算法。下面,我们将详细介绍这三个组件。2.1数据和特征首先是数据。如果用更正式的语言来描述推荐模型,它实际上是一个负责将用户满意度与“用户生成的内容”进行匹配的功能。为了实现这个目标,我们需要从三个维度输入数据。内容数据-抖音是一个包含大量用户生成内容的平台。每种类型的内容都有自己的特点,系统需要能够识别和区分每种类型的内容,以实现可靠的推荐。用户数据——包括兴趣标签、职业、年龄、性别、人口统计信息等,还包含客户群中基于机器学习的潜在特征。场景数据——这部分数据用于追踪用户在不同场景下的个人偏好变化。例如,用户在工作、旅行或通勤时喜欢看什么类型的视频。系统收集相关数据后,推导出四类关键工程特征,并将其输入推荐引擎。关联特征:表示内容属性与用户标签之间的关联,包括关键字匹配、类别标签、来源匹配、主题标签、用户与内容的向量距离等潜在特征。用户场景特征:基于场景数据进行工程化处理,包括地理位置、当前时间、事件标签等趋势特征:基于用户交互,表现为全球趋势、热点话题、热门关键词、热搜话题等协同特征:基于协同过滤技术,它负责在狭义推荐(偏差)和协同推荐(泛化)之间找到平衡。更准确地说,它不考虑单个用户的历史,而是分析相似用户组之间的协同行为(点击、喜欢、关键字、主题等)。推荐引擎模型将学习上述特征,以预测特定内容在特定场景下是否适合特定用户。2.2隐性目标在推荐模型中,点击率、浏览时长、点赞、评论、转发等都是明确的、可量化的目标。我们可以使用模型或算法来拟合这些指标,然后做出结论性的预测。但除此之外,还有其他隐藏的目标无法通过这些可量化的指标进行评估。例如,为了维护健康的社区和生态系统,抖音一直在努力控制涉及暴力、欺诈、色情和谣言的内容,希望确保平台发布的内容更接近事实。为此,很自然地在可量化模型目标之外定义一个新的边界控制框架(内容审核系统)。2.3算法推荐可以将目标指定为一个经典的机器学习问题,然后通过协同过滤模型、逻辑回归模型、分解机、GBD、深度学习等多种算法来解决该问题。▲协同过滤示意图工业级推荐系统往往需要灵活可扩展的机器学习平台搭建实验流水线,从而快速训练出各种模型,然后叠加不同模型进行实时服务。(比如结合强化学习、DNN、SVM、CNN)抖音除了主要的推荐算法,还需要训练内容分类算法和用户偏好算法。下面我们从内容分析的角度来看抖音建立的多级分类结构。▲多级分类树(CatherineWang创建,版权所有)我们从主根开始,逐层向下钻取。首先是主要类别和子类别。与独立分类器相比,这种多级分类机制可以更好地处理数据倾斜问题。2.4训练机制抖音采用实时在线训练协议,因此可以以更少的计算资源需求提供更快的反馈。这两点对于流媒体和信息流产品来说无疑是非常重要的。训练系统会实时捕捉用户的行为和动作,并将其反馈给模型,以体现在下一次的响应中。(比如当你点击一个新的视频时,feed的内容会根据你最近的动作快速变化)根据我个人的推测,抖音很可能是使用了StormCluster来处理实时样本数据,包括clicks,impressions,favorites,likes,Commentingandsharing等。他们还构建了模型参数和特征服务器(分别存储特征和模型)以进一步提高系统性能。其中,特征库可以保存和传递数千万的原始特征和工程向量,而模型库则负责模型和调优参数的维护和传递。▲在线训练机制(简化版)(CatherineWang创建,版权所有)下面我们总结一下训练过程:1)在线服务器抓取实时数据,存储在Kafka中;2)StormCluster使用Kafka数据并生成特征;3)特征存储负责收集新特征和推荐标签,并据此构建新的训练集;4)Onlinetrainingpipeline重新训练模型参数并保存在模型存储中;5)更新客户推荐列表,捕获新的反馈(用户操作)并再次循环。3.抖音的推荐工作流程抖音没有向公众或技术社区公开其核心算法。但通过公司发布的零散信息和极客社区通过逆向发现的线索,我们初步得出以下结论。(免责声明——以下内容为作者个人解读和推断,可能与抖音实际情况不同)▲推荐流程(CatherineWang创作,版权所有)Step0:用户生成内容双审系统(UGC)在抖音,每天都有数百万用户上传自己的内容。恶意内容很可能会在单台机器审核系统中找到漏洞而顺利从网络中溜走,过大的上传量也让人工审核变得不切实际。为此,doublereview成为了抖音公司主要的视频内容筛选算法。机器审核:一般来说,双重审核模型(基于计算机视觉)可以识别用户上传的视频图像和关键词。主要提供两个核心功能:1)检查剪辑内容是否违规,检查文本信息。如果怀疑有问题,内容将被屏蔽并标记为黄色或红色,以供人工审核人员审核。2)从视频中提取图片和关键帧,抖音的双重审查算法然后将这些内容与庞大的存档内容库进行匹配。这些副本将呈现为低分辨率版本,从而减少推荐引擎的流量使用和处理负担。人工审核:主要关注三个问题:视频标题、封面缩略图和视频关键帧。对于双审核模式标记为可疑的内容,技术人员将进一步进行人工检查。如判定违规,将删除视频并冻结上传账号。第一步:冷启动抖音推荐机制的核心在于信息流的漏斗。内容经过双重审核过滤后,会被放入冷启动流量池。例如,当用户的新视频顺利通过审核流程后,抖音会分配200到300个活跃用户的初始流量,以确保您的内容最初有机会展示给用户。在这种机制下,新的创作者可以和意见领袖(可能已经拥有数万粉丝)站在同一个起点上,完全以作品质量来正面竞争。Step2:基于指标的加权机制通过初始流量池,我们的视频已经获得了数千次观看,这些数据将被进一步收集和分析。分析中考虑的指标主要包括点赞、观看、完整观看、评论、关注、转发和分享等数据。接下来,推荐引擎根据这些初始指标和帐户分数(无论您是否是高级创作者)对内容进行加权。根据评分结果,前10%的视频将额外获得10,000到100,000的推荐展示量。Step3:UserPreferenceAmplifier来自Step2中流池阶段的反馈将被进一步分析以帮助系统确定是否使用用户偏好放大器。在这一步中,优质内容将被传递给特定的用户群体(如体育迷、时尚爱好者)并进一步增强和放大。这类似于“猜猜你喜欢什么”的概念。推荐引擎将建立一个用户个人偏好库,以便找到内容和用户组之间的最佳匹配。第四步:精品趋势池中只有不到1%的内容能够最终进入趋势池。趋势池中的内容将获得远超其他视频的曝光率,包括不分青红皂白地推荐给所有用户。其他步骤:延迟曝光抖音用户可能会注意到,他们的内容在发布几周后突然获得了大量关注和点击。这是怎么回事?这主要有两个原因:第一,抖音使用了一个绰号为“掘墓人”的算法,可以回溯旧内容,挖掘出高质量的曝光对象。如果你的内容被这个算法选中,说明你的账号里有足够多的竖屏视频,可以有明确的定位标签。换句话说,建立清晰的标签可以帮助您的内容获得“掘墓人”算法的青睐。二是“时尚效应”。换句话说,如果您的某个内容获得数百万次浏览,浏览者将自动转到您的主页以查看您之前发布的其他内容。这是一个主动探索发现宝藏的过程,也在一定程度上增加了用户的成就感。局限性:流量高峰如果某条内容通过了信息流漏洞(双审、权重迭代、放大),创作者账号将获得大量的展示机会、用户互动和关注群体。但根据研究,这种高曝光时间窗口极其狭窄。通常,这个窗口只持续一周左右;之后,内容和账号迅速“降温”,甚至后续的发帖也无人关注。为什么?这主要是因为抖音希望尽可能为内容创作者提供更公平的发布环境,消除算法中的意外偏差。通过这样的设计,推荐引擎不会偏向于特定类型的内容,从而保证所有类型的新内容都有平等的机会成为新的热门。【注】:1.https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guide-recommendation-engine-python/2。https://www.youtube.com/playlist?list=PL-6SiIrhTAi6x4Oq28s7yy94ubLzVXabj【参考】:1.https://www.businessofapps.com/data/tik-tok-statistics/2。https://mediakix.com/blog/top-tik-tok-statistics-demographics/3。https://en.wikipedia.org/wiki/TikTok4.http://shop.oreilly.com/product/9780596529321.do5.https://sensortower.com/6.https://www.nytimes.com/2020/06/03/technology/tiktok-is-the-future.html
