深入理解各種推薦機(jī)制原理

一、基于人口統(tǒng)計(jì)學(xué)的推薦

? ? 基于人口統(tǒng)計(jì)學(xué)的推薦機(jī)制(Demographic-based Recommendation)是一種最易于實(shí)現(xiàn)的推薦方法,它只是簡單的根據(jù)系統(tǒng)用戶的基本信息發(fā)現(xiàn)用戶的相關(guān)程度,然后將相似用戶喜愛的其他物品推薦給當(dāng)前用戶。

?基于人口統(tǒng)計(jì)學(xué)的推薦機(jī)制工作原理

? ? 從圖中可以很清楚的看到,首先,系統(tǒng)對(duì)每個(gè)用戶都有一個(gè)用戶 Profile 的建模,其中包括用戶的基本信息,例如用戶的年齡,性別等等;然后,系統(tǒng)會(huì)根據(jù)用戶的 Profile 計(jì)算用戶的相似度,可以看到用戶 A 的 Profile 和用戶 C 一樣,那么系統(tǒng)會(huì)認(rèn)為用戶 A 和 C 是相似用戶,在推薦引擎中,可以稱他們是“鄰居”;最后,基于“鄰居”用戶群的喜好推薦給當(dāng)前用戶一些物品,圖中將用戶 A 喜歡的物品 A 推薦給用戶 C。

這種基于人口統(tǒng)計(jì)學(xué)的推薦機(jī)制的好處在于:

? ? ?(1)因?yàn)椴皇褂卯?dāng)前用戶對(duì)物品的喜好歷史數(shù)據(jù),所以對(duì)于新用戶來講沒有“冷啟動(dòng)(Cold Start)”的問題。

? ? ?(2)這個(gè)方法不依賴于物品本身的數(shù)據(jù),所以這個(gè)方法在不同物品的領(lǐng)域都可以使用,它是領(lǐng)域獨(dú)立的(domain-independent)。

那么這個(gè)方法的缺點(diǎn)和問題是什么呢?這種基于用戶的基本信息對(duì)用戶進(jìn)行分類的方法過于粗糙,尤其是對(duì)品味要求較高的領(lǐng)域,比如圖書,電影和音樂等領(lǐng)域,無法得到很好的推薦效果??赡茉谝恍╇娮由虅?wù)的網(wǎng)站中,這個(gè)方法可以給出一些簡單的推薦。另外一個(gè)局限是,這個(gè)方法可能涉及到一些與信息發(fā)現(xiàn)問題本身無關(guān)卻比較敏感的信息,比如用戶的年齡等,這些用戶信息不是很好獲取。

二、基于內(nèi)容的推薦

? ? ?基于內(nèi)容的推薦是在推薦引擎出現(xiàn)之初應(yīng)用最為廣泛的推薦機(jī)制,它的核心思想是根據(jù)推薦物品或內(nèi)容的元數(shù)據(jù),發(fā)現(xiàn)物品或者內(nèi)容的相關(guān)性,然后基于用戶以往的喜好記錄,推薦給用戶相似的物品。

??基于內(nèi)容的推薦工作原理

? ? ?電影推薦系統(tǒng),首先我們需要對(duì)電影的元數(shù)據(jù)有一個(gè)建模,這里只簡單的描述了一下電影的類型;然后通過電影的元數(shù)據(jù)發(fā)現(xiàn)電影間的相似度,因?yàn)轭愋投际恰皭矍?,浪漫”電?A 和 C 被認(rèn)為是相似的電影(當(dāng)然,只根據(jù)類型是不夠的,要得到更好的推薦,我們還可以考慮電影的導(dǎo)演,演員等等);最后實(shí)現(xiàn)推薦,對(duì)于用戶 A,他喜歡看電影 A,那么系統(tǒng)就可以給他推薦類似的電影 C。

? ? ?這種基于內(nèi)容的推薦機(jī)制的好處在于它能很好的建模用戶的口味,能提供更加精確的推薦。但它也存在以下幾個(gè)問題

? ? (1)需要對(duì)物品進(jìn)行分析和建模,推薦的質(zhì)量依賴于對(duì)物品模型的完整和全面程度。在現(xiàn)在的應(yīng)用中我們可以觀察到關(guān)鍵詞和標(biāo)簽(Tag)被認(rèn)為是描述物品元數(shù)據(jù)的一種簡單有效的方法。

? ? (2)物品相似度的分析僅僅依賴于物品本身的特征,這里沒有考慮人對(duì)物品的態(tài)度。

因?yàn)?b>需要基于用戶以往的喜好歷史做出推薦,所以對(duì)于新用戶有“冷啟動(dòng)”的問題。

