论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling

论文信息

Jiarui Qin,Kan Ren,YuchenFang, Weinan Zhang,Yong Yu:
Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling. 465-473
原文下载:https://arxiv.org/abs/1911.03883

Abstract

用户行为的顺序隐含了很多顺序模式,这些嵌入在用户历史行为中的顺序模式显示了用户兴趣的潜在动态。已经有很多不同的序列推荐方法去建模用户的动态行为,但是这些模型都只考虑了用户自己的行为和动态,而忽视了用户与物品的协同关系(即用户的相似爱好(tastes)或物品的类似属性)。此外,大多数已有的方法都只考虑了user-side的序列,而忽视了item-side的时间动态(temporal dynamic)。为了解决这些问题,本篇论文提出了一个模型SCoRe,它通过一个跨邻居的关系模型可以有效地挖掘高阶的协同信息;此外,通过同时考虑user-side 和 item-side的历史序列可以更好地捕捉用户和物品的动态。

Introduction

Sequential recommendation的任务就是从用户的行为序列中挖掘丰富且复杂的temporal dynamics。已经有很多工作来干这件事情,有基于RNN、CNN以及transformer等方法的,虽然这些工作取得了很大的成功。但这些方法仍然有他们的局限性。第一,大多数工作都只考虑了用户(或物品)本身的交互历史信息,却忽略了用户(或物品)与他们的相似用户(或物品)之间的协同信息。如果我们把用户和物品之间的交互关系当作一个二分图的话,我们会发现用户(这里记作u1)的一跳邻居(这里记作n1)就是相应的他交互的物品,而二跳邻居就是和他一样与n1交互过的用户(u2),这里我们将u1,u2之间的关系称为高阶协同关系(high-order collaborative relations)。通过这种方式,我们就可以找到目标用户(物品)的协同信息。通过将这些协同关系整合近用户和物品的表示中,我们就可以建模更加复杂的不同的用户兴趣(item attraction)。而且通过一个sequential way去建模协同信息可以更好地处理temporal dynamics。另一个局限性是现在的模型都只考虑了user-side的时间动态而忽视了item-side的时间动态信息。User-side的序列包含了用户浏览过的物品,这个序列隐含了用户的一个兴趣变化情况;而item-side的序列所包含的序列模式(即在不同的时间物品所吸引的不同的用户)也表现了流行趋势、社会话题的变化等物品动态(item dynamic)。例如即使一个用户之前从没与任何圣诞贺卡之类的物品交互过,但因为圣诞节的来临,以及和该用户有相同兴趣或者有协同关系的用户被圣诞贺卡所吸引,所以就会推荐圣诞贺卡给该用户。(个人觉得这个例子有点没解释通他的说法)。Item-side的序列建模与信息传播相似,也就是说物品信息在不同的时间点从一个用户传播到另一个用户,并预测哪一个用户会是下一个被传播的。虽然之前也有工作考虑将item-side和user-side的信息同时利用起来,但这些工作以一种相对独立的方式考虑,只在最后预测的时候才考虑两者之间的交互,而作者这里以一种更具交互性的方式来建模,这意味着两个序列的信息在时间轴上都有相互作用。当我们从这两方面进行协同关系的捕捉时,我们很自然地在同一时间同时考虑两个序列。

Preliminary

在推荐系统中,U={u_1,……,u_M }表示M个用户,V={v_1,……,v_N }表示N个物品。在用户交互历史中,任何用户都可能会发现对某些物品的兴趣,表示如下:Y={y_uv|u∈U,v∈V},如果u与v交互过,则y_uv为1,否则为0。在序列推荐中,每一个用户-物品交互对应一个时间戳ts,因此我们用一个三元组(u,v,ts)表示一个交互,则所有交互记录表示为T ={u,v,ts}。
1、 Interaction Relations
对一个我们需要预测概率的目标对(u,v),我们要抽取u和v的一些交互关系。因此这里有两个概念。
Interaction Set
G(u)={vj | y_u,vj=1}(用户u的交互集为用户u交互过的所有物品)
G(v)={ui | y_ui,v=1}(物品v的交互集为与物品v有过交互的所有用户)
Co-Interaction set:为了显示地捕捉用户和物品的协同关系(即相似用户或相似物品),很自然的就是考虑有相同兴趣的用户或者吸引相同用户的物品,因此,为用户u和物品v分别定义了一个共同交互集。

用户u的共同交互集:
G(v|u) = {ui | y_ui,vj=1,vj∈G(u)},即与用户u有相似行为的用户,因为这些用户都与用户u的交互集有交互。

物品v的共同交互集:
G(u|v) = {vj | y_ui,vj=1,ui∈G(v)},因为这些物品都与物品v吸引相同的一组用户(即被物品v吸引的那一组用户)
2、 Evolving Time-sliced Interaction Relation
因为用户在不同的时间点会与不同的物品进行交互,那么这种交互关系也会随时间一直发生变化,这可以看作是一系列按时间划分的过程。为了更好地建模交互关系的时间模式(temporal patterns),我们将整个时间轴划分为T个时间帧,每一个时间帧都在统一的时间间隔ΔT内构建。这样,我们将所有观察到的交互T被分为T个时间帧,每个时间帧中包含所有发生在这个时间帧t内的交互记录三元组(u,v,ts),通过这个交互记录,我们可以构建用户u和物品v的交互关系如下:
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
3、 Task definition
推荐系统的目标是估计目标用户u与给定物品v交互的概率,本篇论文中的定义为Y_u,v = f (u,v|G_u,G_v ; θ),其中G_u为用户的交互历史,G_v为物品的交互历史
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling

Methodology

1、 high-order collaborative relation mining
为了建模跨邻居协同关系,我们提出了一个共同注意网络(Co-Attention Network)。我们不仅考虑用户交互的所有物品与目标物品之间的关系还考虑用户交互的所有物品与目标物品的协同邻居之间的关系
在每一个时间片,我们计算一个共同注意关系矩阵(co-attention
relatedness matrix),每个元素的计算公式为:论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
v是目标物品的embedding

然后通过一个softmax函数,得到共同注意矩阵(co-attention matrix),每个元素的计算公式如下:
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
同样的计算方式,我们得到用户u的共同注意关系矩阵和共同注意矩阵
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
然后通过对两个共同注意矩阵按行和按列做一个sum pooling,得到四个注意力向量(attentive vector)
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
2、 Interactive Dual Sequence Modeling
在上一节中我们得到了用户u和物品v在一个时间片上的复杂表示,通过这中方式,我们最终得到用户和物品在整个时间轴上的复杂表示:
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
然后我们将这个作为GRU的输入去建模用户u和物品v的时间动态(temporal dynamics),最终得到user-side和item-side的时间表示序列为:
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
考虑到不同时间片对最终预测的影响不同,这里引入了一个交互注意力机制
(Interactive Attention Mechanism.)我们同时考虑两个交互序列信息来计算注意力权重:
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
3、 Final Prediction and Loss Functions
Final Prediction:
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
f 通过**函数为relu的MLP实现

Loss Function:
论文笔记Sequential Recommendation with Dual Side Neighbor-based Collaborative Relation Modeling
Lce为cross entropy loss; Lr为参数正则化 Θ为MLP的参数,theta(另一个)为GRU的参数