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