推薦系統實戰-冷啓動問題

1、冷啓動問題介紹

如何在沒有大量用戶數據的狀況下設計個性化推薦系統並讓用戶對推薦結果滿意從而願意使用推薦系統,就是冷啓動問題。 算法

  • 用戶冷啓動:如何給新用戶作個性化推薦
  • 物品冷啓動:如何將新物品推薦給可能對其感興趣的用戶。在新聞網站等時效性很強的網站中很是重要。
  • 系統冷啓動:如何在一個新開發的網站上設計個性化推薦,從而在網站剛發佈時就讓用戶體驗到個性化推薦服務。沒有用戶,只有一些物品信息。

解決冷啓動問題方法概述: 網絡

  • 提供非個性化的推薦
  • 利用用戶註冊時提供的年齡、性別等數據作粗粒度的個性化。
  • 利用社交帳號登陸(須要用戶受權),導入用戶在社交網絡上的好友信息,而後給用戶推薦其好友喜歡的物品。
  • 要求用戶在登陸時對一些物品進行反饋,蒐集用戶對這些物品的興趣信息,而後給用戶推薦那些和這些物品類似的物品。
  • 對於新加入的物品,能夠利用內容信息,將它們推薦給喜歡過和他們類似物品的用戶。(沒有購買記錄,如何判斷物品類似)
  • 推薦系統冷啓動時,引入專家的知識,經過必定的高效方式迅速創建起物品的相關度表。

     

2、用戶冷啓動

用戶註冊時附帶信息:網站

  • 人口統計學信息:包括用戶的年齡、性別、職業、民族、學歷和居住地;
  • 用戶興趣的描述:有一些網站會讓用戶用文字或用區域選擇來描述他們的興趣;
  • 從其餘網站導入的用戶站外行爲數據:好比用戶經過豆瓣、新浪微博的帳號登陸,就能夠在獲得用戶贊成的狀況下獲取用戶在豆瓣或者新浪微博的一些行爲數據和社交網絡數據。

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

(1) 獲取用戶的註冊信息;設計

(2) 根據用戶的註冊信息對用戶分類;3d

(3) 給用戶推薦他所屬分類中用戶喜歡的物品;blog

(4) 若沒法找到合適的物品,推薦熱門排行榜。內存

注:該方法中須要統計物品對分類的熱門程度,經過以下公式:開發

Pf,i = |N(i) U(f)| (期中N(i)是喜歡物品的用戶集合,U(f) 是具備某種特徵的用戶集合) 文檔

這種方法對熱門商品的熱門程度每每比較大,在分母中增長一項: |N(i) + α|

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

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

通常來講,可以用來啓動用戶興趣的物品須要具備如下特色:

(1)比較熱門。若是要讓用戶對一個物品進行反饋,前提是用戶知道這個物品是什麼東西;

(2) 具備表明性和區分性。啓動用戶興趣的物品不能是大衆化或老小咸宜的,由於這樣的物品對用戶的興趣沒有區分性;

(3)啓動物品集合須要有多樣性。在冷啓動時,咱們不知道用戶的興趣,而用戶興趣的可能性很是多,爲了匹配多樣的興趣,咱們須要提供具備很高覆蓋率的啓動物品集合,這些物品能覆蓋幾乎全部主流的用戶興趣。

 

 

3、物品冷啓動

    物品冷啓動須要解決的問題是如何將新加入的物品推薦給對它感興趣的用戶,這時候能夠經過物品之間的語義來計算其類似度,經常使用的算法有cos類似度和TF-IDF

物品冷啓動在新聞網站等時效性很強的網站中很是重要,由於那些網站中時時刻刻都有新加入的物品,並且每一個物品必須可以在第一時間展示給用戶,不然通過一段時間後,物品的價值就大大下降了。

以前咱們介紹了UserCF算法和ItemCF算法。UserCF算法並不對新物品很敏感,在不少網站中,推薦列表並非給用戶展現物品的惟一列表。當一個用戶在某個地方發現了新加的物品並對其進行了反饋。經過UserCF算法給相似具備相同興趣的用戶推薦這個物品。這樣新加的物品就會源源不斷的擴散開來。

可是有些網站中推薦列表就是用戶獲取新加物品惟一的或者是主要途徑。這時就要解決第一推進力的問題。也便是第一個用戶在哪發現新加物品的問題。解決這個問題的最簡單的辦法就是將新加的物品隨機的展現給用戶,可是這樣作顯然並不個性化。所以能夠考慮利用物品內容信息,將新物品投放給曾經喜歡過和他相似內容的其餘物品的用戶,這相似於ItemCF思想。不過這是先經過ItemCF找到一個可能對物品感興趣的用戶,而後再經過USerCF推薦給與此用戶興趣相似的其餘用戶。

若是用ItemCF算法解決物品冷啓動問題,就有點麻煩了,由於ItemCF經過用戶行爲對物品進行類似度的計算,造成物品類似度矩陣。再根據這個類似度矩陣把物品推薦給喜歡過相似這個物品的用戶。這個物品類似度矩陣是線下計算好,線上放進內存。從而新物品不會出如今物品類似度矩陣中。解決的辦法是頻繁的更新類似度矩陣。這是一件很是耗時的事情。爲此咱們只能經過物品內容來計算物品類似度矩陣。

這裏涉及到物品類似度的計算,和ItemCf中物品類似度計算不一樣的是,對於新物品這裏並無用戶數據,因此通常經過物品內容計算類似度。

通常來講,物品的內容能夠用向量空間模型表示,該模型會把物品表示成一個關鍵詞向量。對於物品d,他的內容表示成一個關鍵詞向量以下: 
 
其中e是關鍵詞,w是這個詞對於權重,其中w的計算公式就是著名的TF-IDF公式,該公式的計算見後文中具體介紹。 

在給定物品內容的關鍵詞向量後,物品內容響度能夠經過向量之間的餘弦類似度計算

《推薦系統實戰》中具體比較了內容過濾算法和協同過濾算法在推薦系統中的實際效果(有準確率、召回率、覆蓋率等數據)。

 

補充: TF-IDF計算方法

主要思想是:若是某個詞或短語在一篇文章中出現的頻率TF高,而且在其餘文章中不多出現,則認爲此詞或者短語具備很好的類別區分能力,適合用來分類。

TFIDF其實是:

TF詞頻(Term Frequency):表示詞條在文檔d中出現的頻率

IDF逆向文件頻率(Inverse Document Frequency):若是包含詞條t的文檔越少,也就是n越小,IDF越大,則說明詞條t具備很好的類別區分能力。

由於不一樣的文章長度不同,須要進行標準化:

IDF計算公式:

TF-IDF值:

參考:

https://baike.baidu.com/item/tf-idf/8816134?fr=aladdin

相關文章
相關標籤/搜索