推薦系統實踐學習系列(三)推薦系統冷啟動問題

weixin_33866037發表於2018-06-24

冷啟動問題的出現

如果在一開始的階段就希望有個性化推薦應用的網站,在沒有大量使用者資料的情況下設計個性化推薦系統並且讓使用者對推薦結果滿意從而願意使用推薦系統

冷啟動問題的分類

  • 1 使用者冷啟動
    新使用者無行為資料,無法根據新使用者的歷史行為預測其興趣的問題
  • 2 物品冷啟動
    新的物品入庫的時候推薦給對該物品感興趣的使用者的問題
  • 3 系統冷啟動
    一個新開發的網站(無使用者、無使用者行為,只有物品資訊) 的情況下設計個性化推薦系統

針對以上三種物品冷啟動問題,可參考如下解決方法:

  • 一:提供非個性化的推薦,簡單例子為熱門排行,等到使用者資料收集到一定的時候,再切換為個性化推薦
  • 二:利用使用者註冊時提供的年齡、性別等資料做粗粒度的個性化
  • 三:利用使用者的社交賬號登陸,匯入使用者在社交網站上的好友資訊,然後推薦給使用者推薦其好友喜歡的物品
  • 四:要求使用者在登入時對一些物品進行反饋,蒐集使用者的興趣資訊,然後給使用者推薦和物品相似的物品
  • 五:對於新加入的物品,可以利用內容資訊,將它們推薦給喜歡過和它們相似的物品的使用者
  • 六:在系統冷啟動時,可以引入專家的知識,通過一定的高效的方式迅速建立起物品的相關度表

針對冷啟動給出的某些方案

(一)利用使用者註冊資訊

使用者的註冊資訊分3種:
1 人口統計學資訊:使用者年齡、性別、職業、民族、學歷和居住地
2 使用者興趣的描述:讓使用者用文字描述他們的興趣
3 從其他網站匯入使用者站外行為資料:比如:豆瓣、新浪微博

基於註冊資訊的個性化推薦流程基本如下:
(1) 獲取使用者的註冊資訊;
(2) 根據使用者的註冊資訊對使用者分類;
(3) 給使用者推薦他所屬分類中使用者喜歡的物品

(二)選擇合適的物品啟動使用者的興趣

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

一般來說,能夠用來啟動使用者興趣的物品需要有以下特點:
(1) 比較熱門;
(2)具有代表性和區分性;
(3)啟動物品集合需要有多樣性;

(三)利用物品的內容資訊

基於物品的內容資訊主要介紹了兩種主要的推薦演算法:UserCF和ItemCF

UserCF針對物品冷啟動問題並不敏感

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

ItemCF針對物品冷啟動問題算一個嚴重的問題

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

(四)發揮專家的作用

針對電影系統,我們可以讓專家對電影進行標記,每 個電影都有大約50個基因,這些基因來自大約1000個基因庫。然後,在專家標記一定的樣本後, Jinni會使用自然語言理解和機器學習技術,通過分析使用者對電影的評論和電影的一些內容屬性對 電影(特別是新電影)進行自己的標記。同時,Jinni也設計了讓使用者對基因進行反饋的介面,希 望通過使用者反饋不斷改進電影基因系統。


總結的有些粗淺,更多更詳細的可以翻看《推薦系統實踐》

相關文章