一窺Facebook演算法的秘密:你每天看什麼都是它決定!

2016.01.08 by
36氪
36氪 查看更多文章

36氪是中國領先的科技新媒體,報導最新的互聯網科技新聞以及最有潛力的互聯網創業企業。

編者按:本文編譯自 Slate 的探秘文章。作者難得探訪到了 Facebook 的動態消息團隊,瞭解到了是誰控制著你在 Faceb...

Image title

編者按:本文編譯自 Slate 的探秘文章。作者難得探訪到了 Facebook 的動態消息團隊,瞭解到了是誰控制著你在 Facebook 看到的動態消息,以及為什麼它那全球最有影響力的演算法要不斷改變。

每當你打開 Facebook,全球最有影響力、最具爭議、最被誤解的演算法就開始活躍起來。它會掃描並收集過去一周你每一位朋友、你關注過的每一個人、你所屬的每一個社團發表過的東西,還有你點讚過的每一個 Facebook 頁面。

對於普通 Facebook 用戶來說,這數目通常超過了1500。如果你的朋友有好幾百,那數字可能會高達10000。這之後,在被嚴加看管和不斷調整的公式作用下,Facebook 的動態消息(news feed)就會對它們按照(它以為你認為的)貼文的價值程度進行排名。大多數用戶永遠只會看到前幾百。

Facebook 以外的人都不知道它是怎麼做的,公司內部的人也不會告訴你(倒是有前員工在解釋過動態消息的廣告機制)。儘管如此,這種自動排名機制仍然塑造著超過 10 億(相當於全球成年人口的 1/5)日活躍用戶的社交生活和閱讀習慣。

這種演算法的病毒式傳播能力顛覆了整個媒體業,把像 BuzzFeed 和 Vox 這樣的新創企業的影響力推高到了新的高度,而許多百年老店卻只能慢慢凋零死去。

它給 Zynga 和 LivingSocial 這樣的公司平步青雲(價值 10 億美元)提供了動力,所要的回報不過是1、2年後從後者身上吸點氦氣—它只要略微調整一下自己的程式碼,就讓別的投資者兩袋空空,員工下崗。
Facebook 的動態消息演算法調整一下就能讓我們快樂或憂傷,它既能向我們展示新的有挑戰性的想法,也能把我們禁錮在泡沫化的意識形態裡面。

Facebook 的動態消息演算法塑造的不僅是我們能讀到什麼和如何保持接觸,還包括如何講故事來吸引我們的注意力。

深悟此道的出版商從一開始就利用了演算法的癖好來炮製出病毒式流行的內容。Facebook 的工程師則通過不斷調整程式碼貶低某些類型的貼文提升另一些來與之競爭。要想知道媒體病毒式傳播成功的公式這些年是如何變化的,只需看看當年流行的貼文是什麼樣的就行了。

儘管 Facebook 的動態消息演算法有著各種強大,卻不優雅到令人吃驚,善變得令人抓狂,不透明得頑固不化。當然它一般不會把我們認為是不關緊要的、令人氣憤的、帶有誤導性或者索然無味的貼文放出來。Facebook 知道哪些是這樣的貼文。

過去幾個月,這家社交網路一直在進行著測試,測試內容是接著高排名的貼文放低排名的,然後讓用戶選擇喜歡看哪個。結果呢?演算法的排名 「有時候」會根據使用者的喜好進行調整,Facebook 承認這一點,但拒絕透露更多具體細節。該公司說,一旦不匹配,就意味著 「某個地方要改進。”
「有時候」代表的,不是你所預期的值得炫耀和令人恐懼的那點程式碼的成功率。動態消息過於強大的影響力已經招致了一連串的質疑,說它給人強加了自己的意志—就好像某種神秘形式的智慧,在全世界範圍擴散,以達到不可告人的目的

