第四正規化程曉澄: 推薦系統的架構演進

tianxiaoxu發表於2018-05-07

SACC2017於10月21日圓滿落下帷幕。本屆大會共設定2大主會場,18個技術專場;邀請來自網際網路、金融、製造業、電商等多個領域,100餘位技術專家及行業領袖來分享他們的經驗。在10月21日的搜尋及推薦系統架構設計專場中,來自第四正規化的推薦服務演算法負責人程曉澄為我們帶來了主題為《推薦系統的架構演進》的演講。

  程曉澄今天的演講內容主要為簡述工業實踐中對推薦系統產品上、效能上、演算法上的要求,通過分享一些推薦系統架構,舉例說明如何較好的解耦實現上述需求,使系統易於維護和擴充套件,從而使推薦系統更好的服務企業需求。大體分為三個方向:推薦系統的誕生土壤和早起演進、推薦系統當下的基本架構、推薦系統的搭建

  推薦系統的誕生土壤和早起演進

  在這一部分內容的開始,程曉澄首先介紹了一下推薦系統最早期的發展。上世紀90年代—21世紀初,關於推薦系統的幾個大事件:1995年亞馬遜成立網上書店;1998年Google成立,相當於革新了搜尋引擎,從以前目錄檢索式的網站到使用者可以隨意搜尋;2004年,《長尾理論》這本書問世,書中描述了一個長尾概念,簡單來說這個概念就是,如果把世界上的文化產品或者商品做受眾統計,可能頭部是非常龐大的,但尾部也會非常長,雖然尾部受眾人群少,但是這個尾部的所有受眾人群加起來也是一個非常龐大的群體,甚至可能會超過頭部人群。

  推薦系統當下的基本架構

  推薦系統的典型架構大致是三塊:召回、排序、生成推薦列表。

  召回:推薦系統的典型架構設計的第一步是如何來做初步篩選。這需要儘量用一個效率高的方式來進行初篩,而最簡單的方式是排序召回,召回比較新的比較熱的內容,離這個使用者比較近的內容。這樣可以應用資訊比較少的一些簡單模型,如前面說過的協同過濾或其他計算複雜度低的模型。這樣以來它的沒有線上排序模型那麼大,但是計算效率比較高、便於離線計算。

  排序:在排序這個階段需要考慮更多的因素。比如秋天到了,是不是該推薦更多的應季的商品;使用者現在用的是4G網,是不是有可能更愛看短的文字內容;使用者在APP上很活躍,有很多行為序列,那他的這些序列是不是會有一個興趣的遷移,或者這些社交關係能不能帶來什麼支援等。

  值得一提的是,現在比較前沿的排序模型是wide&deep models,它是同時結合了寬跟深的一種方式。大量特徵通過寬的方式可以注入到這個模型中,但目前還存在的一些問題是有些資訊很難提取。

  生成推薦列表:作為推薦系統希望結果儘量多樣化。從體驗上來講,是需要權衡、著重挖掘,根據現在已知到的使用者喜歡的內容不斷去展現,還是要考慮到給使用者展現不同內容,來收集他其他的領域的一些偏好也是個值得考慮的問題。雖然有些使用者不喜歡推薦的內容,但其實也有可能會有一定的收穫。所以之後的推薦選擇面會更廣,使用者體驗也會更好。

  推薦系統的搭建

  一個推薦系統的搭建主要包括以下幾個方面:線上請求、線下資料流閉環、資料分析和演算法實驗。

  關於線上請求:

  線下資料流閉環:

  資料分析和演算法實驗:整個系統需要能夠快速迭代,快速回應產品和效能上演算法上要求,需要更多的進步和進化。

  最後程曉澄提到作為技術開發人員哪怕想得再精確、目標再對,如果走得非常慢也會被別人進步的步伐甩開,架構也是同樣的道理。如果產品的需求來了,就需要非常快地從推薦結果中顯示出來。如果模型更新沒有這麼快的話,能不能用其他的策略或者通過其他的規則顯示出來。以及模型需要更新,儘量做更多的實驗,去收集這個資料,然後才能做出更好的選擇。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2154040/,如需轉載,請註明出處,否則將追究法律責任。

相關文章