1.一种融合社交关系的图卷积协同过滤推荐方法,其特征在于,包括以下步骤:S1,随机初始化节点的嵌入矩阵并查询分别得到用户u和物品i的初始化嵌入;
S2,在获得节点的初始化嵌入之后,用语义聚合层来聚合并更新节点嵌入;首先在语义聚合层引入一阶语义聚合而后将一阶语义聚合扩展到各层,实现高阶语义聚合;
所述一阶语义聚合包括:
交互嵌入传播层通过聚合交互物品的嵌入来细化用户的嵌入,以及通过聚合交互用户的嵌入来细化物品的嵌入;一阶语义聚合分别如式(1)和式(2)所示:其中,eu表示通过交互嵌入传播层的语义聚合得到的用户u的嵌入;
AGG(·)是聚合函数;
Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合;
ei表示物品i的嵌入;
Hi代表物品i的一阶邻居集合,即和物品i发生过交互的用户集合;
社交嵌入传播层通过聚合朋友来细化用户的嵌入,将在社交嵌入传播层进行语义聚合的用户嵌入记为c,则社交嵌入传播层的一阶语义聚合过程如式(3)所示:其中,cu表示通过社交嵌入传播层的语义聚合得到的用户u的嵌入;
cv表示通过社交嵌入传播层的语义聚合得到的用户v的嵌入;
用户v是用户u的一阶好友,v≠u;
AGG(·)是聚合函数;
Fu代表用户u的朋友集合;
所述高阶语义聚合通过叠加多个一阶语义聚合层,实现高阶语义的聚合;所述高阶语义聚合包括:社交嵌入传播层的语义聚合和交互嵌入传播层的语义聚合:所述社交嵌入传播层的语义聚合包括:社交嵌入传播层的语义聚合通过叠加多个社交嵌入传播层来捕获更高阶的朋友信号以达到加强用户嵌入的目的,该过程的数学表达如式(4)和式(5)所示:其中, 表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量;
Fu代表用户u的朋友集合;
Fv代表用户v的朋友集合;
是指通过社交嵌入传播层的语义聚合得到的第k层的用户v的嵌入向量;
是指通过社交嵌入传播层的语义聚合得到的第k+1层的用户v的嵌入向量;
表示通过社交嵌入传播层的语义聚合得到的第k层的用户u的嵌入向量;
|·|表示求集合中元素的个数;
所述交互嵌入传播层的语义聚合包括:交互嵌入传播层的语义聚合通过叠加多个交互嵌入传播层来捕获交互高阶连通性的协同信号从而加强用户和物品嵌入,该过程的数学表达如式(6)和式(7)所示:其中, 表示第k+1层的物品i的嵌入;
Hi代表物品i的一阶邻居集合;
Hu代表用户u的一阶邻居集合;
表示第k层的用户u的嵌入;
表示第k+1层的用户u的嵌入;
表示第k层的物品i的嵌入;
|·|表示求集合中元素的个数;
S3,在分别得到社交嵌入传播层的语义聚合嵌入向量和交互嵌入传播层的语义聚合嵌入向量之后,先将社交嵌入传播层和交互嵌入传播层的用户嵌入向量进行融合;而后将各嵌入传播层得到的各阶嵌入进行加权求和融合得到最终的用户嵌入和物品嵌入;
所述融合的过程包括:
其中, 表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合;
表示通过交互嵌入传播层的语义聚合得到的第k层的用户u的嵌入;
表示通过社交嵌入传播层的语义聚合得到的第k层的用户u的嵌入向量;
g(·)为聚合方式;
所述最终的用户嵌入和物品嵌入包括:其中, 是对社交嵌入传播层和交互嵌入传播层进行融合的用户u的嵌入;
K表示总层数;
αk是在第k层对用户的嵌入进行聚合时的权重;
表示对社交嵌入传播层和交互嵌入传播层的第k层用户嵌入向量进行融合;
ei是物品i的嵌入;
βk是第k层对物品的嵌入进行聚合时的权重;
表示第k层的物品i的嵌入;
所述融合采用先逐元素相加,再行正则化的聚合方式:其中,norm(·)表示行正则化;
表示对 逐元素相加;
表示通过交互嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入;
表示通过社交嵌入传播层的语义聚合得到的第k+1层的用户u的嵌入向量;
S4,根据物品的嵌入为用户推荐产品。
2.根据权利要求1所述的一种融合社交关系的图卷积协同过滤推荐方法,其特征在于,所述S4包括:使用用户与推荐物品项的内积作为预测打分,如式(12)所示:其中, 表示预测打分的分值;
表示用户u的最终嵌入;
T
·表示转置;
ei表示物品i的嵌入。
3.根据权利要求1所述的一种融合社交关系的图卷积协同过滤推荐方法,其特征在于,所述的一种融合社交关系的图卷积协同过滤推荐方法可采用SRRA进行具体实施,SRRA包括以下步骤:S‑A,将用户‑物品交互矩阵记为 这里M和N分别是用户和物品的数量,Rui是R矩阵的第u行,第i列的值,其中用户u和物品i如果有交互则Rui=1,否则Rui=0;之后可以得到用户‑物品交互图的邻接矩阵,如式(14)所示:其中,A为用户与物品交互图的邻接矩阵;
R为用户与物品的交互矩阵;
T
·表示转置;
(0)
S‑B,让第0层的嵌入矩阵为E 得到第k+1层的用户或者物品嵌入矩阵如式(15)所示:其中,D是度矩阵;
A是邻接矩阵;
(k)
E 是第k层的用户或者物品嵌入矩阵;
S‑C,将用户社交矩阵记为 其中用户u和用户v是朋友关系则Suv=1,否则Suv=0,Suv是S矩阵的第u行,第v列的值;可以得到用户社交图的邻接矩阵,如式(16)所示:S‑D,让第0层的嵌入矩阵为 得到第k+1层的用户嵌入矩阵如式(17)所示:
其中,P为矩阵B对应的度矩阵;
B为用户社交图的邻接矩阵;
(k)
C 为第k层的用户嵌入矩阵;
(k) (k) (k) (k) (k)S‑E,分别截取矩阵E 和矩阵C 的关于用户嵌入的部分,分别记为Eu 和Cu ,Eu 和(k) (k) (k)Cu 都表示第k层的用户嵌入矩阵,其中Eu 是根据用户‑物品交互关系得来的,而Cu 是根据社交关系得来的;
(k) (k) (k) (k) (k)则矩阵E 的关于物品嵌入的部分记为Ei ,有E =concat(Eu ,Ei ),其中concat(k) (k) (k) (k)(Eu ,Ei )表示将Eu 和Ei 进行拼接;
S‑F,根据式(18)计算用户的表示:(k) (k) (k) (k)其中,sum(Eu ,Cu )表示对Eu 和Cu 进行求和;
norm(·)表示行正则化操作;
(k)
Eu 表示根据用户‑物品交互关系得到的第k层的用户嵌入矩阵;
(k)
Cu 表示社交关系得到的第k层的用户嵌入矩阵;
S‑G,根据式(19)通过融合各层的表示分别得到用户和物品的最终表示:其中, 表示最终的用户嵌入矩阵;
k表示第k层;
K表示总层数;
αk是在第k层对用户的嵌入进行聚合时的权重;
(k)
Eu 表示根据用户‑物品交互关系得到的第k层的用户嵌入矩阵;
表示最终的物品嵌入矩阵;
βk是第k层对物品的嵌入进行聚合时的权重;
(k)
Ei 表示第k层得到的物品嵌入矩阵;
S‑H,根据式(20)计算预测得分:其中, 表示预测得分;
表示 的转置;
表示最终的物品嵌入矩阵;
S‑I,使用BPR计算损失函数如式(21)所示:其中,其中LBPR表示矩阵形式的BPR损失;
M是用户的数量;
u是用户;
i,j都是物品;
Hu代表用户u的一阶邻居集合,即和用户u发生过交互的物品集合;
lnσ(·)表示σ(·)的自然对数;
σ(·)是sigmoid函数;
是指用户u对物品i的预测打分;
是指用户u对物品j的预测打分;
λ表示控制L2正则化的力度用于防止过拟合;
(0)
E 表示第0层的嵌入矩阵;
||·||表示范数。