现在的位置: 首页 网络营销 >正文

再论Facebook News Feed算法

如你所见,之前也写过关于Facebook的News Feed的算法,总感觉还欠缺点什么。希望大家经过前面的三篇,以及本文会对Facebook的News Feed 有更深的理解!

本人喜欢研究算法,觉得通过这些算法,能够从侧面窥探也试着逆向推到背后的逻辑行为运用,这让我觉得很好玩。

算法的运用是一个产品经理,甚至是一家公司理念的输出,它一方面是机器的学习,一方面又是对人性的把握,中间夹杂这商业的逻辑,这很有意思。有时候研究深入了,就想去看写这篇文章的工程师,到底他是一个什么样的人,他有没有自己的博客,他过去说了什么,这些东西都会反映在产品上。

今天我们在来说说Facebook的 News Feed 算法,我试着以最简单的语言来向大家阐述!

再论Facebook News Feed算法

名称解释:

News Feed是什么呢?

简单的你可以把他翻译成信息流。

News Feed它在什么地方呢?

就是你一开始登陆Facebook(https://www.facebook.com/)

在首页看到的信息,如下图红色方框处

再论Facebook News Feed算法

为什么要有News Feed的算法?

首先是因为人平常的注意力是有限的,Facebook上的信息流展示的只有1500条,研究表明很多人只看前300条消息。

那么这个时候,谁排在第一,谁排在第二,谁排在300名,这是很有讲究的,所以News Feed就这样孕育而生。

“小北,为什么News Feed的算法不是简单的按时间来排序,比如微信?”

第一:期初在Facebook刚刚起来的时候,就是简单的按照时间来排序。但是Facebook是一家以社交起家的公司,这个公司能一直想追求的是让用户随时随地能找到,看到他所关心的朋友的信息。

Our top priority is keeping you connected to the people, places and things you want to be connected to — starting with the people you are friends with on Facebook. [1]

第二:如果没有算法介入,一个是不利于用户的体验,在一个是不利于商业的土壤培养,因为届时有一些用户可以用很多方式吸引用户的关注,然后在大量的群发广告,这将会是致命的。

那么,如何让我的消息排名靠前?

我们知道现在的Facebook page reach下降的很厉害,如果各位在不重视News Feed你的页面reach率将会更低。

让我们来头脑风暴下,当你在看到一个帖子的时候你会做哪些动作?

是会点赞么?
是会评论么?
看了之后是会分享出去么?
是隐藏类似这样的消息么?
是觉得发这个帖子的人简直是脑残,决定取消对这个人的关注么?
这个帖子是色情消息,你决定举报这个帖子?
觉得这个帖子很好,你打算收藏起来,以后在看?
你对这个帖子感觉很有兴趣,打算持续关注,允许接受信息的通知么?

如下图所示,这是各位常见的对于一个帖子Facebook给出的各项指标;


再论Facebook News Feed算法

各位有没有发现这里面用户的每一个行为(Action)其难度都是递增的,即点赞一定要比评论来的简单,能够把这个帖子分享出,这个动作也是比评论的难度要高,然后层层递进,用户的操作难度越难,这个权重在Facebook里面就越高。

而且Facebook在这个算法中,也嵌入了朋友的朋友,以及维度更宽的算法。比如朋友赞了朋友的朋友的一条消息(A和B是好友,B和C是好友,如果B对C点了一个赞,A也是能看得到C的消息)

那么这里面的每一个动作,Facebook都有它的权重算法,即EdgeRank[2]

前面我们讲到的用户的每一个Action,都可以算成是一个Edge,那么Facebook内部就有一个公式,对这里的每一个Action进行权重的增加,以此来进行排序。

再论Facebook News Feed算法

EdgeRank 的算法主要有三个因素在起作用:

第一:亲密度(Affinity Score)
第二:边的权重(Edge Weight)
第三:新鲜程度(Time Decay)

亲密度:

联系的频率:每天都联系,还是我们一年才搭一句话,这都是不一样的。
联系的强度:24小时中的16个小时都在聊天?还只是看了就看了,这也不一样。
联系的双向性:到底你是你一直在和人家说话,还是双方都有互动,这是有差别的

然后我们再来看下Facebook 官方给出来的一些端倪[1]

Your feed should inform

你的信息流必须是有效有意义的信息,即内容是要meaningful

Your feed should entertain

你的信息流必须是能够“愉悦”大家,即Entertainment.

关键句:

Our integrity depends on being inclusive of all perspectives and view points, and using ranking to connect people with the stories and sources they find the most meaningful and engaging.

所以大家看到这边,会觉得EdgeRank也就那样,一点都不高深,我们用脑袋都能想出来。

至少我也怎么认为!对于一个算法来说,别人为什么要看你信息呢?哪些信息能排在更靠前呢?

毫无疑问,是那些互动性高(点赞,评论,分享,接受通知)才能排名靠前,而为什么这些帖子排名会更靠前,因为他们的内容更具meaningful 和Entertainment

所以看到这边你就知道如何让自己的帖子更靠前,怎么样想方设法的去干预用户的行为。

比如为了获得更多的分享,你可以做活动,为了获得更高的评论,你可以做一些有争议性的话题,或者都可以考虑打广告,这些都是关于帖子的要素。

但是EdgeRank依然有问题。EdgeRank其实在Facebook内部2011年的时候,自己内部都不提了。

为什么?

Facebook现在日活跃用户有12亿,月活跃用户有18亿,简单的靠EdgeRank还是hold不住啊。那么这个时候深度学习,机器学习必须被引入。如用深度神经网络理解图片内容和文字内容[3],如阅读时间长短、视频内容、链接内容等,取关、隐藏一个源,这些都必须靠机器的深度学习。

在一个就是这么大的平台,如何考虑人的因素,这非常重要。我跟大家说一个,可能大家想都想不到。


再论Facebook News Feed算法

上面这张图,箭头标明的地方,hide post(see fewer posts like this)意思很明显,就是告诉Facebook以后给我少发点类似这样的消息。

但是你知道么,我之前看过一个数字有5%的人把“隐藏”当作邮件里的“标记已读”了,对喜不喜欢的新鲜事只要看过就会点击隐藏!!!

你说这怎么搞,这真不是平台的错啊~~

还有

有些人点赞,可能对这个帖子并不是真的感兴趣,只是“点赞狂魔”发狂而已。

有些人阅读一篇长帖子,读到一半不读了,也并不能说明他对这篇帖子不感兴趣。

这些都是要机器进行深入的学习啊。而有些事压根就不是算法能解决的,有时候用户自己都会很困惑,前一秒喜欢,后一秒自己就变卦了,这已经不是算法能解决的问题了。

但是,写到这里我相信大家应该很清楚要对Facebook上的News Feed哪些要素进行优化,如何让Facebook注意到你,如果让你的帖子有更高的reach率,这就是本文的目的。

上述文章引用来源:

[1] http://newsroom.fb.com/news/2016/06/news-feed-fyi-helping-make-sure-you-dont-miss-stories-from-friends/
[2] http://edgerank.net/
[3] https://research.facebook.com/publications/machinelearning