Advertisement

论文精读:Sequential Recommendation with User Memory Networks

阅读量:

文章目录

  • 1 背景

  • 2 RUM:recommend with user memory network

    • 2.1 记忆网络预测的整体流程

    • 2.2 memory matrix的更新读写设计

      • 2.2.1 从item角度设计读写策略
      • 2.2.2 从feature角度设计读写策略
    • 2.3 memory的更新读写对比

  • 总结

1 背景

现有方法缺陷
1.并不是所有的历史行为都对用户未来喜好有用;
2.现有的方法会将用户的历史序列用一个embedding进行表示,忽略了各个item之间的关系,以及各自的特征);
在这里插入图片描述
就如上图所示,要预测用户是否会购买item e。RNN会将以前所有的历史购买记录考虑进来,生成用户特征向量 user embedding,对其历史购买行为进行汇总。但是历史购买行为里面对于是否会购买预测item e实际上只与item b相关,所以会导致推荐的不准确。忽略了每个历史记录的对预测结果的作用 ,忽略了每个item自己的特性

引入记忆网络的原因 :可以引入外部存储单元(memory matrix)存储states(user 历史购买序列);通过对memory matrix中的单元进行有选择地读取,生成用户表征,避免对整个历史序列进行操作。存储单元的内容会进行更新。
在这里插入图片描述

2 RUM:recommend with user memory network

2.1 记忆网络预测的整体流程

符号说明:p_{u}用户u表征;q_{i} item i表征
memory enhanced user embedding :依据历史记录 以及与历史行为无关的用户属性 两个角度生成用户嵌入
**历史记录角度的用户特征p _{u}^{m}:**依据当前待推荐的q_{i} ,从memory matrix中有选择的获取历史序列item:
在这里插入图片描述
**用户特征p _{u}:**p_{u}^{m}和用户属性特征p_{u}^{*}进行聚合:
在这里插入图片描述
在这里插入图片描述
预测用户购买item的概率:
在这里插入图片描述
目标函数
在这里插入图片描述

2.2 memory matrix的更新读写设计

2.2.1 从item角度设计读写策略

如下所示:
用户u历史行为中第i个item为v^u_i
M^{u}是一个memory matrix总是存储用户最近的K个记录,第i个memory slot存储的是用户历史序列的第i个item embedding q_{v^u_i}
用户embedding为p_u
在这里插入图片描述

对于预测用户u购买item {v^u_i}的概率:
reading operation :依据用户历史行为对于当前item的重要度来选择历史item来表示用户特征
在这里插入图片描述
在这里插入图片描述
writing operation :由于用户的喜好与其最近的行为相关,本文采用first-in-first-out方法来保证memory matrix M^{u}存储的总是用户最近的k个历史行为。如当前待预测的是 q_{v^u_i},则memory matrix M^{u}如下所示:在这里插入图片描述
当进行写入操作时,最早的item会被覆盖掉,变为下面的形式:
在这里插入图片描述

2.2.2 从feature角度设计读写策略

在这里插入图片描述
global latent feature table( GLFT),来存储特征嵌入。在进行预测的时候,目标item将会与 GLFT进行交互,来识别相关的特征。
对于每个用户,将会生产user memory matrix M^u 来编码她对于GLFT的喜好程度,m^u_k表示用户对于特征k的喜好。基于item embedding来更新用户user memory matrix M^u
注:GLFT是所有用户共享的,user memory matrix M^u是针对每个用户的记忆单元
**reading operation:**计算item i与GLFT中的特征相关性
在这里插入图片描述
在这里插入图片描述
**writing operation:**先对原来的 memory matrix进行擦除
在这里插入图片描述
在这里插入图片描述
擦除之后对memory matrix进行写:
在这里插入图片描述

2.3 memory的更新读写对比

item角度 直接将每个item视为一个单元,直接存储在memory slot中,能够获取item-item的转换策略。
feature角度 则是将用户对于feature的喜好程度存储在memory slot当中,通过item来调整memory slot中的偏好表征。
通过上述对比,可以发现item角度将item的时序直接展现在内存中,item的偏好转换能够直观的通过memory slot的存储内容展现出来 。而对于feature角度,用户的历史购买记录则是通过在逐步迭代训练过程中展现出来

总结

1.记忆单元既可以用于展现用户的购买行为的时序特征,也可以用于展现用户的偏好,取决于如何设计;
2.通过对记忆单元的动态更新,来展现用户的偏好变化 。但是对于没有历史记录的用户 ,如何设计记忆单元?
3.涉及的反复的读写操作,模型训练速度下降

引用
[1] Chen, Xu & Xu, Hongteng & Zhang, Yongfeng & Tang, Jiaxi & Cao, Yixin & Qin, Zheng & Zha, Hongyuan. (2018). Sequential Recommendation with User Memory Networks. 108-116. 10.1145/3159652.3159668.

全部评论 (0)

还没有任何评论哟~