#论文题目:MAN:Mixed Attention Network for Cross-domain Sequential Recommendation(跨领域顺序推荐的混合注意网络)
#论文地址:https://dl.acm.org/doi/10.1145/3543507.3583278
#论文源码开源地址:https://github.com/Guanyu-Lin/MAN
#论文所属会议:WSDM‘23
#论文所属单位:卡耐基梅隆大学、清华大学、快手科技、合肥工业大学
一、摘要
本文提出了一种具有局部和全局注意模块的混合注意网络(MAN)来提取特定领域和跨领域的信息。首先,提出了一个局部/全局编码层来捕获特定领域/跨领域的序列模式。在此基础上,提出了一个包含项目相似度、序列融合和群体原型的混合注意层,用于捕获局部/全局项目相似度,融合局部/全局项目序列,并分别提取不同领域的用户群体。最后,提出了一个局部/全局预测层,以进一步发展和结合特定领域和跨领域的兴趣。进一步的研究还表明,提出的方法和组件分别是模型无关的和有效的。
二、问题预定义
在跨域顺序推荐问题中,首先用A和B表示两个域,定义 I I IA和 I I IB分别表示定义域a和b中的项目集,更具体的,假设 i i itA∈ I I IA和 i i itB∈ I I IB是第 t t t个给定用户交互的在域A和B项目,因此,可以得到( i i i1A, i i i2A, …, i i itA)和( i i i1B, i i i2B, …, i i itB)。最终是要判断模型预测的 i i it+1A和 i i it+1B。
具体来说:
Input:对于用户在域A和B中,物品序列( i i i1A, i i i2A, …, i i itA)和( i i i1B, i i i2B, …, i i itB)。
Output:跨领域推荐模型估计目标项目 i i it+1A和 i i it+1B分别在域a和b中,被给定用户与项目序列交互的概率( i i i1A,
i i i2A, …, i i itA)和( i i i1B, i i i2B, …, i i itB)。
三、模型结构
总体来说,模型分为三部分:
- 局部/全局编码层。为项目构建特定领域的本地和跨领域的全局嵌入。进一步分别使用本地和全局编码器对它们进行编码,以捕获特定领域和跨领域的项目序列模式。
- 混合注意层。提出了项目相似性注意、序列融合注意和群体原型注意来捕获项目、序列和群体水平上的跨领域模式
- 局部/全局预测层。为了进化兴趣并预测用户在每个领域中与候选人下一个项目交互的概率,提出了一个局部预测层和一个全局预测层。
3.1 局部/全局编码层
首先构建本地和全局项目嵌入。然后,进一步查找项目嵌入,并在序列级别用本地和全局编码器对它们进行编码。
3.1.1 本地和全局项目嵌入
为了捕捉不同领域的领域特定模式,创建了两个项目嵌入矩阵
M
M
M𝐴 ∈
R
R
R |I𝐴|×𝐷和
M
M
MB ∈
R
R
R |IB|×𝐷,其中𝐷表示潜在维度。然后,为了捕捉跨不同领域的共享项目特征,从表征学习的角度,假设存在共享的潜在空间,其中不同领域具有共同的表征;因此,创建一个共享嵌入矩阵
M
M
M∈
R
R
R|i𝐴∪i𝐵|×𝐷’。
之后,通过加入位置编码,得到域A和B项目的局部和全局嵌入:
3.1.2 序列的局部编码器和全局编码器
在从嵌入层获得 E E EA, E E EB, E E EAg, E E EBg之后,应用序列编码器来学习序列模式。这里提出如下的局部编码器和全局编码器:
注意,这个Encoder是序列推荐的骨干模型(如:SASRec、SURGE等)。基于上述操作,得到了
S
S
SA(
S
S
SB),
S
S
SAg(
S
S
SBg)分别代表域A (B)中的局部序列模式和全局序列模式。
3.2 混合注意层
在本节中,首先提出项目相似性注意,以从局部和全局空间中提取相似项目。然后,提出序列融合注意来进一步融合局部和全局项目序列表示,这将结合特定领域和跨领域的序列模式。最后,提出群体原型注意来提取跨领域的群体模式。
3.2.1项目相似性注意
为了捕捉局部/全局项目嵌入和目标项目嵌入之间的相似性,首先将来自局部空间(即,
E
E
E𝐴𝑗和
E
E
E𝐵𝑗)和全局空间(即,
E
E
E𝐴𝑔𝑗和
E
E
E𝐵𝑔𝑗)的项目嵌入融合在一起。具体地,给定域A (B)中的用户,可以如下计算他/她的历史项目和目标项目之间的项目相似性得分
F
F
F𝐴 (
F
F
F𝐵):
M
M
MiA和
M
M
MiB表示域A (B)的目标项的嵌入,而 || 表示连接操作。基于项目相似性分数,然后可以对相似的历史项目的嵌入进行加权,以如下精炼项目嵌入,
其中
E
E
E 𝐴𝑖和
E
E
E 𝐵𝑖 ∈
R
R
R 𝑇×𝐷分别是目标条目的相似历史条目在域a和域b中由
F
F
F𝐴和
F
F
F𝐵的相似性分数加权的表示。这里𝐴𝑖和𝐵𝑖分别指𝐴和𝐵领域的项目相似性。
3.2.2 序列融合注意力
在获得
S
S
S𝐴、
S
S
S𝐵、
S
S
S𝐴𝑔和
S
S
S𝐵𝑔之后,然后将它们融合以将特定于域的和跨域的序列模式组合在一起,如下所示(下述部分直接上图了),
3.2.3 群体原型注意
尽管不能跨域利用重叠的用户id,但是通常存在具有相似偏好的用户组。具体来说,首先汇集每个序列以获得与每个组的相关性。然后,利用多个组原型来聚合项目组,并根据它们的相关性对它们进行加权。
- 团体利益共享。对于一个用户的一个物品序列,它实际上不仅仅属于一个集团原型。相反,它可以是几个不同重量的原型的混合组合。例如,用户可以同时是青少年和篮球爱好者。因此,提出了一个可学习的软集群分配矩阵,以计算𝑁𝑔集团的重要性。具体来说,每个用户的项目序列首先由一个汇集矩阵
W
W
W𝑃𝐴 ∈
R
R
R 𝑁𝑔×𝑇 (
W
W
W𝑃𝐵 ∈
R
R
R 𝑁𝑔×𝑇)汇集,在此基础上,用户与每个组的相关性可以计算如下:
- 群体利益聚合。然后,创建𝑁𝑔集团原型嵌入G ∈
R
R
R𝑁𝑔×𝐷代表利益集团。这些嵌入然后可以被转换到每个域,聚集典型的相关项目如下,
其中 G G G𝐴和 G G G𝐵 ∈ R R R 𝑁𝑔×𝐷分别是获得的a域和b域序列的群原型表示。这里CA层类似于方程(8)。然后,可以基于如下相关性分数对所有组原型表示进行加权,
- 群体原型解开。根据定义,每个组原型显然应该是不同的。因此,受解开表征学习进展的启发,提出原型解开正则化如下,并将其加入到总体损失函数的计算过程中:
3.3 局部/全局预测层
在这一部分,首先通过相应的预测层发展局部和全局兴趣。然后用每个域的目标函数对它们进行优化。
3.3.1局部和全局预测层
利用提出的混合注意网络(项目相似性注意、序列融合注意和群体原型注意),将输出连接在一起,并将它们馈送到提出的局部预测层以及基于MLP的全局预测层,其可以被公式化如下:
3.3.2 独立更新的目标函数
然后,利用负对数似然函数进行优化,可以用公式表示如下:
为了跨两个域进行联合优化,最终的目标函数是等式2中计算的
L
L
L𝐴、
L
L
L𝐵和
L
L
L𝑔的线性组合,最终的损失函数为:
其中,θ𝐴和θ𝐵是可学习参数集,𝜆 𝐴和𝜆 𝐵分别作为域a和域b的正则化罚超参数。
讨论。不同于现有的基于桥用户的跨域顺序推荐工作,如PiNet和DASL,提出的MAN模型并不严格要求两个域的项目序列同时作为输入,因为提出的模型的每个域的输出不需要另一个域的输入。也就是说,模型中的每个域都可以独立地更新它的参数。如果没有来自任何域的输入,可以很容易地删除该域的优化目标,例如等式的损失函数(18)如果没有来自域a的输入,将被简化为
在现实世界的在线推荐中,由于来自两个域的新收集的数据总是不同步的(MAN可以针对每个域迭代优化),所以MAN更实用。
四、实验