Who Controls Your Facebook Feed?

Today, I heard one episode podcast named ITgonglun 187, they mentioned
a article Who Controls Your Facebook Feed
about Facebook’s NewsFeed,it sounds interesting,So i translated it into Chinese.
背景:Facebook’s NewsFeed:相当于wechat(微信)的朋友圈 + 公众号,由于Facebook没有公众号的限制(一天只能发一条),所有的事件都放在
timeline里,试想一下,一个用户有几十个好友,再+几十个公众号(各种新闻媒体),被刷屏的几率很大,怎么保证最佳的用户体验是Facebook要考虑的问题?
而事实上,这正是Facebook的看家本领,他是如何做到的呢?

谁控制着Facebook Feed?(一个位于Menlo Park的小型工程师团队。一个世界范围内匿名的重度用户,还有,你)

每次你打开Facebook,全世界最有影响力的、包含争议的、同时被误解最深的算法就开始运行了。它扫描收集上个星期发布的你每个朋友发的文章,你follow的每个人的文章,
你属于的每个群的文章,以及你喜欢的每个page。
对于一个普通的Facebook用户,这些超过1500篇。如果你有几百个朋友,这个数字可能超过10000。于是根据一个严密防护的公式,Facebook的NewsFeed算法对其进行排序,
算法根据你喜爱的程度来寻找哪些是值得关注的文章,大部分用户只会看前几百篇。
Facebook以外的人不知道他是怎么运行的,内部的人也不会告诉你,这个自动排序的过程形成了每天会超过10亿活跃用户的(世界五分之一的成年人)社交生活以及阅读习惯
。这个算法的病毒传播已经颠覆了传媒工业,推动了像BuzzFeed和Vox初创媒体享誉全国,伴随着许多百年报纸的消亡。
它加速了像Zynga和LivingSocial这些初创公司在一年内像吸了helium一样估值迅速达到数十亿美金,两年后随着算法代码的微小改动,这些公司
只留下了口袋空空的投资者以及失业的工人。
Facebook的NewsFeed算法让我们欢喜让我们优,它可以让我们接触到新的和具有挑战性的想法或
在旧的思想体系下隔绝。
然而,相对其能力,Facebook的NewsFeed算法是如此的不优雅,疯狂的反复无常,一直含混不清。它提供给我们的文章很可能是繁琐的,不相关的,
误导的,甚至是很无聊的。Facebook知道这些。在过去许多个月里,社交网络上开展了一项测试:将排名靠前的文章和排名靠后的文章并排
,让用户选择哪些是他喜欢的。结果如何呢?算法与人肉相对比仅仅是“有时符合”。Facebook承认上述结果,但是拒绝给出更多细节。当不能匹配时,公司说还有
提升的空间。
对于即自大又有自卑的代码来说,“有时可以”并不是用户期望的满意结果。NewsFeed算法巨大的影响力对自我意识以及语义智能显示了出了一丝忧虑
,放缓了对于突破人类理解能力的追求。而与此同时,Facebook和别的硅谷巨头正不断的通过机器学习来过滤我们的选择,引导我们的决定,像Elon Mask和霍金
发出对人工智能的警惕,算法这个词开始形成一些恐怖的影响。算法,在大众的想象当中,是神秘的、威力巨大的东西,代表了技术和创新满足我们所有的需求
,威胁着我们固有的价值观。
现实中的Facebook算法是有一点不fantastical的,甚至是不fantastical的。我最近有幸采访了位于Menlo Park, California,Facebook的NewsFeed团队,
看一看这个算法在做出一个声名狼藉的亿市场为导向的转变时到底是什么样子的,为什么要这么做,怎么做的,如何作决策的。
这次采访不但搞明白了NewsFeed的机制,机器学习的限制,数据驱动决策的陷阱,不断采集个人用户的反馈,这包涵一个不断扩大的测试团队(相当与Facebook的Nielsen family)
据我了解,Facebook的算法因为一些小技巧的使用,是没有缺陷的,同时,它又是有缺陷的,不像科幻小说所想象的那么实现完美,有感知的算法,算法的背后基础
是人。人决定数据的流向、该怎么处理数据,人们想要什么结果。当算法出错时,人们纠正它。算法进化了,是因为人们读了大量的材料,开了一堆会,跑了一堆测试用例
,做出了好的决策。算法变好了是因为另外一个小组持续的告诉他该怎么优化。
当我到达Facebook的不规则的,frank-Gehry 风格的办公室时,接待我的是一位瘦长的37岁的Tom Alison,他面带笑容同时略带紧张。他是NewsFeed团队的头,率领
了一支工程师团队,而他们掌管着算法。
Alison带领我们穿过了迷宫般的小房间和开放厨房,来到一个小型会议室,在哪揭开了facebook算法的神秘面纱。再去那的路上,我问了一下厕所的方向,在他
笑着道歉时露出了鬼脸,说道:我带你去哪。开始我以为他不想让我迷路。但当我出来时,他仍然站在外面,他不想让我随意参观。
处于严密保护商业机密的原因,Alison并没有告诉我太多参与算法的代码。但是他告诉我是如何运作的以及为什么经常变化。他开始在白板上画,像一个工程师那样。
“当你学习CS时,第一个算法就是排序算法”,他在白板上列出了一些整数,4, 1, 3, 2, 5,开始时一个简单的任务,增序排列,人类在脑子里知道如何处理,
但是,计算机必须精确告诉一步一步的操作,给我展示的一个叫“冒泡排序”的算法,他是这样工作的:

  1. 对于集合里的每一个数字,从第一个开始,与其他的进行比较,看他们是否在需要的顺序
  2. 如果不是,对调
  3. 重复1,2,直到所有的数字没有需要对调

