推荐系统实战3
第3章 推薦系統冷啟動問題
3.1 冷啟動問題簡介 冷啟動問題主要分為3類:- 用戶冷啟動:用戶冷啟動主要解決如何給新用戶做個性化推薦的問題。
- 物品冷啟動:主要解決如何將新的物品推薦給可能對它感興趣的用戶這一問題。
- 系統冷啟動:系統冷啟動主要解決如何在一個新開發的網站上(還沒有用戶,也沒有用戶行為,只有一些物品的信息)設計個性化推薦系統。
- 提供非個性化的推薦:推薦熱門排行榜,然后等到用戶收集到一定的時候,再切換為個性化推薦。
- 利用用戶注冊時提供的年齡、性別等數據做粗粒度的個性化。
- 利用用戶的社交網絡賬號登錄(需要用戶授權),導入用戶在社交網站上的好友信息,然后給用戶推薦其好友喜歡的物品。
- 要求用戶在登錄時對一些物品進行反饋,收集用戶對這些物品的興趣信息,然后給用戶推薦那些和這些物品相似的物品。
- 對于新加入的物品,可以利用內容信息,將它們推薦給喜歡過和它們相似的物品的用戶。
- 在系統冷啟動時,可以引入專家的知識,通過一定的高效方式迅速建立起物品的相關度表。
3.2 利用用戶注冊信息 用戶注冊信息分3種:
- 人口統計學信息:包括用戶的年齡,性別,職業,民族,學歷和居住地。
- 用戶興趣的描述:有一些網站會讓用戶描述他們的興趣。
- 從其他網站導入的用戶站外行為數據
3.3 選擇合適的物品啟動用戶的興趣 解決用戶冷啟動問題的另一個方法是在新用戶第一次訪問推薦系統時,不立即給用戶展示推薦結果,而是給用戶提供一些物品,讓用戶反饋他們對這些物品的興趣,然后根據反饋結果提供個性化推薦。 一般來說,能夠用來啟動用戶興趣的物品需要具有以下特點:
- 比較熱門
- 具有代表性和區分性:啟動用戶興趣的物品不能是大眾化和老少皆宜的,因為這樣的物品對用戶興趣沒有區分性。
- 啟動物品集合需要多樣性
3.4 利用物品的內容信息 第2章介紹了兩種主要的推薦算法——UserCF與ItemCF算法。首先需要指出的是,UserCF算法對冷啟動問題并不非常敏感。因為,UserCF在給用戶進行推薦時,會首先找到和用戶興趣相似的一群用戶,然后給用戶推薦這一群用戶喜歡的物品,在很多網站中,推薦列表并不是給用戶展示內容的唯一列表,那么當一個新物品加入的時候,總會有用戶從某些途徑看到這些物品,對這些物品產生反饋。那么當一個用戶對某個物品產生反饋后,和他歷史興趣相似的其他用戶的推薦列表中就有可能出現這一物品,從而更多的人就會對這個物品產生反饋,導致更多的人的推薦列表中會出現這一物品,因此該物品就能不斷擴散開來,從而逐步展示到對它感興趣用戶的推薦列表中。 但是,有些網站中推薦列表可能是用戶獲取信息的主要途徑,比如豆瓣網絡電臺。那么對于UserCF算法就需要解決第一推動力的問題,即第一個用戶從哪兒發現新的物品,只要有一小部分人能夠發現并喜歡新的物品,UserCF算法就能夠將這些物品擴散到更多的用戶中,解決第一推動力最簡單的方法是將新的物品隨機展示給用戶,但這樣顯然不太個性化,因此可以考慮利用物品的內容信息,將新物品先投放給曾經喜歡過和它內容相似的其他物品的用戶。 對于ItemCF算法來說,物品冷啟動就是一個嚴重的問題了。因為ItemCF算法的原理是給用戶推薦和他之前喜歡的物品的相似的物品。ItemCF算法會每隔一段時間利用用戶行為計算物品相似度表(一般一天計算一次),在線服務ItemCF算法會將之前計算好的物品相關度矩陣放在內存中。因此當新物品加入時,內存中的物品相關表中不會存在這個物品,從而ItemCF算法無法推薦新的物品。解決這一問題的辦法是頻繁更新新物品相似度表,但基于用戶行為計算物品相似度是非常耗時的事情,主要原因是用戶行為日志非常龐大。而且,新物品如果不展示給用戶,用戶就無法對它產生行為,通過行為日志計算是計算不出包含新物品的相關矩陣的。為此,我們只能利用物品的內容信息計算物品相關表,并且頻繁更新相關表(比如半小時計算一次)。 物品的內容信息多種多樣,不同類型的物品有不同的內容信息。如果是電影,那么內容信息一般包括標題、導演、演員、編劇、劇情、風格、國家、年代等。如果是圖書,內容信息一般包括標題、作者、出版社、正文、分類等。
轉載于:https://www.cnblogs.com/chuwu6859/p/10993785.html
總結
- 上一篇: 长春理工大学第十四届程序设计竞赛(重现赛
- 下一篇: Python学习教程(Python学习路