推薦系統(tǒng)實(shí)踐 - 項(xiàng)亮

1. 好的推薦系統(tǒng)

1.1 什么是推薦系統(tǒng)

推薦系統(tǒng)的任務(wù)是聯(lián)系用戶和信息,幫助用戶發(fā)現(xiàn)對(duì)自己有價(jià)值的信息,另一方面讓信息能夠展示在對(duì)它感興趣的用戶面前,解決信息過(guò)載的問(wèn)題。

推薦系統(tǒng)能更好地發(fā)掘物品的長(zhǎng)尾。如果要發(fā)掘長(zhǎng)尾提高銷(xiāo)售額,就必須充分研究用戶的興趣,這是個(gè)性化推薦系統(tǒng)主要解決的問(wèn)題。

1.2 個(gè)性化推薦系統(tǒng)的應(yīng)用

1.2.1 電子商務(wù)

推薦界面包含的內(nèi)容:

推薦結(jié)果的標(biāo)題、縮略圖以及其他內(nèi)容屬性:告訴用戶給他們推薦的是什么;

推薦結(jié)果的評(píng)分:反應(yīng)推薦結(jié)果的總體質(zhì)量;

推薦理由、提供對(duì)推薦結(jié)果進(jìn)行反饋的方式。

推薦算法

給用戶推薦那些和他們之前喜歡的物品相似的物品;

給他們推薦他們的fb好友在亞馬遜上喜歡的物品;

相關(guān)列表推薦:當(dāng)購(gòu)買(mǎi)一件商品時(shí),商品信息下面展示相關(guān)的商品。

1.2.2 電影和視頻網(wǎng)站

1.2.3 個(gè)性化音樂(lè)網(wǎng)絡(luò)電臺(tái)

1.2.4 社交網(wǎng)絡(luò)

1.2.5 個(gè)性化閱讀

1.2.6 基于位置的服務(wù)

1.2.7 個(gè)性化郵件

1.2.8 個(gè)性化廣告

1.3 推薦系統(tǒng)評(píng)測(cè)

完整的推薦系統(tǒng)一般存在3個(gè)參與方:用戶、物品提供者、提供推薦系統(tǒng)的網(wǎng)站。

1.3.1 推薦系統(tǒng)實(shí)驗(yàn)方法

離線實(shí)驗(yàn)、用戶調(diào)查、在線AB測(cè)試

一個(gè)新的推薦算法最終上線,需要完成這3個(gè)實(shí)驗(yàn)。

1.3.2 測(cè)評(píng)指標(biāo)

用戶滿意度、預(yù)測(cè)準(zhǔn)確度(評(píng)分預(yù)測(cè),TopN推薦)、覆蓋率(覆蓋率100%表示推薦系統(tǒng)可以將每個(gè)物品都推給至少一個(gè)用戶)、多樣性、新穎性、驚喜度、信任度、實(shí)時(shí)性、健壯性、商業(yè)目標(biāo)。

1.3.3 評(píng)測(cè)維度(一個(gè)算法在什么情況下性能最好)

用戶維度、物品維度、時(shí)間維度

2. 利用用戶行為數(shù)據(jù)(協(xié)同過(guò)濾)

2.1 用戶行為分析

2.1.1 用戶活躍度和物品流行度的分布(長(zhǎng)尾分布)

2.2.2 用戶活躍度和物品流行度的關(guān)系(新用戶傾向于瀏覽熱門(mén)的東西)

2.2 基于領(lǐng)域的算法

2.2.1 基于用戶的協(xié)同過(guò)濾算法

把和A有相同興趣的用戶喜歡而A沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給A。

步驟:找到和目標(biāo)用戶興趣相似的用戶集合(余弦相似度);找到這個(gè)集合中的用戶喜歡的,且目標(biāo)用戶沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給目標(biāo)用戶。

UserCF重要參數(shù)K,為每個(gè)用戶選出K個(gè)和他興趣相似的用戶,然后推薦那K個(gè)用戶感興趣的物品。不同K值,評(píng)測(cè)指標(biāo)性能不同。

用戶相似度計(jì)算的改進(jìn)

案例:Digg。用戶A頂了某篇文章,在這之前有BC等用戶也頂了該篇文章,然后給A推薦BC最近頂?shù)奈恼隆?/p>