“冒泡排序”的优势是简单,不足的地方时效率和时间花费。很明显,facebook并没有采用这样的算法。当你打开facebook App时,确实对所有的文章进行了排序。
那只是一个大算法里面的非常微小的部分,大部分的工作是给这些文章赋予一个数值,也就是说,排序算法工作的内容是:发明一种系统,能够针对一个特定的用户给任何一片文章
赋予一个相关的数值。
这是个很难处理的问题,因为那些与你相关的文章,比如来自发小的文章,来着你follow的某个明星的文章,或许与你压根没有关系。比如,Alison解释,Facebook使用了
不同种类的算法,被称作预测算法。Facebook的NewsFeed算法,像Google的搜索算法,netflix的推荐算法都是由众多小的算法组成的复杂软件。
“让我们讨论预测一下湖人和公牛谁会取得冠军”,Alison开始说,“公牛”,我脱口而出,Alison笑了,使劲的点了点头。我的脑子开始接受他的输入,并依据他的算法马上产生了一些
口头的输出。人脑的算法是比硅谷发明的任何算法都要复杂,但是人脑也是严重依赖于探索算法,并以臭名昭著的愚蠢著称。
当你一无所有,随机猜测就行,Alison说道。但是有很多钱是依赖于我的篮球预测的,一天在上面花费几百万,因此我需要更系统化的方法。你可能会参考一些历史数据,看一下每个队输赢率
,每个球员的数据,谁受伤了,谁在场。可能你还会考虑其他的环境因素, 比如,主客场,是长短途飞行?你的预测算法就要参考这些因素。如果实现了这个,
你不但能预测比赛的结果,而且能提供给你多大胜率。
这就是一个同Facebook预测算法类比。我问了一下Alison,参考了多少因素:数百个,他回答。
它不仅预测你将是否点击了like按钮,而且还包括了你是否点击评论、分享、隐藏、甚至是拖黑。它将预测这些操作的结果,以及置信区间,并合并,进而形成
相关系数来指导文章排序。一旦你订阅的文章获得了相关系数,排序算法就能呈现在用户面前。你看到的就是你订阅的从千万文章挑选出来的让你喜怒哀乐的文章。
无论你如何一丝不苟的构建您的算法,总有一些数据是不参与运算的:教练的战术,ROSE的膝盖如何?比赛用球的气是否合适?总之,比赛不是靠数据,是靠人运行的。
而人比任何算法都要复杂多变。
Facebook也面临新出现的问题,更高的认知能力。相关系数是与公牛赢得比赛的概率相类比的,他是一个完全可度量的离散的结果,他们会赢或不赢。Facebook的排序
算法类似:你是否以某种方式与文章交互。交互,人类与文章的操作,是一个很好的指标,指示一片文章是否集中了用户。这些还加速推动了Facebook的经济:点击、like、
评论是让文章流行,将个人用户变为群组,导流量给广告商。
但是,交互仅仅是用户实际上需要什么的一个粗糙的代理。如果人们like一片它不喜欢的文章,或点击后发现不喜欢的文章,该怎么办?结论就是为流行而不是质量优化。例如对于
一个禁糖的用户,让他们眩晕,甚至有点恶心,但是它越来越恨禁糖,这怎么优化?
2013年Facebook是炙手可热的公司,它承担了10亿用户以及超过1000亿的市值。它花了一年的时间来弥补移动APP不足,已经超过google成为最受欢迎的应用。Facebook不光保持你与
朋友保持联系,而且成为了21世纪的新闻媒体,精确到分钟的新闻,娱乐,朋友及爱人的事件更新,对某人某项爱好的自动裁剪。
在公司内部,快速的发展使负责NewsFeed的人震惊,随着用户热情高涨,能要让所有人保持满意吗?人们喜欢在Facebook上做更多的事还是更少的事?
为了理解这个问题的提出,我们不得不回到2006年。Facebook,还只是一个仅包含基本信息页面以及群组功能,很像MySpace,在哪一年建成了能够更新朋友活动信息newsfeed功能。
当用户基本页面更新,头像变化,以及调情的小纸条都会被同步到newsfeed时,用户怒了,facebook按下了。
即使那时,你朋友所做的也不是都会同步到你的Newsfeed上。为了避免用户每天被几百条的数据轰炸,facebook开发了一套粗糙原始的基于用户感兴趣的程度的过滤算法。由于没有现实的
方法去度量,like按钮是在三年之后,公司的工程师就基于他们自己的情况做出了假设。早期对于每个文章的标准,就是时间和有多少朋友提到过。一段时间后,他们开始调整这些假设,并测试
这些修改是如何任何影响用户使用这些站点的。但是由于无法获得哪些文章时被用户喜欢的,哪些是无聊的,讨厌的,糊涂的,工程师们基本上就是扔飞镖。
like按钮并不是用户交互的新方法。facebook招募了一些比较好的用户来解决这个问题,这些用户并没有意思到他们所做的真是facebook所独特的部分。如果facebook告诉他们的用户
他们必须排序以及审核他们朋友的文章,来帮助公司决定哪些是别的用户应该看的,我们会发现这些过程是无聊以及单调的。facebook的newsfeed算法是第一个偷偷摸摸招募用户,来个性化
他们的体验,并影响其他人。
突然,这个算法标识出了最流行的文章,并让他们流行起来,“viral”,这个词之前被用来描述人与人之间的相互交流,现在是大量听众的自动广播。然而,facebook员工并不是唯一的公司
想知道哪些文章是可以流行的。出版商、广告商,骗子,甚至个人,开始收集一些流行文章的共性,这种特性就是能够在大量的朋友、follower,甚至是陌生人中间触发条件反射。许多人开始裁剪
这些文章已获得更多的用户。社交媒体顾问开始给用户提供建议来玩转facebook的算法:使用特定的词语,在特定的事件发布,多使用词语和图片混合。一片自我感觉良好的文章会恳求用户
“点赞”,即使用户根本不关心文章的内容,也会照做的。没过多久facebook用户的feed看起来都是相似:到处充斥的是工程师所谓的“go viral”,令人作呕。在大拇指的背后淹没了大量的有实质性内容,
有细微差别的,伤感的或任何有启发的想法或情绪。
活跃度的尺度是一个好方法,但是真的是feed优化的方向吗?Chris Cox提出了这个问题,facebook的早期员工以及feed的人工智能工程师。“点赞、点击、评论、分享只是决定人们是否感兴趣
的一种方法。但是,这是不完美的,例如,你刚读了一片你不想点赞、评论,分享不幸的文章,但是如果我问你,你肯定会说我必须读它。之前的几年,我们认识到我们应该考虑更多的因素,
除了点赞等来提高类似于上述的事件”Cox通过邮件告诉我。
一个算法可以对一个特定的结果进行优化,但他不能告诉你应该优化成什么样子的?只有人类才知道。Cox和其他feed背后的工程师认为终极的目标是只显示人们关心的内容。他们知道在用户满意度下,这可能会
短期内损失一部分活跃度,甚至是收益。伴随着facebook赚了一大笔钱,zark取得了董事会的主导权,公司罕见的决定为为长远目标进行优化。剩下的问题就是怎么做?
媒体在历史上通过编辑的编辑决定读者应该读什么,将值得阅读的文章印刷出来,他们提倡的是真实、有报道价值、人们关心的。但是Cox以及他的同事,花大力气避免编辑的视角来处理feed。
相反的,任何用户真正关心的可行的定义是:给用户以选择让用户来决定哪些用该排在前面。完美的解决方案是问每一个用户,他想看哪些,不想看那些,然而,这不具有操作性。那Facebook
决定问一些人他们想看哪些,不想看那些,以前有1000人左右,在 Knoxville, Tennessee,现在遍布全球了。
Adam Mosser ,一位产品经理,与Alison相比小一些技术,多一些可爱。他侧重于问题和概括性的东西,而Alison侧重于实现和细节。他是一位feed的常驻哲学家。
推动feed人性化的输入输出的是前辈Will Cathcart.Cathcart 刚开始收集用户一些更微小的操作:不仅仅是用户的点击,而且是点击之后用户的阅读时间,不仅仅是用户点赞,而且是阅读前
还是阅读后的点的。比如,阅读之前点赞,Facebook就会知道,用户并没有在阅读之后点赞更喜欢这篇文章。
在2013年晚期执掌这个部门后,Mosseri’s 最大的创新是建立了“感受质量板”。这个事开始于2014年夏天,一个facebook付钱的几百人的团队,人们每天持续的详细的来反馈他们的使用体验。
(这个地方的选择是历史性的偶然,来源于与facebook合作的试点项目的,不知名的外包公司)。Mosseri不仅仅研究他们的行为,还问他们对于给定的文章为什么喜欢或不喜欢,有多喜欢
,或者他们想看什么?甚至,他们会写一小段文字来纪录对feed里的每一篇文章的评价。
Mosseri 说:问题是有什么是我们遗漏的呢?我们是不是有盲点?我们知道,一些你喜欢的文章,但是你并不和这些文章进行交互。没有方法来度量,文章的排名就会比点击、点赞的低,那facebook
怎么捕捉这些信息呢?
Mosseri指定Max Eulenstein 为产品经理以及Lauren Scissors为用户体验官,来监督feed的质量,以及提出上述的问题。举例来说,Eulenstein 使用板子来测试一个假设:用户
读一片文章的时间是一个是否喜欢的指标,即使他没有点赞。我们认为他是,你可能举出很多例子来说明他不是,比如你不想阅读你害怕的鬼故事。质量板子让Eulenstein and Scissors确认
他们的直觉判断,而且还检查微小的相关性,并量化他们。Eulenstein 说:这并不像5秒是好的,2秒就是坏的,那么容易,更多的是处理你花在一个与你相关的另一个故事的阅读时间。
研究也显示,互联网的接入速度也会影响用户阅读的时间。出于这些研究,得出了一片论文a tweak that Facebook revealed in June
,算法提高了阅读时长的比重。
在几个月里,Mosseri 和他的团队更加重视板子的反馈,把这个方法带到了全世界,他们付钱给哪些在全球具有人口统计意义的样本,排序和审查他们每天feed。知道2015年夏末,
faceb解散了Knoxville 的团队,并把它们扩展到海外。Mosseri的想法是对的:算法有数据科学家们不能标定的盲点,他们采用了人肉反馈来填补。
质量模版如此的重要,以至于他变成了Facebook的算法,公司意识到没有单一的源能告诉你任何事。他们开发了一套“核对平衡”的系统,每一次feed的改变都会通过一组不同类型用户以及
不同尺度的判别标准的测试。
平衡操作是由一个由排序工程师、数据工程师、产品经理组成的小的团队的日常工作。这些人当中,Sami Tas,一个软件工程师,他的工作就是将排名算法的改变翻译成机器能够理解的语言。
今天下午,当我看着他时,他正在解决一个微小的问题,但在faceb看来却是致命的。
大部分时间,当人们看见他们不喜欢的文章时,人们使用鼠标划过去,一些文章是如此的令人讨厌,以至于人们要去隐藏它。facebook的算法认为一个相当负面的信号,以后会努力让更少的人看到
这篇文章。
每个人使用facebook的方法是不同的。然而,数据科学家仅仅关注的5%的用户,这些用户隐藏了85%的内容。当facebook挖掘的更深时,会发现这5%隐藏了他们看到的每一个故事,甚至是他们
喜欢以及评论过的。对于这些超级隐藏者,隐藏不意味着他们不喜欢,而是他们认为这是一种标记已读的方式,类似于gmail里的保存功能。
然而他们这种行为带偏了排序算法的数据。由于这里面的原因错综复杂,算法并不会为每一个用户的行为建模。算法认为你喜欢的就是我喜欢的,反之亦然。然而,对于超级隐藏者,排序算法
认为这是一个例外。Tas的任务就是改变代码,标记这些用户,减少隐藏带来的负面影响。
这可能是一个简单的修补。但是facebook的算法是如此的精密,每一个小的改变都必须测试,先是离线模拟测试,然后是facebook员工内部测试,一小部分用户测试,才发布出去。在这过程
中的每一步,公司都会收集改变带来的影响数据,包括用户花在网站的时间的活跃度、平均加载时间所带来的广告收益等等。诊断工具可以实时的探测到每一次重大变革所带来的重要指标的
变化,并设置了一个门槛值,超过了,就会通知团队的每一个成员。
一旦这些更新在哪些用户上被测试通过了,结果的数据将在每周的“排序会议”上展示,接受 Mosseri, Allison, Marra等以及其他团队的大量质疑,如果这个团队的人认为这是一个积极的
结果,掌管IOS和Android的工程师将对大众开放这个功能。
尽管这样,facebook还是无法确信:这次更新不会带来微小的、长期的无法预料的结果。为了弥补这个,facebook建立了“holdout group”,这些人长年累月的不更新。
提高的facebbook的算法是单数的,就被误导了。他并不是数百个解决小问题的小算法的合集。他是,由于众多的测试以及“holdout group”,在给定的时间内,有十几个主算法不同的版本
。Tas的“hide stories”的更新在July 31发布,他的blog并没有被公众关注。然而,哪些超级隐藏者会对feed更满意,更愿意使用facebook,与朋友分享,观看广告。
Facebook的feed质量板让feed内容更丰富、更人性化,Tas 和他的排序算法团队对盲点查找和修复更有技巧。但是还有另外一群人使得feed越来越相关,就是普通用户的你和我。
过去facebook六个月进行的一项调查,叫一些用户在她们并列的两篇文章选择他们喜欢的,这是一个尝试,在比质量板更广大的范围内收集同样的数据。逐渐增长的普通用户的数目不仅仅
是方程式的输入方,在过去的两年内,Facebook给了用户更多的权利控制他们feed的输出。
这个算法依旧是你feed的排序的驱动力。但Facebook给他们用户更多的自由权来调试他们的feed,这些控制是繁重的而且没有必要的。Facebook花费数年来提高他们的排序算法,Mosseri 说。
机器学习的魔力是开发一套回归分析算法来解释用户过去的行为,并预测未来的行为。我们已经花了十年的时间,并还将继续,来提高机器学习的能力。你可以简单的问某人一些问题,
他马上会做答,比如:你想看见什么?你不想看见什么?等等,这些问题Facebook让每个用户自己作答的。你可以“unfollow”你不愿意看到的朋友,, “see less”某一类文章, “see first,”
这些文章会出现前面。如何做对于业余用户并不是显而易见的,你必须点开灰色的下拉箭头,在文章的右上角的选项里面。大部分用户从来不会使用。当全自动化的Feed的限制逐渐清晰起来,
Facebook形成了一个更为舒服、更加显眼的选择项,通过偶尔弹窗提示用户,这些弹窗会连接到一些解释和帮助页面。这也测试了feed交互的新方式,包括可选择的基于文章主题的feed,
响应式按钮。
这些改变是出于防御目的,这些年Facebook最大的挑战,就是Instagram,就像Facebook对myspace做的一样。避开数据驱动的方法。作为青少年社交的首选应用SnapChat给Facebook蒙上了一层阴影,
在更亲密的交互方式,作为避开病毒式传播和自动过滤的首选。
Facebook并不是唯一的一家数据驱动的反对算法优化限制的公司。Netflix的电影推荐算法引擎很大程度上依赖于整天花钱看电影的人,并把它们按照风格分类。为了抵消亚马逊AB测试的影响,
CEO Jeff Bezos 维护了一个公共的email地址来放大特定用户抱怨的重要性。在它真正开始之前,它是不成熟的,但也有一个变化的速度。Facebook’s Mosseri, 部分的拒绝数据驱动这个词
,他称为 “data-informed.”
排序算法组认为这些方法上的改变是在还债。当我们基于别人告诉我们如何持续提高feed时,我们得到更好的结果比排序人的feed,我们得到结果更接近于人们自己的排序。Scissors说,facebook的用户体验员。
然而潜在的消极面是,给用户的自主控制权,对于想看什么,人类经常会犯错。如果Facebook的在线数据库比我们自己更了解自己呢?能不能给用户比之前更不上隐的Feed?
Mosseri告诉我们,他并不为此担心。他解释道:数据给出了建议,给用户更多的自主权将会增加用户活跃度。在短期内这两个目标的关系似乎是紧张的。我们发现feed质量的提升是与长期的
用户活跃度相关的。如果我们持续的做下去,将会是可喜的一致。然而Facebook十年来运营Feed学到的是,数据永远不会告诉你全部,算法永远没有完美的。今天好好的在明天看来是个错误。
当那天来临时,Facebook的工程师将读一些表单、开一些会,跑一些测试,新的更新开始了。

目录

  1. 1. 谁控制着Facebook Feed?(一个位于Menlo Park的小型工程师团队。一个世界范围内匿名的重度用户,还有,你)