隨著 Facebook 等矽谷巨頭不斷過濾我們的選擇並通過機器學習軟體引導(誘導)我們做出決策,Elon Musk 這樣的科技巨頭和霍金這樣的科學巨匠都發出警告說人工智慧會構成威脅,演算法這個詞本身已經開始產生令人驚駭的影響。

在一般人看來,演算法是神秘而又強大的實體,象徵著技術和現代性所滿足我們的每一種渴望以及威脅我們所珍視的價值的一切手段。

圖說明

一個不斷壯大專家測試組已然成為 Facebook 的 Nielsen 家族

當然,Facebook 的演算法也許沒那麼荒誕,但依舊令人著迷。我最近難得有機會到 Facebook 總部跟他們的動態消息團隊坐在一起,實地看看對演算法進行的那些名聲有點不太好的、影響市場走勢的「調優」—看看他們為什麼要這樣做,是如何進行的,以及如何確定調整生效了。

對演算法內部工作的管中窺豹不僅讓我理解了 Facebook 動態消息的機制,也明白了機器學習的局限性,資料驅動決策的陷阱,以及 Facebook 不斷加強的收集和處理用戶回饋的舉措(其中包括一支不斷壯大的專家測試組,這相當於 Facebook 的 Nielsen 家族)意義何在。

我所瞭解到的是,Facebook 演算法的缺陷不在於系統存在一些故障,而在於從根本上來說,Facebook 軟體背後的智慧其實還是人,而不是像科幻小說迷所幻想的,完美實現的、有意識的演算法。是人類決定著放哪些資料進去,如何處置這些資料,以及另一頭出來的是什麼東西。演算法出問題時,該責備的應該是人。

演算法變了,是因為有一群人讀了一堆的表格,開了一堆的會,跑了一堆的測試才決定要把它改得更好。那它不斷變得越來越好又怎麼說?那是因為另一群人不斷告訴他們什麼地方做得不夠:這群人就是我們。

當我到達 Frank Gehry 設計的 Facebook 總部時,接待我的是一位身材瘦高的人,他那張帶孩子氣的臉一會兒露出真摯的笑容,一會兒有保持著強烈的專注。37 歲的 Tom Alison 是動態消息團隊的工程總監,負責管負責演算法的那幫人。

Alison 領著我穿過迷宮一樣排列的隔間和開放式小廚房去一間小會議室,他保證到那之後要為我揭開 Facebook 演算法的神秘面紗。途中我意識到自己需要上個廁所,就問他在哪裡。他不自覺地做了個鬼臉,然後開始道歉,笑著說 「我帶你去。」

一開始我以為他這麼做是為了避免我走失。但當我從裡面出來時,發現他還站在外面,我馬上意識到他是不會讓我一個人亂跑的。

出於同樣的理由—Facebook 對其商業秘密的嚴密保護,Alison 不能告訴我太多動態消息演算法程式碼構成方面的東西。不過他倒是可以告訴我演算法做了什麼,為什麼要這麼做,以及為什麼會一直變。就像工程師都會這麼幹一樣,他先從白板開始。
「學電腦科學時,你首先接觸的演算法就是排序演算法,」Alison 說著,用白板筆隨便寫了一串正整數。

4, 1, 3, 2, 5

要做的任務很簡單:設計演算法對這些數位從小到大進行排序。「人知道怎麼做這個,」Alison 說:「我們在腦子裡面轉轉就出來了。」

但是電腦卻需要你一五一十地告訴它怎麼做。而這個需要一個演算法:用一組具體的指令來解決特定問題。Alison 給我演示的是 「冒泡排序」,大概是這麼做的:

  1. 從第一個開始,對一組數字的每一個依次與它後面的一個數字進行比較,看看是否符合想要的順序。

  2. 如果不符合,把這兩個數字的位置換過來。

  3. 重複步驟 1、2 直到從頭到尾不再需要調換位置。

冒泡排序的優點是簡單。缺點是:如果資料集很大計算效率會很低且耗時。出於顯而易見的原因,Facebook 沒有採用冒泡排序。它的確用了排序演算法來對所有出現在你的動態消息上面的貼文進行排序。不過這只是微不足道的一部分—主演算法裡面的一個很小的子演算法。

哪一塊才是重要的?第一時間給所有的貼文賦值的演算法。簡而言之,這就是動態消息排名團隊的工作:設計一個能夠給任何 Facebook 貼文賦予對任何特定用戶的 「相關性得分」的系統。

這是一個很困難的問題,因為跟你有關的一樣東西—比如你的童年好友或者你關注的某位名人的貼文有可能跟我一點關係都沒有。對於這一點,Alison 解釋說,Facebook 採用了不同類型的演算法,這種演算法叫做預測演算法。(跟 Google 的搜索演算法或者 Netflix 的推薦演算法一樣,Facebook 的動態消息演算法也是一個由更小演算法組成的、不斷蔓生的非常複雜的軟體。)

「這麼說吧,我要你選出一場還沒打的比賽的獲勝者,比如公牛對湖人,」Alison 開始了。「公牛,」我脫口而出。Alison 笑了,不過他接著使勁地點了點頭。我的大腦已經接受了他的輸入並馬上產生出了一個語音輸出,其根據也許就是它自己的某個惡作劇演算法。(人類大腦的演算法比矽谷迄今設計的任何演算法都要複雜很多,但卻也嚴重依賴於啟發,容易上當受騙也是出了名的。)

隨便猜一個也不錯,如果這麼做沒什麼代價的話,Alison 說。不過我們再來假設一下,假如我的勝負預測決定了很多錢的去留,並且每天這樣的預測都要做好幾百萬次,那就得要一個更加系統化的方法。

「可能你會先從考察歷史資料開始,」他說:「你會先看看每一支球隊的勝負記錄,每一位元球員的記錄,誰受傷了,誰保持著連勝。」也許你還會考慮環境因素。誰是主隊?某一隊是不是休息不夠或者剛剛經過長途飛行過來?你的預測演算法可能要考慮所有這些或更多的因素。預測得好的話,它不僅能預測出比賽的獲勝者,還能告訴你對結果的確信度。

Facebook 動態消息演算法對你是否喜歡特定貼文的預測跟這個類似。我問 Alison Facebook 的演算法要考慮多少個變數—或者用人工智慧的術語來說,「特徵」。「幾百個,」他回答道。

它預測的不僅僅是根據你過去的行為看你會不會對貼文點讚。它還會預測你會不會看,會不會評論,會不會分享或則隱藏貼文,甚至把它列為垃圾。

它會預測每一個的結果,以及結果的確信度,然後再組合以來生成一個與你和那個貼文有關的相關性分數。一旦你的動態消息裡面的每一個貼文都得到了相關性得分,排序演算法就會按照你在螢幕上看見的那樣對貼文進行排序。

你看到的排在前面的貼文,是從成千上萬個貼文裡面被抽取出來,最有可能讓你笑,讓你哭,讓你點擊讓你喜歡,讓你分享或者讓你評頭論足的。

你以為我以為的就是我以為的嗎?

那要是大家 「喜歡」的貼文實際上自己並不喜歡怎麼辦?

演算法構造再怎麼一絲不苟,也總會有你掌握不到的資料:教練的比賽計畫,羅斯(公牛的明星後衛)那天膝蓋的感覺如何,籃球的氣打足了沒有。簡而言之,比賽不是比資料,而是人打出來。而人對於任何演算法來說都太複雜了,很難建構模組。

Facebook 的演算法還面臨著另一種複雜性,這稍微多了一點認識論的東西。相關性得分類似於公牛獲勝的可能性。這屬於完全可測的離散結果:要麼贏要麼輸。Facebook 的排名演算法用來預測類似的可測結果:你會不會以某種方式與某個貼文互動。Facebook 動態消息背後的團隊指出,互動是特定貼文是否引起共鳴的一個很好的指標。

