论文笔记:Improving Sequential Recommendation with Knowledge-Enhanced Memory Networks


1、背景

    随着深度学习的发展,人们探索出了一系列的方法来处理序列化数据,RNN是其中的一个代表。但是对于序列化推荐,RNN的处理方式有很大的不足,如其最后编码后的隐向量很难理解,并且很难学习到用户细粒度的偏好,如不知道到底喜欢商品的哪个属性,是价格还是质量,又或者是性价比。

    为了解决这个问题,论文作者提出一个带有键值对记忆网络的RNN模型架构。其中RNN模型用于捕捉序列化的用户偏好,而键值对记忆网络用于捕捉商品属性级的用户偏好,这两个vector组合在一起作为最终的用户偏好表示,从而解决了这个问题。

2、模型定义

,其中代表在t时刻与u产生交互的item.将item与KG结合,形成一个大图。这样我们的任务定义为:给定交互序列,我们推断user将会在n+1时刻点击的item

3、模型结构

模型由两部分组成:

【1】A GRU-based Sequential Recommender

论文中说明如下:

【2】Augmenting Sequential Recommender with Knowledge-Enhanced Memory Networks

这里我们假设对所有item来说,他们具有相同的属性,比如:电影都具有演员、导演、上映时间等属性,这样网络就可以被概括为一个数组,,其中key代表某一个属性,而value代表这个属性的值,这里需要注意的是,value的值是与用户相关的,即不同用户具有不同的vlue,但是因为所有item具有相同的属性,因此key对于所有用户来说是共享的。这个相当于对一个用户来说,她对某一个属性具有自己的用户偏好。

key值是预处理的,在整个训练过程中保持不变,采用transE的方式,我们可以得到KG中entiey和relation的embedding。我们认为entity的属性是与relation的含义相关的,因此我们直接将relation embedding作为key值,,a是某一个属性。

这个记忆网络涉及两个操作,read和write。read操作是从记忆网络读出value,然后经过一系列运算,得到,他是指用户u在t时刻从记忆网络得到的值,然后执行,其中是GRU的输出。其中,read可简单概括为

write操作是指每当新的交互item到来之后,value矩阵必须更新,可概括为

是指item到来之后,对a属性value值的更新。这里之所以选择将的结果作为,是因为item在某个属性上的取值可能有多个,比如,这里的导演可能有多个。

【3】The Complete Sequential Recommender

为了充分利用item的辅助信息,我们采用编码item,最后分数计算采用

MLP是多层感知机,目的是将 映射到相同的空间

采用BPR loss,AdaGrad优化策略

4、实验部分


你可能感兴趣的:(论文笔记:Improving Sequential Recommendation with Knowledge-Enhanced Memory Networks)