Thiago Silveira等人在《How good your recommender system is?》中对Novelty概念做了个总结,我们来看下:
Novelty
novelty的概念通常涉及到:在推荐系统中有新(novel)的items。尽管一开始看起来很简单,但novelty在文献中有许多种定义。因此,为了让定义更简单,我们对novelty定义和指标划分成三个level,如下所示。Novelty指标被称为:\(nov(R_u)\)。
- level 1: Life level。在用户生命周期中一个item是novel的,也就是说,该用户从未在它的生命周期中听说过该item
- level 2: System level。根据用户的历史消费行为,该item对该用户是未知的
- level 3: Recommendation list level。在推荐列表中无冗余的items(Non-redundant)
Life level novelty
有一些作者将novelty定义在life level上。Kappoor et al.[19]将未知items(unknown)描述成:在用户的生命周期中从未消费或未知的items。Ricci et al.[29]则认为novel items应对用户未知。这些作者的定义看起来指的都是level 1 novelty,并进一步提出了一种假想的方法来measure novelty:询问用户是否知道该item。另外,Zhang et al.[38]认为,当提到预测时,从一个RS影响而消费的items会被推荐器考虑到。那么,在用户生命周期之前用户未知的items是novel items。
对于life level novelty进行measure而创建metrics是no-trivial的。对于level 1 novelty的一个合理metric是:考虑上超出系统上下文的信息,以便能measure用户是否已知。
System level novelty
system level novelty在文献中也有许多定义。一个用户的novel item可以认为是:该用户对该item完全不知或知道很少。Herlocker et al. [14]等将这样的items认为是:当一个RS预测items时,这种novelty items对用户来说是完全不知的,或者通过其它源未被发现的。另外,novelty也可以被定义成:推荐的item与用户已经消费的items相当不同[36]。最终,novelty也可以被定义成:对某用户的预测列表中未知items的比例[15]。实际上,这样的novel items定义只考虑了:当在用户的消费历史中观察到之前已消费items;在系统外消费的items不会被考虑其中。总之,即使作者使用了不同的话术,他们仍具有相同的意思:level 2的novelty意味着:当考虑上系统信息时,用户不知的items。
在文献中提出的大多数metrics的评估适用于level 2. Nakatsuji et al. [26]提出了一种metric,它会在推荐列表中计算novelty,认为是:在推荐列表中的items与用户历史中(\(H_u\))之间的相似度。该metric如等式(7)所示。作者使用items的类目(classes)来对items间的距离进行measure。d是一个distance function,\(class(i)\)表示了item i的classes。该idea可以被推广到items的features或genres。metric如下:
\[nov(R_u) = \sum\limits_{i \in R_u} min_{j \in H_u} d(class(i), class(j))\]…(8)
Zhou et al.[40]指出的metric则会计算该用户在推荐列表中items的流行度(popularity)。等式(8)展示了novelty metric。例如:一个item的popularity(pop)可以通过有多少消费过它的用户数来计算。Zhang et al.[38]定义的novelty可以被认为是level 1, 该作者的metric与level 2有关,因为popularity通过消费该item的用户量来计算,会使用用户消费数据。因此,该items的novelty仍然是system level的。对于novelty所使用Popularity-based matrics在Ricci et al.[29]中提出。如等式(8)所示,该metric会简单计算一个推荐列表的novelty:通过在list中的items的popularity计算得到。另外作者也提供的metric的变种,比如:\(- log_2 \frac{pop(i)}{\| U \|}\),这与Zhang et al.[38]相似。
\[nov(R_u) = \sum\limits_{i \in R_u} \frac{log_2 \ pop(i)}{| R_u |} \\ nov(R_u) = 1 - \frac{|pop(i)|}{|U|}\]…(9) (10)
recommendation list level novelty
level 3指的是在推荐列表级别的novelty,也就是说,items不会被重复推荐。某种意义上,novelty被定义成在推荐列表中没有重复items,并不会涉及到用户信息。Adamopoulos et al. [1] 认为novelty与在推荐列表中的non-redundant items 有关。level 3可以认为是level 2的特例,其中在推荐列表中没有冗余items或重复items。
level 3的novelty指标衡量指的是在推荐列表中的items。不需要用户信息。等式(10)会计算在推荐列表中的items间相似度。另外,\(d(i,j)\)意味着item i和j间的距离。然而,该指标看起来类似于intra-list similarity,不适合对novelty进行measure。
\[nov(R_u) = \frac{1}{|R_u| - 1} \sum\limits_{j \in R_u} (1 - d(i,j))\]另外,Vargas and Castells [36] 提出了一种不同的metric来measure推荐列表中的novelty。等式(11)展示了该metric。该metric会考虑items在ranked recommendation list中的items的位置,以便计算关于浏览完整个list的一个discount(\(disc(i_k)\))。另外,该metric也会计算:当浏览时该用户已经看到过item的概率\(p(seen \| i_k)\)。由于该概率可能会/不会考虑用户的消费信息,该指标最适合level 2和level 3间novelty的划分。
\[nov(R_u) = \sum_{k=1}^{|R_u|} disc(k)(1-p(seen|i_k))\]参考: