1.一种基于图神经网络的多关系协同过滤方法,其特征在于,包括:U
步骤1,对用户与物品的历史交互数据进行处理,从中抽取所有用户序列S 和物品序列IS;
U I U U U
步骤2,分别将每个用户序列S和每个物品序列S分别构造为用户关系图G=(V ,E)和I I I U U物品关系图G =(V ,E),其中,V为用户关系图中的所有用户节点,E为用户关系图中的用I I户节点之间边的集合,V为物品关系图中的所有物品节点,E为物品关系图中的物品节点之间边的集合;
U I
步骤3,同时将用户ID、物品ID和对应的用户关系图G 、物品关系图G 输入到MRCF模型中,通过初始化嵌入矩阵分别将用户ID、物品ID、用户关系图中的用户节点和物品关系图中d d的物品节点映射为嵌入向量,分别表示为eu∈R 、ei∈R 、 和 其中,d表示嵌入向量的维度;具体包括:MRCF模型设置有输入与嵌入层、关系化图神经网络、简单点积注意力机制、交互层和预测层;
输入与嵌入层分别将一个用户ID映射为一个嵌入向量和一个物品ID映射为一个嵌入d d向量,符号分别为eu∈R和ei∈R,并将用户关系图和物品关系图中节点的嵌入向量分别描述为 和 其中,d表示嵌入向量的维度;通过构造一个参数矩阵,实现一个嵌入向量的查找表如下所示:其中,u表示用户,i表示物品,M和N分别表示用户和物品的数目;
步骤4,对步骤3中得到的用户关系图和物品关系图中的节点嵌入向量 和 通过关系化图神经网络来学习用户关系图中的用户节点之间的复杂关系和物品关系图中物品节点之间的复杂关系,得到不断更新之后的节点嵌入向量 和步骤5,对于步骤4得到的所有节点更新之后的嵌入向量 和 可以组成用户关系图的嵌入矩阵Gu和物品关系图的嵌入矩阵Gi,再通过简单点积注意力机制学习不同历史用户节点关系对目标用户的影响和不同历史物品节点关系对目标物品的影响,并生成用户关系图和物品关系图的全局表示gu和gi;
其中,所述步骤5具体包括:
对于步骤4中所得到更新之后的图节点嵌入向量,提出了一种改进的点积注意力机制:简单点积注意力机制,显式的建模关系图对目标用户和目标物品的影响,并且赋予每个节点嵌入不一样的权重后汇聚生成关系图的动态全局表示,简单点积注意力机制的形式化表示如下所示:其中,Q,K,V分别代表向量矩阵,Q表示queries,k表示keys,V表示values,Wq表示用于映射的参数矩阵, 表示缩放因子,为了防止点积操作产生过大的输出值将Softmax函数推入梯度极小的区域;
使用当前的用户嵌入向量eu或物品嵌入向量ei作为Q,用户关系图或物品关系图中的节点嵌入同时 作为k 和V ,用户关系图中 节点的嵌 入矩阵可以 被定义 为物品关系图中节点的嵌入矩阵可以 被定义为因此,注意力函数的输入中Q等同于用户的嵌入向量eu或物品的嵌入向量ei,K和V等同于用户关系图中的节点嵌入矩阵Gu或者物品关系图中的节点嵌入矩阵Gi,关系图中节点嵌入向量对当前用户或者物品的影响可以用以下公式计算:gu=Attention(eu,Gu,Gu) (9)
gi=Attention(ei,Gi,Gi) (10)其中,eu或ei等同于公式(8)中输入的Q,gu或gi等同于公式(8)中输入的K和V,Gu表示用户关系图中节点的嵌入矩阵,Gi表示物品关系图中节点的嵌入矩阵;
步骤6,对于步骤3得到的用户ID和物品ID的嵌入向量eu和ei,步骤5得到的对应的用户关系图和物品关系图的全局表示gu和gi,将用户关系图的全局表示gu和用户ID的嵌入向量eu相连接,将物品关系图的全局表示gi与物品ID的嵌入向量ei相连接;
步骤7,通过训练模型,最小化模型的损失函数,计算出损失函数的梯度,通过梯度的反向传播优化模型的参数,生成推荐模型。
2.根据权利要求1所述的基于图神经网络的多关系协同过滤方法,其特征在于,所述步骤4具体包括:关系化图神经网络将用户与物品的交互显式地建模并且融合到学习物品关系图和用户关系图中节点的嵌入向量的过程中,关系化图神经网络在每次更新物品关系图中节点的嵌入向量前对节点的嵌入向量的信息进行重新构建如下所示:其中, 表示重新构建后的节点的嵌入向量,Wr表示可以训练的权重矩阵,将节点信息映射到潜在空间中,将用户u和物品i的交互信息通过 的方式编码进了节点的信息传递中,⊙表示逐元素相乘, 表示归一化系数,Nu表示用户u历史交互过所有的物品;
使节点信息在物品关系图中进行传播,即为每个节点汇聚它们邻居节点的嵌入向量,在第t个时间步,第k个物品节点的信息传播过程可以定义为如下公式:其中,T表示节点信息传播的次数,A表示用户u对应的物品关系图的邻接矩阵,Ak表示邻接矩阵的第k列,表示了节点k与其他节点的邻接关系,若物品i与物品j相连,则Aij=wij,否则为0,ak为汇聚了节点k的所有邻居节点之后的信息,在节点之间的信息传递完成后,使用门控循环单元来控制上一个时间步的邻居节点的信息的融入,并且更新当前节点的嵌入向量:生成更新门如下所示:
其中,z表示更新门;
生成重置门如下所示:
其中,r表示重置门;
生成节点当前时间步的侯选嵌入向量如下所示:
在门的控制下,将侯选嵌入向量和节点上一个时间步的嵌入向量进行合并,作为节点的更新之后的嵌入向量如下所示:在节点信息传播了T次步骤之后,得到物品关系图中每个节点最终的嵌入向量 使用 代替 物品关系图中每个节点的最终嵌入向量不仅包含了节点自身的特征,还包含了T跳的邻居节点的特征。
3.根据权利要求2所述的基于图神经网络的多关系协同过滤方法,其特征在于,所述步骤6具体包括:将用户关系图的全局表示gu和用户ID的嵌入向量eu相连接,将物品关系图的全局表示gi与物品ID的嵌入向量ei相连接如下所示:其中, 表示目标用户最终向量表示, 表示目标物品的最终向量表示,式(11)中“||”符号表示向量连接操作,通过这种方式,能学习到用户关系对目标用户的影响,还能学习到物品关系对目标物品的影响。
4.根据权利要求3所述的基于图神经网络的多关系协同过滤方法,其特征在于,所述步骤6还包括:多层感知机的具体形式为:
其中,WL表示第L层感知机的权重矩阵,bL表示第L层感知机的偏置向量,ACT表示激活函数,aL表示第L层感知机的输入向量;通过多层感知机学习 和 之间的高阶交互,最后预测用户对物品的交互分数 所述基于图神经网络的多关系协同过滤方法使用整流线性单元作为激活函数,在获得了交互层的输出aL后,计算预测分数 作为用户和物品交互的概率,计算方式如下:其中,σ(·)是sigmoid函数,W表示预测层的权重矩阵,通过公式(13),MRCF模型会输出一个0到1范围内的值,作为预测用户对物品的兴趣值。
5.根据权利要求4所述的基于图神经网络的多关系协同过滤方法,其特征在于,所述步骤7具体包括:MRCF模型的损失函数采用的是二元交叉熵损失函数,如下所示:其中, 表示MRCF模型预测用户u对物品i的交互分数,yui表示训练样本中用户u对物品i的真实交互分数。