如何在沒有大量用戶數據的狀況下設計個性化推薦系統而且讓用戶對推薦結果滿意從而願意使用推薦系統,就是冷啓動問題。冷啓動問題主要分爲三類:算法
用戶冷啓動主要解決如何給新用戶作個性化推薦的問題。當新用戶到來時,咱們沒有他的行爲數據,因此也沒法根據他的歷史行爲預測其興趣,從而沒法藉此給他作個性化推薦。那麼,咱們能夠利用用戶的註冊信息來解決冷啓動問題。用戶信息一般分爲三種:網站
人口統計學信息
主要是用戶的年齡、性別、國際、籍貫、學歷等等。這些特徵對預測用戶的興趣有很重要的做用,好比男性和女性的興趣不一樣, 不一樣年齡的人興趣也不一樣。spa
用戶興趣的描述
有一些網站會直接讓用戶描述本身的興趣。設計
從其餘網站導入的用戶站外行爲數據
好比豆瓣、微博等用戶註冊時會使用他們的行爲數據或者社交信息。開發
另外要解決用戶冷啓動問題,能夠給用戶提供一些物品,讓用戶提供反饋,這樣根據用戶的反饋再提供個性化的推薦。好比,在電影推薦網站,用戶註冊時須要先對提供的電影進行評分,這樣推薦網站才能給用戶作出推薦。一般來講,提供的物品具備如下特色:微博
熱門。
用戶會了解所提供的物品。class
具備表明性和區分性。
做爲個性化推薦的依據,使得物品須要有必定的區分性。用戶體驗
多樣性。
爲了匹配多樣的興趣,咱們須要提供具備很高覆蓋率的啓動物品集合,這些物品能覆蓋幾乎全部主流的用戶興趣。方法
Nadav Golbandi的算法首先會從全部用戶中找到具備最高區分度的物品\(i\),而後將用戶分紅3類。而後在每類用戶中再找到最具區分度的物品,而後將每一類用戶又各自分爲3類,也就是將 總用戶分紅9類,而後這樣繼續下去,最終能夠經過對一系列物品的見解將用戶進行分類。而在冷啓動時,咱們從根節點開始詢問用戶對該節點物品的見解,而後根據用戶的選擇將用戶放到不一樣的分枝,直到進入最後的葉子節點,此時咱們就已經對用戶的興趣有了比較清楚的瞭解,從而能夠開始對用戶進行比較準確地個性化推薦。統計
以前的博文講到了UserCF算法,UserCF算法對物品冷啓動問題並不很是敏感。由於,UserCF在給用戶進行推薦時,會首先找到和用戶興趣類似的一羣用戶,而後給用戶推薦這一羣用戶喜歡的物品。在不少網站中,推薦列表並非給用戶展現內容的惟一列表,那麼當一個新物品加入時,總會有用戶從某些途徑看到這些物品,對這些物品產生反饋。那麼,當一個用戶對某個物品產生反饋後,和他歷史興趣類似的其餘用戶的推薦列表中就有可能出現這一物品,從而更多的人就會對這個物品產生反饋,致使更多的人的推薦列表中會出現這一物品,所以該物品就能不斷地擴散開來,從而逐步展現到對它感興趣用戶的推薦列表中。
解決第一推進力 最簡單的方法是將新的物品隨機展現給用戶,但這樣顯然不太個性化,所以能夠考慮利用物品的內容信息,將新物品先投放給曾經喜歡過和它內容類似的其餘物品的用戶。那麼什麼算是物品內容信息呢?
物品的內容信息多種多樣,不一樣類型的物品有不一樣的內容信息。若是是電影,那麼內容信息通常包括標題、導演、演員、編劇、劇情、風格、國家、年代等。若是是圖書,內容信息通常包含標題、做者、出版社、正文、分類等。咱們能夠由文本到分詞,到實體檢測,到關鍵詞排名,再到關鍵詞向量。
系統冷啓動主要解決如何在一個新開發的網站上(尚未用戶,也沒有用戶行爲,只有一些物品的信息)設計個性化推薦系統,從而在網站剛發佈時就讓用戶體驗到個性化推薦服務這一問題。
不少推薦系統在創建時,既沒有用戶的行爲數據,也沒有充足的物品內容信息來計算準確的物品類似度。那麼,爲了在推薦系統創建時就讓用戶獲得比較好的體驗,不少系統都利用專家進行標註。