Explainable Fairness in Recommendation

Ge Y., Tan J., Zhu Y., Xia Y., Luo J., Liu S., Fu Z., Geng S., Li Z. and Zhang Y. Explainable fairness in recommendation. In International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR), 2022.

作者通过一种 counterfactual reasoning paradigm 筛选出一些会严重影响 Fairness (这篇文章主要关注曝光率) 的特征.

符号说明

  • \(u \in \mathcal{U}\), user, \(|\mathcal{U}| = m\);
  • \(v \in \mathcal{V}\), item, \(|\mathcal{V}| = n\);
  • \(T = \{(u, v)| u \in \mathcal{U}, v \in \mathcal{V}, u \text{ has interacted with } v\}\), 交互集合;
  • \(g\), 预测模型;
  • \(\mathcal{G}_0\), popular items;
  • \(\mathcal{G}_1\), long-tailed items;
  • \(K\), 推荐列表的长度, 即 top-K;
  • \(\mathcal{R}(u, K)\), 给用户 \(u\) 推荐的 top-K items;
  • \(\mathcal{R}_K = \{\mathcal{R}(u_1, K), \mathcal{R}(u_2, K), \cdots, \mathcal{R}(u_m, K)\}\), 所有用户推荐结果的集合;

流程

  1. 对于一些原始的评论数据进行转换, 得到四元组

    \[\mathcal{W} = \{(u_l, v_l, f_l, s_l)\}_{l=1}^N, \]

    其中 \(f_l \in \mathcal{F}, |\mathcal{F}| = r\) 为特征, \(s_l \in \{+1, -1\}\) 表示该评论的态度: positive (+1), negative (-1). 比如 I like the collar of this sweater, but the sleeve is not satisfied, since it is too tight for me. 这里 \(f\) 为 collar 或 sleeve, 对应的 \(s\) 为 positive 和 negative;

  2. 基于 \(\mathcal{W}\) 分别构建 user-feature attention matrix \(\mathcal{A} \in \mathbb{R}^{m \times r}\):

\[A_{uf}= \left \{ \begin{array}{ll} 0 & \text{if user } u \text{ did not mention feature } f\\ 1 + (M - 1)(\frac{2}{1 + \exp(-t_{u, f})} - 1) & \text{else}, \end{array} \right . \]

以及 item-feature quality matrix \(B \in \mathbb{R}^{n \times r}\):

\[B_{vf}= \left \{ \begin{array}{ll} 0 & \text{if item } v \text{ has no review on feature } f\\ 1 + \frac{M - 1}{1 + \exp(-t_{v, f} \cdot \bar{s}_{v, f})} & \text{else}. \end{array} \right . \]

其中 \(t_{u, f}\) 表示 \(u\) 提及 feature \(f\) 的频率, 而 \(t_{v, f}\) 则是 item \(v\) 涉及 feature \(f\) 的频率, 而 \(\bar{s}_{v, f}\) 则是这些涉及的 feature 所对应的 \(s\) 的平均, 显然如果 \(\bar{s}_{v, f} > 0\) 表示这个 item 的属性 \(f\) 是被认可的, 反之是不认可的. 可以注意到, 当 \(t_{u, f} \rightarrow \infty\) 或者 \(t_{v, f} \cdot \bar{s}_{v, f} \rightarrow \infty\) 的时候, \(A_{u, f}, B_{v, f} \rightarrow M\), 这里 \(M\) 就可以理解为一个匹配的最高分;

  1. 通过这两个矩阵来预测用户 \(u\) 是否会对 item \(v\) 满意:

    \[\hat{y}_{u, v} = g(A_u, B_v, | Z, \Theta), \]

    其中 \(Z\) 是可选的一些额外的信息;

  2. 通过 \(g\), 我们可以得到每个用户的一个 top-K 预测:

    \[\tag{1} \]

    \[ \]

  3. 为了找到哪些特征是最影响 Fairness 的, 我们对特征列 \(A_{:f}\) (\(B_{:f}\)) 添加扰动 \(\Delta_u^f \in \mathbb{R}^m\) (\(\Delta_v^f \in \mathbb{R}^n\)), 并称扰动后的矩阵为 \(A^{cf}\) (\(B^{cf}\)), 相应的, 扰动后的推荐结果为 \(\mathcal{R}_K^{cf}\), 以及对应的 Fairness 指标 \(\Psi^{cf}\);

  4. 我们希望通过下式来找到一个合适的扰动:

    \[\tag{2} \min_{\Delta} \: \|\Psi^{cf}\|_2^2 + \lambda \|\Delta^f\|_2, \]

    满足令扰动足够小的情况下, 尽可能缓解 unfairness;

  5. 定义 Proximity

    \[Proximity(f) := \|\Delta^f\|; \]

  6. 定义 Validity

    \[Validity(f) := \frac{\text{Exposure}(\mathcal{G}_0|\mathcal{R}_K) - \text{Exposure}(\mathcal{G}_1|\mathcal{R}_K)}{mK} -\frac{\text{Exposure}(\mathcal{G}_0|\mathcal{R}_K^{cf}) - \text{Exposure}(\mathcal{G}_1|\mathcal{R}_K^{cf})}{mK} \]

    衡量扰动前后曝光率差异的变化情况, 其中

    \[\text{Exposure}(\mathcal{G}|\mathcal{R}_K) := \sum_u \sum_{v \in \mathcal{R}(u, K)} \mathbb{I}(v \in \mathcal{G}); \]

  7. 定义 explainability score (ES) [不理解, 经验 ?]:

    \[\tag{3} ES(f) := Validity(f) - \beta \cdot Proximity(f). \]

    直观上, 所需扰动越少, 但使得推荐结果更 Fairness 的特征 \(f\) ES 得分越高. 这些高分的特征是影响 Fairness 的重要特征, 剔除 (或者用别的方法处理) 这些特征往往有利于 Fairness, 同时保留尽可能多的推荐效果.

细节

  1. 处理 (2) 的时候, 作者选择 \(\Delta = [\Delta_u, \Delta_v], \lambda = 1\);
  2. 处理 (2) 的时候, 作者遇到了梯度无法回传的情况, 采用放缩的 \(\tilde{\Psi}^{cf}\) 替代.

疑问

个人感觉文中所选的 Fairness 指标 \(\Psi\) (Demographic Parity (DP) 或 Exact-𝐾 Fairness (EK)) 都不是很合理的指标. 其次, 对于 (3) 的构造, 太过于粗糙了, 我不是很喜欢.

posted @ 2022-07-15 12:19  馒头and花卷  阅读(161)  评论(4编辑  收藏  举报