這正好又是推動 Facebook 經濟的動力:正是因為有了這些點擊、喜歡、分享以及評論,才讓貼文流行起來,把個體變成了社群,給 Facebook 收入所依賴的廣告商帶來了流量。

但是這種互動僅僅是 Facebook 使用者實際需要的簡單形式。如果有人給自己實際上並不喜歡的貼文 「點讚」或者發現點擊進去的內容自己不滿意怎麼辦?其結果可能會是為了獲得病毒式傳播而不是內容品質而優化的動態消息—先讓使用者嘗點甜頭,騙他們在這裡或者那裡點個讚,結果發現內容沒有價值、令人作嘔,然後慢慢地對這場愚蠢的遊戲越來越反感。對此你要怎麼去優化呢?

2013年末的時候,Faebook 是當時全球最熱的公司。社交網路巨頭的使用者剛剛超過了 10 億,並且以超過 1000 億的估值上了市。它用了過去 1 整年的時間重新修訂了自己的行動 app,很快就超越了 Google Search 和 Google Maps 層位全美最流行的應用程式。

Facebook 不僅僅只是跟朋友保持接觸的方式,實際上也變成了 21 世紀的全球性報紙:有即時的新聞流、娛樂消息、朋友愛人的狀態更新,這些都是根據每個使用者興趣自動量身定制的。

在公司內部,負責動態消息的人對它的發展感到興奮。不過儘管用戶參與熱情高漲,但並不清楚他們對 Facebook 的整體滿意度是否跟上相應節奏。大家在 Facebook 上點讚的東西前所未有的多。但是不是他們對 Facebook 反而沒那麼喜歡了呢?

要想知道為什麼會這麼問,你得回到 2006年。

原來只不過是類似 Myspace 那樣大規模的個人和小組資料頁的 Facebook,在那一年開發了動態消息作為使用者朋友在網站活動更新的中心。使用者對自己的狀態更新、個人照片更換以及相互間的打情罵俏被放到所有朋友的消息流裡面感到很憤怒。但 Facebook 還是繼續推進。

哪怕是那個時候,也不是你所有的朋友都放到你的動態消息裡面。為了避免每天幾百條的更新把人淹沒,Facebook 開發了一個比較粗糙的演算法,根據他們感興趣的可能性來過濾掉一部分消息。

由於沒有真正的手段去衡量這一點(點讚按鈕 3年 後才出現),公司的工程師只是根據自己的直覺來做出假設。早期確定要不要把貼文放進你的動態消息的條件包括貼文的時間以及有多少朋友提到過它。

隨著時間的推移,團隊試圖對這些假設進行調整,並對這些變更給用戶在網站消耗的時間造成的影響進行測試。但由於沒有手段去評估哪一類貼文能夠取悅用戶,哪一些令人生厭或者困惑,工程師基本上就是在猜測。

點讚按鈕不僅是使用者在網站上進行互動的新方式,還是 Facebook 讓它的用戶幫助弄清楚怎樣才能最好地過濾動態消息這個問題的關鍵。用戶沒有意識到自己在幫 Facebook 也許是這個機制最巧妙的地方。

如果 Facebook 告訴用戶說他們得對朋友的貼文進行評價和排名,以幫助這家公司確定有多少人應該看到它們,那整個過程可能就會變得很沉悶,很令人分心。Facebook 的動態消息演算法,是最早偷偷地利用用戶來對其體驗進行個性化,並影響別人的演算法之一。

突然之間,這個演算法找到了識別最熱門貼文並讓它們獲得 「病毒性傳播」的辦法。病毒式傳播這個詞原先是用來指在人和人之間的交流的,而不是指在演算法上廣播給大眾受眾。不過 Facebook 的員工並不是唯一能看到特定貼文要怎樣才能獲得病毒式傳播的人。

出版商、廣告主、網路騙子(hoaxster),甚至個人使用者都開始分析整理病毒式貼文所具備的共同要素—那些能讓一大群朋友、粉絲甚至偶然拜訪陌生人點讚的特徵。

很多人還開始定制自己的貼文來獲得盡可能多的點讚。社交媒體顧問紛紛跳出來教大家如何玩弄 Facebook 的演算法:應該用什麼樣的詞,在什麼時候發表,要怎麼樣的圖文並茂。感覺不錯的貼文會 「求點讚,」然後大家就會點讚,哪怕大家實際上對貼文並不是很關心。

用不了多久 Facebook 用戶的貼文看起來都出奇地相似:充斥著調製過的、為了獲得病毒式傳播的內容,這些貼文大都令人作嘔或者態度傲慢。而實質內容、玄妙之處、悲傷以及一切能引發思考或情感共鳴的東西都被一個小小的點讚給淹沒了。

互動指標一路攀升,高高在上,但這真的就是動態消息優化的目的嗎?Facebook 的早期員工,動態消息的知識架構師 Chris Cox 對此憂心忡忡。

「考察點讚、點擊、評論以及分享是確定某人興趣的手段之一,」33 歲的 Cox(現為 Facebook CPO)在郵件裡面說:「但是我們知道在一些地方這種辦法是有瑕疵的。比方說,你讀了一篇令人悲傷的貼文,你的本意並不想對它點讚、評論或者分享,可如果我們要你這麼做時,你會說這也許對你讀過它很重要。針對這種情況,幾年前我們意識到得考察除了點讚和點擊以外更多的東西來改進動態消息。」

演算法可以優化來得到給定結果,但它不能告訴你那個結果應該是什麼。只有人能做這個。Facebook 動態消息背後的 Cox 等人決定,其最終目標是把對使用者真正重要的貼文展示出來,其他統統不要顯示。

他們知道,為了提高用戶滿意度這也許意味要犧牲一些短期的互動,可能還有收入。由於 Facebook 財源滾滾且創辦人佐克伯控制著大部分有表決權的股份,該公司有著不可多見的奢侈,可以為了長期價值而進行優化。但問題是怎麼做呢?

歷史上,媒體組織是通過自己的編輯判斷來決定哪些內容對受眾是重要的。它們會根據故事的價值來決定出版,而他們感興趣的價值會包括真相、新聞價值以及公共利益等。但 Cox 和他的 Facebook 同事卻要盡力避免在動態消息上留下自己的編輯印記。相反,他們對確定什麼對用戶重要的工作定義只是這個東西:使用者自己對選出來的消息流會怎麼進行排名。

「解決這一問題的完美方式是問每個人他們想看到和不想看到哪些故事,但這是不可能或者說不切實際的,」Cox 說。相反,Facebook 決定只問部分使用者想看哪些,不想看哪些。大概有 1000 名左右,直到最近,這群人大都還是田納西州諾克希維爾人士。不過現在到處都是這樣的人。

32 歲的 Adam Mosseri 是 Facebook 動態消息的產品總監,跟 Alison 地位對等的另一個人,只是技術弱一點—用矽谷的行話來說,是一位 「fuzzie」或不是 「techie」。他經手的是問題和通則,而 Alison 處理的是方案和細節。他是動態消息的常駐哲學家。

推動動態消息輸入輸出人性化的工作始於Mosseri 的前任,Will Cathcart。Cathcart 先從收集更加微妙的行為資料開始:不僅看用戶是否點擊,還要看他點擊後看了多久;不僅看他是否喜歡,還要看他是先點讚再看還是看了再點讚。比方說:如果你是先點讚再看,Facebook 認為,這種喜歡程度要比看後再點讚要弱很多。

2013年末上任後,Mosseri 的一大計畫就是設立 Facebook 所謂的 「品質專家組。」計畫從 2014年 夏天開始,他們在諾克希維爾找了幾百人,付錢請他們每天集中到一個地方,對所看到的動態消息提供持續細緻的回饋。Mosseri 和他的團隊不僅研究他們的行為,還會詢問他們,試圖理解為什麼他們會喜歡或者不喜歡給定的貼文,有多喜歡?如果讓他們選的話更願意看什麼東西。

