推薦系統必讀的10篇精選技術文章

火貪三刀發表於2016-03-28

推薦系統近幾年來一直十分火熱,目前幾乎所有的電子商務系統、社交網路,廣告推薦,搜尋引擎等等,都不同程度的使用了各種形式的推薦系統。想知道電商如何向你傳送廣告的?想了解社交網路怎麼推薦好友的?想自己搭建一個推薦系統?想了解一些演算法或架構從而將自己的推薦系統做得更好?InfoQ為你整理了一系列的有關推薦系統的演算法文章,以及主要從電商和社交網路方面選取了一些優秀的案例,來看看這些關於推薦系統的優秀文章吧。

1.推薦系統演算法綜述

推薦系統在各種系統中廣泛使用,推薦演算法則是其中最核心的技術點, 為推薦系統選擇正確的推薦演算法是非常重要的決定。每一種推薦演算法都有其優點和缺點,當然也有其限制條件,在作出決定之前,必須要一一考量。在實踐中,你可能會測試幾種演算法,以發現哪一種最適合你的使用者,測試中你也會直觀地發現它們是什麼以及它們的工作原理。

InfoQ策劃了系列文章來為讀者深入介紹。推薦演算法綜述分為五個部分,本文作為第一篇,主要介紹了推薦演算法的主要型別。第二篇涵蓋了不同型別的協同過濾演算法,突出他們之間的一些細微差別。之後的三篇會陸續發表出來。第三篇詳細介紹了基於內容的過濾演算法。第四篇主要介紹了混合引薦技術和基於流行度的推薦方法。第五篇,在回顧了所有基本的推薦演算法之後,介紹瞭如何選擇最合適的推薦演算法。這一系列的作者是 Maya Hristakeva 和 Kris Jack ,英國的資料科學家,具有豐富的構建推薦系統的經驗,他們共同為世界建立出了一些出色的推薦系統。

2.一次演算法的普及型討論

雖然也曾從事過技術研發相關的工作,但是對演算法這類很“高深”和數學關係又比較緊密的技術來說,要真正地瞭解起來確實是一個難度很大的動作。但是在筆者參加了一些和演算法以及推薦系統相關的活動之後,發現這一高深的學問已經被從事軟體開發的朋友應用的非常廣泛。特別是在電商火爆的今天,各種和推薦相關的網站風起雲湧,演算法進入平常百姓家也就是水到渠成了。本文討論了演算法和推薦引起關注的原因,演算法、架構、策略、機器學習之間的關係,學習推薦演算法的幾點經驗等。

3.用Kiji構建實時、個性化推薦系統

現在網上到處都有推薦。比如亞馬遜、Mint.com之類的財務規劃網站、谷歌這些知名公司使用推薦提供情境化的、有相關性的使用者體驗,以提高轉化率和使用者滿意度。這些建議原來一般由每天晚上、每週或每月生成新推薦的批處理作業計算提供。然而對於某些型別的推薦,響應時間有必要比批量處理作業所需的時間更短。本文將會介紹如何使用Kiji框架,它是一個用來構建大資料應用和實時推薦系統的開源框架。通過這篇文章可以瞭解到如何用Kiji整合資料,模型和演算法來開發一個可以實時重新整理推薦的推薦系統。

4.百分點推薦引擎–從需求到架構

百分點推薦引擎是國內領先的推薦技術平臺,專注於為電子商務和資訊網站提供SaaS模式的個性化推薦服務,提高網站的整站轉化率和使用者黏度。本文將從電子商務網站的實際需求出發,介紹百分點推薦引擎架構設計和搭建。百分點的架構設計包含了儲存層,演算法層,業務層,管理層。演算法層裡包含線上演算法和離線演算法。線上演算法包括協同過濾(UserBased/ItemBased CF),基於內容的推薦(Content Based),熱擴散(Heat Diffusion),使用者行為模式分析(Behavior PatterAnalysis)等等。離線演算法包括KNN聚類,基於FP Tree的關聯規則挖掘,基於上下文統計的關聯規則挖掘,序列模式演算法,文件建模演算法等等。

5.Netflix公佈個性化和推薦系統架構

