Novelty and diversity in information retrieval evaluation

发布时间 2023-03-22 21:15:50作者: 馒头and花卷

Clarke C. L. A., Kolla M., Cormack G. V., Vechtomova O., Ashkan A., B\ddot{u}ttcher S. and MacKinnon I. Novelty and diversity in information retrieval evaluation. In International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR), 2008

本文定义了一种评估 diversity 的指标 (兼顾相关性): \(\alpha\text{-NDCG}\).

符号说明

  • \(u\): user;
  • \(d\): document, 注意, 本文是在文本推荐的背景下, 所以是 \(d\);
  • \(r_{ud} \in \{0, 1\}\), 用户 \(u\) 对文档 \(d\) 感兴趣 (\(r_{ud} = 1\));
  • \(\mathbb{P}(r|u, d)\), 用户 \(u\) 对文档 \(d\) 感兴趣的概率;

alpha-NDCG

  • 我们希望设计一个指标, 它能够反映一个推荐列表 \([d_1, d_2, \ldots, d_n]\) 中的多样性和相关性. 这里先大概叙述一下多样性的含义. 每个文档 \(d_i\) 都具有不同的 topics \(t \in \mathcal{T} = \{t_1, t_2, \ldots, t_m\}\). 假设, \(d_1\) 的 topics 为 \(t_1, t_2\), 此时若 \(d_2\) 也包含相同的 topics 的话, 就会过于重复了. 所以我们的目标其实是保证前列的推荐结果, 即和用户 \(u\) 的 query 紧密相关, 同时又能够尽可能 cover 多的 topics.

  • 在具体给出 \(\alpha\)-NDCG 的定义之前, 让我们先估计

    \[\mathbb{P}(r=1|u, d) \]

    以做准备.

  • 出于直觉, 我们定义:

    \[\tag{1} \begin{array}{ll} \mathbb{P}(r=1|u, d) &= \mathbb{P}(\exist t, \: t \in u \cap d) \\ &= 1 - \prod_{i=1}^m (1 - \mathbb{P}(t_i \in u) \cdot \mathbb{P}(t_i \in d)). \end{array} \]

    注意, 上面的集合操作, 是把 \(u\) 看成其所感兴趣的 topics 的集合, \(d\) 看成是其包含的 topics 的集合. 接下来的任务就是估计 \(\mathbb{P}(t \in u), \mathbb{P}(t \in d)\):

    1. \(d\):

      \[\mathbb{P}(t \in d) = \alpha \cdot \mathbb{I}(t \in d). \]

      其中 \(\alpha \in (0, 1]\) 是一个人为设置的超参数, 表示人为标记的准确度.
    2. \(u\): 实际上我们很难提前知道或者猜测每个用户的偏好, 所以最保险的假设就是:

      \[\mathbb{P}(t \in u) = \gamma, \]

      即每个 topic 都等概率地存在于用户 \(u\) 的兴趣范围内.
  • 于是乎 (1) 可以改写为:

    \[\tag{2} \mathbb{P}(r=1|u, d) = 1 - \prod_{i=1}^m (1 - \gamma \alpha \cdot \mathbb{I}(t_i \in d)). \]

  • 到此, 我们已经了估计了一个文档的概率, 接下来我们推广到整个推荐列表 \([d_1, d_2,\ldots, d_k]\) 之上. 假设我们对前 \(r_{1}, \ldots, r_{k-1}\) 有了一个估计, 那么我们接下来要估计:

    \[\tag{3} \begin{array}{ll} &\mathbb{P}(r_k = 1 | u, d_1, d_2, \ldots, d_k) \\ =& 1 - \prod_{i=1}^m (1 - \mathbb{P}(t_i \in u|d_1, d_2, \ldots, d_{k-1}) \mathbb{P}(t_i \in d)). \end{array} \]

  • 作者认为, 在已经有了 \([d_1, d_2, \ldots, d_{k-1}]\) 的基础上, \(u\) 依旧对 topic \(t_i\) 感兴趣的前提是:

    \[t_i \in u, t_i \in d_j, j=1,2,\ldots,k-1, \]

    \(t_i\) 没有出现在之前的推荐过的文档中. 故

    \[\mathbb{P}(t_i \in u|d_1, d_2, \ldots, d_{k-1}) = \mathbb{P}(t_i \in u) \prod_{j=1}^{k-1} \mathbb{P}(t_i \not \in d_j). \]

  • 定义

    \[c_{i}^{k-1} := \sum_{j=1}^{k-1} \mathbb{I}(t_i \in d_j), \quad c_i^0 = 0. \]

    \[\prod_{j=1}^{k-1} \mathbb{P}(t_i \not \in d_j) = (1 - \alpha)^{c_i^{k-1}}. \]

  • 于是 (3) 为

    \[\tag{4} \begin{array}{ll} &\mathbb{P}(r_k = 1 | u, d_1, d_2, \ldots, d_k) \\ =& 1 - \prod_{i=1}^m (1 - \gamma \alpha \cdot \mathbb{I}(t_i \in d_k) \cdot (1 - \alpha)^{c_i^{k-1}}). \end{array} \]

  • 可以通过 (4) 的一阶项近似得到 gain (去掉了 \(\gamma \alpha\), 因为对于相对关系没有影响):

    \[\tag{5} \text{G}[k] = \sum_{i=1}^m \mathbb{I}(t_i \in d_k) (1 - \alpha)^{c_i^{k-1}}. \]

  • 于是 cumulative gain 为:

    \[\tag{6} \text{CG}[k] = \sum_{j=1}^k \text{G}[j]. \]

  • 于是 discounted cumulative gain (即更靠前的排序收益更高):

    \[\text{DCG}[k] = \sum_{j=1}^k \text{G}[j] / \log_2(1 + j). \]

  • 计算 ideal-DCG 是困难的, 但是作者认为用贪心的方式去估计是可以接受的, 故作者选择每一步选择产生最大 gain 的那个 \(d\). 不妨记 \(\text{DCG}'[k]\) 为这样的一个近似.

  • 最后

    \[\alpha\text{-nDCG}[k] = \frac{\text{DCG}[k]}{\text{DCG}'[k]}. \]

几种特殊的情况:

  1. \(\alpha=0\):

    \[\text{G}[k] = \sum_{i=1}^m \mathbb{I}(t_i \in d_k), \]

    此时退化为普通的 nDCG.

  2. \(\alpha=1\):

    \[\text{G}[k] = \sum_{i=1}^m \mathbb{I}(t_i \in d_k) \prod_{j=1}^{k-1}\mathbb{I}(t_i \not \in d_j) = |d_k \setminus \cup_{j=1}^{k-1} d_j|. \]

  3. \(|d| = 1\):

    \[\text{G}[k] = (1 - \alpha)^{c_{d_k}^{k-1}}. \]

    显然此时, ideal 的情况也是容易求的,

    \[\text{i-G}[k] = (1 - \alpha)^{\max(0, k - |\cup_{j=1}^n d_j)|}. \]

    即, ideal 的情形就是每一次优先选择和前面推荐的不重复的文档 (如果可以的话).