[0038] 为了进一步理解本发明,下面结合具体实施方式对本发明提供的一种基于多模态交叉融合图网络的会话社交推荐方法进行具体描述,但本发明并不限于此,该领域技术人员在本发明核心指导思想下做出的非本质改进和调整,仍然属于本发明的保护范围。
[0039] 会话社交推荐任务是给定用户历史交互序列和社交网络关系,对用户的兴趣和社交影响进行建模,来推荐用户在下一步最可能感兴趣的物品。为了描述清楚,对用到的变量和公式给出相关定义。
[0040] 定义1.U:用户集合。
[0041] 定义2.V:物品集合。
[0042] 定义3.G:关于用户和用户关系的社交网络。
[0043] 定义4.N(i):社交网络G中用户ui的邻居集合。
[0044] 定义6. 物品vj的多模态向量表征,m∈{a,b}。物品模态a是主图,物品模态b是标题文字描述。
[0045] 定义7. 物品vj模态a的向量表征。
[0046] 定义8. 物品vj模态b的向量表征。
[0047] 定义5. 用户ui在当前时间会话的多模态表示,会话是一个时间段里的物品集合,且m∈{a,b}。会话在模态a下的表示是 会话在模态b下的表示是
[0048] 定义9. 从用户行为得到的用户ui的多模态下的兴趣向量表征,且m∈{a,b}。
[0049] 定义10. 用户ui的朋友们的兴趣对用户ui不同模态兴趣的社交影响。
[0050] 定义11. 用户ui的在不同模态空间下总的兴趣向量表征,通过综合考虑 和得到。
[0051] 为了给用户推荐下一步最可能感兴趣的物品,本发明提出了一种基于多模态交叉融合图网络的会话社交推荐方法。本方法中物品的特征是多模态(multi‑modal)的,特征包括物品主图和物品标题文字描述这两种模态。如何在社交网络中将两种模态进行有效融合是本方法的重点。本方法先基于序列表征方法得到所有用户在不同模态下的兴趣向量表征,然后采用基于动态路由的多模态图网络进行模态融合。基于动态路由的多模态图网络是本方法的新颖之处。如图3所示,图3是多模态图网络中节点v1向节点v2的信息传递示意图。(a)、(b)和(c)子图是介绍其他已有的方法,(d)子图是本发明中提出的方法。(a)子图是将同一节点的两个模态进行连接,当做一个整体来进行信息传递。(b)子图是单独对两个模态建图,只有相同模态之间才有信息传递,且相同模态之间的信息传递不受其他模态的影响。(c)子图既考虑节点间相同模态之间的信息传递,又考虑不同模态之间的信息传递。但是没有考虑到同一节点的不同模态信息向邻居节点传递信息过程的联系。(d)子图是本方法提出的基于动态路由的多模态图网络。节点v,的不同模态在向节点v2的传递信息的过程是互相影响的。连接系数c控制节点v1模态特征向节点v2传递信息的多少,代表节点v1模态特征的重要程度。节点v1的a模态特征 和b模态特征 向节点v2传递信息的动态路由参数aa ba aa bac 和c 由节点v1的a模态特征 和b模态特征 共同决定,且动态路由参数c 和c 互相影响。也就是节点v1的a模态特征 向节点v2传递信息过程受到节点v1的b模态特征 影响,同样,节点v1的b模态特征 向节点v2传递信息过程也受到节点v1的a模态特征 影响。
[0052] 本方法主要由三个部分组成,如图2所示。第一部分采用长短期记忆网络生成不同模态空间下的当前会话向量表征,目标用户在不同模态空间下的当前会话向量表征即是不同模态空间下的用户兴趣向量表征。第二部分是采用基于动态路由的多模态图网络从社交网络中得到朋友对目标用户的社交影响。第三部分是综合考虑用户兴趣和社交影响,预测用户下一个点击的物品。
[0053] 如图1所示,按照本发明的一个实施例,本方法包括如下步骤:
[0054] S100,构建目标用户ui的社交网络G,令:
[0055] G={U,E}
[0056] 其中,U表示社交网络中目标用户ui的朋友集合,E是目标用户的社交连接。
[0057] S200,使用长短期记忆网络生成不同模态空间下的会话向量表征,目标用户当前会话向量表征即是用户兴趣向量表征。构建用户会话向量表征,任一会话表示为S={v1,v2,…,v0}。其中vj是会话中第j个物品。构建用户会话向量表征采用长短期记忆网络(LSTM):
[0058] zS=LSTM(Q(:,S))
[0059] 其中,Q是物品的向量矩阵,Q(:,S)代表出现在会话S中所有的物品向量。LSTM具体公式为:
[0060] ij=σ(Wixj+Uihj‑1+bi)
[0061] fj=σ(Wfxj+Ufhj‑1+bf)
[0062] oj=σ(Woxj+Uohj‑1+bo)
[0063] cj=ijtanh(Wcxj+Uchj‑1+bc)+fjcj‑1
[0064] hj=ojcj
[0065] 其中,不同模态的公式相同且参数不共享,因此公式中省略了模态参数m∈{a,b}。xj是会话序列中第j个物品的向量表征。长短期记忆网络的最后一层的隐藏状态hj的输出就是会话向量表征zS。 和 分
别是控制输入门ij、遗忘门fj和输出门oj的参数,d代表物品向量的维度;σ为sigmoid函数;
所有这些参数和输入:隐层状态hj‑1、当前输入xj共同参与计算,来输出结果hj。分别用长短期记忆网络对会话模态a的表示 和模态b的表示 进
行特征建模,得到目标用户的兴趣向量表征 m∈{a,b}。他的第l个朋友的表征为最近会话 的向量表征为 m∈{a,b}。
[0066] S300,根据社交网络G,采用基于动态路由的多模态图网络计算朋友对目标用户的社交影响。以下是多模态社交图网络中目标用户的朋友兴趣特征对目标用户模态a的社交影响的计算过程:
[0067]
[0068] 其中, 是模态m,m∈{a,b}到模态a的转换矩阵。 是目标用户第l个朋友在模态m下的兴趣向量表征, 是目标用户ui在模态a下的兴趣向量表征。r代表动态路由的迭代次数。 是目标用户第l个朋友的模态m到目标用户ui模态a的连接参数, 是参数归一化后的连接参数。softmaxl为softmax函数,可以得到不同朋友的不同模态对目标用户模态a的重要程度。AGGREGATEl函数表示将目标用户的所有朋友信息聚合,采用求和(SUM)计算方法。squash是胶囊网络中常用的squash向量激活函数。N(i)是目标用户ui的朋友集合,图网络节点信息更新后的 即是朋友对目标用户模态特征a的社交影响。以上是朋友对目标用户模态a的社交影响计算过程,朋友对目标用户模态b的社交影响计算过程相同。而本方法 借鉴于注意力机制中的归一化方式。具体公式如下:
[0069]
[0070] S400,结合目标用户兴趣和社交影响,获得用户最终向量表征。用户的兴趣由他当前会话行为和社交影响共同决定,用户的最终表示就由全连接层合并两者得到,令:
[0071]
[0072] 其中, 是线性转化矩阵, 为目标用户ui行为表现出的多模态空间下的兴趣向量表征, 是多模态空间下的朋友对目标用户ui的社交影响, 为向量拼接操作。
[0073] S500,根据用户最终向量表征和物品向量表征,推荐物品。将物品vj的向量 乘以用户兴趣向量 再应用softmax函数计算出物品vj的分数:
[0074]
[0075] 其中, 和 代表用户在模态空间a和b下的兴趣向量, 和 是物品vj在模态空间a和b下的向量表征。 代表物品vj成为下一个交互的可能性。同时根据 的对数似然函数值,计算损失函数:
[0076]
[0077] 其中,yj代表vj的one‑hot编码, 函数用梯度下降法来最优化。
[0078] 上述对实施例的描述是为方便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。