TikTok如何利用推荐系统,比你更懂你?
推荐系统无处不在。它们为我们每天使用和喜爱的许多服务提供动力。 从购物,到流媒体,再到搜索引擎,推荐系统帮助人们获得了更加个性化的体验。TikTok就是推荐系统的领导者之一。
每次跟朋友聊到抖音算法的时候,都不得不感叹一句“竟然比我还懂我”。这就是一个好的推荐系统,下面,我们可以一起从数据的角度来分析一下为什么抖音算法如此优秀。如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
Machine Learning知识点:机器学习里的聚类分析技巧
三个月如何搞定机器学习的数学原理?
研究了2000+笔记本,我们总结了最适合机器学习、数据科学和深度学习的电脑
评估机器学习算法的指标
TikTok的数据科学团队一定开发过许多不同的推荐系统,其中都涉及了复杂的机器学习技术。
不过,本文的主要讨论的是抖音算法中的实践数据,以及该平台上的内容格式,是如何让它如此神奇的。
为了更好地理解,这里简单介绍一下推荐系统的工作原理。这些算法建立在“用户–项目矩阵(user-item matrix)”之上。其实,它本质上是一个表格,每一行代表一个单独的用户,每一列表示算法需要推荐的项目。比如,在Spotify,需要向用户推荐歌曲,在Netflix,推荐电影,而在Tinder,推荐的是其他用户。
每个单元格中的值表示的是用户和项目之间的某种交互,可以用来测评用户是否喜欢某条帖子 (Instagram)、使用产品后的评分情况(Amazon)或者他们是否听完了某首歌(Spotify)。这种现象就是常说的反馈,可以提供用户的偏好以及喜爱程度。
只需给定一个用户,我们就能在这个表中找到其他类似的用户群,还能推荐这些用户看过/购买过的商品等等。通过该用户推荐和购买过的产品,还能给他推荐其他的产品。
那这与推荐质量有什么关系呢?
反馈的质量很大程度上决定了推荐的质量。如果用户偏好更高质量的信息,就会向其推送更高质量的内容。特别是显性/隐性反馈和反馈粒度(granularity),是影响反馈质量的主要因素。
隐性反馈是我们所说的下意识的,非常自然的一种用户交互,它代表用户的真实偏好。比如,用户是否对某个帖子做出反应(LinkedIn)、是否点开了某个播放列表(Spotify)、是否关注了某一用户(Twitter),这些都是隐性反馈的一些例子。
显性反馈是用户对产品的实际评分。比起隐性反馈,它传达出了更多的信息,因为我们不用再对用户的真实偏好进行猜测了。用户对产品(Amazon)、电影(Netflix)和应用程序(App Store)的评分是最直接的反馈。不过,虽然显性反馈为我们提供了更多的信息,但是获取这些数据要难得多。因为用户评分需要更多的操作步骤,但现实中大家很少会这样做。结果就会得到一个数据较少的用户-项目矩阵,一个并不理想的推荐算法。
反馈粒度(Granularity)是指我们从反馈中获取了多少信息。十分制的评分量表比五分制的评分量表提供的信息更多,同理,五分制的评分量表提供的信息比二分制的更多。不仅让我们了解到用户喜好,还能了解他们喜爱的程度。
大多数的隐性反馈数据都是二进制的:比如,用户是否在这个项目上执行了特定的操作,所以,比显性反馈数据的粒度更小,而且更容易获得,因为需要更少的用户操作。
TikTok主要优势
TikTok能够把用户在每个视频上所花费的时间当成一种隐性反馈。不仅反馈粒度小,而且很连续,所以预测的用户喜好非常准确。并且,因为收集这些数据不需要用户有任何额外的操作,所以当TikTok大规模的实现这点,就能产生超级准确的推荐。
这种粒度较小的隐性反馈在Netflix和Spotify也可以使用,的确,他们现实中也会这么做。但这正是TikTok的第二个主要优势发挥作用的地方:平台上显示的内容格式。短片视频的形式比电影、剧集、甚至歌曲更容易让人接受。给定一段时间,用户在TikTok中可能已经浏览20个不同种类的视频,在用户-项目矩阵中创建20个新条目了。
而在Netflix中,用户可能只观看了一部电影或电视节目,在用户-项目矩阵中仅创建了一个新条目。这也让TikTok能够非常轻松地大规模进行数据的收集,从而产生非常准确的算法。
机器学习是如何融入其中的?
在用户-项目矩阵上构建、存储、计算是非常昂贵的。所以,我们用机器学习的方法,如矩阵分解(Matrix Factorisation)或神经网络算法,如深度协作过滤(Deep Collaborative Filtering)来熟悉那些更易于存储和计算的用户和项目(分别为matrices或embeddings)。
TikTok的数据科学家们,利用机器学习和深度学习技术来创建出色的推荐算法。利用粒度较小的隐性反馈,以及围绕短视频进行(最易接受的媒体形式)的产品构建,收集大量的数据,高效地完善了自身系统的用户推荐算法。感谢你的阅读,希望这篇文章让你对Tik Tok的推荐系统有所了解!你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/
原文作者:Kaushik Sureshkumar
翻译作者:Lea
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/how-does-tiktoks-algorithm-know-me-so-well-459e8dc7e90b