Instagram 算法的用户兴趣预测和内容匹配

Instagram算法:它到底是怎么猜到你想看什么的?

你有没有这样的经历?明明只是想打开Instagram快速刷五分钟,结果一抬头一个小时过去了。更诡异的是,它推荐的内容刚好都是你感兴趣的——那个你上周刚搜索过的摄影师,那个你随口说好想要的穿搭风格,还有那个你从来没关注过但就是很戳你审美的账号。

说实话,我第一次意识到这件事的时候,后背有点发凉。Instagram怎么比我自己还了解我?它是不是在我手机里装了监控?后来研究了一圈才发现,这背后是一套复杂得让人头疼的算法系统。但今天我想用最简单的方式,把这件事给你讲明白。

兴趣预测:它是怎么学会”读心术”的

想象一下,如果让你去了解一个陌生人的喜好,你会怎么做?你可能会问他喜欢什么、不喜欢什么,观察他平时关注什么,买什么东西,和什么人聊天。Instagram做的其实就是类似的事,只不过它观察的不是面对面的人,而是一串串数据。

首先,它在疯狂地做记录。你点赞了哪些帖子,停留了多久看你有没有划走又划回来,你保存了哪些内容,你给谁留了评论,你搜索过什么关键词——这些全部被记在小本本上。听起来有点可怕?但这就是推荐系统的地基。没有这些数据,它就两眼一抹黑,什么也猜不出来。

举个具体的例子。你看到一只布偶猫的视频,停顿了三秒钟然后滑走了。算法会记录:用户对这个内容有兴趣,但兴趣不大。如果下一条还是猫,你又停了五秒钟但依然滑走,算法会觉得:你可能对猫有点兴趣,但还不够让你点赞或保存。如果第十条出现猫的时候,你终于点进去了,算法就会更新它的判断:好,这个人对猫的兴趣从”可能有点”升级为”确定有兴趣”。

然后,它开始建立你的兴趣图谱。这不是简单的”喜欢猫”或”喜欢美食”就结束了。它会分析出一系列维度:你是喜欢猫的视频还是猫的图片?你更喜欢萌宠日常还是科普内容?你通常在什么时间段刷手机?你点赞的内容有什么共同特点?

有趣的是,算法还会捕捉一些你可能自己都没意识到的偏好。比如你从来不主动搜索咖啡相关内容,但你点赞了很多带有咖啡元素的照片,算法照样会判断你对咖啡有兴趣。它不关心你”说”了什么,只关心你”做”了什么。

内容匹配:它是怎么把内容和人对上号的

知道了你大概喜欢什么之后,下一个问题来了: Instagram上每天上传那么多内容,它怎么知道哪条该推给你?

这就要说到内容理解部分。Instagram不会真的”看”每张图片——那是人类的工作。它做的是提取特征:一张照片里有几个人?室外还是室内?什么颜色为主?有没有文字?文字是什么语言?这些特征会被转化为机器能理解的向量,也就是一串数字。

你可以把这个过程想象成给每张图片打标签。不是我们手动写的那种标签,而是几十上百个维度的数值特征。一张日落海滩的照片可能在”蓝色调”这个维度上得分很高,在”自然光线”上得分也很高,而在”室内””美食””文字多”这些维度上得分很低。

当你的兴趣图谱和某张图片的特征向量高度匹配时,算法就会觉得:这条内容可能适合你。但这只是最基础的第一步,真正复杂的是后面的排序流程。

召回、排序、重排:三道筛子

Instagram的推荐其实是个漏斗形状的过程。

第一层是召回。想象你的账号是一个水池,Instagram要从池子里捞东西出来给你看。这个阶段的目标是快和广。它会从你关注的账号、你互动过的账号、同城用户喜欢的热门内容、和你兴趣相似的人喜欢的内容等多个来源,快速拉出来几百条可能适合你的候选内容。这个阶段不求精准,只求不遗漏。

第二层是排序。候选内容有了,现在要排个先后顺序。这时候算法会用一个复杂的模型来预测每条内容你会互动它的概率。这个模型会考虑很多因素:这条内容的创作者你之前关注过吗?你之前给这个创作者的内容点过赞吗?这个内容的主题你历史互动率高吗?这条内容发布多久了?

每个因素都会转换成一个分数,最后加起来得到一个综合得分。得分高的排在前面,得分低的就被压在后面。这个阶段会从几百条候选内容中选出几十条准备推给你。

第三层是重排。排序之后还没完,算法还要做一些调整。比如不能连续给你推同一个人的内容,不能全是同一类话题,得稍微有点多样性。如果检测到你对某类内容已经看得有点审美疲劳了,还要主动推一些你可能没接触过但感兴趣领域的内容。

这三层下来,最终呈现在你面前的那几条内容,已经是算法觉得最适合你的了。

那些你可能不知道的细节

聊到这里,我想补充几个有意思的点,这些是大多数文章不会告诉你的。

第一个是沉默数据的重要性。有时候,你没有做的事情比的事情更能说明问题。你连续滑走了十条宠物内容,算法不会觉得你对宠物不感兴趣,它会觉得可能最近给你推的宠物内容质量不够好,或者类型太单一。它会调整策略,换一批宠物内容给你试试。如果换了三批你依然不看,算法才会慢慢降低宠物内容在你这里的权重。

第二个是实时反馈的威力。你今天的互动会立刻影响今晚的推荐。假设你下午突然开始狂点赞烘焙内容,晚上打开Instagram的时候,你会发现推荐已经悄悄变了。这就是实时系统的好处——它学习得很快。

第三个是冷启动的困扰。如果你刚注册一个账号,算法对你一无所知。它只能基于你选的那几个兴趣标签来推荐。这个阶段的推荐往往比较泛,不太精准。但只要你开始使用,算法就会飞快地建立对你的认知。

争议与边界

算法推荐这件事,从来都不只是技术问题,也涉及伦理和公共讨论。

批评者说,这是信息茧房。算法知道你喜欢什么就拼命给你推什么,久而久之你只能看到自己想看的东西,视野变得越来越窄。这种担忧不是没有道理的。如果一个人只看他认同的内容,他的世界观可能会变得越来越极端。

但Instagram的算法团队也在做一些平衡尝试。比如”关注”和”发现”两个标签页的区分,”关注”里主要是你关注账号的内容,”发现”里则有更多随机和探索性质。算法也会刻意在推荐里加入一些你可能没接触过但值得接触的内容。

另一个争议是推荐内容的质量排序逻辑。算法倾向于推荐那些能引发互动的内容,而最容易引发互动的内容往往是情绪强烈的——让人愤怒的、感动的、搞笑的。这可能导致一些质量一般但噱头足的内容获得大量曝光,而一些优质但平实的内容却被埋没。

说在最后

写到这里,我突然想到一个问题:我们在评判算法的时候,到底在评判什么?

算法只是工具,它本身没有善恶。真正决定推荐质量的是使用它的人定下的目标。如果目标就是让用户花更多时间在线上,那算法就会倾向于推荐让人上瘾的内容。如果目标是在用户时长和内容质量之间找到平衡,算法就会被引导向另一个方向。

作为普通用户,我们能做的也许是保持一点觉察。知道每一次滑动背后都有一套逻辑在运作,知道屏幕上的内容是被精心挑选过的。这不意味着我们要排斥算法,而是要在享受便利的同时,也主动去打破舒适区,看看算法推荐之外的世界。

毕竟,真正决定我们看到什么的,从来不只是算法,还有我们自己选择点开什么、停留多久、以及愿意给什么一次机会。