论文地址
Timeliness in recommender systems - ScienceDirect
论文核心内容
首先该文章提出了一个新的衡量标准,称为及时性(timeliness),以衡量商品在市场上新上市或长期在售的程度。
其中,表示有多少个用户选择了物品;是选择了物品的用户集合;是用户选择物品的时间;是数据集中最早的一条数据的时间。根据这个定义,如果一个项目出现在很久以前,但最近被许多用户选中,它的及时性仍然很高。所以可以通过评估用户的推荐列表中项目的及时性,作为评估推荐结果的指标。
此处,是物品的及时性;代表用户的推荐列表;是推荐列表的长度。推荐算法的及时性就通过所有用户的求平均得到。可以看到实际上是用户的推荐列表中所有物品的及时性的算术平均值。
有了以上两个指标就可以定义一个推荐算法给用户推荐物品的分数了,在大多数算法中,该指标不会考虑物品的及时性,本文中对其做出的改进非常直接,表示为:
那么,对所有降序排列,即可得到对用户的有序推荐列表。此外,改进的推荐评分指标并不涉及算法细节,因此可以用在几乎所有应用类似推荐指标的算法中。
此外,当考虑物品的时间顺序时,对数据集做分割时再用随机分割就不太恰当了。替代方法是按时间线排序,较早的数据划进训练集,较晚的数据划进测试集。划分比例可以是九一分(i.e. Zhang et al., 2017)等等,按实际情况调整。
其它度量指标
以下指标均面向TopL(即TopN,为了统一表述)推荐列表
ranking score(RS)
经典指标之一。对目标用户来说,物品在其推荐列表中的顺序表示为,所有未选择的物品的数量为。表示一个用户-物品对,对其有:
对整个测试集的排序指标计算方式为:
显然,值越小,推荐算法的准确度越高
精确度
在现实中,推荐系统只向每个用户显示最相关对象的简短列表。因此,排名靠前的列表是否符合用户的兴趣是一个更实际的问题。精度(P)指标旨在评估推荐算法在这方面的准确性。对单一用户的推荐列表来说,有:
其中表示用户的在测试集中选择过的物品在TopL推荐列表中出现的数量。则整体精确度由所有个体精确度求算数平均得到。
多样性
多样性有几种不同的度量方式,比较经典的有个性化程度、惊喜度。
个性化程度
个性化程度衡量了两个用户的推荐列表之间的差异程度,一般可以利用汉明距离(hamming distance)来衡量,对两个不同的用户和,以表示两个不同的推荐列表中相同的物品的数量,其距离计算公式为:
的值在区间上,对所有用户对的距离求平均就得到整个测试集的个性化程度。个性化程度越高,推荐结果多样性越好
惊喜度
惊喜度衡量推荐列表中的物品的平均流行度。因为用户有可能早已从其他渠道知道了这个流行物品,再出现的话可能就没有多少惊喜可言。因此惊喜度实际上衡量的是一个推荐系统对非热门物品的挖掘能力。以表示用户的推荐列表;表示对物品产生过行为或有联系的用户的数量,显然越大,物品越热门。则用户的推荐列表的惊喜度定义为:
整体惊喜度仍然由个体惊喜度求算术平均得到。
数据与实验结论
文章中所用数据来自GroupLens,和Netflix。经过了一些数据预处理后,在上文中提到的多种指标上,根据加入及时性与否和两种不同的数据集分割方式,对多个不同的经典TopL推荐算法进行了测试。
结果显示:
- 时态数据划分的推荐准确率要低得多,这表明随机数据划分无法捕捉真实系统中的推荐过程,并且很难预测在线用户的真实未来好评物品。
- 质量扩散、协同过滤、基于流行度的方法所推荐的物品中有许多都是过时的,而热传导算法则可以推荐时兴的物品。
- 加入及时性指标后,所有算法推荐物品的时兴程度都有了明显改善。