推荐系统之信息茧房问题
前兩篇推薦相關的文章得到了不錯的反響,也獲得了知乎的推薦(知乎id:GarvinLi),今天來講下信息繭房,這個詞可能很多同學比較陌生,但也是推薦系統必須要克服的問題
什么是信息繭房
信息繭房其實是現在社會一個很可怕的現象,從字面意思來看的話其實比喻的是信息被蟲繭一般封鎖住。這個問題反映了現在隨著個性化推薦的普及衍射的一個社會問題。
?
平時在瀏覽新聞或者淘寶的時候,平臺會自動根據用戶的瀏覽記錄獲取用戶的偏好,然后推送感興趣的文章。久而久之,比如用戶A是個體育迷,那么A獲取的信息大多是跟體育相關的,很難獲取音樂或者軍事等其它相關的資訊,因為平臺追求點擊率,會一直推送A感興趣的內容以獲取高廣告瀏覽量。時間長了,因為信息繭房的作用,因為信息獲取單一,A的社交圈可能也會變的狹小。如果整個社會陷入了個性化推薦系統的信息繭房效應,將是病態的。
?
所以,真正的個性化推薦絕對不等于只推薦歷史感興趣的內容,這樣其實不是一個長期可持續的推薦系統,如果陷入了信息繭房,一定會有用戶覺得審美疲勞。那么如何破解信息繭房,因為從推薦模型角度分析,一旦獲取了用戶的畫像,就很難跳出用戶習慣的邏輯,比如昨天買個手機,第二天還推薦手機,這個時候可能比較好的一種方法是跨域推薦(cross-domain recommendation)。
跨域推薦的概念
跨域推薦做的事情就是跳出推薦的信息繭房。不是一個新概念了,我上研究生的時候學校就有實驗室做相關的研究,今天主要講下思路。具體大家想了解的話可以看下這個Paper:?《Cross-Domain Recommendation: An Embedding and Mapping Approach》
有幾個關鍵詞我覺得可以充分體現跨域推薦的精髓:
“diversity” - “novelty” - “serendipity”
如果我們做一個推薦系統,說是“individuality”,其實我會覺得很normal,不夠高級,現在幾乎所有推薦系統都有個性化推薦,但是如果一個推薦系統標榜自己是“novelty”,那我就覺得很有意思了。下面聊聊怎么實現novelty。
第一步:確定什么是target & source
這里以新聞推薦為例,如果一用戶A,經常瀏覽同一個類型的新聞,比如體育新聞,如何找到A喜歡的其他類別新聞呢?
這其實是一個user overlap的場景,推薦系統的主體user不變,有個source源是體育新聞,要找到target是體育以外user感興趣的文章。這就建立了跨域推薦中的target和source關系。
第二步:確定推薦level
跨域推薦有多種level,要確定跨域的種類,大體可以分以下三種:
?
其實跨域推薦確定了source和target后只要確定跨域的幅度即可。
Attribute level:挖掘target間的相似屬性,推薦同一類別的target。比如一個用戶很喜歡買紅色、大尺寸的諾基亞手機,attribute level推薦是要在推薦物屬性層面做跨域,可以試著給用戶推薦黑色、小尺寸的其它手機,這樣的跨屬性的相同物種推薦會在一定程度上給用戶新鮮感
Type level:挖掘target間的相似屬性,然后推薦相同大品類下不同小品類的物品。比如用戶喜歡紅色、大尺寸的諾基亞手機,手機和電腦都屬于電子產品,可以推薦紅色、大尺寸的電腦給用戶
Item level:挖掘target間的相似屬性,推薦不同大品類的物品。比如用戶喜歡紅色、大尺寸的諾基亞手機,直接推薦紅色大尺寸的馬桶
以上3個跨域level由輕到重,大家可以根據自己的需求選用。其實關鍵點是如何挖掘物品的屬性,因為無論是電腦、手機、馬桶,他們都有共通的屬性,比如大小、顏色、材質等,下面就介紹如何挖掘這些屬性。
第三步:挖掘target間的屬性
既然跨域推薦的關鍵是能挖掘出target間共有的屬性,那么有什么辦法可以做到這一點呢。首先要根據業務屬性人工挖掘出一些隱性特征,比如電商平臺可以挖掘出顏色、材質、價格、使用頻率等隱性特征,然后可以通過矩陣分解的方式獲取具體每個特征的權重(下圖中矩陣A和B之間的矩陣)。
?
總結
信息繭房效應是因為個性化推薦系統推薦信息的不平衡性,導致用戶長期只能瀏覽限制領域的信息,可以在推薦系統中加入跨域推薦的邏輯來規避信息繭房的影響,具體流程包含確定推薦邏輯中的source和target,確定跨域的粒度,通過矩陣分解找出隱含的共性屬性。
參考:https://recsys.acm.org/wp-content/uploads/2014/10/recsys2014-tutorial-cross_domain.pdf
總結
以上是生活随笔為你收集整理的推荐系统之信息茧房问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐系统之业务架构总览
- 下一篇: Youtube推荐系统是如何挖掘用户内心