Explainable Recommendation with Comparative Constraints on Product Aspects

Le T. and Lauw H. W. Explainable recommendation with comparative constraints on product aspects. In ACM International Conference on Web Search and Data Mining (WSDM), 2021

现有的推荐系统往往只能给出一系列的简单的推荐结果, 作为用户而言, 只能被动地接受. 本文希望做到这样一个结果:

[recommended item] is better at [an aspect] than [reference item], but worse at [another aspect].

举个例子, 某个用户在之前买过一个手机 A (reference item), 然后推荐系统推荐给了新款的手机 B (recommended item), 相较而言, 新款手机的拍照性能更好, 但是缺点是更加厚重.

如此一来, 用户能够获得更多的信息, 也对推荐结果能有更好的斟酌和判断. 很有意思的题材, 但是感觉本文的方法过于复杂.

符号说明

  • \(\mathcal{U}\), users;
  • \(\mathcal{P}\), items;
  • \(\mathcal{R}\), 打分;
  • \(\mathcal{A}\), aspects (产品的各项指标);
  • \(\mathcal{O}\), 用户的一些评价;

预备

  1. 用户 \(i \in \mathcal{U}\) 会对某个产品 \(j \in \mathcal{P}\) 进行打分 \(r_{ij}\), 与此同时, 可能会留下一些关于 \(j\) 产品素质 \(a \in \mathcal{A}\) 的一些评论 \(o \in \mathcal{O}\), 该评论会透露出或赞许 (\(\rho = +1\)) 或 否定 (\(\rho = -1\)) 的情感;
  2. 此外, 本文假设, 我们知道每个用户的打分 (购买) 次序 \(S_i\), 比如 \(j \prec j' \in S_i\), 表示用户 \(i\) 先购买 \(j\) 再购买 \(j'\). 而作者这么做的原因往往是因为后者在某些素质 \(a\) 上胜过了前者 (问: 那岂非保证是同一类物品吗?).
  3. 作者希望在这些条件的假设下, 进行 top-N 的推荐.

注: 关于 1 中的数据收集, 作者利用 opinion lexicon [12] 和 aspect lexicon (Microsoft Concept Graph) 获得;

注: 关于 2 中的假设的合理性, 作者进行了实验论证, 如下图所示:

  • Figure 1: 可以发现越是新颖的产品所获得的评分越高, 即受欢迎, 这大抵是因为它们在某些素质 \(a\) 上比之老产品有优势;
  • Figure 2: 一个产品发布后, 整体的平均是逐渐下降的. 当然也有部分产品始终是受欢迎的 (Active), 作者认为这也都是因为其存在某些不可替代的属性 \(a\).

