文章名称
【AAAI-2019】【Rutgers University】Dynamic Explainable Recommendation Based on Neural Attentive Models
核心要点
文章旨在解决现有可解释性推荐模型,只建模用户固有兴趣,忽略用户兴趣迁移的问题。作者利用GRU建模用户的动态性趣,利用CNN提取用户评论中的兴趣迁移信息。兴趣迁移建模不仅提升了模型性能,同时可以利用用户现有的兴趣给出模型决策的解释。
方法细节
问题引入
现有方法利用用户的评论,提取用户兴趣,对模型决策进行解释,获得了很好的效果。然而,大多数现有的可解释推荐模型将用户偏好建模为一个固定的向量,将其视为不变的。然而用户的兴趣是动态的,在Amazon数据集上的动态特性如下图所示。

作者把用户一个月的评论汇总成文档,并利用LDA提取主题。把用户对主题的倾向(注意力或者比重)按照时间顺序(月份)排列起来,横轴是具体的月份,纵轴是不同主题的概率分布。显然,用户的兴趣是随着时间发生变化的。
具体做法
文章要解决的问题可以被形式化的定义如下,
- 用户集合为
,物品集合为
;
- 用户的行为序列观测集合为
,
表示该用户的样本标号,
为样本总数,
所有用户的观测记录为
;
- 用户在时刻
,对物品
的评分记作
,评论记作
;
- 模型f的目标是,对给定用户-物品元组
,给出预测评分
,并能够基于当前时刻t的用户兴趣,利用模型的中间结果给出模型决策的解释。
DER
为了解决上述问题,作者提出Dynamic Explainable Recommender (DER模型),其整体框架如下图所示。模型大致可以分为三个部分,

- 用户(当前)兴趣提取。作者利用time-aware(添加了time gate)的GRU,处理用户的行为序列,利用最后一个step的输出当做用户当前的兴趣;
- 物品特征表示。每个物品的属性特征,是从他的所有评论中提取的。作者利用句子级别的CNN,把每个物品的所有评论分别转换为嵌入向量表示;
- 用户兴趣与物品特征结合。作者利用用户的当前兴趣表示,计算对目标物品所有评论embedding的注意力,并加权求得到最终的物品embedding,以此作为输入来产出最终的评分。这些注意力得分,可以被用来当做模型决策的解释。
User Profiling
GRU被广泛应用在NLP领域,然而与NLP场景不同,user behavior modeling (UBM) 场景下,用户的每一个行为(每个GRU step)之间的时间间隔,往往具有很重要的意义(句子中的词语之间没有时间间隔的概念,一般认为间隔差为1)。用户往往在短时间内,有类似的偏好,随着时间间隔的增大,偏好发生迁移。

为此,作者修改了GRU的结构(原始结构如上图所示),加入了time gate ,其公式如下图所示。其中,
,
代表用户行为序列的序号(也代表GRU的step),
是超参数,
分别表示用户当前特特征输入和截止之前的step用户的历史行为汇总(hidden state)。不难看出,随着时间间隔的增大,time gate的取值将变大。

事实上,我们期望,如果时间间隔较小,则用户当前的偏好特征应该和上一个步骤(step)的特征没有特别大的变化,即都可以用
表示。而
较大时,用户偏好特征应该回归到历史上的长期兴趣,即回归到
。基于此,作者把time gate与历史行为
进行哈达玛德积,具体公式如下图所示。其中,
为reset gate。

如此,大的间隔会的影响更大,反之则
的影响更大。类似的,作者把time gate添加到第
步的隐向量输出计算中,具体公式如下图所示。其中,
为update gate。

修改后的T-GRU的整体框架如总体框架图的子图b所示。值得强调的是,不仅包括交互物品的id信息,还包括评分和评论信息,具体公式如下图所示。其中,v,r为one-hot向量,分别代表物品id和评分值(应该是1-5),E,是embedding矩阵,分别把物品编号和评分值转换为隐向量。W是表示用户对该物品的评论的embedding,是所有评论词向量的平均值,作者提到后续可以采用复杂的结构进行计算。
本节介绍了作者研究的问题背景,以及引入Time gate修改GRU的思路,下节继续介绍物品评分建模,以及解释评分。
心得体会
Time-LSTM
其实笔者读过一篇被称为Time-LSTM的文章(应该是2017年的了),跟这篇很相似。感觉也许也具有可解释性。
网友评论