Netflix的推薦和個性化功能向來精準,他們公佈了自己的系統架構。主要從線上,接近線上,離線處理三個方面來講解。

並且他們指出構建一個好的推薦系統需要具備使用複雜機器學習演算法的能力,這些演算法要可以適應高度複雜性,可以處理大量資料。還要能夠提供靈活、敏捷創新的架構,新的方法可以很容易在其基礎上開發和插入。而且,需要推薦結果足夠新,能快速響應新的資料和使用者行為。找到這些要求之間恰當的平衡並不容易,需要深思熟慮的需求分析,細心的技術選擇,戰略性的推薦演算法分解,最終才能為客戶達成最佳的結果。

6.雅虎個性化推薦引擎的工程實踐

個性化推薦引擎已經在雅虎的首頁、新聞、體育、財經等很多頻道,以及雅虎的Email、使用者訂閱的郵件內容等方面使用。個性化推薦引擎推薦的內容有雅虎編輯原創的內容,也有雅虎購買版權的內容,還有從Web上抓取的內容,包括新聞、圖片、部落格、輕部落格等形式。現在已經在歐洲等地方做全球化的推廣,並且統計發現個性化推薦引擎對於使用者粘性的提升已經超過了100%。本文從資料收集,新模型/演算法的評估上線,關於使用者粘度三個方面講解了雅虎推薦引擎的系統架構。

7.社會化推薦在人人網的應用

與傳統的推薦引擎不同,人人網的社會化推薦考慮了人與人之間的關係,通過真實的人際關係,提高推薦結果的精準度。例如,好友推薦的目的是幫助使用者找到好友,迅速構建使用者社交圖譜,形成可持續發展的網路生態圈。社會化推薦對傳統的推薦引擎提出了新的需求和挑戰,具體體現在其個性化和複雜性上。本文從社交圖譜的建立和社會化過濾方法的應用兩個方面講解了人人網社會化推薦框架。

8.Facebook如何向十億人推薦東西

為了保證使用者體驗和使用效果,推薦系統中的機器學習演算法一般都是針對完整的資料集進行的。然而,隨著推薦系統輸入資料量的飛速增長,傳統的集中式機器學習演算法越來越難以滿足應用需求。因此,分散式機器學習演算法被提出用來大規模資料集的分析。作為全球排名第一的社交網站,Facebook就需要利用分散式推薦系統來幫助使用者找到他們可能感興趣的頁面、組、事件或者遊戲等。Facebook就在其官網公佈了其推薦系統的原理、效能及使用情況。在工作原理方面,Facebook推薦系統採用的是流行的協同過濾(Collaborative filtering,CF)技術。具體讀者可以自行看看文中的敘述。

9.微博推薦架構演進

微博(Weibo)是一種通過關注機制分享簡短實時資訊的廣播式社交網路平臺。微博使用者通過關注來訂閱內容,在這種場景下,推薦系統可以很好地和訂閱分發體系進行融合,相互促進。微博兩個核心基礎點:一是使用者關係構建,二是內容傳播,微博推薦一直致力於優化這兩點,促進微博發展。

在微博推薦發展的過程中遇到體系方向的變化、業務的不斷更迭、目標的重新樹立,其產品思路、架構以及演算法也隨之進行變遷。本文講了微博推薦架構的演進過程:獨立式的1.0版本,分層式的2.0版本和平臺式的3.0,架構組成分為應用層,計算層,資料層和基礎服務,並在3.0中解決了推薦候選/排序/訓練的演算法最重要的問題。具體可以點選連結閱讀。

10.微信斑馬系統:微信朋友圈廣告背後的利器

隨著移動網際網路迅速發展,大資料技術為企業帶來了前所未有的發展機遇,然而中小企業和傳統行業由於其資料量缺乏且單一,技術投入不足的劣勢,面對大資料技術發展帶來的紅利只能望洋興嘆。本文介紹微信即將推出的微信斑馬系統,該系統旨在為中小企業和傳統行業提供基於微信大資料分析技術的受眾分析,精準推廣,啟用留存和商業智慧決策的全套解決方案。

相關文章