Explainable Recommendation with Comparative Constraints on Product Aspects
概
现有的推荐系统往往只能给出一系列的简单的推荐结果, 作为用户而言, 只能被动地接受. 本文希望做到这样一个结果:
[recommended item] is better at [an aspect] than [reference item], but worse at [another aspect].
举个例子, 某个用户在之前买过一个手机 A (reference item), 然后推荐系统推荐给了新款的手机 B (recommended item), 相较而言, 新款手机的拍照性能更好, 但是缺点是更加厚重.
如此一来, 用户能够获得更多的信息, 也对推荐结果能有更好的斟酌和判断. 很有意思的题材, 但是感觉本文的方法过于复杂.
符号说明
- , users;
- , items;
- , 打分;
- , aspects (产品的各项指标);
- , 用户的一些评价;
预备
- 用户 会对某个产品 进行打分 , 与此同时, 可能会留下一些关于 产品素质 的一些评论 , 该评论会透露出或赞许 () 或 否定 () 的情感;
- 此外, 本文假设, 我们知道每个用户的打分 (购买) 次序 , 比如 , 表示用户 先购买 再购买 . 而作者这么做的原因往往是因为后者在某些素质 上胜过了前者 (问: 那岂非保证是同一类物品吗?).
- 作者希望在这些条件的假设下, 进行 top-N 的推荐.
注: 关于 1 中的数据收集, 作者利用 opinion lexicon [12] 和 aspect lexicon (Microsoft Concept Graph) 获得;
注: 关于 2 中的假设的合理性, 作者进行了实验论证, 如下图所示:
- Figure 1: 可以发现越是新颖的产品所获得的评分越高, 即受欢迎, 这大抵是因为它们在某些素质 上比之老产品有优势;
- Figure 2: 一个产品发布后, 整体的平均是逐渐下降的. 当然也有部分产品始终是受欢迎的 (Active), 作者认为这也都是因为其存在某些不可替代的属性 .
Subjective Aspect-Level Quality
-
定义 为用户 对于产品 在素质 (aspect) 上的一个'打分' (score), 作者用 进行估计:
其中 , 即表示从所有用户 关于产品 在素质 方面的一个评价的总和, 评价越高 也越大;
-
作者用 来拟合 , 同时加上条件: 若 , 则有
即假设用户 后选择 的原因是他认为 比值 在更方面的素质更优秀;
-
其损失函数为:
-
特别地, 定义 用以估计 , 额外添加如下损失:
-
最后的损失为:
-
最后通过如下的 score 进行排序:
其中 是 对 最感兴趣的 (即得分最高的) 几个 aspects 的集合.
注: 总不能是直接拟合 吧? 应该是和下面一样有隐变量吧 ?
Objective Aspect-Level Quality
- 定义 为其中 . 显然 代表了产品 在素质 方面的一个总体的客观评价;
-
类似地, 我们用 进行拟合:
其中 支持 的用户数量;
-
同样定义 :
其中 为用户 对于 的提及的次数, 显然 表示了 用户对某个素质 的关心程度;
-
推荐损失 (实在没看懂啥结构, 难不成是矩阵?)
-
最后的损失
-
最后的排序采用如下的 score:
注: 对于上面一些奇怪指标, 可以看看 here, 其实二者应该都是从 [34, 38] 中借鉴来的.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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