关注我们,一起学习
title:Motif-aware Sequential Recommendation
from:SIGIR 2021
1. 导读
本文将Motif翻译为模式。
本文是针对序列推荐而提出的相关方法,MoSeR。该方法在考虑行为序列宏观结构的同时,进一步考虑微观结构。MoSeR捕获隐藏在行为序列中的模式以对微观结构特征进行建模。MoSeR 提取同时包含最后一个行为和目标商品的模式。这些模式以有向图的形式反映了局部商品之间的拓扑关系。因此,MoSeR可以在了解局部商品之间的固有模式的情况下做出更准确的预测。
思考:本文是一篇短文,其亮点在于增加了模式(Motif)来对目标商品和序列中最后交互的商品之间的关系进行挖掘,还是比较有意思的,后续其他操作和正常的推荐方法类似。
2. 序列中不同的模式
如图所示为三种模式,
将所有训练集序列汇总为有向商品图,并从有向图中提取包含最后行为和目标商品的模式。为了缓解复杂性和稀疏性,本文专注于最简单和基本的模式,三元组。模式特征是通过提取的模式中的边缘权重计算的。最后,结合模式特征、用户序列表征和目标商品表征作为输入来预测目标项目在下一个时间步的概率。
3. 方法
用Q表示商品集合,用户u的行为序列表示为
,目标即利用序列预测
。
根据用户行为序列中的商品构建带权有向图
,其中的节点式商品,边表示从一个商品转移到另一个商品,边权重edge(i, j)利用这种转移关系出现的频率计算,如下式,其中
表示在任何时间t,交互了i之后交互了j,这样出现的频率。
表示用户和商品i交互的频率。
这里只考虑最简单的模式,即三元组的形式。模型预测下一个商品,相当于是给序列最优一个商品
和
构建边。那么包含最后一个商品和目标商品的模式可以有多种,如上图所示。第k种模式,结合连接的不同节点,具体可以写为下式,其中m1,m2是中间节点。
对于每一个三元组
,定义函数
通过边权重表示该模式的重要性,具体公式如下,如果边不存在,则权重为0。当然,σ这个函数也可以对应其他计算方法,这里简单起见用了加法。
最后,提取商品对的模式的特征
,将每一种模式对应不同的三元组计算得到的重要性分数相加,然后拼接得到最后的向量。具体公式如下,
在实践中,处理所有的模式会带来很多计算成本。因此,在本文中将候选三元组的最大数量固定为𝑀𝑚𝑎𝑥,随机选择候选三元组。
随机初始化商品表征
,然后同构transformer块建模用户行为序列,拼接行为序列表征和模式特征进行最终的预测。
与很多方法类似,本文的方法也是将位置embedding和行为序列中的embedding进行结合,本文采用相加的方式,具体如下,
然后采用残差结构,用自注意力机制结合两层全连接层得到序列表征,这里都是比较通用的,不过多解释。公式如下,
结合目标商品表征,序列表征以及模式特征,通过两层全连接层与用户偏好进行预测,公式如下,
在训练阶段,将每个用户序列固定为一定的长度。当序列超过最大长度时切割早期的记录,当序列不够长时在开头填充默认的零向量。采用二元交叉熵损失作为目标函数,其中f()为sigmoid函数。
4. 实验
在这里,讨论为一对商品选择的候选模式𝑀𝑚𝑎𝑥 的最大数量如何影响性能。图 3 显示了不同 𝑀𝑚𝑎𝑥 的结果。一般来说,MoSeR 的性能随着 𝑀𝑚𝑎𝑥 的增加而增加,而当 𝑀𝑚𝑎𝑥 变得太大时性能下降。因为当候选模式很少时,模式特征可能不够。然而,当候选motif集太大时,可能存在很多无用的模式,而一些稀有但重要的motif类型会因此失去作用,或者作用减弱。当 𝑀𝑚𝑎𝑥 等于 13 时,在两个数据集上都获得了最佳性能。