1.一种应用于推荐场景的基于时空会话图的归纳式矩阵补全方法,其特征在于包括以下步骤:S1、数据预处理:提取用户历史交互数据中用户对项目的评级信息、用户与项目交互的时间信息,构建用户‑项目评级矩阵与用户‑项目时间戳矩阵;
S2、构建用户‑项目对的一跳邻居图:对评级矩阵中每一个用户‑项目对,根据用户‑项目二部图分别提取用户与项目的邻居节点,构建用户‑项目对的一跳邻居图;
S3、获取用户的会话子图:利用DBSCAN算法根据用户‑项目时间戳矩阵,对用户的交互项目进行基于时间密度的聚类,之后根据项目的聚类结果对用户‑项目对的一跳邻居图进行分割,获得用户‑项目对的会话子图集,每一个会话子图中的项目都是该用户在一段相邻近时间内的交互;
S4、学习用户局部兴趣表征:利用R‑GCN训练得到会话子图的表征向量,之后将用户‑项目对的会话子图表征向量进行拼接得到用户的局部兴趣表征向量;
S5、学习用户全局兴趣表征:利用元学习,学习会话子图之间的潜在关系,得到用户兴趣的全局表征向量:S6、学习用户‑项目对的时空邻居嵌入:使用多头注意力机制获取用户,项目对的时空邻居嵌入;
S7、回归预测:将用户的全局兴趣表征与用户‑项目对的时空邻居嵌入进行拼接得到用户的最终兴趣表征,之后将用户最终的兴趣表征向量输入到MLP层进行回归预测得到用户对项目的预测分数;
步骤S2具体包括以下步骤:
S21、根据评级矩阵构建用户‑项目二部图G,G中只含有两种节点:用户节点u和项目节点v,边只存在于用户u与项目v之间,边的特征为u对v的评级信息;u对应于评级矩阵中的行,v对应评级矩阵中的列;
S22、获取(u,v)对的一跳邻居,从二部图G中获取u的一跳邻居,即与v交互的所有用户user节点,获取v的一跳邻居,即获取与u交互的所有项目item节点,此过程可描述为:U={u},V={v} (1)
Uneighbor={ui∶ ui ~ V}\U (2)Vneighbor={vi∶ vi ~ U}\V (3)S23、构建(u,v)的一跳邻居图
U=U∪Uneighbor (4)
V=V∪Vneighbor (5)
利用得到的U、V从用户‑项目二部图G中导出(u,v)的一跳邻居图 构建一跳邻居图的评级矩阵。
2.根据权利要求1所述的一种应用于推荐场景的基于时空会话图的归纳式矩阵补全方法,其特征在于,所述步骤S4具体包括以下步骤:S41、节点标记:使用不同的标签来区分节点在子图中的不同角色,即区分目标用户、目标项目、用户类别的节点和项目类别的节点,否则,GNN无法判断在哪个用户和哪个项目之间进行评级预测,可能会丢失节点类型信息,将目标用户和目标项目标记为0和1,一跳用户节点标记为2,一跳项目节点标记为3;
S42、利用R‑GCN进行消息传递,获得节点表征:
其中, 代表节点i在l层的特征向量, 和 是可学习的参数矩阵;
S43、获取用户的局部兴趣表征:
首先将节点i在不同层训练的到的特征向量进行连接得到其潜在的表征向量hi,之后将用户的潜在表征向量hu和项目的潜在表征向量hv进行连接操作得到(u,v)会话图的表征,最后将(u,v)的所有会话表征进行连接操作即可得到用户的局部兴趣表征;
gi=concat(hu,hv) (8)
glocal=concat(g1,g2,…,gi) (9)其中,hu表示目标用户最终的潜在表征向量,hv表示目标项的最终潜在表征向量,gi表示(u,v)的一个会话图表征向量。
3.根据权利要求1所述的一种应用于推荐场景的基于时空会话图的归纳式矩阵补全方法,其特征在于,所述步骤S5具体包括以下步骤:S51、根据注意力机制获得每个会话子图的贡献值:
不同的会话子图有着不同的贡献,当将不同部分进行压缩时,注意力机制可以使得不同部分有着不同的贡献,因此首先采用注意力机制获得(u,v)的会话表征 此过程可表示为:′
aj=h(gi;θ) (10)
其中, 表示用户ui的会话子图序列;aj为用户ui的第j个会话子图的注意力分数,可解释为第j个会话子图在下一步元学习中的重要性;h(·)代表注意力网络,采用两层前馈神经网络,其中θ表示网络参数;
S52、利用元网络学习用户会话子图之间的关系:以用户的会话表征 作为输入,在用户的不同会话子图之间学习得到一个个性化的桥接函数,元网络可以表示为:其中,g(·)表示元网络,这里采用两层前馈神经网络, 是网络参数, 是一个向量,其形状取决于桥接函数的结构;
S53、学习用户全局兴趣表征:
将S52中利用元网络学习得到的 用作桥接函数的参数,将用户ui的局部兴趣表征glocal作为输入,个性化桥接函数可以表示为:利用一层线性层作为桥接函数,其输出即为用户的全局兴趣表征:
4.根据权利要求1所述的一种应用于推荐场景的基于时空会话图的归纳式矩阵补全方法,其特征在于:所述步骤S6具体包括以下步骤:S61、对于每一对(u,v),构建用户u的时序交互序列Tu={v1,…vs}以及项目v的时序交互序列T={u1,…,us},其中s是一跳的邻居数量;
M
S62、获得用户和项目的初始表征向量:对于任意用户u、项目v,在用户嵌入矩阵EU∈R×d M×d和项目嵌入矩阵EV∈R 中执行查找操作获得用户u和项目v的初始嵌入 由此可获得时序的表征矩阵:S63、利用k头注意力机制学习(u,v)一跳邻居嵌入矩阵:首先利用点乘注意函数学习得到k个(u,v)一跳邻居嵌入矩阵,具体来说多头注意首先将时间输入嵌入Xu/Xv映射到具有各种线性映射矩阵的k个子空间中,然后使用k尺度点积注意函数并行生成一跳邻居的输出嵌入矩阵,该过程可表示为:其中Xu/Xv为用户u/项目v的时序输入表征矩阵,
之后将这些嵌入矩阵连接起来产生一个组合的邻域嵌入矩阵,应用一个前馈神经网络来进行维数变换,中心用户u和中心项目v的时空邻居嵌入可以计算为:D′×d d
其中W0∈R ,b0∈R,时空邻居嵌入矩阵可以以时序的形式表示为S64、利用平均池操作来聚合时空邻居嵌入,得到聚合后的邻居嵌入nu,nv,其过程可以表示为:
5.根据权利要求1所述的一种应用于推荐场景的基于时空会话图的归纳式矩阵补全方法,其特征在于:所述步骤S7具体包括以下步骤:S71、将用户的全局兴趣表征与用户,项目对的时空邻居嵌入进行拼接操作得到用户的最终兴趣表征:g=concat(gglobal,nu,nv) (25)S72、获得用户的最终兴趣表征之后,利用MLP来进行评级预测,其过程可表述为:其中W和w是MLP的参数,其将表征g映射到一个标量评级分数,σ是激活函数,用ReLU作为其激活函数;
S73、最小化 与真实评分之间的均方根误差来进行优化,损失函数表示为:
6.根据权利要求1所述的一种应用于推荐场景的基于时空会话图的归纳式矩阵补全方法,其特征在于:利用该方法进行电影推荐,具体为步骤S3中利用DBSCAN密度聚类法获取用户与电影项目的会话子图,根据用户‑项目时间戳矩阵,对用户的交互项目进行基于时间密度的聚类,之后根据项目的聚类结果将用户‑项目对的一跳邻居图进行分割得到用户‑项目对的会话子图集,每一个会话子图中的项目都是该用户在一段相邻近时间内的交互,用户在某段向邻近时间段内交互的项目之间具有更高的相似性,对用户的短期兴趣表征有着更高的贡献。
7.根据权利要求6所述的一种应用于推荐场景的基于时空会话图的归纳式矩阵补全方法,其特征在于:在进行电影推荐时,所述步骤S5中利用元学习自主学习获取用户会话子图之间的时序关系,将用户的短期兴趣和长期兴趣进行了融合。