什么是信息茧房
信息茧房其实是现在社会一个很可怕的现象,从字面意思来看的话其实比喻的是信息被虫茧一般封锁住。这个问题反映了现在随着个性化推荐的普及衍射的一个社会问题。
平时在浏览新闻或者淘宝的时候,平台会自动根据用户的浏览记录获取用户的偏好,然后推送感兴趣的文章。久而久之,比如用户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