美文网首页可解释推荐系统工具箱
可解释推荐系统工具箱 - DER(一)

可解释推荐系统工具箱 - DER(一)

作者: processor4d | 来源:发表于2022-02-21 23:33 被阅读0次

文章名称

【AAAI-2019】【Rutgers University】Dynamic Explainable Recommendation Based on Neural Attentive Models

核心要点

文章旨在解决现有可解释性推荐模型,只建模用户固有兴趣,忽略用户兴趣迁移的问题。作者利用GRU建模用户的动态性趣,利用CNN提取用户评论中的兴趣迁移信息。兴趣迁移建模不仅提升了模型性能,同时可以利用用户现有的兴趣给出模型决策的解释。

方法细节

问题引入

现有方法利用用户的评论,提取用户兴趣,对模型决策进行解释,获得了很好的效果。然而,大多数现有的可解释推荐模型将用户偏好建模为一个固定的向量,将其视为不变的。然而用户的兴趣是动态的,在Amazon数据集上的动态特性如下图所示。

Dynamic User Preference

作者把用户一个月的评论汇总成文档,并利用LDA提取主题。把用户对主题的倾向(注意力或者比重)按照时间顺序(月份)排列起来,横轴是具体的月份,纵轴是不同主题的概率分布。显然,用户的兴趣是随着时间发生变化的。

具体做法

文章要解决的问题可以被形式化的定义如下,

  • 用户集合为U = \{u_1, u_2, ..., u_{|U|}\},物品集合为I = \{i_1, i_2, ..., i_{|I|}\}
  • 用户的行为序列观测集合为O^u = \{ (v_s^u, r_s^u, \textbf{w}_s^u, t_s^u) \}_{s=1}^{l_u}s表示该用户的样本标号,{l_u}为样本总数,t_1^u \leq ... \leq t_{l_u}^u所有用户的观测记录为O = \{ O^u | u \in U \}
  • 用户在时刻t_s^u,对物品v_s^u的评分记作r_s^u,评论记作\textbf{w}_s^u
  • 模型f的目标是,对给定用户-物品元组(u,v_{l_{u+1}}^u),给出预测评分t_{l_{u+1}}^u,并能够基于当前时刻t的用户兴趣,利用模型的中间结果给出模型决策的解释。

DER

为了解决上述问题,作者提出Dynamic Explainable Recommender (DER模型),其整体框架如下图所示。模型大致可以分为三个部分,

framework
  • 用户(当前)兴趣提取。作者利用time-aware(添加了time gate)的GRU,处理用户的行为序列,利用最后一个step的输出当做用户当前的兴趣;
  • 物品特征表示。每个物品的属性特征,是从他的所有评论中提取的。作者利用句子级别的CNN,把每个物品的所有评论分别转换为嵌入向量表示;
  • 用户兴趣与物品特征结合。作者利用用户的当前兴趣表示,计算对目标物品所有评论embedding的注意力,并加权求得到最终的物品embedding,以此作为输入来产出最终的评分。这些注意力得分,可以被用来当做模型决策的解释。

User Profiling

GRU被广泛应用在NLP领域,然而与NLP场景不同,user behavior modeling (UBM) 场景下,用户的每一个行为(每个GRU step)之间的时间间隔,往往具有很重要的意义(句子中的词语之间没有时间间隔的概念,一般认为间隔差为1)。用户往往在短时间内,有类似的偏好,随着时间间隔的增大,偏好发生迁移。

GRU structure

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

time gate

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

time gate multiply current hidden state

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

time gate with final hidden state

修改后的T-GRU的整体框架如总体框架图的子图b所示。值得强调的是,x_s不仅包括交互物品的id信息,还包括评分和评论信息,具体公式如下图所示。其中,v,r为one-hot向量,分别代表物品id和评分值(应该是1-5),E,是embedding矩阵,分别把物品编号和评分值转换为隐向量。W是表示用户对该物品的评论的embedding,是所有评论词向量的平均值,作者提到后续可以采用复杂的结构进行计算。

本节介绍了作者研究的问题背景,以及引入Time gate修改GRU的思路,下节继续介绍物品评分建模,以及解释评分。

心得体会

Time-LSTM

其实笔者读过一篇被称为Time-LSTM的文章(应该是2017年的了),跟这篇很相似。感觉也许也具有可解释性。

相关文章

网友评论

    本文标题:可解释推荐系统工具箱 - DER(一)

    本文链接:https://www.haomeiwen.com/subject/iauetrtx.html