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), 相较而言, 新款手机的拍照性能更好, 但是缺点是更加厚重.

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

符号说明

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

预备

  1. 用户 iU 会对某个产品 jP 进行打分 rij, 与此同时, 可能会留下一些关于 j 产品素质 aA 的一些评论 oO, 该评论会透露出或赞许 (ρ=+1) 或 否定 (ρ=1) 的情感;
  2. 此外, 本文假设, 我们知道每个用户的打分 (购买) 次序 Si, 比如 jjSi, 表示用户 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. 定义 qijkQR|U|×|P|×|A| 为用户 i 对于产品 j 在素质 (aspect) a 上的一个'打分' (score), 作者用 ρ 进行估计:

    qijk={0if aspect k is not mentioned when i reviews j,1+N11+esijkotherwise.

    其中 sijk:=oOijkρ(o), 即表示从所有用户 i 关于产品 j 在素质 k 方面的一个评价的总和, 评价越高 qijk 也越大;

  2. 作者用 q^ijk 来拟合 qijk, 同时加上条件: 若 jj, 则有

    qijk<qijk.

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

  3. 其损失函数为:

    LCOMPARERsub=iU(jj)Si{k|qijk<qijk}lnσ(q^ijkq^ijk);

  4. 特别地, 定义 q^ij(|A|+1)=r^ij 用以估计 rij, 额外添加如下损失:

    LMTER=Q^QλbiUrij>rillnσ(q^ij(|A+1|)q^il(|A+1|));

  5. 最后的损失为:

    L=LMTER+λdLCOMPARERsub;

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

    RankingScoreij=αkCijq^ijk|Cij|+(1α)r^ij,

    其中 Cijij 最感兴趣的 (即得分最高的) 几个 aspects 的集合.

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

Objective Aspect-Level Quality

  • 定义 QR|P|×|A|

    qjk={0if aspect k is not discussed in reviews of j,1+N11+esjkotherwise.

    其中 sjk=isijk. 显然 qjk 代表了产品 j 在素质 k 方面的一个总体的客观评价;
  1. 类似地, 我们用 Q^ 进行拟合:

    LCOMPARERobj={(j,j):j,jSi,Si}(1+ln(cjj)){k|qjk<qjk}lnσ(q^jkq^jk),

    其中 cjj 支持 jj 的用户数量;

  2. 同样定义 XR|U|×|A|:

    xik={0if aspect k is not mentioned by i,1+(N1)(21+esjk1)otherwise.

    其中 tik 为用户 i 对于 k 的提及的次数, 显然 X 表示了 用户对某个素质 k 的关心程度;

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

  1. 最后的损失

    L=LEFM+λdLCOMPARERobj;

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

    RankingScoreij=αkCijx^ikq^ijk|Cij|N+(1α)r^ij.

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

posted @   馒头and花卷  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
历史上的今天:
2021-08-04 WHT, SLANT, Haar
2021-08-04 DFT, DHT, DCT, DST
点击右上角即可分享
微信分享提示