SIGIR'21 | 模式感知的序列推荐方法

2022-09-19 11:04:21 浏览数 (2)

关注我们,一起学习

title:Motif-aware Sequential Recommendation

from:SIGIR 2021

1. 导读

本文将Motif翻译为模式。

本文是针对序列推荐而提出的相关方法,MoSeR。该方法在考虑行为序列宏观结构的同时,进一步考虑微观结构。MoSeR捕获隐藏在行为序列中的模式以对微观结构特征进行建模。MoSeR 提取同时包含最后一个行为和目标商品的模式。这些模式以有向图的形式反映了局部商品之间的拓扑关系。因此,MoSeR可以在了解局部商品之间的固有模式的情况下做出更准确的预测。

思考:本文是一篇短文,其亮点在于增加了模式(Motif)来对目标商品和序列中最后交互的商品之间的关系进行挖掘,还是比较有意思的,后续其他操作和正常的推荐方法类似。

2. 序列中不同的模式

如图所示为三种模式,

  • 对撞结构,即某人买了一个手机后短时间内可能不会再购买手机;
  • 单向依赖,即买了电脑后有概率想买U盘;
  • 双向依赖,即用户买了iphone或ipad后很有可能会想买另一个。

将所有训练集序列汇总为有向商品图,并从有向图中提取包含最后行为和目标商品的模式。为了缓解复杂性和稀疏性,本文专注于最简单和基本的模式,三元组。模式特征是通过提取的模式中的边缘权重计算的。最后,结合模式特征、用户序列表征和目标商品表征作为输入来预测目标项目在下一个时间步的概率。

3. 方法

3.1 问题定义

用Q表示商品集合,用户u的行为序列表示为

s^u=[s_1^u,...,s_T^u]

,目标即利用序列预测

s_{T 1}^u

3.2 商品图构建

根据用户行为序列中的商品构建带权有向图

mathcal{G}

,其中的节点式商品,边表示从一个商品转移到另一个商品,边权重edge(i, j)利用这种转移关系出现的频率计算,如下式,其中

p(s_t^u=i,s_{t 1}^u=j)

表示在任何时间t,交互了i之后交互了j,这样出现的频率。

p(s_t^u=i)

表示用户和商品i交互的频率。

A(i, j)=frac{sum_{u}pleft(s_{t}^{u}=i, s_{t 1}^{u}=jright)}{sum_{u}pleft(s_{t}^{u}=iright)}

3.3 Motif模式特征提取

这里只考虑最简单的模式,即三元组的形式。模型预测下一个商品,相当于是给序列最优一个商品

s_t^u

s_{t 1}^u

构建边。那么包含最后一个商品和目标商品的模式可以有多种,如上图所示。第k种模式,结合连接的不同节点,具体可以写为下式,其中m1,m2是中间节点。

H_{Delta_{k}}left(s_{t}^{u}, s_{t 1}^{u}right)=left[left(s_{t}^{u}, m_{1}, s_{t 1}^{u}right),left(s_{t}^{u}, m_{2}, s_{t 1}^{u}right), ldotsright]

对于每一个三元组

(s_t^u,m,s_{t 1}^u)

,定义函数

sigma(s_t^u,m,s_{t 1}^u)

通过边权重表示该模式的重要性,具体公式如下,如果边不存在,则权重为0。当然,σ这个函数也可以对应其他计算方法,这里简单起见用了加法。

sigma(s_t^u,m,s_{t 1}^u)=A(s_t^u,m) A(m,s_t^u) A(s_{t 1}^u,m) A(m,s_{t 1}^u)

最后,提取商品对的模式的特征

X(s_t^u,s_{t 1}^u) in mathbb{R}^9

,将每一种模式对应不同的三元组计算得到的重要性分数相加,然后拼接得到最后的向量。具体公式如下,

mathbf{X}_{k}left(s_{t}^{u}, s_{t 1}^{u}right)=sum_{left(s_{t}^{u}, m, s_{t 1}^{u}right) in H_{Delta_{k}}left(s_{t}^{u}, s_{t 1}^{u}right)} sigmaleft(s_{t}^{u}, m, s_{t 1}^{u}right)

在实践中,处理所有的模式会带来很多计算成本。因此,在本文中将候选三元组的最大数量固定为

0 人点赞