雖然這個(gè)方法有很多不足和問題,但他還是成功的應(yīng)用在一些電影,音樂,圖書的社交站點(diǎn),有些站點(diǎn)還請(qǐng)專業(yè)的人員對(duì)物品進(jìn)行基因編碼,比如潘多拉,在一份報(bào)告中說道,在潘多拉的推薦引擎中,每首歌有超過 100 個(gè)元數(shù)據(jù)特征,包括歌曲的風(fēng)格,年份,演唱者等等。

三、基于協(xié)同過濾的推薦

? ? ?隨著 Web2.0 的發(fā)展,Web 站點(diǎn)更加提倡用戶參與和用戶貢獻(xiàn),因此基于協(xié)同過濾的推薦機(jī)制因運(yùn)而生。它的原理很簡單,就是根據(jù)用戶對(duì)物品或者信息的偏好,發(fā)現(xiàn)物品或者內(nèi)容本身的相關(guān)性,或者是發(fā)現(xiàn)用戶的相關(guān)性,然后再基于這些關(guān)聯(lián)性進(jìn)行推薦。基于協(xié)同過濾的推薦可以分為三個(gè)子類:基于用戶的推薦(User-based Recommendation),基于項(xiàng)目的推薦(Item-based Recommendation)和基于模型的推薦(Model-based Recommendation)。下面我們一個(gè)一個(gè)詳細(xì)的介紹著三種協(xié)同過濾的推薦機(jī)制。

1.? 基于用戶的協(xié)同過濾推薦

? ? ?基于用戶的協(xié)同過濾推薦的基本原理是,根據(jù)所有用戶對(duì)物品或者信息的偏好,發(fā)現(xiàn)與當(dāng)前用戶口味和偏好相似的“鄰居”用戶群,在一般的應(yīng)用中是采用計(jì)算“K- 鄰居”的算法;然后,基于這 K 個(gè)鄰居的歷史偏好信息,為當(dāng)前用戶進(jìn)行推薦。

基于用戶的協(xié)同過濾工作原理

? ? 上圖示意出基于用戶的協(xié)同過濾推薦機(jī)制的基本原理,假設(shè)用戶 A 喜歡物品 A,物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A ,物品 C 和物品 D;從這些用戶的歷史喜好信息中,我們可以發(fā)現(xiàn)用戶 A 和用戶 C 的口味和偏好是比較類似的,同時(shí)用戶 C 還喜歡物品 D,那么我們可以推斷用戶 A 可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。

? ? ?基于用戶的協(xié)同過濾推薦機(jī)制和基于人口統(tǒng)計(jì)學(xué)的推薦機(jī)制都是計(jì)算用戶的相似度,并基于“鄰居”用戶群計(jì)算推薦,但它們所不同的是如何計(jì)算用戶的相似度,基于人口統(tǒng)計(jì)學(xué)的機(jī)制只考慮用戶本身的特征,而基于用戶的協(xié)同過濾機(jī)制可是在用戶的歷史偏好的數(shù)據(jù)上計(jì)算用戶的相似度,它的基本假設(shè)是,喜歡類似物品的用戶可能有相同或者相似的口味和偏好。

2.? ?基于項(xiàng)目的協(xié)同過濾推薦

? ? 基于項(xiàng)目的協(xié)同過濾推薦的基本原理也是類似的,只是說它使用所有用戶對(duì)物品或者信息的偏好,發(fā)現(xiàn)物品和物品之間的相似度,然后根據(jù)用戶的歷史偏好信息,將類似的物品推薦給用戶。

?基于項(xiàng)目的協(xié)同過濾推薦工作原理

? ? 假設(shè)用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 A,物品 B 和物品 C,用戶 C 喜歡物品 A,從這些用戶的歷史喜好可以分析出物品 A 和物品 C 時(shí)比較類似的,喜歡物品 A 的人都喜歡物品 C,基于這個(gè)數(shù)據(jù)可以推斷用戶 C 很有可能也喜歡物品 C,所以系統(tǒng)會(huì)將物品 C 推薦給用戶 C。

與上面講的類似,基于項(xiàng)目的協(xié)同過濾推薦和基于內(nèi)容的推薦其實(shí)都是基于物品相似度預(yù)測(cè)推薦,只是相似度計(jì)算的方法不一樣,前者是從用戶歷史的偏好推斷,而后者是基于物品本身的屬性特征信息。

