主要参考论文:《The Unfairness of Popularity Bias in Recommendation》 RMSE@RecSys 2019

流行度偏差是什么

先定义流行物品和非流行物品。下图是(Movielens 1M)数据集中物品的评分情况。

推荐模型 sparse embedding_大数据


图的横坐标表示不同物品,纵坐标表示物品的评分次数。可以看出只有少部分物品得到了很多的评分,大部分曲线尾部的物品都只有少量的评分,我们也把这部分物品称为长尾物品。在本文中,我们取曲线的前20%对应的物品为流行物品,剩余的为非流行物品(长尾物品)。

然后,我们再来谈谈什么是流行度偏差。流行度偏差通常是针对物品方(items)的公平性问题,体现为不流行的物品有更少的机会被推荐(展示),相应地,推荐系统更偏爱推荐流行的物品。长此以往,流行的物品变得越来越流行,不流行的却变得越来越不流行,这就是推荐系统中的马太效应。

流行度偏差可能导致的问题

首先是对不流行物品的不公平,不流行物品可以类比为新开的店铺,所卖物品也许质量很好,却迟迟得不到推荐系统的推荐,让店家不得不选择别的平台。其次是对于推荐平台也是不利的,提高不流行物品的曝光率,一方面可以为用户得到更多的选择,提高推荐列表的多样性,让推荐系统更好地实现个性化,另一方面可以吸引更多新的店家,扩大平台规模。反之,推荐结果如果包含大量的流行物品,结果趋同,用户得不到好的个性化体验,而且这些流行物品可能并不需要推荐系统就能被用户发现,其实也是一种资源的浪费。

不同算法推荐结果的流行度情况(Movielens 1M)

一共展示了六种基础推荐算法的推荐情况。

推荐模型 sparse embedding_大数据_02


图中横坐标表示物品流行度(定义为评分过该物品的用户数占总用户数的比例),纵坐标表示物品的推荐次数。从图中可以看出,除了随机推荐(第五张小图)外,所有算法都偏向于推荐流行的物品,其中最流行推荐自然是最严重的,SVD++流行度偏差最不明显。

用户对流行度物品的喜好情况

首先看所有用户历史记录中流行度物品的比例,如下图所示。

推荐模型 sparse embedding_大数据_03


图中横坐标表示不同的用户,纵坐标表示流行物品比例,这些点已经经过了升序排序。可以看出有很大一部分用户的历史记录中包含了至少20%的流行物品,所以过分地推荐流行物品,势必会影响这些用户的体验。

不同推荐算法对不同用户组的流行度偏差情况

定义三个用户组:1.Niche Users,图3的前20%的用户(最偏爱非流行物品的前20%的用户);2.Blockbuster-focused Users,图3的后20%的用户(最喜欢流行物品的那部分用户);3.Diverse Users,其余用户。

不同算法对这些用户组的流行度偏差情况如下:

推荐模型 sparse embedding_深度学习_04


图中横坐标表示不同用户组,纵坐标表示流行物品的比例,红色是用户的历史记录,蓝色是算法的推荐结果。从图中可以得出与图2类似的结论,除了随机推荐对各个用户组推荐结果的流行度有所降低以外,其他算法都大幅增加了各用户组的流行度物品比例,其中SVD++程度最轻。

文中还给出一个结论:算法对Niche Users的流行度比例放大最严重。但是在另一篇论文《The Unfairness of Popularity Bias in Music Recommendation: A Reproducibility Study》中,其作者在lastfm数据集上对本文的实验进行了复现,但是得到的结论与此不符。