系統推薦筆記——第三章_推薦系統冷啓動問題

目錄

一、利用用戶註冊信息

二、選擇合適的物品啓動用戶的興趣

三、利用物品的內容信息(參考LiuQQu文章,本章爲CSDN博主「LiuQQu」的原創文章)

四、發揮專家作用


冷啓動問題主要分爲3類。

  • 用戶冷啓動 用戶冷啓動主要解決如何給新用戶做個性化推薦問題,當新用戶到來時,我們沒有他的行爲數據,所以也沒辦法根據他的歷史行爲預測興趣,從而無法藉此給他做個性化推薦。
  • 物品冷啓動 物品冷啓動主要解決如何將新物品推薦給可能對它產生興趣的用戶這一問題。
  • 系統冷啓動 系統冷啓動主要解決如何在一個新開發的網站上涉及個性化推薦系統,從而在網站剛發佈時就讓用戶體驗到個性化服務這一問題。

對於這三種冷啓動問題,有着以下解決方案。

  • 提供非個性化的推薦 非個性化推薦的最簡單的例子就是熱門排行榜,我們可以給用戶推薦熱門排行榜,然後等到用戶數據收集到一定的時候,再切換爲個性化推薦。
  • 利用用戶註冊時提供的年齡、性別等數據做粗粒度的個性化。
  • 利用用戶的社交網絡賬號登錄(需用戶授權),導入用戶在社交網絡上的好友信息,然後給用戶推薦其好友喜歡的物品。
  • 要求用戶在登錄時對一些物品進行反饋,手機用戶對這些物品的興趣信息,然後給用戶推薦那些和這些物品相似的物品。
  • 對於新加入的物品,可以利用內容信息,將他們推薦給喜歡過和它們相似的物品的用戶。
  • 在系統冷啓動時,可以引入專家知識,通過高效方式迅速建立起物品的相關度表。

一、利用用戶註冊信息

在網站中,當新用戶剛註冊時,我們不知道他喜歡什麼物品,於是只能給他們推薦一些熱門的商品。但是如果我們知道她是一位女性,那麼可以給她推薦女性都喜歡的熱門商品。這也是一種個性化推薦。

用戶註冊信息分3種:

  • 人口學信息 包括用戶的年齡、性別、職業、民族、學歷和居住地。
  • 用戶興趣描述 有一些網站會讓用戶用文字描述他們的興趣。
  • 從其他網站導入的用戶站外行爲數據 比如用戶通過豆瓣、微博等賬號進行登錄,就可以在得到用戶的同意後獲取用戶在豆瓣或者微博上的一些行爲數據和社交網絡數據。

人口統計學的特徵包括年齡、性別、工作、學歷、居住地、國籍、民族等,這些特徵對預測用戶的興趣有很重要的作用,比如男性和女性的興趣不同,不同年齡的人興趣也不同。

基於人口統計學特徵的推薦紫銅典型代表是Bruce Krulwich 開發的Lifestyle Finder。首先,Bruce Krulwich將美國人羣根據人口統計學特徵分爲62類,然後對每個新用戶根據填寫的材料判斷他屬於哪個分類,最後給他推薦這類用戶最喜歡的15個鏈接。

經過試驗發現基於人口統計學信息相對於隨機推薦能獲得一個比較好的推薦效果。

熱門排行榜作爲非個性化推薦算法,一般也比隨機推薦算法具有更高的點擊率。

基於註冊信息個性化推薦流程基本如下:

(1)獲得用戶的註冊信息。

(2)根據用戶的註冊信息對用戶分類。

(3)給用戶推薦他所屬分類中用戶喜歡的商品。

例如我們查到一位客戶的是男性、28歲,是一位物理科學家,然後查找3張離線計算好的相關表:一張是性別—電視劇相關表,一張是年齡—電視劇相關表,一張是職業—電視劇相關表。從而可以判斷這位用戶男性最喜歡的電視,年齡段最喜歡的電視,物理學家最喜歡的電視,然後我們可以將這3張相關表查詢出來的電視劇列表按照一定的權重相加,得到用戶最終推薦列表。

當然,實際應用中也可以考慮組合特徵,比如將用戶的年齡和性別作爲一個特徵,或者將性別和職業作爲一個特徵。

基於用戶註冊信息的推薦算法其核心問題是計算每種特徵的用戶喜歡的物品。也就是說,對於每種特徵f,計算具有這種特徵的用戶對各個物品的喜好程度p(f, i)。

                                               

p( f ,i)可以簡單地定義爲物品i在具有f的特徵的用戶中的熱門程度:,其中N(i)是喜歡物品i的用戶集合,U( f ) 是具有特徵f的用戶集合。爲了消減熱門物品的影響,我們可以將p( f ,i)定義爲喜歡物品i的用戶中具有特徵f的比例:

                                             

\alpha的目的是解決數據稀疏問題。

我們按照不同的粒度給用戶分類,對比了5種不同的算法。

(1)MostPopular:給用戶推薦最熱門的歌手。

