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)題