本文是自己在推荐系统研究中研读的论文翻译及解读,原文:Dynamic Explainable Recommendation Based on Neural Attentive Models
-
AAAI2019会议论文
-
本篇笔记为本人原创,如需转载引用,请务必在文中附上原链接及相应说明,包括作者信息(阿瑟)
-
本篇笔记非标准译文,其中包含了笔者自己对问题的部分理解,仅供参考,欢迎学习交流
摘要
在推荐系统中提供解释越来越受到业界和研究界的关注。现有的可解释推荐模型大多将用户偏好作为不变因素来生成静态解释。
然而,在实际场景中,用户的偏好总是动态的,并且可能对不同状态下的不同产品特性感兴趣。解释与用户偏好的不匹配会降低推荐系统的用户满意度、信任度和可信度。
为了填补这一空白,本文构建了一个新的动态可解释推荐器(称为DER),用于更精确的用户建模和解释。
- 设计了一个时间感知的门控递归单元(GRU)来模拟用户的动态偏好,并基于句子级卷积神经网络(CNN)对项目的评论信息进行描述。
- 通过根据用户当前状态认真学习重要评论信息,不仅可以提高推荐性能,而且可以为用户当前的偏好提供量身定制的解释。
- 为了评价该模型的可解释性,我们首先通过实例对突出的评价信息进行直观的分析,然后进行基于众包的评价,定量地验证了该模型的优越性。
引言
目前的可解释方法大多将用户表示为一个静态的潜在向量,因此在可解释的推荐上下文中无法捕捉到用户的动态偏好,这可能会影响推荐性能。更重要的是,这些模型提供的解释通常是不变的,这在满足真实场景中用户的实际动态偏好方面效果较差。例如,一开始用户可能更关心袜子的透气性,一段时间后,可能会对温暖感兴趣,因为天气开始变冷。解释与用户偏好的不匹配会降低推荐系统的用户满意度、信任度和可信度。
受这些局限性的启发,本文设计了一种新的动态可解释推荐器(Dynamic Explainable Recommender),用于更精确的用户建模和推荐解释。一个有说服力的解释应该准确地告诉用户当前(何时 when)最关心的物品的属性(什么 what)。为了解决时间问题,选择门循环单元(GRU)作为基本架构来获取用户的动态偏好。GRU的一个关键问题是,它在没有考虑两个连续步骤之间的时间间隔信息的情况下对序列进行建模,而两个连续步骤之间的时间间隔仍然是用户行为建模的一个重要信号,例如,用户往往在短时间内具有相似的偏好,而大的时间间隔可能具有更多改变用户兴趣的机会。
为了解决这一问题,对传统的GRU算法进行了改进,增加了一个时间门,使其更适用于个性化推荐领域。基于句子级卷积神经网络(CNN)从复习信息中提取项目属性。最后,我们采用“个性化注意机制”来整合不同的评论信息,以解决谁的问题。在上述设计的基础上,我们预测了用户对物品的相似性,并根据用户当前的偏好提供了突出的有价值的评论信息来解释预测。
问题定义
文章基于Amazon数据集,来自www.Amazon.com。
为了缓解商品多样性的影响,我们将分析集中在同一类别(指定为乐器)。直觉上,人们通常在评论信息中谈论他们关心的商品的某方面。
为了验证用户偏好的动态特性,将同一个月内发布的所有用户评论合并到一个文档中,并进一步利用LDA将每个文档投影到一个主题分布向量中,该向量反映了其与不同主题的相关性。![](https://img.haomeiwen.com/i16043538/7fc03863ed926491.png)
每个月主题分布的变化如上图所示,我们可以看到:
- 总的来说,用户对不同主题的关注是动态的。例如,2008年11月,用户对第三个话题的讨论较多(概率为0.27),而2011年5月,第一个话题成为最受关注的方面(概率为0.28)。
- 对于每一个主题,它所受到的关注随着时间的变化而变化。例如,第二个主题(用绿色圆圈表示)在2008年12月最受关注(概率为0.51),随后其吸引力逐渐下降,并在2014年5月达到最低点(概率为0.11)。
这些结果表明,用户关心的产品特性总是变化的,这就促使我们提供适应性的解释 adaptive explanation来满足用户的动态偏好。
用户集,物品集
,对每个用户,按照时间顺序构建历史行为序列,以四元组的形式表示序列元素,即
,序列中第
个四元组
表示: 用户
对物品
在
时刻的评分是
,评论信息为
在完整的训练数据集上,具体的模型任务就是拟合学习一个预测函数
,能够对于测试集中的
,预测出在
用户相应的评分
.
此外,其内部参数或中间输出应根据用户在时的偏好为最终的预测评分提供解释。
模型设计
![](https://img.haomeiwen.com/i16043538/74d649698d19de95.png)
基于时间感知GRU的用户兴趣构建 user profiles
GRU的每一步的计算公式如下:
![](https://img.haomeiwen.com/i16043538/47058bdbce2e972d.png)
基本上,在序列建模过程中,通过与相乘,重置门
决定从先前的内容中移除什么,例如,如果
接近于0,GRU将清除过去的信息并只关注当前的输入
。同时,更新门
确定从当前存储器内容
收集什么以及从先前
收集什么。例如,如果
接近1,则
将接近0,GRU将保留以前的大部分信息
,而忽略当前内容
的很大一部分。
GRU在许多NLP任务中被证明是有效的。在推荐问题中,我们可以直接把用户行为看作一个词,把整个行为序列看作一个句子。
然而,用户行为建模(UBM)与NLP的一个重要区别是:两个连续步骤之间的时间间隔信息在NLP中没有意义,但是UBM中的一个重要信号。
直观地说,用户倾向于在短时间内拥有相似的偏好,而较大的时间间隔可能会降低前一行为的影响。为了将这种视野无缝地嵌入到我们的模型中,我们重新设计了GRU的架构。
首先引入了时间门, 时间间隔
,
作为超参数;很明显,
是
的单增函数,时间间隔越大,
越大。
而一方面,我们希望一个小的时间间隔不会改变用户的偏好,这意味着如果很小,那么
处的用户偏好应该与
所描述的
时刻的用户偏好相似。另一方面,我们希望长的时间间隔能够让用户恢复到以前的长期偏好,这意味着如果
远大于
,那么当前行为
的影响应该很小。用户偏好倾向于与
中嵌入的历史行为一致。
笔者注:该部分是模型设计的核心部分,原文分析的非常清楚,从问题出发,在具体的函数设计上进行相应体现
在此基础上,对原来的GRU公式进行修改
![](https://img.haomeiwen.com/i16043538/e9080659ae38f3ca.png)
![](https://img.haomeiwen.com/i16043538/5441a3be16c4bf7a.png)
对于T-GRU还有输入,为了更好地表征用户兴趣:
![](https://img.haomeiwen.com/i16043538/6f54b733f49d79e1.png)
Item Profiling based on TextCNN
人们通常在评论中谈论不同的产品特性,与物品ID相比,这些信息可以为协同建模提供更为明确和全面的信息。类似于许多以前的工作,我们模型中的评论信息是TextCNN处理的,然而文中并没有将每个用户的评论作为一个整体,而是在句子层次上进行处理,以允许更灵活的解释。
常规操作,将用户的评论文本通过TextCNN处理,再加上Attention得到最后的Item文本向量
Explainable Rating prediction 可解释的评分预测
以前的方法通常以用户独立的方式解释推荐。然而,在真实的场景中,人们通常有不同的个性,甚至对于同一个项目,也可能会关心不同的方面。这种直觉启发我们以个性化的方式进行可解释性推荐。
假设用户在
时刻的动态兴趣通过
来表示,物品
的不同评论语句表征为
,然后基于用户兴趣感知的注意力机制对物品的评论信息进行整合:
![](https://img.haomeiwen.com/i16043538/4a10e3c4fb5316a3.png)
为了增强用户和物品表示的鲁棒性,进一步引入额外的embeddings ,得到最终的评分:
![](https://img.haomeiwen.com/i16043538/7bae7d426032c656.png)
![](https://img.haomeiwen.com/i16043538/eee40e575be36066.png)
总体考察模型,可以看到其核心点在于T-GRU的设计,而可解释方面则依赖于注意力机制,通过评论文本的关键词来完成解释,框架设计而言属于常见结构,但细节上创新性还是可以的
实验部分
基于亚马逊商城的数据子集和Yelp数据进行实验,对于评分预测,使用了RSME来评价![](https://img.haomeiwen.com/i16043538/d8f8be54d3d9052c.png)
![](https://img.haomeiwen.com/i16043538/ef7b80b504361c85.png)
![](https://img.haomeiwen.com/i16043538/39060550efa75225.png)
![](https://img.haomeiwen.com/i16043538/d8496adf0290cda2.png)
总结
本文提供了一种较为简单的可解释性推荐框架,其中T-GRU设计比较合理而实用,可解释性部分也比较有代表性,总体而言是一篇值得一读的论文。
网友评论