編者按:Tryolabs軟件設(shè)計(jì)師、烏拉圭共和國(guó)大學(xué)數(shù)學(xué)教授Gastón Rodríguez最近撰寫的推薦系統(tǒng)最新入門指南。
眾多電商網(wǎng)站和零售商通過推薦系統(tǒng)來提升其銷售成績(jī)。
簡(jiǎn)單來說,推薦系統(tǒng)的目標(biāo)是預(yù)測(cè)用戶的興趣,向用戶推薦可能感興趣的物品。
推薦系統(tǒng)所需的數(shù)據(jù)包括用戶評(píng)分、搜索查詢、購(gòu)買歷史,以及其他關(guān)于用戶/物品的知識(shí)。
Spotify、YouTube、Netflix等站點(diǎn)大量使用推薦系統(tǒng),向用戶推薦感興趣的信息。
這篇文章將介紹最流行的推薦系統(tǒng)類型,通過一些例子解釋它們的工作機(jī)制。
為了給這一主題增加一些動(dòng)機(jī),我們將介紹一些真實(shí)世界的案例,討論實(shí)現(xiàn)推薦系統(tǒng)的高層需求,還有如何公平地評(píng)估推薦系統(tǒng)。
實(shí)現(xiàn)推薦系統(tǒng)的優(yōu)勢(shì)
推薦系統(tǒng)可以通過非常個(gè)性化的推銷和增強(qiáng)的用戶體驗(yàn)增加銷售。
推薦系統(tǒng)通??梢约铀偎阉?,讓用戶更容易訪問感興趣的內(nèi)容,并給用戶帶來驚喜。
商家可以通過發(fā)送包含感興趣內(nèi)容鏈接的郵件來吸引新顧客,留存老顧客。
開始感覺自己被理解的用戶更可能購(gòu)買更多商品,消費(fèi)更多內(nèi)容。了解用戶所需,使商家領(lǐng)先于競(jìng)爭(zhēng)者,減少客戶流失的風(fēng)險(xiǎn),同時(shí)逐漸提高利潤(rùn)。
推薦系統(tǒng)的類型
推薦系統(tǒng)利用兩種信息:
特性信息,關(guān)于物品的信息(關(guān)鍵詞,類別等)和用戶的信息(偏好,畫像等)。
用戶-物品交互,例如評(píng)分、購(gòu)買數(shù)、喜歡,等等。
因此,我們可以將推薦系統(tǒng)分為兩類:
基于內(nèi)容(content-based),主要使用特性信息;
協(xié)同過濾(collaborative filtering),主要基于用戶-物品交互。
混合系統(tǒng)(hybrid system)結(jié)合了兩類信息,目標(biāo)是避免單獨(dú)使用一種信息引發(fā)的問題。
下面,我們將深入介紹下基于內(nèi)容的系統(tǒng)和協(xié)同過濾系統(tǒng)。
基于內(nèi)容的系統(tǒng)
這類系統(tǒng)主要基于物品相似性和用戶畫像。背后的假說是,如果用戶過去曾對(duì)某物感興趣,那么以后也會(huì)對(duì)類似物品感興趣。通常根據(jù)物品的特效歸類相似物品。用戶畫像的構(gòu)建則根據(jù)用戶的歷史行為,或者明確詢問用戶其興趣所在。另一些不被認(rèn)為純基于內(nèi)容的系統(tǒng),還會(huì)利用用戶的個(gè)人數(shù)據(jù)和社交數(shù)據(jù)。
這類系統(tǒng)的一大問題是建議過于專門(用戶A對(duì)類別B、C、D表示了興趣,系統(tǒng)無法向其推薦這些類別之外的其他可能感興趣的物品)。
另一個(gè)問題是新用戶沒法定義畫像(除非明確詢問其興趣)。相比新增用戶,新增物品倒是容易得多,只需確保我們根據(jù)新物品特性將其分到了合適的分組即可。
協(xié)同過濾系統(tǒng)
這類系統(tǒng)利用用戶的交互來過濾感興趣物品。我們可以將交互的集合可視化為一個(gè)矩陣,其中每一項(xiàng)(i, j)代表用戶i和物品j的交互。有意思的是,我們可以將協(xié)同過濾看作是對(duì)分類和回歸的推廣。在分類和回歸中,我們的目標(biāo)是預(yù)測(cè)直接依賴其他變量(特征)的變量,而在協(xié)同過濾中,并不存在特征變量和分類變量的區(qū)別。
從下圖可以看到,我們并不打算預(yù)測(cè)某列的值,而是預(yù)測(cè)任何給定項(xiàng)的值。

圖片來源:《推薦系統(tǒng)》
簡(jiǎn)單來說,協(xié)同過濾系統(tǒng)基于這樣一個(gè)假定,如果用戶喜歡物品A,另一個(gè)用戶也喜歡物品A,而且另一個(gè)用戶同時(shí)喜歡物品B,那么第一個(gè)用戶可能也對(duì)物品B感興趣。因此,協(xié)同過濾系統(tǒng)基于歷史交互信息預(yù)測(cè)新的交互。為了達(dá)到這一目標(biāo),有兩類方法:基于內(nèi)存(memory-based)和基于模型(model-based)。
基于內(nèi)存
有兩種方法:第一種識(shí)別用戶的聚類,并利用某一特定用戶的交互預(yù)測(cè)其他類似用戶的交互。第二種方法識(shí)別用戶A評(píng)分的物品的聚類,并基于此預(yù)測(cè)用戶A和不同但相似的物品B的交互。這些方法通常會(huì)遇到的主要問題是巨大的稀疏矩陣,因?yàn)橛脩?物品交互的數(shù)量可能會(huì)過低,無法生成高質(zhì)量的矩陣。
基于模型
這些方法基于機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)。其目標(biāo)是訓(xùn)練可以做出預(yù)測(cè)的模型。例如,我們可以使用現(xiàn)有的用戶-物品交互來訓(xùn)練一個(gè)模型,預(yù)測(cè)一個(gè)用戶可能最喜歡的5項(xiàng)物品。這些方法的一個(gè)優(yōu)勢(shì)是,和基于內(nèi)存的方法相比,可以向大量用戶推薦大量物品。我們認(rèn)為,即便配合大型稀疏矩陣使用,這些方法仍有更大的覆蓋面(coverage)。
協(xié)同過濾系統(tǒng)的問題
協(xié)同過濾系統(tǒng)面對(duì)的兩個(gè)主要挑戰(zhàn)為:
冷啟動(dòng):我們需要有足夠的用戶-物品交互信息,才能讓系統(tǒng)工作。如果我們新建了一家電商網(wǎng)站,在用戶和相當(dāng)多數(shù)量的物品交互之前,我們無法給出推薦。
新增用戶/物品:無論是新用戶還是新物品,我們都沒有關(guān)于它們的先驗(yàn)知識(shí),因?yàn)樗鼈冞€不存在交互。
在注冊(cè)時(shí)詢問用戶的其他數(shù)據(jù)(性別、年齡、興趣,等等),根據(jù)物品的元信息將其與數(shù)據(jù)庫(kù)中的現(xiàn)有物品相關(guān)聯(lián),可以緩解上面提到的兩個(gè)問題。
協(xié)同過濾實(shí)例
協(xié)同過濾是當(dāng)前最常用的方法之一,并且通常能提供比基于內(nèi)容的系統(tǒng)更好的結(jié)果。YouTube、Netflix、Spotify的推薦系統(tǒng)就用到了協(xié)同過濾。下面我們將介紹創(chuàng)建協(xié)同過濾系統(tǒng)的兩種技術(shù)。
一個(gè)經(jīng)典方法是矩陣分解。其目標(biāo)是補(bǔ)全評(píng)分矩陣(R)中的未知用戶-物品交互。想象一下,我們通過某種方式,魔法般地得到了兩個(gè)矩陣U和I,滿足U × I和R的所已知項(xiàng)相等。那么,U × I也為我們提供了R中未知項(xiàng)的值,這些值可以用來生成推薦。