? ? 同時(shí)協(xié)同過濾,在基于用戶和基于項(xiàng)目兩個(gè)策略中應(yīng)該如何選擇呢?其實(shí)基于項(xiàng)目的協(xié)同過濾推薦機(jī)制是 Amazon 在基于用戶的機(jī)制上改良的一種策略,因?yàn)樵诖蟛糠值?Web 站點(diǎn)中,物品的個(gè)數(shù)是遠(yuǎn)遠(yuǎn)小于用戶的數(shù)量的,而且物品的個(gè)數(shù)和相似度相對(duì)比較穩(wěn)定,同時(shí)基于項(xiàng)目的機(jī)制比基于用戶的實(shí)時(shí)性更好一些。但也不是所有的場(chǎng)景都是這樣的情況,可以設(shè)想一下在一些新聞推薦系統(tǒng)中,也許物品,也就是新聞的個(gè)數(shù)可能大于用戶的個(gè)數(shù),而且新聞的更新程度也有很快,所以它的形似度依然不穩(wěn)定。所以,其實(shí)可以看出,推薦策略的選擇其實(shí)和具體的應(yīng)用場(chǎng)景有很大的關(guān)系。

3.? ?基于模型的協(xié)同過濾推薦

? ? 基于模型的協(xié)同過濾推薦就是基于樣本的用戶喜好信息,訓(xùn)練一個(gè)推薦模型,然后根據(jù)實(shí)時(shí)的用戶喜好的信息進(jìn)行預(yù)測(cè),計(jì)算推薦。

基于協(xié)同過濾的推薦機(jī)制是現(xiàn)今應(yīng)用最為廣泛的推薦機(jī)制,它有以下幾個(gè)顯著的優(yōu)點(diǎn)

(1)它不需要對(duì)物品或者用戶進(jìn)行嚴(yán)格的建模,而且不要求物品的描述是機(jī)器可理解的,所以這種方法也是領(lǐng)域無關(guān)的。

(2)這種方法計(jì)算出來的推薦是開放的,可以共用他人的經(jīng)驗(yàn),很好的支持用戶發(fā)現(xiàn)潛在的興趣偏好

存在的問題:

(1)方法的核心是基于歷史數(shù)據(jù),所以對(duì)新物品和新用戶都有“冷啟動(dòng)”的問題。

(2)推薦的效果依賴于用戶歷史偏好數(shù)據(jù)的多少和準(zhǔn)確性。

(3)在大部分的實(shí)現(xiàn)中,用戶歷史偏好是用稀疏矩陣進(jìn)行存儲(chǔ)的,而稀疏矩陣上的計(jì)算有些明顯的問題,包括可能少部分人的錯(cuò)誤偏好會(huì)對(duì)推薦的準(zhǔn)確度有很大的影響等等。

(4)對(duì)于一些特殊品味的用戶不能給予很好的推薦。

(5)由于以歷史數(shù)據(jù)為基礎(chǔ),抓取和建模用戶的偏好后,很難修改或者根據(jù)用戶的使用演變,從而導(dǎo)致這個(gè)方法不夠靈活。

三、混合的推薦機(jī)制

? ? 在現(xiàn)行的 Web 站點(diǎn)上的推薦往往都不是單純只采用了某一種推薦的機(jī)制和策略,他們往往是將多個(gè)方法混合在一起,從而達(dá)到更好的推薦效果。關(guān)于如何組合各個(gè)推薦機(jī)制,這里講幾種比較流行的組合方法。

? ?(1)加權(quán)的混合(Weighted Hybridization): 用線性公式(linear formula)將幾種不同的推薦按照一定權(quán)重組合起來,具體權(quán)重的值需要在測(cè)試數(shù)據(jù)集上反復(fù)實(shí)驗(yàn),從而達(dá)到最 好的推薦效果。

? ?(2)切換的混合(Switching Hybridization):前面也講到,其實(shí)對(duì)于不同的情況(數(shù)據(jù)量,系統(tǒng)運(yùn)行狀況,用戶和物品的數(shù)目等),推薦策略可能有很大的不同,那么切換的混合方式,就是允許在不同的情況下,選擇最為合適的推薦機(jī)制計(jì)算推薦。

? ?(3)分區(qū)的混合(Mixed Hybridization):采用多種推薦機(jī)制,并將不同的推薦結(jié)果分不同的區(qū)顯示給用戶。其實(shí),Amazon,當(dāng)當(dāng)網(wǎng)等很多電子商務(wù)網(wǎng)站都是采用這樣的方式,用戶可以得到很全面的推薦,也更容易找到他們想要的東西。

? ?(4)分層的混合(Meta-Level Hybridization): 采用多種推薦機(jī)制,并將一個(gè)推薦機(jī)制的結(jié)果作為另一個(gè)的輸入,從而綜合各個(gè)推薦機(jī)制的優(yōu)缺點(diǎn),得到更加準(zhǔn)確的推薦。

參考:https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html?ca=drs-

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容