「實際上他們對動態消息的每一個故事都寫了一小段東西,」動態消息排名團隊的產品經理 Greg Marra 指出。(這個小組實際上相當於 Facebook 的 Nielsen 家族。)

「問題是,『我們還可能漏了什麼沒有?『」Mosseri 說:「有沒有盲點?」比如說,他補充道:「我們知道動態消息裡面有些東西是你喜歡和感到興奮但卻沒有參與互動的。」這個如果沒有辦法衡量的話,演算法就會貶低這類貼文,抬高那些讓他們點讚和點擊的貼文。但 Facebook 可以利用什麼信號去捕捉這一資訊呢?

Mosseri 委派產品經理 Max Eulenstein 和使用者體驗研究人員 Lauren Scissors 監督消息品質小組,並向他們提出此類問題。比如說,Eulenstein 利用品質小組來測試自己的假設。這個假設是使用者觀看動態消息裡面的故事的時長(而不管有沒有點讚)也許是衡量他是否喜歡的一個很好的指標。「我們推測可能會是這樣,但你也會想這個假設不成立的原因是什麼,」Eulenstein 說:「有可能是這個故事很恐怖很令人震驚,你只是盯著,但並不想看。」動態消息品質專門小組的評級使得 Eulenstein 和 Scissors 不但能夠證實自己的直覺,還能夠檢驗其相關性的細微差別,從而開始對喜歡程度進行量化。但這種量化 「不會像 『5 秒是好的,2 秒不好』這麼簡單,」

Eulenstein 解釋說:「在不同故事的閱讀時長對比方面我們還有更多的工作要做。」研究還發現需要考慮使用者的互聯網連線速度情況,有時候使用者看似花了很長時間看一篇故事,其實只是頁面載入太慢。這一研究促使 Facebook 對演算法進行了一次優化,提高動態消息裡面使用者流覽時間更多的故事的排名。

幾個月內,Mosseri 和他的團隊對這個專門小組的回饋已經變得越來越依賴,以至於他們開始把小組擴大到全國的範圍,付費讓全美各地有代表性的樣本每天對他們的動態消息進行評級和點評。到了 2015年 夏天,Facebook 解散了諾克斯維爾的小組,但同時把品質小組擴大到海外範圍。Mosseri 的直覺是對的:動態消息演算法存在著 Facebook 的資料科學家自身無法識別的盲點。於是他們用人類的量化回饋來補盲。

新聞品質小組對演算法當然至關重要,但該公司也越來越意識到單一來源的資料無法說明一切。對此 Facebook 的做法是開發一套相互制衡的體系,每一次動態消息調整都必須通過一連串不同類型受眾的測試,然後用各種不同的指標來進行判斷。

這種平衡做法就是 Menlo Park 的排名工程師、資料科學家和產品經理團隊每天都要做的任務。他們是一群像 Sami Tas 這樣的人,後者是一名軟體工程師,其工作是將動態消息排名團隊提議的變更轉化為電腦能理解的語言。這個下午,我朝他身後看過去的時候,他正在向我解釋一個看似微不足道的問題。然而,Facebook 現在認為,這類小問題正是關鍵所在。

大多數時候,大家對動態消息裡面看到的故事不關心的話就會往下翻過去。有些故事甚至會把他們給惹毛了,他們就會跑到貼文右上方點開那個小小的下拉式功能表狠狠地點一下 「隱藏貼文。」

但是,每個人對 Facebok 的用法都不一樣。Facebook 的資料科學家意識到,85%的隱藏動作其實是一小部分的使用者(5%)幹的。再深挖下去,Facebook 發現這 5%裡面又有一小部分人幾乎把看到的所有故事都隱藏掉了—甚至連自己喜歡和評論過的故事也這樣。結果證明,對於這些 「超級隱藏癖」而言,隱藏故事並不意味著他們不喜歡它,這只是他們用來標記 「已讀」的方式罷了,就像把消息歸檔進 Gmail 一樣。

