- 首先你的一個朋友產(chǎn)生了一條新鮮事,比如他發(fā)布一條想法、贊了一個主頁、給一張照片加了標簽。
- 然后經(jīng)過你這個朋友的介紹,到了你的家門口(你的首頁),你一開門(登錄或者刷新)就可能看見它。
- 總體來說,新的還是比舊的更能得到你的接見。
- 新鮮事不多時,開門一個一個寒暄可能還行,它們也等得起,內(nèi)容太多時,就得考慮個先來后到了。
這幾個步驟,大致刻畫了EdgeRank的思想,簡單直接?;谶@個假設(shè),EdgeRank排序算法主要考慮了三個因素:
- 親密度。它對應(yīng)了第二個步驟背后的思想,那么多人介紹過來,我們當然要優(yōu)先照顧更“喜歡”的人了,親密度的量化要考慮平日里你和這個朋友“走動”是否頻繁、連接是否緊密。
- 邊權(quán)重。這也是EdgeRank名字含義所在:不同的動態(tài)權(quán)重不同,點贊動態(tài)和發(fā)布照片顯然不一樣。
- 新鮮度。既然是NewsFeed,那么新一些(New)的動態(tài)就更受青睞。
三個分數(shù),最終用相乘的方式共同作用于每一條新鮮事的分數(shù),用于排序和篩選,如圖1所示。這個排序方法的確很簡單,只是量化了三個主要因素,然后主觀地相乘,沒有任何目標優(yōu)化思想在背后。根據(jù)Facebook披露的消息,早期的EdgeRank的確沒有引入機器學(xué)習(xí),所以根本稱不上是智能的算法。

圖1 EdgeRank排序算法原理
向機器學(xué)習(xí)要智能
2011年之后,F(xiàn)acebook內(nèi)部就不再提EdgeRank算法了,NewsFeed進入EdgeRank后時代。此時的Facebook,月活躍用戶超過10億,約2000萬的公共主頁,移動設(shè)備貢獻了大多數(shù)流量,面對復(fù)雜的上下文因素,必須引入機器學(xué)習(xí)才能Hold整個場面。
引入機器學(xué)習(xí)的好處顯而易見,原來考慮的因素就是機器學(xué)習(xí)模型的特征,一個線性模型可以處理大規(guī)模的稀疏特征,并且會為每一個特征尋找到最優(yōu)的參數(shù)(即權(quán)重)。在這樣的框架下,產(chǎn)品和工程人員只需要去盡力發(fā)現(xiàn)那些影響排序的特征,然后把特征交給機器學(xué)習(xí)模型,就萬事大吉。
NewsFeed團隊成員在原來EdgeRank的基礎(chǔ)上,更加細致地定義了不同層級的親密度。用深度神經(jīng)網(wǎng)絡(luò)理解圖片內(nèi)容和文字內(nèi)容,可以知道相片中的物體是不是用戶感興趣的,還可以分析出新鮮事的討論話題用于排序。隨著產(chǎn)品迭代,考慮的排序因素越來越多,諸如閱讀時間長短、視頻內(nèi)容、鏈接內(nèi)容,或者取關(guān)、隱藏一個源等。前前后后一共考慮了10萬多的排序因素(模型的特征空間應(yīng)該會更高),如果還按照原來的方式去調(diào)節(jié)權(quán)重,顯然既不科學(xué)又很低效。
破解機器學(xué)習(xí)和數(shù)據(jù)的局限
除了全面轉(zhuǎn)向機器學(xué)習(xí)之外,NewsFeed團隊也在重新思考人和算法的關(guān)系。他們要關(guān)心的是到底“如何把用戶真正最關(guān)心的找出來”,而不僅僅是“如何提高點擊率”。Facebook一直是數(shù)據(jù)驅(qū)動的,這也是他們能夠在爭議中把NewsFeed堅持下來的信念來源,但是不是唯數(shù)據(jù)馬首是瞻,團隊內(nèi)部一直有很多思考。比如:
- 團隊發(fā)現(xiàn)有85%的隱藏新鮮事操作來自5%的人,經(jīng)過與這些用戶溝通才發(fā)現(xiàn),原來這5%的人把“隱藏”當作郵件里的“標記已讀”了,對喜不喜歡的新鮮事只要看過就會點擊隱藏。
- 對于悲傷的事情,用戶可能關(guān)心但不會點贊。
- 對于有些點贊,用戶可能并不是真的感興趣,只是“點贊狂魔”發(fā)狂而已。
- 用戶閱讀一篇長帖子,讀到一半不讀了,也并不能說明他對這篇帖子不感興趣。
這些都讓他們開始關(guān)注到機器學(xué)習(xí)和數(shù)據(jù)的局限。于是,在算法團隊之外,F(xiàn)acebook搭建了一個遍布全球的人肉評測小組。人肉評測小組的工作不是簡單地對算法篩選結(jié)果進行喜歡/不喜歡的標注,而是非常深入地闡述為什么喜歡/不喜歡算法篩選結(jié)果,而且他們會與工程師詳細交流評測結(jié)果,因為這種人肉評測方式可以有效地拆穿數(shù)據(jù)說謊,讓產(chǎn)品遠離一味追求提高數(shù)據(jù)指標的怪圈。
此外,NewsFeed還有兩個重要的配套設(shè)施:社交關(guān)系推薦系統(tǒng)和廣告系統(tǒng)。
NewsFeed存在是因為用戶建立了大量的社交聯(lián)系,出現(xiàn)信息過載,因此“你可能感興趣的人”(people you may know)推薦系統(tǒng)是必不可少的,這是NewsFeed“合法”存在的前提。