360推薦系統架構演進

360推薦系統架構演進

  當下,個性化推薦成了互聯網產品的標配。可是,人們對推薦該如何來作,也就是推薦技術自己,還不甚瞭解。爲此,好學的你確定在收藏着朋友圈裏流傳的相關文章,轉發着微博上的相關討論話題,甚至還會不斷奔走在各類大小行業會議之間,聽着大廠職工們講那些乾貨。我知道,這樣碎片化的吸取,增長了知識的同時,也增長了焦慮。由於技術的不平等普遍存在於業界內,推薦系統也不例外。推薦系統從搜索引擎借鑑了很多技術和思想,好比內容推薦有很多技術就來自搜索引擎, 由 Amazon 發揚光大的。推薦系統也是如今熱門的人工智能分支之一,但凡人工智能類的落地,都須要具有這幾個基本元素才行:數據、算法、場景、計算力。推薦系統也不例外,而恰好,如今的時代,這些元素的得到成本相比十年前已經小了不少。將來隨着各類硬件設備愈來愈智能,萬物互聯得愈來愈緊密,人們的個性化需求、場景的多樣性、數據的複雜性都對推薦系統提出了更高的要求。算法

  推薦系統歸納一下,其實就是如下的的目標主要包括: 架構

  用戶滿意性:首當其衝的,推薦系統主要就是爲了知足用戶的需求,所以準確率是評判一個推薦系統好壞的最關鍵指標。框架

  多樣性:雖然推薦系統最主要仍是知足用戶的興趣,可是也要兼顧內容的多樣性,對於權重不一樣的興趣都要作到兼顧。機器學習

  新穎性:用戶看到的內容是那些他們以前沒有據說過的物品。簡單的作法就是在推薦列表去掉用戶以前有過行爲的那些內容。工具

  驚喜度:和新穎性相似,但新穎性只是用戶沒看到過的可是確實是和他行爲是相關的,而驚喜度是用戶既沒有看過和他以前的行爲也不相關,但用戶看到後的確是喜歡的。學習

  實時性:推薦系統要根據用戶的上下文來實時更新推薦內容,用戶的興趣也是隨着時間而改變的,須要實時更新。搜索引擎

  推薦透明度:對於用戶看到的最終結果,要讓用戶知道推薦此內容的緣由。好比,「買過這本書的人同時也買過」、」你購買過的xx和此商品相似」。人工智能

  覆蓋率:挖掘長尾內容也是推薦系統很重要的目標。所以,推薦的內容覆蓋到的內容越多越好。.net

  基於這些目標,推薦系統包括四種推薦方式:日誌

  熱門推薦:就是熱門排行榜的概念。這種推薦方式不只僅在IT系統,在日常的生活中也是到處存在的。這應該是效果最好的一種推薦方式,畢竟熱門推薦的物品都是位於曝光量比較高的位置的。

  人工推薦:人工干預的推薦內容。相比於依賴熱門和算法來進行推薦。一些熱點時事如世界盃、nba總決賽等就須要人工加入推薦列表。另外一方面,熱點新聞帶來的推薦效果也是很高的。

  相關推薦:相關推薦有點相似於關聯規則的個性化推薦,就是在你閱讀一個內容的時候,會提示你閱讀與此相關的內容。

  個性化推薦:基於用戶的歷史行爲作出的內容推薦。也是本文主要講述的內容。

  其中,前三者是和機器學習沒有任何關係的,但倒是推薦效果最好的三種方式。通常說來,這部份內容應該佔到總的推薦內容的80%左右,另外20%則是對長尾內容的個性化推薦。

  從框架的角度看,推薦系統基本能夠分爲數據層、召回層、排序層。

  數據層包括數據生成和數據存儲,主要是利用各類數據處理工具對原始日誌進行清洗,處理成格式化的數據,落地到不一樣類型的存儲系統中,供下游的算法和模型使用。

召回層主要是從用戶的歷史行爲、實時行爲等角度利用各類觸發策略產生推薦的候選集,對不一樣的策略和算法產生的候選集進行融合並按照產品規則進行過濾,通常融合和過濾後的候選集仍是比較多的,一次線上請求過來以後線上系統沒法對那麼多的候選集進行排序,因此在召回層通常還會有粗排序,對融合的候選集進行一次粗排序,過濾掉粗排分數較低的候選集。

  排序層主要是利用機器學習的模型對召回層篩選出來的候選集進行精排序。

  總結:推薦系統的架構流程圖和每個模塊的做用必定要了解,通常會讓你一邊畫流程圖一邊講解每一個模塊。召回模塊通常就是在作候選集篩選和粗排序,緣由是item太多了,一個user的請求過來線上系統不能在100ms之內對全部的item進行排序。

文章來源:

https://blog.csdn.net/li12412414/article/details/82703432

相關文章
相關標籤/搜索