但是他們的動作給 Facebook 賴以對故事進行排名的資料造成了偏差。由於這東西太複雜,動態消息演算法並不打算根據每個使用者的行為進行單獨建模。你的點讚在價值方面跟我的完全是一樣的,隱藏的價值也一樣。然而,對於超級隱藏癖,排名團隊決定進行特別處理。Tas 的任務是對程式碼進行調整,識別出這一小部分人,然後把他們隱藏動作的負值打個折扣。

這個修補聽起來好像很簡單。但這個演算法對 Facebook 來說太寶貴了,所以對演算法的每一次調優都必須進行測試—首先是離線模擬,然後讓很小的一組 Facebook 員工試,接著是一小部分 Faebook 使用者,最後才是全面上線。每一步公司都會收集變更對指標的影響,這些指標包括使用者互動情況、在網站的消耗時間、廣告收入,以及頁面載入時間等。他們還利用分析工具來即時觀測任何上述關鍵指標大的異常變化,並設定了一些內部告警,自動發通知給動態消息團隊的關鍵成員。

一旦變更通過了上述測試,Tas 就會在每週例行的 「排名會議」上呈交結果資料,然後得經受住 Mosseri、Allison、Marra 以及同事的有關對各種指標影響的連珠炮攻擊。如果團隊認為變更是好的,不會產生意外後果,負責 iOS、Android 以及 Web 程式碼的團隊就會逐步把它推給公眾。

即便是這個時候,Facebook 也無法確定變更不會產生某些預想不到的、微妙而又長期性的影響。為了預防這一點,Facebook 保留了一個 「抵抗小組」—有小部分的使用者在幾周或幾個月的時間之後才會看到變化。

把動態消息演算法說成一個會讓人誤解。這不僅是因為它其實是數百個解決(組成顯示哪些故事給人看這個大問題的)更小問題的小演算法的結合,而且由於所有這些測試、「抵抗小組」的存在,實際上這個主演算法在全球隨時都會有十幾個版本在同時跑。Tas 針對 「隱藏故事」的調整是在去年7月31號宣佈的,大部分人都沒注意到他在 Facebook 上的那篇提醒的貼文。

但是現在那些超級隱藏癖也許會對自己的動態消息更加滿意了,進而會繼續使用 Facebook,跟朋友分享故事,並觀看讓這家公司活下去的廣告。

Facebook 的品質小組給公司動態消息團隊提供了前所未有的更加豐富、更為人性的資料。排名團隊的 Tas 等人在尋找和修復演算法盲點方面因而也變得越來越嫺熟。但還有一群人 Facebook 越來越倚重:你我這樣的普通用戶。

過去 6 個月,Facebook 一直在進行著一項調查,調查內容是讓部分使用者在兩個並排的貼文裡面選自己喜歡的—Facebook 想從比品質小組樣本範圍大得多的群體裡面去收集同質資料。不過普通用戶不斷增多的參與並不僅限於這個公式的輸入端。過去 2年,Facebook 已經賦予了用戶更多的權力去控制他們的動態消息。
演算法仍然是動態消息貼文排名背後的驅動力。但 Facebook 正在逐步賦予使用者更多調整自己動態消息的能力—這個 Facebook 本來一直都是抵觸的,認為這種控制又麻煩又沒有必要。

Facebook 已經花了 7年 的時間來改進排名演算法,Mosseri 說。它有機器學習嚮導,可以進行邏輯回歸分析,根據使用者過去行為預測將來他有可能會參與哪些貼文的互動。「我們還會再花個 10年 左右的時間,然後繼續改進這些機器學習技術,」Mosseri 說:「但現在只用問別人『你想看什麼?不想看什麼?你希望在動態消息欄頂部一直能哪一位朋友的消息?』 這些問題也能得到很多有價值的東西了。」

