这是一篇很好理解的论文,论文提出:现有的方法都没有明确考虑用户当前行为对其下一步行动的影响。 在这项研究中,我们认为长期记忆模型可能不足以对通常包含由意外点击引起的用户兴趣漂移的长时间会话进行建模。 提出了一种新颖的短期注意力/记忆优先模型作为补救措施,该模型能够从会话上下文的长期记忆中捕获用户的一般兴趣,同时从短期记忆中考虑用户当前的兴趣。
根据现有文献,几乎所有基于 RNN 的 SRS 模型都只考虑将会话建模为一系列项目,而没有明确考虑用户的兴趣随时间漂移,这在实践中可能存在问题。例如,如果某个特定的数码相机链接刚刚被用户单击并记录在会话中,则用户的下一个预期动作很可能是对当前动作的响应。 (1) 如果当前的动作是在做出购买决定之前浏览产品描述,那么用户很可能在下一步访问另一个数码相机品牌目录。 (2)如果当前动作是在购物车中添加摄像头,那么用户的浏览兴趣很可能会转移到存储卡等其他外围设备上。在这种情况下,向该用户推荐另一台数码相机并不是一个好主意,尽管本次会议的初衷是购买数码相机(正如前面的行动所反映的)。
本文主要的贡献如下:
- 我们引入了一个短期注意力/记忆优先级模型,该模型学习:(a) 具有跨会话项目的统一嵌入空间和 (b) 用于基于会话的推荐系统中的下一步点击预测的新型神经注意力模型。
- 提出了一种新的注意力机制来实现STAMP 模型,其中注意力权重是从会话上下文中计算出来的,并随着用户当前的兴趣而增强。 输出注意力向量被读取为用户时间兴趣的组合表示,并且比其他基于神经注意力的解决方案对用户兴趣随时间漂移更敏感。 因此,它能够同时捕获用户的一般长期兴趣(响应初始目的)和他们的短期注意力(当前兴趣)。
一、The Short-Term Memory Priority Model
STMP 模型将两个嵌入(ms 和 mt)作为输入,其中 ms 表示用户对当前会话的总体兴趣,定义为会话外部存储器的平均值:
符号 mt 表示用户在该会话中的当前兴趣,在本研究中,最后点击 xt 用于表示用户当前的兴趣: mt = xt 。
由于 xt 取自会话的外部记忆,我们称其为用户兴趣的短期记忆。 然后用两个 MLP 网络处理一般兴趣 ms 和当前兴趣 mt 以进行特征抽象。 图中所示的 MLP 单元的网络结构彼此相同,只是它们具有独立的参数设置。
对于给定的候选项目xi ∈V,得分函数定义为:
令 z^ 表示由三线性乘积 z_i 组成的向量,其中每个 z_i 表示关于当前会话前缀 St 的加权用户兴趣的表示与候选项目 xi 之间的非归一化余弦相似度。 然后通过softmax函数处理得到输出y^:
损失函数定义为:
从STMP模型的定义可以看出,它根据候选项目的内积和加权的用户兴趣对下次点击进行预测,其中加权的用户兴趣通过长期记忆(平均历史点击次数)和短期记忆(最后一次点击)的双线性组合表示。
然而,当从当前会话的外部存储器中以一般 ms 为用户的兴趣建模时,STMP 模型将会话前缀中的每个项目视为同等重要,我们认为这在捕捉用户的兴趣漂移(可能是由无意点击引起的),尤其是在长时间会话的情况下是不太好的。 因此,我们提出了一个注意力模型来解决这个问题——它已被证明可以有效地捕捉长序列中的注意力漂移。
二、The STAMP Model
STAMP 模型的架构如图 2 所示。从图 2 可以看出,这两个模型之间的唯一区别是,在 STMP 模型中,通常计算用户兴趣的抽象特征向量(状态向量 hs) 从外部存储器 ms 的平均值,而在 STAMP 模型中,hs 是从基于注意力的用户的一般兴趣(一个实值向量 ma )计算出来的,如图 2 所示,它是由所提出的注意力机制产生的。
所提出的注意力网络由两部分组成:(1)一个简单的前馈神经网络(FNN),负责为当前会话前缀 St 中的每个项目生成注意力权重,以及(2)一个注意力组合 通常负责计算基于注意力的用户兴趣的函数 ma 。 用于注意力计算的 FNN 定义为:
i 表示当前会话前缀内项目 xi 的注意力系数。从公式中可以看出,会话前缀中项目的注意力系数是根据目标项目 xi 的嵌入、最后点击 xt 和会话表示 ms 计算得出的,因此,它能够捕捉到 目标项目和用户兴趣的长期/短期记忆。 请注意,在等式中,明确考虑了短期记忆x_t.
在获得关于当前会话前缀 St 的注意力系数向量 α = (α1, α2, …, αt ) 后,基于注意力的用户对当前会话前缀 St 的兴趣一般 ma 可以计算如下: