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