圖片來源:Soumya Ghosh
找到U和I的一種時(shí)髦的方法是使用神經(jīng)網(wǎng)絡(luò)。
首先,我們需要將用戶和物品映射為向量,維度分別為M和N。這意味著我們需要學(xué)習(xí)用戶和物品的表示,通常稱為嵌入(因?yàn)槲覀儗⑦@些概念嵌入一個(gè)向量空間)。由于我們尚不清楚這些向量的值,我們需要從隨機(jī)初始值開始。
接著,對(duì)每個(gè)用戶-物品交互(u, x)而言,我們將連接用戶嵌入u和物品嵌入x為單個(gè)向量。由于我們已經(jīng)知道了這一用戶-物品交互的值,我們可以迫使網(wǎng)絡(luò)對(duì)這一向量的輸出等于已知值。接著,網(wǎng)絡(luò)使用反向傳播調(diào)整其權(quán)重以及嵌入,使得結(jié)果符合我們的預(yù)期。因此,網(wǎng)絡(luò)將學(xué)習(xí)表示用戶和物品的最佳方式,并通過傳入所得嵌入以預(yù)測(cè)未見交互。
例如,假設(shè)上圖中的用戶矩陣和物品矩陣的值是隨機(jī)初始化的嵌入。對(duì)交互(A, X)而言,我們將傳入向量[1.2, 0.8, 1.2, 0.6],并迫使輸出等于4.5。在這個(gè)例子中,我們可以使用MSE作為損失函數(shù)。如果我們的交互矩陣是二值矩陣,那么使用分類問題中常見的損失函數(shù)要更合適,比如交叉熵。
這一方法非常有趣的結(jié)果是嵌入通常包含特定的語義信息。因此,我們最后得到的并不僅僅是未知交互的預(yù)測(cè)。例如,相似用戶在用戶向量空間中會(huì)很接近,這有助于研究用戶行為。
Item2vec
Item2vec是借鑒Word2vec思想提出的用于協(xié)同過濾的物品嵌入表示。它利用購(gòu)買訂單作為上下文信息,暗示在類似情況下購(gòu)買的物品比較相似(相應(yīng)的嵌入表示在向量空間中占據(jù)相近的位置)。
這一方法既不直接牽涉用戶,也不在做出推薦時(shí)考慮用戶。不過,如果我們的目標(biāo)是顯示用戶所選物品的替代選擇,那么這個(gè)方法可能非常有用(“你買了這個(gè)電視,你也許也對(duì)這些感興趣”)。
這一方法的主要問題在于,我們需要海量數(shù)據(jù)來生成良好的嵌入。Item2vec論文用到了兩個(gè)數(shù)據(jù)集,其中一個(gè)數(shù)據(jù)集包含九百萬交互,七十三萬二千用戶,四萬九千物品,另一個(gè)數(shù)據(jù)集包含三十七萬九千交互,1706物品,用戶數(shù)未知。
何時(shí)實(shí)現(xiàn)推薦系統(tǒng)?
既然我們現(xiàn)在已經(jīng)對(duì)推薦系統(tǒng)有所了解,是時(shí)候考慮下何時(shí)值得實(shí)現(xiàn)推薦系統(tǒng)。
如果你的業(yè)務(wù)運(yùn)行得不錯(cuò),即使沒有推薦系統(tǒng),你大概也不難生存。然而,如果你想要借助數(shù)據(jù)的力量創(chuàng)建更好的用戶體驗(yàn)并增加利潤(rùn),你應(yīng)該好好考慮下實(shí)現(xiàn)一個(gè)推薦系統(tǒng)。
投資一個(gè)良好的推薦系統(tǒng)是否值得?回答這一問題的一個(gè)好辦法是看看實(shí)現(xiàn)了這樣的系統(tǒng)的公司取得了怎樣的效果:
亞馬遜上35%的購(gòu)買源自其推薦系統(tǒng)(數(shù)據(jù)來源:麥肯錫)。
2016年的雙11期間,阿里巴巴的個(gè)性化到達(dá)頁(yè)面對(duì)轉(zhuǎn)化率的提升高達(dá)20%
YouTube上的用戶觀看視頻時(shí)長(zhǎng)的70%來自推薦。
Netflix上的用戶觀看視頻的75%來自推薦(來源:麥肯錫)。
Netflix的VP和CPO發(fā)表的論文說個(gè)性化和推薦系統(tǒng)為Netflix每年節(jié)約十億美元。
交叉銷售和類別滲透技術(shù)增長(zhǎng)了20%銷售額,提高了30%利潤(rùn)(來源:麥肯錫)。
構(gòu)建推薦系統(tǒng)的先決條件
數(shù)據(jù)是唯一最重要的資產(chǎn)?;旧希阈枰私庥脩艉臀锲返囊恍┘?xì)節(jié)。如果你只有元信息,那么你可以從基于內(nèi)容的方法開始。如果你有大量用戶交互信息,你可以試驗(yàn)更強(qiáng)大的協(xié)同過濾方法。
你所擁有的數(shù)據(jù)集越大,你的系統(tǒng)工作得就越好。此外,你需要確保你的團(tuán)隊(duì)能夠理解數(shù)據(jù),并正確地處理數(shù)據(jù),讓數(shù)據(jù)可以被你將采用的技術(shù)所用。
關(guān)于用戶-物品交互,你需要了解:
你應(yīng)該根據(jù)你的系統(tǒng)定義交互種類,以提取數(shù)據(jù)。例如,如果你運(yùn)行的是一個(gè)電商網(wǎng)站,那么交互可能包括對(duì)物品的點(diǎn)擊,搜索,訪問,收藏夾,購(gòu)買,評(píng)分,購(gòu)物車中的物品,甚至是剔除掉的物品,等等。
交互可以分為顯式和隱式兩類。顯式交互中,用戶表明正面或負(fù)面的興趣,例如評(píng)分或撰寫評(píng)論。隱式交互是從用戶的行為中推導(dǎo)出的興趣,比如搜索或購(gòu)買某物。
每個(gè)用戶和物品的交互數(shù)量越多,最終結(jié)果就越好。
典型的情況是,有些非常流行的物品有大量的用戶交互行為,而其他物品就沒有那么多交互了,也就是長(zhǎng)尾效應(yīng)。推薦系統(tǒng)通常在流行物品上效果相當(dāng)出色,盡管用戶對(duì)此大概不是非常感興趣,因?yàn)橛脩艉芸赡芤呀?jīng)知道這些物品了。長(zhǎng)尾中的物品是最感興趣的,因?yàn)槿绻麤]有推薦,用戶可能甚至不會(huì)考慮到它們。

