那些熟悉的互聯網產品背后推薦系統的技術演進
原創【51CTO.com原創稿件】推薦系統是迄今為止商業化最為成功的技術之一。推薦系統的基本原理是基于算法和大數據猜測用戶喜好,為用戶推薦他們感興趣的物品。推薦系統的應用場景非常廣泛,從新聞推薦,音樂推薦,電影推薦到相親對象推薦無所不包。
許多國內外的公司已經將推薦系統作為其商業化產品必不可少的一部分。許多互聯網公司,例如今日頭條和 Netflix,都把推薦系統作為最重要的技術支撐業務。本文將按照推薦系統發展的脈絡,為大家介紹技術的演進。
圖 1. Netflix 推薦系統架構
1.協同過濾
推薦系統發展至今已有相當長的歷史,形成了一個龐大的算法和研發體系。推薦系統領域最早的算法是協同過濾,現在基本不被各大互聯網公司作為線上系統使用,僅作為算法迭代的初始比較標準。
協同過濾包括基于用戶的協同過濾(user-based collaborative filtering)和基于物品的協同過濾(item-based collaborative filtering)兩種。
- 基于用戶的協同過濾:算法思想是計算用戶和用戶之間的相似性,然后將與某個用戶最相近的物品通過用戶相似性加權計算,得分排序后推薦給用戶。
- 基于物品的協同過濾:算法思想與此類似,只是首先計算物品和物品的相似性,然后再通過加權排序的方式計算用戶的評分,并將得分高的物品推薦給用戶。
為了提高推薦系統的效率,在推薦系統發展早年,亞馬遜設計了 Slope-One 算法來進行商品推薦。
2.矩陣分解模型
如果說協同過濾是推薦系統發展的***階段,那么矩陣分解模型就是推薦系統發展的第二階段。研究者和工程師們開始利用 SVD 分解,LDA 和 ALS 等其他的矩陣分解模型將用戶對物品的評分矩陣分解為用戶-隱變量矩陣和物品-隱變量矩陣,然后通過計算向量乘積完成用戶評分矩陣的填充。
因為矩陣分解模型需要計算完整的用戶-物品評分矩陣,所以時間復雜度比較高。Google 在 2010 年發表了論文介紹了 Google News 的新聞推薦系統,結合了協同過濾,矩陣分解以及統計興趣趨勢的方法。在這一階段,出現了專門針對非評分矩陣的隱反饋的算法,其中比較著名的有 SVD++ 和 one-class collaborative filtering。
圖2. SVD++ 評分計算公式
3.基于邏輯回歸的點擊率預估
2010 年之后,推薦系統進入到發展的鼎盛時期,這一時期國內的互聯網公司紛紛意識到推薦系統的重要性,開始重點投入相關研發。例如百度專門成立了推薦與個性化部門,阿里巴巴也將商品推薦作為業務重點。
與國內早年開展推薦系統業務的豆瓣不同,因為這些公司的數據體量龐大,它們采用較多的是基于邏輯回歸的點擊率預估的方式。百度曾在2012 年和 2014 年分別在國際會議上發表論文介紹過百度知道推薦系統,網易也在同一時期在***會議 VLDB 上發表過論文介紹自己的相親推薦系統。
圖3. 百度知道推薦系統架構
圖4. 網易花田相親推薦系統架構
隨著推薦系統的發展,研究人員和工程師逐漸意識到混合模型與單一模型相比更加具有優勢。我國大型互聯網公司普遍采用的點擊率預估方式主要是通過線形模型與非線性模型的疊加來完成的。
國外采用同樣思路進行推薦系統設計的有 Facebook 的 feed 流廣告推薦系統,Yahoo 的問答推薦系統等。美國普林斯頓大學和微軟研究院在這一時期提出了 collaborative topic regression 等算法,考慮了將基于內容的推薦,使用協同過濾和矩陣分解模型兩兩結合的算法,***成就了紐約時報的新聞推薦系統。
圖5. Collaborative Topic Regression 算法的圖模型
4.排序學習
2010 年以后,推薦系統的研究領域出現了一股新的思潮。許多研究者開始考慮利用排序學習的方法進行推薦。在2010年初期,推薦系統的國際會議 ACM RecSys 上集中出現了一批利用排序學習進行推薦的論文。
排序學習優化的目標包括 MRR,NDCG,AUC 等信息檢索指標,代表性的算法有 Bayesian Personalized Ranking,Collaborative Less is More Filtering 等。排序學習本身可以作為獨立的推薦算法,也可以作為一個更為完整的推薦系統***進行排序的部分。新浪微博等公司都曾采用排序學習作為自己推薦系統的一部分。
圖6. Bayesian Personalized Ranking 偽代碼
5.深度學習
近年來,隨著深度學習的興起,推薦系統也受到了人工智能大潮的洗禮。百度,Google,京東和阿里巴巴等公司都逐步采用深度學習或者深度增強學習來替換原有的推薦系統。KDD 和 RecSys 上出現了一批相關的企業論文。深度學習正在逐步成為推薦系統未來發展的主流趨勢。
圖 7. YouTube 深度學習推薦系統架構
圖 8. 基于 GRU 的深度文本推薦系統,Ask the GRU: Multi-Task Learning for Deep Text Recommendations,ACM RecSys 2016
同時,推薦系統催生了一批創業公司,2013年和2014年國外出現了一股推薦系統創業熱潮。中國的企業也在苦苦的尋覓推薦系統商業模式之后,誕生了一家以推薦系統作為***賣點的互聯網公司 —— 今日頭條。
總之,推薦系統作為一個技術領域,無數的技術人員投入了大量的心血,我們期待在不遠的未來,推薦系統領域能夠迎來一個又一個新的創新高峰并催生出一批新的商業公司。
汪昊,恒昌利通大數據部負責人,美國猶他大學碩士,在百度,新浪,網易,豆瓣等公司有多年的研發和技術管理經驗,擅長機器學習,大數據,推薦系統,社交網絡分析等技術。在 TVCG 和 ASONAM 等國際會議和期刊發表論文 5 篇。本科畢業論文獲國際會議 IEEE SMI 2008 ***論文獎。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】