演算法時代還沒有終結,但發展速度有變化了。

這就是現在 Facebook 允許每一位用戶自問自答的一些問題。朋友的貼文如果你不想再看到,你可以 「取消關注」那位朋友,或者 「少看一點」某類故事,並且指定 「先看」那些朋友和頁面,這樣每次登錄的時候動態消息欄頂部顯示的總是他們的貼文。但是對於一般用戶來說,做這些事情沒那麼簡單明瞭。你得點擊貼文右上方很小的一個灰色的下拉式功能表才能看到那些選項。

大部分用戶從來都不會這麼做。但隨著全自動的動態消息存在的限制越來越明顯,Facebook 對高亮顯示這些選項有變得愈發的習慣,偶爾還會彈出個提醒,上面放著相關解釋和説明頁面的連結。它還測試了使用者與動態消息互動的新辦法,包括替代方案、基於主題的動態消息、以及表達除喜歡以外其他反應的新按鈕。

這種變化部分是出於防禦。正像 Facebook 以前對 Myspace 幹過的事情一樣,近年來,對 Facebook 的統治地位構成的最大挑戰的正是那些網路新貴—他們完全繞開了這種資料驅動的做法。

Instagram 的做法就是把你關注的所有人的照片按照時間順序統統放上去,因而迅速獲得了流行。2012年,Facebook 把 Instagram 給收購了,這在一定程度上解除了部分威脅。Snapchat 避開了病毒式傳播和自動過濾的做法,而是採用更加親密的數位化互動形式,從而成為了青少年社交網路之選,侵蝕了 Facebook 的市場。

Facebook 不是近年來唯一遭遇演算法優化的局限性的資料驅動型公司。Netflix 著名的電影推薦引擎已經開始愈發依賴于付錢給別人整日去看電影來做推薦和電影分類。為了抵消 Amazon 自動化 A/B 測試的影響力,CEO 貝佐斯極其重視個人用戶的特殊投訴,還專門設立了一個公眾信箱。當然,在演算法時代真正來臨之前就宣佈它已結束是草率的,但是它前進的速度已經變了。Facebook 的 Mosseri 本人就拒絕給決策機制貼上 「資料驅動」這個標籤,它更願意用 「資料知情(data-informed)」這個詞。

Facebook 的動態消息排名團隊認為,自己排名做法的變化正在獲得回報。「隨著我們根據大家告訴我們的東西不斷地改進動態消息,我們看到的是在動態消息排名方面已經做得越來越好,我們的排名跟用戶自己對故事的排名更接近了,」Scissors 說。

但是讓用戶自己控制可能也會有不好的地方:如果他們搞錯了自己真正想看的東西怎麼辦?人可是經常會犯錯誤的。如果 Facebook 記錄我們線上行為的資料庫至少在某些方面的確比我們更瞭解自己呢?提供大家說自己實際想看的動態消息究竟能不能讓他們不像以前那樣上癮呢?

Mosseri 告訴我對此他不是很擔心。他解釋說,迄今為止的資料表明,賦予調查更多權重,讓用戶有更多自主權提高了整體的參與度以及在網站的消耗時間。儘管從短期看這兩個目標會有點受影響,但 「我們發現動態消息在質上的改進似乎與長期互動存在關聯。」如果情況繼續是這樣的話那可真是巧了。

但要是說 Facebook 在做動態消息的這 10年 時間裡學到了什麼的話,那就是資料永遠不會告訴你整個故事,演算法永遠不會完美。今天看起來有效的東西,明天也許就會露出錯誤的馬腳。出現這種情況時,每天去 Menlo Park 上班的那幫人就得讀一堆的表格、開一堆的會,跑一堆的測試,然後再一次修改演算法。

本文編譯自:slate.com

授權轉載自:36 氪

@@ACTIVITYID:612@@

每日精選科技圈重要消息