Subjective Aspect-Level Quality

  1. 定义 \(q_{ijk} \in Q \in \mathbb{R}^{|\mathcal{U}| \times |\mathcal{P}| \times |\mathcal{A}|}\) 为用户 \(i\) 对于产品 \(j\) 在素质 (aspect) \(a\) 上的一个'打分' (score), 作者用 \(\rho\) 进行估计:

    \[q_{ijk} = \left \{ \begin{array}{ll} 0 & \text{if aspect } k \text{ is not mentioned when } i \text{ reviews } j,\\ 1 + \frac{N - 1}{1 + e^{-s_{ijk}}} & \text{otherwise}. \end{array} \right . \]

    其中 \(s_{ijk} := \sum_{o \in \mathcal{O}_{ijk}} \rho(o)\), 即表示从所有用户 \(i\) 关于产品 \(j\) 在素质 \(k\) 方面的一个评价的总和, 评价越高 \(q_{ijk}\) 也越大;

  2. 作者用 \(\hat{q}_{ijk}\) 来拟合 \(q_{ijk}\), 同时加上条件: 若 \(j \prec j'\), 则有

    \[q_{ijk} < q_{ij'k}. \]

    即假设用户 \(i\) 后选择 \(j'\) 的原因是他认为 \(j'\) 比值 \(j\) 在更方面的素质更优秀;

  3. 其损失函数为:

    \[\mathcal{L}_{\text{COMPARER}_{sub}} = -\sum_{i \in \mathcal{U}} \sum_{(j \prec j') \in S_i} \sum_{\{k|q_{ijk} < q_{ij'k}\}} \ln \sigma(\hat{q}_{ij'k} - \hat{q}_{ijk}); \]

  4. 特别地, 定义 \(\hat{q}_{ij (|\mathcal{A}| + 1)} = \hat{r}_{ij}\) 用以估计 \(r_{ij}\), 额外添加如下损失:

    \[\mathcal{L}_{\text{MTER}} = \|\hat{Q} - Q\| - \lambda_b \sum_{i \in \mathcal{U}} \sum_{r_{ij} > r_{il}} \ln \sigma(\hat{q}_{ij(|\mathcal{A} + 1|)} - \hat{q}_{il(|\mathcal{A} + 1|)}); \]

  5. 最后的损失为:

    \[\mathcal{L} = \mathcal{L}_{\text{MTER}} + \lambda_d \mathcal{L}_{\text{COMPARER}_{sub}}; \]

  6. 最后通过如下的 score 进行排序:

    \[\text{RankingScore}_{ij} = \alpha \cdot \frac{\sum_{k \in C_{ij}}\hat{q}_{ijk}}{|C_{ij}|} + (1 - \alpha) \hat{r}_{ij}, \]

    其中 \(C_{ij}\)\(i\)\(j\) 最感兴趣的 (即得分最高的) 几个 aspects 的集合.

注: 总不能是直接拟合 \(Q\) 吧? 应该是和下面一样有隐变量吧 ?

Objective Aspect-Level Quality

  • 定义 \(Q' \in \mathbb{R}^{|\mathcal{P}| \times |\mathcal{A}|}\)

    \[q_{jk}' = \left \{ \begin{array}{ll} 0 & \text{if aspect } k \text{ is not discussed in reviews of } j,\\ 1 + \frac{N - 1}{1 + e^{-s_{jk}'}} & \text{otherwise}. \end{array} \right . \]

    其中 \(s_{jk}' = \sum_i s_{ijk}\). 显然 \(q_{jk}'\) 代表了产品 \(j\) 在素质 \(k\) 方面的一个总体的客观评价;
  1. 类似地, 我们用 \(\hat{Q}'\) 进行拟合:

    \[\mathcal{L}_{\text{COMPARER}_{obj}} = -\sum_{\{(j, j'): j, j' \in S_i, \exist S_i\}} (1 + \ln (c_{jj'}')) \sum_{\{k|q_{jk}' < q_{j'k}'\}} \ln \sigma(\hat{q}_{j'k}' - \hat{q}_{jk}'), \]

    其中 \(c_{jj'}'\) 支持 \(j \prec j'\) 的用户数量;

  2. 同样定义 \(X \in \mathbb{R}^{|\mathcal{U}| \times |\mathcal{A}|}\):

    \[x_{ik} = \left \{ \begin{array}{ll} 0 & \text{if aspect } k \text{ is not mentioned by } i,\\ 1 + (N - 1) (\frac{2}{1 + e^{-s_{jk}'}} - 1) & \text{otherwise}. \end{array} \right . \]

    其中 \(t_{ik}\) 为用户 \(i\) 对于 \(k\) 的提及的次数, 显然 \(X\) 表示了 用户对某个素质 \(k\) 的关心程度;

  3. 推荐损失 (实在没看懂啥结构, \(\eta\) 难不成是矩阵?)

  1. 最后的损失

    \[\mathcal{L} = \mathcal{L}_{\text{EFM}} + \lambda_d \mathcal{L}_{\text{COMPARER}_{obj}}; \]

  2. 最后的排序采用如下的 score:

    \[\text{RankingScore}_{ij} = \alpha \cdot \frac{\sum_{k \in C_{ij}} \hat{x}_{ik} \hat{q}_{ijk}}{|C_{ij}| N} + (1 - \alpha) \hat{r}_{ij}. \]

注: 对于上面一些奇怪指标, 可以看看 here, 其实二者应该都是从 [34, 38] 中借鉴来的.

posted @ 2022-08-04 22:41  馒头and花卷  阅读(30)  评论(0编辑  收藏  举报