所謂新聞流排序(news feed ranking),指的是 Facebook 的一項看家本領(lǐng):用戶每天會收到兩三千條新鮮事,卻只會閱讀前 50 至 100 條。利用機器學習將用戶最想看的內(nèi)容排到最前面,從而提高粘性和日活。
這固然是一篇著重技術(shù)的文章,所在公司 Facebook 更是世界上最大的互聯(lián)網(wǎng)公司之一。但這并不妨礙創(chuàng)業(yè)者從中得到經(jīng)驗。利用 A/B 測試作為迭代方法,借助 Growth Hacking 的核心——數(shù)據(jù)來驅(qū)動開發(fā),新員工的入職宣講……這些做法都體現(xiàn)了這位社交之王不同維度的文化所在:精神層面注重實現(xiàn)夢想,統(tǒng)一目標;而這一目標下放到微觀層面,就是對于數(shù)據(jù)的尊重?!盎ヂ?lián)網(wǎng)的一些事”推薦此文。
Facebook利用Sigma 系統(tǒng)做了什么?
我第一次去Facebook工作的時候,當時專注于用戶增長的 VP 負責宣講。他說將來全球所有人都會使用 Facebook,這家公司將來會成為萬億美元的公司,這讓我印象很深刻。公司的所有人都很興奮,對設(shè)定的目標有非常大的信心。他們的工作使命感非常強,非常專注。
這是Facebook給我印象深刻的一件事。
在 Facebook 的 site-integrity (站點完整性) 組工作了兩年。當時 Facebook 有很多的垃圾私信、垃圾信息,就像人人、微博上有各種廣告、垃圾鏈接。有些用戶的賬號被盜用了,會使用個人頁面發(fā)送垃圾短信、廣告、病毒,還有一些不受歡迎的朋友請求。我會處理所有類似這些涉及到影響用戶體驗的東西。
Facebook 使用了一個叫做 sigma 的系統(tǒng)來抵制這些垃圾信息。這個系統(tǒng)安裝在 2000 多臺機器上面,F(xiàn)acebook 用戶做的任何事情,都會經(jīng)過 sigma 系統(tǒng)分析處理,比如評論、鏈接、朋友請求,都會被這個系統(tǒng)進行判斷,是正常行為、濫用行為還是有問題的行為。
利用 Sigma 系統(tǒng),F(xiàn)acebook 會對垃圾信息進行過濾和清理。
舉個例子說,比如發(fā)送朋友請求,F(xiàn)acebook 的系統(tǒng)會自動判斷一下:如果這個人的朋友請求都被別人拒絕了,他再發(fā)送朋友請求是不會被批準的。如果一個人發(fā)送的朋友請求十個有九個都被拒絕了,那么他下一次的朋友請求就會被系統(tǒng)拒絕。
當然這個系統(tǒng)還有其他的判斷信號。
它是一個機器學習系統(tǒng),通過你之前發(fā)的朋友請求拒絕概率高低來判斷你被拒絕的概率有多高。
如果這個比率很高,F(xiàn)acebook 會讓你進行手機短信或其他方式認證,來驗證是軟件還是真人發(fā)送的,以此判斷你是不是真的要發(fā)送朋友請求,比如你發(fā)出的朋友請求對象與你沒有任何共同好友,那就可能是一個不合理的請求。
基本上,你在 Facebook 上做的任何事情,都會經(jīng)過這個系統(tǒng)來分析、預(yù)測、決定是否允許你發(fā)出信息,借此希望會減少生態(tài)圈中的騷擾行為。當時 Facebook 每天有上百億次的信息發(fā)生要通過這個系統(tǒng)進行判斷。
機器學習是Sigma 系統(tǒng)的核心
Sigma 系統(tǒng)中有些是人為規(guī)則也有機器算法,請求通過和拒絕就是一個迅捷數(shù)據(jù)組(Scrum)。任務(wù)通過,則說明這個任務(wù)是一個對機器學習來說的正樣本,被拒絕則是一個負樣本,很像 0 和 1。
比如發(fā)送朋友請求如果被接受,y 值是 1,如果被拒絕就是 0。如果是評論和點贊,系統(tǒng)就能尋找 y 值,用戶發(fā)送的不當信息就會被刪除。
而機器學習是整個 Sigma 系統(tǒng)的核心。
另外一個方法是通過一些異常行為的分析、數(shù)據(jù)挖掘的方法來分析用戶的異常行為。
比如一個人發(fā)的同樣類型評論非常多,所有評論里都有一個相似鏈接,這就非常有問題。正常操作不會在不同人的主頁上留同樣的評論,這顯然屬于異常行為,我們不會允許。
新聞流是Facebook最重要的產(chǎn)品
我工作兩年之后選擇去了這個組。
“排序” 指的是信息流的順序。它決定了打開你的 Facebook 朋友圈,你的信息流是個什么樣子,信息的位置。每個人產(chǎn)生的內(nèi)容、新聞會有兩三千個,用戶只能看到 50-100 個。你需要把兩三千個最好地展示出來。有些我們不給用戶顯示,比如你喜歡游戲,你的朋友不喜歡。
我 2012 年剛?cè)サ臅r候,新聞流排序組只有五六個人,盡管這可能是公司最大的機器學習系統(tǒng),最核心的產(chǎn)品。每天有十億多人上線,每個用戶花 40 分鐘在 Facebook 上,其中一半時間都花在新聞流上。Facebook 大部分收入來自新聞流廣告。比如說,移動廣告收入占所有廣告的 70%,而其中所有的移動的廣告都來自新聞流。不管是從用戶的停留時間,還是收入來說,新聞流都是最重要的產(chǎn)品。
新聞流是 Facebook 最重要的產(chǎn)品,直接決定了用戶所看到的內(nèi)容。
做好新聞流排序是很難的問題,因為用戶在新聞流上的行為有很多種,不只是傳統(tǒng)廣告點擊或者不點擊這一種操作,用戶可以在新聞流里贊、評論、分享或者隱藏這個新聞流,也可以播放視頻。我需要理解用戶喜歡什么東西,評論、分享什么東西,想看什么樣的視頻。理解用戶的興趣所在,根據(jù)我們的訊息把最好的東西放在新聞流的最前面。
以國內(nèi)的社交媒體作對比來說,微信的朋友圈是所有內(nèi)容全部顯示,它不需要排序,是因為朋友圈容量不是特別多,大家可以看完所有的內(nèi)容。朋友越來越多的話,沒有時間把分享看完,排序是必然的事情。你會很容易漏掉很重要人的圖片,它們迅速埋沒在大部分你不感興趣的內(nèi)容了。
Facebook 之前也是全部顯示,慢慢到后來用戶是看不完所有的信息的。如果不做排序,把最好的服務(wù)挑出來的話,用戶不會愿意訪問新聞流,因為他看到很多不感興趣的東西,感興趣的部分他已經(jīng)沒有時間找出來了。從不排序到排序是必然的過程,你的朋友越來越多,公眾頁面越來越多,排序是必然的。
比如說新浪微博沒有做排序,有些細節(jié)雜亂無章,他們測試過,但是做得不太好。所以放棄了。微信的朋友圈也會到要做排序的階段。Facebook 不只是排序,還會隱藏用戶不感興趣的內(nèi)容,比如你的朋友玩過 Candy Crush 游戲,但可能你本身不玩任何游戲,關(guān)于這方面的信息就沒有意義。Facebook 就不會給你顯示這些內(nèi)容——“朋友們在玩什么游戲”。
社交媒體的碎片化已成事實。只有采取更好的排序手段,推送給用戶更精準的內(nèi)容,才能提高平臺停留時間,加強粘性。
新聞流排序的工作原理是什么?
基本上,新聞流是從兩三千條內(nèi)容里面,挑出了 四五十 個。按照每個內(nèi)容打分,分高的內(nèi)容排在最前面。每個內(nèi)容、照片、分享或者狀態(tài),我們會預(yù)測一些概率值,比如你點贊的概率,評論、分享的概率。每個用戶的行為,比如點贊、分享、評論,系統(tǒng)都會給權(quán)值。評這些用戶行為概率是通過機器學習來系統(tǒng)計算的。如果用戶對某個內(nèi)容點贊、評論或者分享,說明用戶愿意看到這個內(nèi)容,對內(nèi)容產(chǎn)生了反饋。
舉個例子來說,比如你是我的好友,你上傳了 100 張照片,我點贊了 20 次,那么點贊概率就是 20%。我們知道每個用戶以前對哪些內(nèi)容點贊、評論,這些都是我們的訓練樣本。我們通過學習用戶的歷史行為,進行相同類型、相同個人的未來行為預(yù)測,因為用戶短期行為不會大幅變化,過去對哪些東西進行評論,將來也很有可能對相似內(nèi)容進行評論。
對用戶內(nèi)容的預(yù)測
很多人關(guān)心,是否可以針對用戶內(nèi)容來進行預(yù)測?比如分析用戶發(fā)了什么樣的文字或者圖片?這是可以的。如果是圖片我們可以抽取圖片特點,對圖片進行模式識別,分析圖片的主題,打上相應(yīng)的標簽,用機器來識別這些圖片?,F(xiàn)在在做相應(yīng)的工作。Facebook 有 AI 實驗室,可以對圖片進行內(nèi)容識別。
那么,F(xiàn)acebook 該如何檢測這套算法的有效性呢?該如何進行更新迭代?
其實,這可以通過 A/B 測試來實現(xiàn)。我們會抽取 1% 用戶進行新的算法,1%進行舊的算法。如果新的算法下用戶每天點贊、評論或者分享次數(shù)增長了,那說明新的算法更好。我們就把新的算法發(fā)布給所有的用戶。我們主要的核心目標是:讓日活躍用戶更多,停留時間更長,訪問 Facebook 更頻繁。
A/B 測試是很好的迭代方法。建立起核心指標,進行 A/B 測試,看新的改動能否提高核心指標,提高就發(fā)布,沒有提高就不用發(fā)布。這很像 Growth hacking,當然最終目的還是提高 DAU。如果用戶喜歡你的新聞流,就會更頻繁訪問,最終目的還是在線時長和日活躍用戶。
A/B 測試是 Facebook 用來測試迭代可行性的手段,目前峰瑞資本所投資的吆喝科技,想讓初創(chuàng)企業(yè)也能使用到這一技術(shù)。
“我已經(jīng)沒法看完所有朋友圈的內(nèi)容”
我已經(jīng)沒法看完所有朋友圈內(nèi)容了。一種改進方法是排序,把最好的內(nèi)容放最前面,通過你以前點贊的內(nèi)容,來學習你關(guān)心的內(nèi)容,比如你女朋友發(fā)的東西你都會點贊。另外一種改進方法叫做 “內(nèi)容置頂”(Story bumped)。有時候我早上起來刷微信,會看不完,只看了一小部分。過一會兒再刷的時候,已經(jīng)沒有什么新的內(nèi)容了。
Facebook 的內(nèi)容置頂功能會把你沒有看完的東西再放到上面去再次推送給你。
微信是知道哪些內(nèi)容你沒看過的,我有很多在美國的朋友,朋友圈會有很多內(nèi)容,上班前看不完只看了一部分。再刷新的時候就已經(jīng)沒有新的東西出來了,我也沒有關(guān)心沒看完的東西,朋友發(fā)的照片。Facebook 的 “內(nèi)容置頂” 把很重要的、還沒看的、有點舊的內(nèi)容放在朋友圈前面,讓你再看一眼,怕你漏掉重要的內(nèi)容。
在九月份的時候我加入神州專車擔任 CTO,從事業(yè)角度來說,我希望把從 Facebook 學到的公司文化、技術(shù)帶回中國。中國在計算機行業(yè)上有很大的潛力。現(xiàn)在國內(nèi)的產(chǎn)品質(zhì)量上和美國產(chǎn)品已經(jīng)相當了,比如微信,F(xiàn)acebook 的產(chǎn)品經(jīng)理也學習了微信里面的功能。再往后面看幾年的話,中國有機會趕上美國。
計算機學科已經(jīng)成熟,創(chuàng)造力在慢慢變好。很多初創(chuàng)企業(yè)嘗試不同的想法,中國的創(chuàng)業(yè)者是美國的好多倍,都在嘗試不同的想法,會誕生出成功的公司。技術(shù)上,中國正在逼近美國,甚至會超越美國。長遠來看,中國的計算機行業(yè)、互聯(lián)網(wǎng)行業(yè),應(yīng)該是有潛力成為世界上互聯(lián)網(wǎng)行業(yè)最好的國家。
本文地址:http://irelandcustomcontracting.com/news/yytg3087.html