核心思想
设计知识增强序列推荐的主要难点在于基于RNN的模型通常拥有优先的短期记忆。并不适合存储具有长期用途的外部知识。受到最近在神经网络的记忆机制方面的进展的启发,提出用外部记忆增强基于RNN的序列推荐。通过显式设置存储槽的外部记忆,记忆网络(MN)根据接收到的数据信号,使用一组预先设计好的操作来操作记忆,比如读和写。已有研究表明,记忆网络在记忆长期数据特征[3]方面是有效的,甚至可以随着时间的推移而进化和更新。我们使用知识库信息作为外部知识。
论文提出通过KV-MN(键值记忆网络)来整合知识库知识。KV-MN将每个内存槽分解为一个键向量和一个值向量,KV-MN的一个优点是可以将一个键向量与一个值向量相关联,并支持关联搜索和读取。KV-MNs将键向量设置为从KB数据中学习的关系向量,对应于一个实体属性。此外,给定一个键向量,我们设置一个user-specifc值向量来存储相应属性的用户偏好特征。通过这种方式,外部知识库被有效地整合到KV-MNs中。一旦知识增强的KV-MNs已经准备好了,下一个问题就是如何将它与基于RNN的序列推荐进行集成。在每次推荐中,我们使用顺序偏好表示从RNNs作为query读取user-specific的KV-MNs的相关内容,也就是值向量,而不是简单的合并两个组件的输出。值向量将被组合成一个基于属性的偏好表示,并由顺序偏好表示得到相应的权重。将基于属性的偏好表示与顺序偏好表示相结合,构成用户偏好的最终表示。
核心模型部分
基于GRU的推荐系统将用户偏好编码为一个隐向量,这个向量在捕获用户属性或物品特征维度方面细粒度的偏好能力较弱。了解属性级别中详细的用户兴趣对于提高基本推荐器的可解释性和性能尤其有用。为了解决这个问题,我们的想法是将知识库中的实体属性信息融合到序列推荐中。
4.2.1 使用键值记忆网络对属性级用户偏好进行建模
MN使用了外部记忆,可以被视为一个非常大的槽数组,