圖片來源:dataminingapps.com
在運(yùn)行一項(xiàng)新產(chǎn)品的同時(shí),從頭實(shí)現(xiàn)一個(gè)推薦系統(tǒng)并非易事?;趦?nèi)容的方法比較方便,或者你也可以明確詢問用戶的興趣。當(dāng)用戶和交互的數(shù)量增長(zhǎng)時(shí),就到了設(shè)想?yún)f(xié)同過濾方法的時(shí)候,從而增強(qiáng)你的系統(tǒng)的潛能。
最后,評(píng)估系統(tǒng)表現(xiàn),思考提升其表現(xiàn)的不同方法,可能會(huì)是最艱巨的任務(wù)。但別打退堂鼓,你幾乎一定能從中得到樂趣,同時(shí)你也將欣賞到利潤(rùn)的增長(zhǎng),對(duì)吧?
如何評(píng)估推薦系統(tǒng)?
取決于不同的目的,有不同的評(píng)估推薦系統(tǒng)的方法。比如,如果你只對(duì)推薦的前5項(xiàng)物品感興趣(用戶最可能交互的物品),那你在評(píng)估的時(shí)候就無需考慮其余的推薦。再比如,推薦的順序?qū)δ銇碚f可能非常重要,所以你在評(píng)估的時(shí)候需要考慮它??偟膩碚f,推薦系統(tǒng)的評(píng)估方法分為兩類:在線和離線。
在線方法
在線方法,又稱A/B測(cè)試,通過用戶對(duì)給定推薦的反應(yīng)衡量推薦系統(tǒng)的表現(xiàn)。例如,你可以衡量用戶是否點(diǎn)擊推薦的物品——以及相應(yīng)的轉(zhuǎn)化率。這個(gè)評(píng)估方法很理想,不過難以實(shí)施。因?yàn)槲ㄒ贿M(jìn)行試驗(yàn)的方法是和部署到生產(chǎn)環(huán)境的系統(tǒng)交互。而任何失敗的試驗(yàn)很可能會(huì)對(duì)利潤(rùn)和用戶體驗(yàn)造成直接影響。此外,使用真實(shí)客戶進(jìn)行試驗(yàn),要比使用事先準(zhǔn)備的數(shù)據(jù)慢很多。
離線方法
離線方法是試驗(yàn)階段的離線方法,因?yàn)槠渲胁⒉恢苯訝可嬗脩?,和在線方法不同,系統(tǒng)無需部署到生產(chǎn)環(huán)境。數(shù)據(jù)被分為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集,也就是說,部分?jǐn)?shù)據(jù)用來構(gòu)建系統(tǒng),其余數(shù)據(jù)用來評(píng)估系統(tǒng)。使用離線方法時(shí),需要小心,因?yàn)橛行]有恰當(dāng)表示的因素可能會(huì)影響結(jié)果。例如,時(shí)令因素(季節(jié)、氣候,等等)在推薦中可能非常重要,甚至客戶在某一特定時(shí)刻的心情也可能影響結(jié)果。
結(jié)語
正如你在這篇文章中看到的那樣,在系統(tǒng)中加入推薦是一個(gè)很有吸引力的選擇。從用戶的視角來說,它提升了體驗(yàn)和參與度。從業(yè)務(wù)的角度來說,它能創(chuàng)造更多利潤(rùn)。
用戶量較小時(shí),使用一個(gè)基本的推薦系統(tǒng),當(dāng)用戶基數(shù)增加時(shí),再投入更強(qiáng)的技術(shù),這是比較好的做法。
最不可或缺的資源是數(shù)據(jù)。如果你沒有恰當(dāng)?shù)毓芾?、?chǔ)存數(shù)據(jù),是時(shí)候采取必要措施了。一旦到達(dá)實(shí)現(xiàn)階段,深入相關(guān)主題當(dāng)然是很有必要的。
業(yè)務(wù)目標(biāo)將指示你需要首先關(guān)注的推薦系統(tǒng)類型:它是要提高已活躍用戶的參與度,還是讓那些稀客變得更活躍。
除了定義業(yè)務(wù)目標(biāo),能夠分析和理解你的站點(diǎn)生成的信息至關(guān)重要。有了這些,應(yīng)該沒什么能夠阻止你成功實(shí)現(xiàn)你的推薦系統(tǒng)。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4839瀏覽量
107963 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8558瀏覽量
137074 -
推薦系統(tǒng)
+關(guān)注
關(guān)注
1文章
44瀏覽量
10462
原文標(biāo)題:2018年推薦系統(tǒng)入門指南
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RL78/G22電容觸摸評(píng)估系統(tǒng):設(shè)計(jì)要點(diǎn)與使用指南
RAA2P4200評(píng)估套件快速上手:硬件與軟件設(shè)置指南
雙向保護(hù)開關(guān)評(píng)估套件使用指南
雙向保護(hù)開關(guān)評(píng)估套件使用指南:從原理到實(shí)戰(zhàn)
雙向保護(hù)開關(guān)評(píng)估套件使用指南
TLE9278BQX評(píng)估板入門指南
從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南
“智”為公平|中考智能系統(tǒng)的“大腦”藏在杰和科技主板里
嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式
Linux系統(tǒng)進(jìn)程管理入門指南
推薦系統(tǒng)最新入門指南,如何公平地評(píng)估推薦系統(tǒng)?
評(píng)論