天天看點

推薦系統之資訊繭房問題跨域推薦的概念總結

什麼是資訊繭房

資訊繭房其實是現在社會一個很可怕的現象,從字面意思來看的話其實比喻的是資訊被蟲繭一般封鎖住。這個問題反映了現在随着個性化推薦的普及衍射的一個社會問題。

推薦系統之資訊繭房問題跨域推薦的概念總結

​​平時在浏覽新聞或者淘寶的時候,平台會自動根據使用者的浏覽記錄擷取使用者的偏好,然後推送感興趣的文章。久而久之,比如使用者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後隻要确定跨域的幅度即可。

  1. Attribute level:挖掘target間的相似屬性,推薦同一類别的target。比如一個使用者很喜歡買紅色、大尺寸的諾基亞手機,attribute level推薦是要在推薦物屬性層面做跨域,可以試着給使用者推薦黑色、小尺寸的其它手機,這樣的跨屬性的相同物種推薦會在一定程度上給使用者新鮮感
  2. Type level:挖掘target間的相似屬性,然後推薦相同大品類下不同獨幕喜劇類的物品。比如使用者喜歡紅色、大尺寸的諾基亞手機,手機和電腦都屬于電子産品,可以推薦紅色、大尺寸的電腦給使用者
  3. 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

繼續閱讀