Uncertainty Quantification for Fairness in Two-Stage Recommender Systems

发布时间 2023-03-29 15:36:40作者: 馒头and花卷

Wang L. and Joachims T. Uncertainty quantification for fairness in two-stage recommender systems. In International World Wide Web Conference (WWW), 2023.

本文考虑召回阶段的 fairness. 作者希望通过分组的方式尽可能选取相关的 items.

符号说明

  • \([n] = \{1, 2, \ldots, n\}\);
  • \(d_j \in \mathcal{D}\), item, \(j \in [n]\);
  • \(\bm{d} = (d^j)_{j \in [n]}\);
  • \(q \in \mathcal{Q}\), query;
  • \(r_j^q \in \{0, 1\}\), \(q\) 与 item \(d_j\) 的 relevance;
  • \(\bm{r} = (r_j)_{j \in [n]}\);
  • \(f: \mathcal{Q} \times \mathcal{D} \rightarrow [0, 1]\), relevance model, 返回 \(q, d\) 的相关度的估计;
  • \(\pi^f: \mathcal{Q} \times \mathcal{D}^n \rightarrow \{0, 1\}^n\), generation policy, 根据 \(q, \bm{d}\) 得到 \(\bm{d}\) 的选择方案 \(\bm{s} = (s_j)_{j \in [n]}, s_j \in \{0, 1\}\). 其中 \(s_j = 1\) 表示 \(d_j\) 被认为是与 \(q\) 相关的故选择.

主要内容

  • 推荐系统通常先通过召回选择少量相关的 items, 然后再精排. 显然, 倘若召回得到的 items 本文与 query \(q\) 的相关度不够, 或者存在严重的不平衡问题, 就容易造成不可逆的性能或者公平性问题.

  • 本文的策略是, 将所有的 items 分割成一些 groups \(\mathcal{G}\), 然后为每个 group \(g\) 设定一个值 \(k_g\). 在实际使用过程中, 我们通过 \(f\) 得到 \(g\) 中 items 和 query \(q\) 的相关度 \(\bm{r}_g\), 然后选择 top-\(k_g\) 作为候选. 本文的思想就是如何设计 \(k_g\).

  • 首先假设, 每个 group 都有一个最优的 \(k_g^*\) (但是我们并不知道), 我们用 \(k_g\) 来估计.

  • \(\sigma_{q, g}^f (j)\) 为 group \(g\) 中相关度排名为 \(j\) 的 item 的 index, 我们希望我们所选择的 top-\(k_g\) 能够满足:

    \[U_g(k_g) := \mathbb{E}_{q, \bm{r}} \Big[ \sum_{j \in [k_g]} \bm{r}_{\sigma_{q, g}^f (j)} \Big] \ge U_g^* := U_g(k_g^*). \]

    即, top-\(k_g\) 的方案在期望上是能够选择足够多的 ( > \(U_g^*\)) 相关 items.

  • 显然, 我们可以通过不断增大 \(k_g\) 来满足这一条件, 但是这就失去了召回的意义. 我们自然希望 \(k_g \approx k_g^*\).

  • 作者通过引入一些别的信息来估计 \(k_g\), 即假设

    \[\mathbb{P}\Big( U_g (k) \ge \hat{U}_g^- (k, \alpha) \Big) \ge 1 - \alpha. \]

    即假设我们能过找到这样一个映射 \(\hat{U}_g^-\), 它能够给出任意 size \(k\) 和置信度 \(1 - \alpha\) 下的下界 (该下界, 作者后面通过数据进行估计).

  • 有了它, 我们就可以定义 \(k_g\):

    \[\hat{k}_g^{\text{union}} := \min \Bigg\{ k \in [k_g^{\max} - 1]: \hat{U}_g^- \bigg( k, \frac{\alpha}{(k_g^{\max} - 1)} \bigg) \ge U_g^* \Bigg\}, \\ \hat{k}_g^{\text{mono}} := \min \Bigg\{ k \in [k_g^{\max} - 1]: \hat{U}_g^- (k', \alpha) \ge U_g^*, \forall k \le k' < k_g^{\max}. \Bigg\} \]

  • 容易发现 (至少有 \(1 - \alpha\) 说实话, 很奇怪的证明, 感觉没啥意义):

    \[U_g(\hat{k}_g^{\text{union}}) \ge \hat{U}_g^- \bigg( \hat{k}^{\text{union}}, \frac{\alpha}{(k_g^{\max} - 1)} \bigg) \ge U_g^*, \\ U_g(\hat{k}_g^{\text{mono}}) \ge \hat{U}_g^-(\hat{k}_g^{\text{mono}}, \alpha) \ge U_g^*. \]

  • 最后利用 CIPW (clipped inverse propensity weighted) 来估计下界这里就不讲了.

代码

official