(2)GenderMostPopular:給用戶推薦對於和他同性別的用戶最熱門的歌手,這裏我們將用戶分成男女兩類。

(3)AgeMostPopular:給用戶推薦對於和他同一個年齡段的用戶最熱門的歌手,這裏我們將10歲作爲一個年齡段,將用戶按照不同的年齡段分類。

(4)CountryMostPopular:給用戶推薦對於和他同一個國家的用戶最熱門的歌手。

(5)DemographicMostPopular:給用戶推薦對於和他同性別、年齡段、國家的用戶最熱門的歌手。

結果顯示:利用的用戶人口統計學特徵越多,越能準確地預測用戶興趣。

DemographicMostPopular > CountryMostPopular > AgeMostPopular > GenderMostPopular > MostPopular

系統初期可以考慮該種推薦方法,逐層細化,但是人口統計學特徵是否全且準確難以保證。

二、選擇合適的物品啓動用戶的興趣

啓動冷啓動問題的另一個方法是在新用戶第一次訪問推薦系統時,不立即給用戶展示推薦結果,而是給用戶提供一些物品,讓用戶反饋他們對這些物品的興趣,然後根據用戶的反饋給提供個性化推薦。

對於這些通過讓用戶對物品進行評分來手機用戶興趣,從而對用戶進行冷啓動的系統,首要解決的問題就是如何選擇物品讓用戶進行反饋。

一般來說,能夠用來啓動用戶興趣的物品需要具有以下幾個特點:

  • 比較熱門 用戶得知道這個物品是什麼東西
  • 具有代表性和區分性 不能是老少咸宜的物品。
  • 啓動物品合集需要多樣性

上面這些因素都是選擇啓動物品時需要考慮的,但是如何設計一個選擇啓動物品集合的系統呢?可以用一個決策樹解決這個問題。給定一羣用戶,用這羣用戶對物品評分的方差度量這羣用戶興趣的一致程度。如果方差很大,說明這一羣用戶的興趣不太一致,反之則說明這羣用戶的興趣比較一致。通過如下方式度量一個物品的區分度D(i):

                                               
       其中,N^{+}(i)是喜歡物品i的用戶集合,N^{-}(i)是不喜歡物品i的用戶集合,N(i)是沒有對物品i評分的用戶集合。

如果這3類用戶集合內的用戶對其他的物品興趣很不一致,說明物品i具有較高的區分度。

首先會從所有用戶中找到具有最高區分度的物品i,然後將用戶分成3類。然後在每類用戶中再找到最具區分度的物品,然後將每一類用戶又各自分爲3類,也就是將總用戶分成9類,然後這樣繼續下去,最終可以通過對一系列物品的看法將用戶進行分類。而在冷啓動時,我們從根節點開始詢問用戶對該節點物品的看法,然後根據用戶的選擇將用戶放到不同的分枝,直到進入最後的葉子節點。


三、利用物品的內容信息(參考LiuQQu文章,本章爲CSDN博主「LiuQQu」的原創文章)

物品冷啓動需要解決的問題是如何將新加入的物品推薦給對它感興趣的用戶。

UserCF算法對物品冷啓動問題並不非常敏感。UserCF算法就需要解決第一推動力的問題,即第一個用戶從哪兒發現新的物品。只要有一小部分人能夠發現並喜歡新的物品,UserCF算法就能將這些物品擴散到更多的用戶中。解決第一推動力最簡單的方法是將新的物品隨機展示給用戶,但這樣顯然不太個性化,因此可以考慮利用物品的內容信息,將新物品先投放給曾經喜歡過和它內容相似的其他物品的用戶。

對於ItemCF算法來說,物品冷啓動就是一個嚴重的問題了。我們只能利用物品的內容信息計算物品相關表,並且頻繁地更新相關表(比如半小時計算一次)。

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

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

在具體計算物品之間的內容相似度時,最簡單的方法當然是對兩兩物品都利用上面的餘弦相似度公式計算相似度,但這種算法的時間複雜度很高。可以首先通過建立關鍵詞—物品的倒排表加速這一計算過程。

從MovieLens數據集上的結果可以發現,ContentItemKNN的準確率和召回率僅僅優於Random算法,明顯差於ItemCF算法,甚至比MostPopular算法還要差。不過在覆蓋率和流行度指標上ContentItemKNN卻優於ItemCF。這主要是因爲內容過濾算法忽視了用戶行爲,從而也忽視了物品的流行度以及用戶行爲中所包含的規律,所以它的精度比較低,但結果的新穎度卻比較高。

如果看GitHub數據集的結果,我們會發現完全相反的現象——ContentItemKNN在所有指標上都優於ItemCF。這主要是因爲GitHub提供了一個非常強的內容特徵,就是開源項目的作者。

如果用戶的行爲強烈受某一內容屬性的影響,那麼內容過濾的算法還是可以在精度上超過協同過濾算法的。


四、發揮專家作用

很多系統利用專家進行標註。

發佈了16 篇原創文章 · 獲贊 1 · 訪問量 8029
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章