Explainable Fairness in Recommendation
概
作者通过一种 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)\}\), 所有用户推荐结果的集合;
流程
-
对于一些原始的评论数据进行转换, 得到四元组
\[\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;
-
基于 \(\mathcal{W}\) 分别构建 user-feature attention matrix \(\mathcal{A} \in \mathbb{R}^{m \times r}\):
以及 item-feature quality matrix \(B \in \mathbb{R}^{n \times r}\):
其中 \(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\) 就可以理解为一个匹配的最高分;
-
通过这两个矩阵来预测用户 \(u\) 是否会对 item \(v\) 满意:
\[\hat{y}_{u, v} = g(A_u, B_v, | Z, \Theta), \]其中 \(Z\) 是可选的一些额外的信息;
-
通过 \(g\), 我们可以得到每个用户的一个 top-K 预测:
\[\tag{1} \]\[ \] -
为了找到哪些特征是最影响 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}\);
-
我们希望通过下式来找到一个合适的扰动:
\[\tag{2} \min_{\Delta} \: \|\Psi^{cf}\|_2^2 + \lambda \|\Delta^f\|_2, \]满足令扰动足够小的情况下, 尽可能缓解 unfairness;
-
定义 Proximity
\[Proximity(f) := \|\Delta^f\|; \] -
定义 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}); \] -
定义 explainability score (ES) [不理解, 经验 ?]:
\[\tag{3} ES(f) := Validity(f) - \beta \cdot Proximity(f). \]直观上, 所需扰动越少, 但使得推荐结果更 Fairness 的特征 \(f\) ES 得分越高. 这些高分的特征是影响 Fairness 的重要特征, 剔除 (或者用别的方法处理) 这些特征往往有利于 Fairness, 同时保留尽可能多的推荐效果.
细节
- 处理 (2) 的时候, 作者选择 \(\Delta = [\Delta_u, \Delta_v], \lambda = 1\);
- 处理 (2) 的时候, 作者遇到了梯度无法回传的情况, 采用放缩的 \(\tilde{\Psi}^{cf}\) 替代.
疑问
个人感觉文中所选的 Fairness 指标 \(\Psi\) (Demographic Parity (DP) 或 Exact-𝐾 Fairness (EK)) 都不是很合理的指标. 其次, 对于 (3) 的构造, 太过于粗糙了, 我不是很喜欢.