1. 程式人生 > >推薦系統冷啟動問題

推薦系統冷啟動問題

冷啟動問題

推薦系統需要根據使用者的歷史行為和興趣預測使用者未來的行為和興趣,因此大量的使用者行為資料就成為推薦系統的重要組成部分和先決條件如何在沒有大量使用者資料的情況下設計個性化推薦系統並且讓使用者對推薦結果滿意從而願意使用推薦系統,就是冷啟動的問題。

 

1、利用使用者註冊資訊——使用者冷啟動

基於使用者註冊資訊的推薦演算法其核心問題是計算每種特徵的使用者喜歡的物品。即,對於每種特徵f,計算具有這種特徵的使用者對各個物品的喜好程度p(f,i)

p(f,i)可以簡單的定義為物品i在具有f的特徵的使用者中的熱門程度

p(f,i)=|N(i)\cap

U(f)|

但由於熱門的物品會在各種特徵的使用者中都具有比較高的權重,推薦系統應該幫助使用者發現他們不容易發現的物品

因此p(f,i)=\frac{\left | N(i)\cap U(f) \right |}{\left | N(i) \right |+\alpha }

引數\alpha是為了解決資料稀疏問題     #會不會對原來的有影響

使用Lastfm資料集對比使用不同的人口統計學特徵預測使用者行為的精度,利用p(f,i)=|N(i)\capU(f)|計算每一類使用者對物品的興趣程度

其中MostPopular粒度最粗,DemographicMostPopular粒度最細

 2、選擇合適的物品啟動使用者的興趣——使用者冷啟動

(1)比較熱門

(2)具有代表性和區分性

(3)

啟動物品集合需要有多樣性

如何設計一個啟動物品集合的系統???

Nadav Golbandi——將使用者分為3類,喜歡物品i的使用者、不喜歡物品i的使用者和不知道物品i的使用者,若這三類使用者集合內的使用者對其他物品興趣很不一致,說明物品i具有較高的區分度——決策樹

3、利用物品的內容資訊——物品冷啟動

UserCF在 給使用者進行推薦時,會首先找到和使用者興趣相似的一群使用者,然後給使用者推薦這一群使用者喜歡的物品。在很多網站中,推薦列表並不是給使用者展示內容的唯一列表,那麼當一個新物品加入時,總會有使用者從某些途徑看到這些物品,對這些物品產生反饋,當一個使用者對某個物品產生反饋後,和他歷史興趣相似的其他使用者的推薦列表中就有可能出現這一物品,從而更多的人就會對這個物品產生反饋,從而逐步展示到對它感興趣使用者的推薦列表中。

但有些網站推薦列表可能是使用者獲取資訊的主要途徑,那麼對於UserCF演算法就需要解決第一推動力的問題,即第一個使用者從哪兒發現新的物品。最簡單的方法是將這些物品隨機展示給使用者,但這樣顯然不太個性化---------可以考慮利用物品的內容資訊,將新物品先投放給曾經喜歡過和它內容類似的其他物品的使用者

ItemCF的原理是給使用者推薦和他之前喜歡的物品相似的物品,ItemCF演算法會每隔一段時間利用使用者行為計算物品相似度表(一般一天計算一次),線上服務時ItemCF演算法會將之前計算好的物品相關度矩陣放在記憶體中,因此,當新物品加入時,記憶體中的物品相關度表不會存在這個物品,從而ItemCF演算法無法推薦新的物品。解決這一問題的辦法是頻繁更新物品相似度表,但基於使用者行為計算物品相似度是非常耗時的事情,主要原因是使用者行為日誌非常龐大。而且,新物品如果不展示給使用者,使用者就無法對它產生行為,通過行為日誌計算是計算不出包含新物品的相關矩陣的。-------------------推薦列表並不是給使用者展示內容的唯一列表

一般來說,物品的內容可以通過向量空間模型表示,該模型會將物品表示成一個關鍵詞向量

向量空間模型的優點是簡單,缺點是丟失了一些資訊,比如關鍵詞之間的關係資訊,不過,在絕大多數應用中,向量空間模型對於文字的分類、聚類、相似度計算有不錯的結果

若是文字形式

對於中文,首先要對文字進行分詞,將字流變成詞流,然後從詞流中檢測出命名實體(如人名、地名、組織名等),這些實體和一些其他重要的詞將組成關鍵詞集合,最後對關鍵詞進行排名,計算每個關鍵詞的權重(TF-IDF),從而生成關鍵詞向量

在給定物品內容的關鍵詞向量後,物品的內容相似度可以通過向量之間的餘弦相似度計算

 

話題模型:一個人在寫一篇文章時,會首先想到這篇文章要討論哪些話題,然後思考這些話題應該用什麼詞描述,從而最終用詞寫成一篇文章

LDA(Latent Dirichlet Allocation)

4、發揮專家的作用

Pandora是一個給使用者播放音樂的個性化電臺應用。計算音樂之間的相似度是比較困難的。首先,音樂是多媒體,如果從音訊分析入手計算歌曲之間的相似度,則技術門檻很高,而且也很難計算的令人滿意。其次,僅僅利用歌曲的專輯、歌手等屬性資訊很難獲得令人滿意的歌曲相似度表,因為一名歌手、一部專輯往往只有一兩首好歌。音樂基因!使用N個特徵標註完所有的歌曲,每首歌都可以表示為一個N維的向量,然後通過常見的向量相似度演算法可以計算出歌曲的相似度