2.2.2 基于物品的協(xié)同過(guò)濾算法(ItemCF)

給用戶推薦那些和他們之前喜歡的物品相似的物品。相似度的計(jì)算:不利用物品的內(nèi)容屬性計(jì)算物品之間的相似度,主要通過(guò)分析用戶的行為記錄計(jì)算物品之間的相似度。

步驟:計(jì)算物品之間的相似度;根據(jù)物品相似度和用戶的歷史行為給用戶生成推薦列表。

兩個(gè)物品產(chǎn)生相似度是因?yàn)樗鼈児餐缓芏嘤脩粝矚g,也就是每個(gè)用戶都可以通過(guò)它們的歷史興趣列表給物品貢獻(xiàn)相似度。

2.2.3 UserCF和ItemCF的綜合比較

UserCF:著重反映和用戶興趣相似的小群體的熱點(diǎn)。

eg:digg等新聞?lì)?。某個(gè)話題的新聞不可能每天都有新的消息,可以給用戶推薦其他有相同興趣的用戶在看的新聞。

ItemCF:著重于維系用戶的歷史興趣。

eg:圖書(shū)、電子商務(wù)、電影網(wǎng)站,這些網(wǎng)站,用戶的興趣比較持久,個(gè)性化推薦的任務(wù)是幫助用戶發(fā)現(xiàn)和他研究領(lǐng)域先關(guān)的物品。

2.3 隱語(yǔ)義模型(LFM, latent factor model)

2.3.1 基礎(chǔ)算法

核心思想:通過(guò)隱含特征(latent factor)聯(lián)系用戶興趣和物品。

對(duì)物品的興趣進(jìn)行分類(lèi),對(duì)于某個(gè)用戶,先得到他的興趣分類(lèi),然后從分類(lèi)中挑選他可能喜歡的物品。

該方法需要解決的3個(gè)問(wèn)題:

如何給物品進(jìn)行分類(lèi)?采用基于用戶行為統(tǒng)計(jì)的自動(dòng)聚類(lèi)

如何確定用戶對(duì)哪些物品感興趣,以及感興趣的程度?Preference(u,i)=

對(duì)于一個(gè)給定的類(lèi),選擇哪些屬于這個(gè)類(lèi)的物品推薦給用戶?以及如何確定這些物品在一個(gè)類(lèi)中的權(quán)重?

2.3.2 基于LFM的實(shí)際系統(tǒng)的例子

2.3.3 LFM和基于鄰域的方法的比較

2.4 基于圖的模型

3. 推薦系統(tǒng)的冷啟動(dòng)問(wèn)題

3.1 冷啟動(dòng)問(wèn)題簡(jiǎn)介

用戶冷啟動(dòng):給新用戶做個(gè)性化推薦

物品冷啟動(dòng):將新的物品推薦給用戶

系統(tǒng)冷啟動(dòng):新開(kāi)發(fā)的網(wǎng)站,沒(méi)有用戶以及用戶行為,只有一些物品的信息

3.2 利用用戶注冊(cè)信息

3.2 選擇合適的物品啟動(dòng)用戶的興趣

新用戶第一次訪問(wèn)推薦系統(tǒng)時(shí),不立即給用戶展示推薦結(jié)果,而是給用戶提供一些物品,讓用戶反饋對(duì)物品的興趣,再根據(jù)反饋提供推薦。

如何選擇物品?

比較熱門(mén),具有代表性和區(qū)分性,啟動(dòng)物品集合需要有多樣性(如給分類(lèi))

3.4 利用物品的內(nèi)容信息(內(nèi)容過(guò)濾算法)

計(jì)算物品內(nèi)容之間的相似度后再推薦。如果用戶的行為強(qiáng)烈受某一內(nèi)容屬性的影響,內(nèi)容過(guò)濾的算法可以在準(zhǔn)確率上超過(guò)ItemCF。

3.5 發(fā)揮專家的作用

從音頻分析入手計(jì)算歌曲之間的相似度技術(shù)門(mén)檻很高,Pandora對(duì)歌曲額的各個(gè)維度進(jìn)行標(biāo)注,標(biāo)注完后,每首歌可以表示為一個(gè)400維的向量,然后通過(guò)常見(jiàn)的向量相似度算法可以計(jì)算出歌曲的相似度。

4. 利用用戶標(biāo)簽數(shù)據(jù)

除了UserCF和ItemCF,第三種重要的方式是通過(guò)一些特征聯(lián)系用戶和物品,給用戶推薦那些具有用戶喜歡的特征的物品。特征具有不用的表現(xiàn)形式,可以表現(xiàn)為物品的屬性集合,也可以表現(xiàn)為隱語(yǔ)義向量(可以通過(guò)隱語(yǔ)義模型習(xí)得),標(biāo)簽就是一種重要的特種表現(xiàn)形式。

4.1 UGC標(biāo)簽系統(tǒng)的代表應(yīng)用

Delicious、CiteULike、Last.fm、豆瓣、Hulu。

標(biāo)簽的作用:表達(dá)、組織、學(xué)習(xí)、發(fā)現(xiàn)、決策

4.2 標(biāo)簽系統(tǒng)中的推薦問(wèn)題

4.2.1 用戶為什么進(jìn)行標(biāo)注

社會(huì)維度:便于上傳者組織自己的信息;便于用戶找到信息

功能維度:用戶更好組織內(nèi)容;用于傳達(dá)某種信息

4.2.2 用戶如何打標(biāo)簽

標(biāo)簽流行度k與標(biāo)簽總數(shù)n(k)呈現(xiàn)非常典型的長(zhǎng)尾分布

4.2.3 用戶打什么樣的標(biāo)簽

表明物品是什么、表明物品的種類(lèi)、表明誰(shuí)擁有物品、表達(dá)用戶觀點(diǎn)、用戶相關(guān)的標(biāo)簽、用戶的任務(wù)

4.3 基于標(biāo)簽的推薦系統(tǒng)

用戶的每一次打標(biāo)簽行為都用一個(gè)三元組(用戶、物品、標(biāo)簽)表示。

4.3.1 實(shí)驗(yàn)設(shè)置

4.3.2 一個(gè)簡(jiǎn)單的算法

統(tǒng)計(jì)每個(gè)用戶做常用的標(biāo)簽

對(duì)于每個(gè)標(biāo)簽,統(tǒng)計(jì)被打過(guò)這個(gè)標(biāo)簽次數(shù)最多的物品

對(duì)于每個(gè)用戶,首先找到他常用的標(biāo)簽,然后找到具有這些標(biāo)簽的最熱門(mén)的物品推薦給這個(gè)用戶

再對(duì)算法進(jìn)行測(cè)評(píng),召回率、準(zhǔn)確率、覆蓋率、多樣性、平均熱門(mén)程度

4.3.3 算法的改進(jìn)

4.3.4 基于圖的推薦算法

4.3.5 基于標(biāo)簽的推薦解釋

讓用戶直觀上感覺(jué)推薦結(jié)果有道理是很困難的,而豆瓣將推薦結(jié)果的課解釋性拆分成了兩個(gè)部分,首先讓用戶覺(jué)得標(biāo)簽云是有道理的,然后讓用戶覺(jué)得從某個(gè)標(biāo)簽中推薦出某本書(shū)也是有道理的。

4.4 給用戶推薦標(biāo)簽

4.4.1 為什么要給用戶推薦標(biāo)簽

方便用戶輸入、提高標(biāo)簽質(zhì)量

4.4.2?如何給用戶推薦標(biāo)簽

給用戶推薦整個(gè)系統(tǒng)里最熱門(mén)的標(biāo)簽、給用戶推薦物品i上最熱門(mén)的標(biāo)簽、給用戶推薦他自己經(jīng)常用的標(biāo)簽、講前面兩種推薦結(jié)果線性加權(quán)然后生成最終的推薦結(jié)果。

4.4.3?實(shí)驗(yàn)設(shè)置

4.4.4?基于圖的標(biāo)簽推薦算法

5. 利用上下文信息

包括推薦系統(tǒng)的時(shí)間,地點(diǎn)、心情等。

時(shí)間上下文信息

地點(diǎn)上下文信息

6. 利用社交網(wǎng)絡(luò)數(shù)據(jù)

7. 推薦系統(tǒng)實(shí)例

8. 評(píng)分預(yù)測(cè)問(wèn)題

?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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