有趣有料,探索Instagram推荐算法的奥妙
本文看点
Instagram上由于发布的照片过多,为了推荐内容追踪每张照片不太现实。由于机器学习内部拥有大量账户及主题,找到几百个类似的账户易如反掌,之后Instagram仍需进行三次筛选。
第一步是其他两步的简化组合版本,将500个账户削减至150个账户,第二步不仅限于主题相关度,还包括个人喜好和账户数据,第三步计算十分细致,负责处理剩下的50个账户直到选出胜者。
算法学习用户点赞、关注账户的相关主题,根据用户行为习惯作出判断,确保推荐内容安全恰当。
Instagram此前发布了一篇解释Explore最新AI推荐算法的文章,用户每次打开Explore,都会发现有趣有料的推荐内容。这篇文章的技术性很强,以下是总结的五个要点。
与简单按时间排序的Feed流(持续更新并呈现给用户内容的信息流)不同,Explore由算法驱动,但是一个以图片起家的社交网络平台要向用户推送新内容,难度可想而知。
如果时间精力允许的情况下,Explore可能不会是今天的这个样子。事实上,在短时间内仅仅依靠庞大的数据为数亿人提供通知服务,现在的Explore已经尽力而为了。Explore被安排在整个页面的顶部,减少人们对Instagram偷工减料的质疑。
Instagram指出,当做出改变的结果显而易见时,产品实验和迭代也变得更容易。
一切基于账户
Instagram上发布的图片五花八门,研究每一张照片然后做出推荐是不现实的。追踪用户账户更简单有效,因为用户账户往往会涵盖主题或话题,大到旅行,小到印章,应有尽有。
虽说喜欢某账户的一则帖子并不一定意味着就会喜欢它的其他内容,但这至少表明你对账户涉及的主题感兴趣。哪怕你是因为这只猫的图片想起了《猫咪爱牛奶》(Mittens)这款游戏,所以才对它感兴趣。如果你关注的账户主要都是猫的图片,这种信息就很有价值。
算法暗示习惯
值得注意的是,Instagram不仅通过图片识别账户涵盖的具体主题,这是最基本的功能,它还会根据用户行为做出判断。
例如,你的连续点赞会被放在一起统一研究,即使Instagram的算法看不出潜在喜好:
在同一时段内与一系列账户互动的用户,比起不分时间随机访问账户的用户,更能体现主题相关性。这有助于识别主题相似的帐户。
人们看待事物的方式就是这样的,一个接一个地浏览旅游账户,或者看看小动物的账户换换思路。算法会总结信息,然后检查相关性。当然,像不感兴趣和屏蔽账户这样的行为所占权重则更大。
从“种子账户”到前25名账户
将几十亿帖子压缩成25帖子相当困难,但是通过学习用户喜欢或者收藏的帖子,问题就被化零为整了。它们叫做种子账户,因为之后所有内容都是从它们中萌发出来的。
由于机器学习系统内部拥有大量账户及主题,找到几百个类似的账户易如反掌。
想象一下,如果知道某人喜欢特定的橙红色弹珠,那么就需要找到更多类似的东西。如果只是把手伸进袋子中碰运气,不可能很快找到你目标。哪怕倒在地板上,还是得找好一会。
但是如果你把弹珠按照颜色分类,只需在类似颜色中寻找即可,这样的过程理所当然地更高效、更准确。
机器学习模型通过在虚拟空间中给所有账户分配位置实现这一点,两个账户位置距离越近,它们的主题相似度越高。
因此,将数十亿账户削减至数百个账户才是难点所在,而这已通过账户分类的方式完成了。
由此,Instagram通过三次筛选决定最后的胜出者。
第一步是其他两步的简化组合版本,将500个账户削减至150个账户。听起来有点本末倒置,可以这样理解:第一步看过无数次第二步和第三步的工作方式,所以烂熟于心。正所谓熟读唐诗三百首,不会作诗也会吟。这一步就是预先的筛选。
第二步的计算成本很低,考虑的因素却不仅限于主题相关度,还包括个人喜好和账户数据。每个人都喜欢旅行,但如果用户关注的是情侣旅行,上面提到的“弹珠分类”就有了用武之地。还有其他参数可供参考,例如帖子的受欢迎程度,或它与其他帖子的不同之处。最后又淘汰了100个账户,只剩下50个。
第三步的计算成本很高,负责处理剩下的50个账户直到选出胜者。计算细致程度是上一步的十倍以上。
这样的“要点”可能长了,别担心,接下来我长话短说。
拒绝很黄很暴力
“我们希望推荐的内容既安全又适合不同年龄段的Explore用户。通过缜密算法,我们过滤掉我们认为不符合推荐标准的内容。”
现在你知道为什么Explore的内容很安全了吧!