Timeliness in recommender systems, Zhang Fuguo et al. ESWA 2017

298 阅读4分钟

论文地址

Timeliness in recommender systems - ScienceDirect

论文核心内容

首先该文章提出了一个新的衡量标准,称为及时性(timeliness),以衡量商品在市场上新上市或长期在售的程度。

Tα=1kαiUα(tiαt0)(1)T_\alpha = \frac{1}{k_\alpha}\sum_{i\in U_\alpha}(t_{i\alpha}-t_0) \tag{1}

其中,kαk_\alpha表示有多少个用户选择了物品α\alphaUαU_\alpha是选择了物品α\alpha的用户集合;tiαt_{i\alpha}是用户ii选择物品α\alpha的时间;t0t_0是数据集中最早的一条数据的时间。根据这个定义,如果一个项目出现在很久以前,但最近被许多用户选中,它的及时性仍然很高。所以可以通过评估用户ii的推荐列表中项目的及时性,作为评估推荐结果的指标。

Ti(L)=1LαOiTα(2)T_i(L) = \frac{1}{L}\sum_{\alpha \in O^i}T_\alpha \tag{2}

此处,TαT_\alpha是物品α\alpha的及时性;OiO_i代表用户ii的推荐列表;LL是推荐列表的长度。推荐算法T(L)T(L)的及时性就通过所有用户的Ti(L)T_i(L)求平均得到。可以看到Ti(L)T_i(L)实际上是用户ii的推荐列表中所有物品的及时性的算术平均值。

有了以上两个指标就可以定义一个推荐算法给用户ii推荐物品α\alpha的分数fiαf_{i\alpha}了,在大多数算法中,该指标不会考虑物品的及时性,本文中对其做出的改进非常直接,表示为:

fiα~=fiα×Tα(3)\tilde{f_{i\alpha}} = f_{i\alpha} \times T_\alpha \tag{3}

那么,对所有fiα~\tilde{f_{i\alpha}}降序排列,即可得到对用户ii的有序推荐列表。此外,改进的推荐评分指标并不涉及算法细节,因此可以用在几乎所有应用类似推荐指标的算法中。

此外,当考虑物品的时间顺序时,对数据集做分割时再用随机分割就不太恰当了。替代方法是按时间线排序,较早的数据划进训练集,较晚的数据划进测试集。划分比例可以是九一分(i.e. Zhang et al., 2017)等等,按实际情况调整。

其它度量指标

以下指标均面向TopL(即TopN,为了统一表述)推荐列表

ranking score(RS)

经典指标之一。对目标用户ii来说,物品α\alpha在其推荐列表中的顺序表示为riαr_{i \alpha},所有未选择的物品的数量为nin_iiαi\alpha表示一个用户-物品对,对其有:

RSiα=riαni(4)RS_{i\alpha} = \frac{r_{i\alpha}}{n_i} \tag{4}

对整个测试集的排序指标计算方式为:

RS=1EPiαEPRSiα(5)RS = \frac{1}{|E_P|} \sum_{i\alpha \in E_P}RS_{i\alpha} \tag{5}

显然,RSRS值越小,推荐算法的准确度越高

精确度

在现实中,推荐系统只向每个用户显示最相关对象的简短列表。因此,排名靠前的列表是否符合用户的兴趣是一个更实际的问题。精度(P)指标旨在评估推荐算法在这方面的准确性。对单一用户ii的推荐列表来说,有:

Pi(L)=di(L)L(6)P_i(L) = \frac{d_i(L)}{L} \tag{6}

其中di(L)d_i(L)表示用户ii的在测试集中选择过的物品在TopL推荐列表中出现的数量。则整体精确度由所有个体精确度求算数平均得到。

多样性

多样性有几种不同的度量方式,比较经典的有个性化程度、惊喜度。

个性化程度

个性化程度衡量了两个用户的推荐列表之间的差异程度,一般可以利用汉明距离(hamming distance)来衡量,对两个不同的用户iijj,以Cij(L)C_{ij}(L)表示两个不同的推荐列表中相同的物品的数量,其距离计算公式为:

Dij=1Cij(L)L(7)D_{ij} = 1-\frac{C_{ij}(L)}{L} \tag{7}

DijD_{ij}的值在区间[0,1]\lbrack 0,1\rbrack上,对所有用户对的距离求平均就得到整个测试集的个性化程度D(L)D(L)。个性化程度越高,推荐结果多样性越好

惊喜度

惊喜度衡量推荐列表中的物品的平均流行度。因为用户有可能早已从其他渠道知道了这个流行物品,再出现的话可能就没有多少惊喜可言。因此惊喜度实际上衡量的是一个推荐系统对非热门物品的挖掘能力。以OiO_i表示用户ii的推荐列表;kαk_\alpha表示对物品α\alpha产生过行为或有联系的用户的数量,显然kαk_\alpha越大,物品越热门。则用户ii的推荐列表LL的惊喜度定义为:

Ii(L)=1LαOikα(8)I_i(L) = \frac{1}{L} \sum_{\alpha \in O_i}k_\alpha \tag{8}

整体惊喜度仍然由个体惊喜度求算术平均得到。

数据与实验结论

文章中所用数据来自GroupLens,和Netflix。经过了一些数据预处理后,在上文中提到的多种指标上,根据加入及时性与否和两种不同的数据集分割方式,对多个不同的经典TopL推荐算法进行了测试。

结果显示:

  • 时态数据划分的推荐准确率要低得多,这表明随机数据划分无法捕捉真实系统中的推荐过程,并且很难预测在线用户的真实未来好评物品。
  • 质量扩散、协同过滤、基于流行度的方法所推荐的物品中有许多都是过时的,而热传导算法则可以推荐时兴的物品。
  • 加入及时性指标后,所有算法推荐物品的时兴程度都有了明显改善。