一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

融合社交关系和语义关系的图神经网络推荐方法及系统与流程

2022-03-19 21:08:35 来源:中国专利 TAG:


1.本发明属于图神经网络推荐技术领域,尤其涉及一种融合社交关系和语义关系的图神经网络推荐方法及系统。


背景技术:

2.目前,推荐算法最传统的为通过计算用户或者是项目的近邻从而进行推荐的协同过滤算法,因为原本算法存在局限性,引来了不少研究人员对于其进行改进。为了解决数据稀疏与冷启动问题,有了上下文信息的研究,传统的利用上下文信息的推荐算法是将上下文信息作为计算相似度时的补充,如现有文献利用了标签信息作为补充,用于协同过滤中的相似度计算,能解决新用户或者是新项目刚添加进来时数据缺失导致的无法进行推荐的问题,而且充分考虑了像传统协同过滤算法中的用户与项目之间的评分关系以及其他方面信息,所以在一定程度上也提高了推荐的准确度。但是这些算法只能融入一种上下文信息,得不到综合多方面的推荐结果。
3.传统的算法所用的数据都是具有特定规则的欧式空间下的数据,如大部分的推荐系统算法它们往往使用的就是用户-项目评分矩阵,以此矩阵作为特征值矩阵,求每个向量之间的相似度。用户没有评分过的项目其实不应该作为用户的特征值,所以强行构建出来的用户-项目评分矩阵就很容易出现数据稀疏的问题,从而因为数据稀疏无法计算相似度导致了推荐算法准确度不高的问题。在现实生活中的数据大多数都不是具备特定规则的欧式空间下的数据。比如,用户与项目之间的评分交互它们因为常常在推荐系统中使用且往往构造成矩阵模式,但其实这样的交互信息更像是图谱化的一种结构,每个节点与其他节点的连接不像是矩阵那样都有特定关联,而它们之间的是不固定的,可以有可以没有。为了对这种数据有更好的分析和数据捕捉与挖掘,提出了图神经网络。而在推荐系统中大多数关系都是类似于图谱的,且因为在图关系数据中图神经网络的应用有着很好的效果所以图神经网络在推荐领域上得到了广泛的利用。现有文献提出了gc-mc模型,利用的图信息为用户-项目的评分二部图,使用mean-pooling聚合邻居节点的信息,进行用户对项目的评分预测。但是该模型只使用了一种图信息,并且在聚合邻居节点信息时忽略了自身节点信息,而且假定了所有的邻居节点对用户的影响是同等重要的。现有文献提出了一种图神经网络推荐模型-graphrec,使用注意力聚合学习得到用户的潜在因子向量和项目的潜在因子向量,考虑到了不同的邻居对自身节点聚合信息时影响程度的不同,在学习用户的潜在因子向量时,不仅考虑了用户对项目的评分信息,还加入了用户的社交信息,利用两者的潜在因子向量再学习得到预测评分,从而得到了高质量的推荐结果。但是在项目模型上没有加入上下文信息,且在用户潜在因子向量的学习过程中,没有考虑两个图信息对用户喜好影响程度的不同。现有文献指出了人的偏好被来自朋友的社交影响不应该是纯静态的,不应该具有固定的权重或者是固定的限制条件,因此提出社交影响应该分为动态与静态两种形式,并且提出了danser模型,利用对偶图注意力网络,来协同学习这二重社交影响,同时还将用户域的社交影响扩展到项目域,构建了项目的社交影响,从而解决了因为没有项目上下文信
息从而导致的项目的冷启动与数据稀疏的问题。但是项目的上下文信息也是基于用户的社交信息上建立的出来的,而不是项目本身的上下文信息。
4.上述算法模型存在着这样的问题,只考虑一种上下文信息,即使有多方面的考量,比如将用户的社交影响拓展到项目域上,也只是基于一种上下文信息进行拓展的。
5.通过上述分析,现有技术存在的问题及缺陷为:
6.(1)传统的利用上下文信息的推荐算法只能融入一种上下文信息,得不到综合多方面的推荐结果;用户没有评分过的项目其实不应该作为用户的特征值,所以强行构建出来的用户-项目评分矩阵就很容易出现数据稀疏的问题,从而因为数据稀疏无法计算相似度导致了推荐算法准确度不高的问题。
7.(2)现有基于图神经网络的评分预测方法中,只使用了一种图信息,并且在聚合邻居节点信息时忽略了自身节点信息,而且假定了所有的邻居节点对用户的影响是同等重要的;在项目模型上没有加入上下文信息,且在用户潜在因子向量的学习过程中,没有考虑两个图信息对用户喜好影响程度的不同。
8.(3)现有利用对偶图注意力网络的方法中,项目的上下文信息也是基于用户的社交信息上建立的出来的,而不是项目本身的上下文信息;现有模型只考虑一种上下文信息,即使有多方面的考量,比如将用户的社交影响拓展到项目域上,也只是基于一种上下文信息进行拓展的。
9.解决以上问题及缺陷的难度为:
10.想要利用多方面的上下文信息,传统的算法是基于数学建模进行推荐结果分析的,如果要融入多方面的上下文信息,则在数学建模方面要多考量许多不同方面的建模融合,如上下文信息可能包括文本,甚至是图像,本身对文本或者是图像的数学分析就已经是难题了,还要将建模泛化至可以将两者都考量进来更是难上加难。图神经网络的出现,可以较为轻松的融合多方面的图信息,但是上下文信息大多数不是图信息,所以想将不同的上下文信息融入到图神经网络中,也十分困难。
11.解决以上问题及缺陷的意义为:
12.本发明提出了将非图结构的上下文信息转换成图结构的思想,并且详细的提出了一种将文本信息转化成图信息的方法,即将项目的标签信息转化成项目语义图。这样能够让图神经网络快速便捷的利用起上下文信息,让推荐结果变得更加全面,更加准确。


技术实现要素:

13.针对现有技术存在的问题,本发明提供了一种融合社交关系和语义关系的图神经网络推荐方法及系统。
14.本发明是这样实现的,一种融合社交关系和语义关系的图神经网络推荐方法,所述融合社交关系和语义关系的图神经网络推荐方法包括:
15.利用简单的图神经网络推荐模型,所述简单图包括用户-项目的评分二部图、用户的同构图和项目的同构图;基于用户社交信息、用户与项目的评分交互信息以及交互信息、项目的标签信息,将非图结构的信息构建成图信息;
16.利用项目的标签信息,对项目的标签进行聚类;计算项目与标签簇之间的相关度,利用项目-标签簇相关度矩阵,进行余弦相似度的计算,当相似度大于某一阈值时,在两个
项目之间添加信任关系,构成项目的语义关系图结构。
17.进一步,所述融合社交关系和语义关系的图神经网络推荐方法包括以下步骤:
18.步骤一,用户模型构建:在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,将两个向量聚合成最终的用户的潜在因子向量;
19.步骤二,项目模型构建:在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,再通过聚合得到项目最终的潜在因子向量;
20.步骤三,评分预测模型构建:利用用户与项目的最终潜在因子向量,传入多层感知机中,进行线性预测,得到用户对项目的预测评分。
21.进一步,步骤一中,所述用户模型构建,包括:
22.用户模型用于学习得到用户潜在因子hi长度为d;提出两种聚合,分别学习两个图关系下的潜在因子,即项目空间下的潜在因子和社交空间下的潜在因子长度均为d,再将两个潜在因子联接为最后的潜在因子hi。
23.(1)项目聚合
24.在学习用户i的项目空间下的潜在因子,先得到所有用户i对其评价过的项目的评价向量表示,即c(i)为用户i评价过的项目的项目集合;假定用户i对项目a评分为r,将项目a的向量表示和评分r的向量表示,即qa和er,长度均为d,拼接起来,传入多层感知机用gv表示,最后输出长度为d向量,得到x
ia
;x
ia
的公式如下:
[0025][0026]
得到得到用以下公式求得:
[0027][0028]
其中,aggre
items
即项目聚合函数,σ即非线性激活函数,聚合函数通常采用均值聚合,如以下公式所示:
[0029][0030]
其中,
[0031]
采用数学期望的均值聚合,即每个对应不同的权值α
ia
,则聚合函数的公式则变为如下公式:
[0032][0033]
考虑x
ia
在构成用户i在项目空间下的影响因子的重要程度,将x
ia
以及用户i的embedding即pi进行拼接,通过注意力网络,学习得到不同x
ia
的对用户i的影响程度α
ia
,注意力网络机制如下:
[0034][0035]
softmax函数如下:
[0036][0037]
(2)社交聚合
[0038]
通过社交聚合将社交网络关系图数据聚合成用户在社交空间下的潜在因子:
[0039][0040]
其中,为用户的某个好友在项目空间下的潜在因子;n(i)为用户i的好友集合;通过社交聚合函数aggre
neigbhors
,将用户的所有好友在项目空间下的潜在因子聚合起来,得到用户在社交空间下的潜在因子。
[0041]
考虑到不同好友对用户的喜好程度的影响程度不同,聚合函数也采用项目聚合中类似数学期望的均值聚合:
[0042][0043]
其中,β
io
为用户i的好友o在聚合过程占有的权值,在构成用户i在社交空间下的潜在因子时的重要程度,需要和用户i的embedding-pi,计算方式如下:
[0044][0045][0046]
(3)联接得到最终的用户潜在因子
[0047]
利用多层感知机将两个潜在因子先拼接起来传入多层感知机中,最终得到长度为d的用户潜在因子:
[0048][0049]
c2=σ(w2·
c1 b2);
[0050]

[0051]hi
=σ(w
l
·cl-1
b
l
);
[0052]
其中,l为隐藏的数量。
[0053]
进一步,所述项目语义图的构建,包括:
[0054]
利用项目的社会标签算出项目与项目之间的语义相似度,当项目之间的语义相似度高于某一阈值时,认为项目之间存在语义上的“信任关系”;类似用户在社交网络上的信任关系,得到项目的语义关系图,实现项目语义信息图化。
[0055]
通过标签聚类得到一个个标签簇,以规则得到项目跟各个标签簇的相关度,形成项目-标签簇的相关矩阵,以此矩阵作为特征值矩阵,求项目之间的相似度。
[0056]
(1)标签聚类
[0057]
在聚类之前本发明需要先计算标签之间的相似度,得到标签之间的相似矩阵,再
利用某种聚类算法对标签进行聚类;提出基于标签共现的方法来计算标签之间的相似度,某标签共现的标签和另一标签共现的标签重复度越高,说明这两个标签越相似。
[0058]
现有项目及其标签包括:
[0059]
项目1:动作、冒险;
[0060]
项目2:节奏、音乐;
[0061]
项目3:动作、奇幻;
[0062]
项目4:节奏、竞速;
[0063]
项目5:动作、欢乐。
[0064]
要求sim("动作","节奏"),将所有出现过“动作”标签的项目的标签集的并集称为“动作”标签的资源集,即“动作”标签的资源集为:(动作、冒险)∪(动作、奇幻)∪(动作、欢乐)=(动作、冒险、奇幻、欢乐);
[0065]“节奏”标签的资源集为:(节奏、音乐)∪(节奏、竞速)=(节奏、音乐、竞速);
[0066]
计算标签i与标签j之间的相似度的公式如下:
[0067][0068]
其中,ai为标签i的资源集,bj为标签j的资源集,标签i与标签j的相似度等于标签i的资源集与标签j的资源集的交集的元素个数除以标签i的资源与标签j的资源的并集的元素个数的商。
[0069]“动作”与“节奏”的相似度即
[0070]
算完所有标签之间的之后,即可得到一个n
×
n的标签相似度矩阵,n为标签数量,利用此相似度矩阵根据聚类算法对标签进行聚类,聚类结果则得到一个个标签簇。
[0071]
(2)项目与标签簇的相关矩阵
[0072]
项目与标签簇的相关度计算公式如下:
[0073][0074]
其中,r
ik
代表项目ri与标签簇k的相关度,ck表示第k个标签簇,t表示项目ri的标签集合,count(ri,t
l
)表示标签t
l
标记项目ri的次数。
[0075]
现有标签簇包括:
[0076]
标签簇c1,包含动作、冒险、奇幻;
[0077]
标签簇c2,包含节奏、竞速;
[0078]
标签簇c3,包含音乐、欢乐。
[0079]
计算项目与标签簇之间的相关度:
[0080]
项目1中“动作”、“冒险”均属于c1标签簇,所以被c1标签簇标签2次,其余标签簇为0次,得到项目与标签簇的相关矩阵。
[0081]
(3)图化过程
[0082]
项目与标签簇的相关矩阵是项目的特征值矩阵,利用以下公式计算项目之间的标签语义相似度,当相似度高于某一阈值α时,在此项目之间添加一条“信任关系”,认定它们语义相关。
[0083][0084]
其中,和分别为项目i和项目j与每个标签簇相关度的平均值。
[0085]
如果sim(i,j)≥α,则项目i与项目j语义相关,在语义关系图上添加两个项目之间的双向信任关系,最终得到m
×
m的邻接矩阵,m为项目的数量,至此完成项目语义信息的图化过程。
[0086]
进一步,步骤二中,所述项目模型构建,包括:
[0087]
利用用户模型思想得到项目在不同空间下的潜在因子,并通过联接来得到项目最终的潜在因子;利用的是项目与用户之间的评分关系图和项目与项目之间的语义关系图,分为两个空间
‑‑
用户空间和语义空间;项目模型包括用户聚合,语义聚合,联接得到项目最终的潜在因子。
[0088]
通过项目模型学习得到项目的潜在因子zj,长度为d,考虑用户与项目之间评分交互图和项目与项目之间的语义关系图,通过用户聚合得到项目在用户空间下的潜在因子,通过语义聚合得到项目在语义空间下的潜在因子。
[0089]
(1)用户聚合
[0090]
对于项目j,有一个对其评价过的用户的集合b(j)。
[0091]
求得所有评价过项目j的用户的对项目j评价的向量表示,即得到f
jt
的原理与得到x
ia
的原理类似,先拼接用户t的embedding-p
t
长度为d和评分r的embedding-er长度为d,再传入多层感知机中,最终输出长度为d的f
jt

[0092][0093]
其中,gu代表多层感知机。
[0094]
得到后,通过aggre
users
得到项目在用户空间下的潜在因子
[0095][0096]
利用注意力机制得到权重,再进行聚合:
[0097][0098]
由于μ
jt
是f
jt
在构成项目潜在因子的重要程度,此处注意力机制拼接的是评价过项目j的用户t对项目j评价的向量表示μ
jt
和项目j的embedding-qj:
[0099]
[0100][0101]
(2)语义聚合
[0102]
将项目在语义关系图上的所有近邻在用户空间下的潜在因子聚合起来:
[0103][0104]
其中,为项目语义关系上的某个近邻在用户空间下的潜在因子,m(j)为项目j的语义近邻集合。通过社交聚合函数aggre
meaning
,将项目的所有语义近邻在用户空间下的潜在因子聚合起来,得到项目在语义空间下的潜在因子。
[0105]
考虑不同项目近邻对项目的影响不同,聚合函数采用数学期望的均值聚合:
[0106][0107]
其中,υ
jo
为项目j的语义近邻o在聚合过程占有的权值;由于υ
jo
是在构成项目j在语义空间下的潜在因子的重要程度,故先拼接和项目j的embedding-qj,再通过注意力机制进行学习:
[0108][0109][0110]
(3)联接得到项目最终的潜在因子
[0111]
将两个潜在因子拼接并传入多层感知机中,得到长度为d的项目潜在因子:
[0112][0113]
y2=σ(w2·
y1 b2);
[0114]

[0115]
zj=σ(w
l
·yl-1
b
l
);
[0116]
其中,l为隐藏的数量。
[0117]
进一步,步骤三中,所述预测模型构建,包括:
[0118]
将用户潜在因子hi和项目潜在因子zj拼接起来,传入多层感知机中;由于评分预测是线性回归问题,故在多层感知机最后一层不进行非线性激活:
[0119][0120]
g2=σ(w2·
g1 b2);
[0121]

[0122]gl-1
=σ(w
l
·gl-1
b
l
);
[0123]r′
ij
=w
t
·gl-1

[0124]
本发明的另一目的在于提供一种应用所述的融合社交关系和语义关系的图神经网络推荐方法的融合社交关系和语义关系的图神经网络推荐系统,所述融合社交关系和语
义关系的图神经网络推荐系统包括:
[0125]
用户模型构建模块,用于在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,将两个向量聚合成最终的用户的潜在因子向量;
[0126]
项目模型构建模块,用于在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,再通过聚合得到项目最终的潜在因子向量;
[0127]
评分预测模型构建模块,用于利用用户与项目的最终潜在因子向量,传入多层感知机中,进行线性预测,得到用户对项目的预测评分。
[0128]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0129]
利用简单的图神经网络推荐模型,所述简单图包括用户-项目的评分二部图、用户的同构图和项目的同构图;基于用户社交信息、用户与项目的评分交互信息以及交互信息、项目的标签信息,将非图结构的信息构建成图信息;
[0130]
利用项目的标签信息,对项目的标签进行聚类;计算项目与标签簇之间的相关度,利用项目-标签簇相关度矩阵,进行余弦相似度的计算,当相似度大于某一阈值时,在两个项目之间添加信任关系,构成项目的语义关系图结构。
[0131]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
[0132]
利用简单的图神经网络推荐模型,所述简单图包括用户-项目的评分二部图、用户的同构图和项目的同构图;基于用户社交信息、用户与项目的评分交互信息以及交互信息、项目的标签信息,将非图结构的信息构建成图信息;
[0133]
利用项目的标签信息,对项目的标签进行聚类;计算项目与标签簇之间的相关度,利用项目-标签簇相关度矩阵,进行余弦相似度的计算,当相似度大于某一阈值时,在两个项目之间添加信任关系,构成项目的语义关系图结构。
[0134]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的融合社交关系和语义关系的图神经网络推荐系统。
[0135]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的融合社交关系和语义关系的图神经网络推荐方法,利用聚图神经网络聚合简单图信息,简单图包括用户-项目的评分二部图,用户的同构图和项目的同构图,基于上述问题,做出了以下贡献:
[0136]
1.考虑多方面信息,其中包括用户社交信息,用户与项目的评分交互信息以及交互信息,项目的标签信息;从而得到的推荐结果是更加全面,更加高质量的。
[0137]
2.并且提出了一种把一些非图结构的信息,构建成图信息的方法,让其更容易在图神经网络模型中得到利用。
[0138]
3.本发明以用户-项目的评分二部图作为基础,其他的同构图作为补充,从而达到有更多的邻居节点用于聚合的目的,来解决数据稀疏以及冷启动的问题。
[0139]
本发明通过试验证明了提出的模型比grpahrec的推荐准确度更高,无论是在数据
稀疏的情况下还是数据较为充足的情况下。本发明提出的模型优于市面上的矩阵分解的推荐系统方法和基于深度学习的推荐系统方法。同时,本发明主要是提出了一种新颖的图神经网络推荐方法,其有效缓解了冷启动以及数据稀疏的问题,主要包括以下两个关键:
[0140]
(1)项目模型中的项目语义图构建方法,利用标签聚类以及项目与标签簇之间的相关度求项目的语义相似度,通过语义相似度来构建项目之间的语义图关系。
[0141]
(2)通过项目模型中将两个图信息结合的方法,将两个不同空间下的的潜在因子向量传入mlp中学出最终的潜在因子。
附图说明
[0142]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0143]
图1是本发明实施例提供的融合社交关系和语义关系的图神经网络推荐方法流程图。
[0144]
图2是本发明实施例提供的融合社交关系和语义关系的图神经网络推荐系统结构框图;
[0145]
图中:1、用户模型构建模块;2、项目模型构建模块;3、评分预测模型构建模块。
[0146]
图3是本发明实施例提供的用户模型图。
[0147]
图4是本发明实施例提供的项目模型结构图。
[0148]
图5是本发明实施例提供的打分预测结构图。
[0149]
图6是本发明实施例提供的打分预测结构效果对比图。
具体实施方式
[0150]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0151]
针对现有技术存在的问题,本发明提供了一种融合社交关系和语义关系的图神经网络推荐方法,下面结合附图对本发明作详细的描述。
[0152]
如图1所示,本发明实施例提供的融合社交关系和语义关系的图神经网络推荐方法包括以下步骤:
[0153]
s101,用户模型构建:在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,将两个向量聚合成最终的用户的潜在因子向量;
[0154]
s102,项目模型构建:在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,再通过聚合得到项目最终的潜在因子向量;
[0155]
s103,评分预测模型构建:利用用户与项目的最终潜在因子向量,传入多层感知机中,进行线性预测,得到用户对项目的预测评分。
[0156]
如图2所示,本发明实施例提供的融合社交关系和语义关系的图神经网络推荐系统包括:
[0157]
用户模型构建模块1,用于在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,将两个向量聚合成最终的用户的潜在因子向量;
[0158]
项目模型构建模块2,用于在用户-项目评分交互图和用户-用户社交关系图的空间中,利用注意力聚合分别得到两个不同的潜在因子向量,再通过聚合得到项目最终的潜在因子向量;
[0159]
评分预测模型构建模块3,用于利用用户与项目的最终潜在因子向量,传入多层感知机中,进行线性预测,得到用户对项目的预测评分。
[0160]
下面结合具体实施例对本发明的技术方案作进一步描述。
[0161]
本发明利用简单的图神经网络推荐模型,简单图包括用户-项目的评分二部图,用户的同构图和项目的同构图,基于上述问题,做出了以下贡献:考虑多方面信息,其中包括用户社交信息,用户与项目的评分交互信息以及交互信息,项目的标签信息。并且本发明还提出了一种把一些非图结构的信息,构建成图信息的方法,让其更容易在图神经网络模型中得到利用。本发明以用户-项目的评分二部图作为基础,其他的同构图作为补充,从而达到有更多的邻居节点用于聚合的目的,来解决数据稀疏的问题。
[0162]
推荐模型主要分为三个部分:用户模型、项目模型和评分预测。用户模型在两个图空间中(用户-项目评分交互图,用户-用户社交关系图)利用注意力聚合,得到两个不同的潜在因子向量,将两个向量聚合成最终的用户的潜在因子向量。项目模型则是在两个图空间中(项目-用户评分交互图,项目-项目语义关系图)利用注意力聚合分别得到两个不同的潜在因子向量,最后再通过聚合得到项目最终的潜在因子。评分预测部分则是利用用户与项目的最终潜在因子,传入多层感知机中,进行线性预测,得到用户对项目的预测评分。
[0163]
其中项目的语义关系图是通过提出来的方法求得:
[0164]
是利用项目的标签信息,对项目的标签进行聚类,再计算项目与标签簇之间的相关度,最后利用项目-标签簇相关度矩阵,进行余弦相似度的计算,当相似度大于某一阈值时,在两个项目之间添加信任关系,构成图结构。
[0165]
(1)用户模型(见图3)
[0166]
用户模型主要是为了学习得到用户潜在因子hi长度为d,其中困难的地方在于如何结合两个图关系数据,所以提出来了两种聚合,分别学习两个图关系下的潜在因子,即项目空间下的潜在因子和社交空间下的潜在因子长度均为d,最后再将两个潜在因子联接为最后的潜在因子hi,接下来将主要介绍如何进行项目聚合和社交聚合以及如何联接。
[0167]
1)项目聚合
[0168]
用户与项目的评分交互图关系中,图是带权值的有向图,为了同时考虑节点与节点之间的边以及边上的权值这两个信息,提出了一种解决办法:
[0169]
在学习用户i的项目空间下的潜在因子,首先要得到所有用户i对其评价过的项目的评价向量表示,即c(i)为用户i评价过的项目的项目集合。如何得到x
ia
,假定用户i对项目a评分为r,将项目a的向量表示和评分r的向量表示,即qa和er,长度均为d,拼
接起来,传入多层感知机用gv表示,最后输出长度为d向量,即本发明需要的x
ia
,公式如下:
[0170][0171]
得到了了用公式(2)求得:
[0172][0173]
aggre
items
即项目聚合函数,σ即非线性激活函数,聚合函数通常采用均值聚合,如公式(3):
[0174][0175]
其中但是考虑用户喜好的受不同的项目影响程度不一样,所以这里采用类似于数学期望的均值聚合,即而是每个对应不同的权值α
ia
,那么聚合函数的公式则变为公式(4):
[0176][0177]
如何得到α
ia
,本发明首先考虑这是x
ia
在构成用户i在项目空间下的影响因子的重要程度,所以本发明需要x
ia
以及用户i的embedding即pi,将它们拼接起来,通过注意力网络,来学习得到不同x
ia
的对用户i的影响程度α
ia
,注意力网络机制如下(公式(6)即softmax函数):
[0178][0179][0180]
2)社交聚合
[0181]
考虑到人们的喜好有一定程度是取决于自己所处的社交圈,所以在推荐时可以把用户的朋友的喜好考虑进来,那么在图神经网络中,如何将朋友的喜好也融合进来,便需要社交聚合将社交网络关系图数据聚合成用户在社交空间下的潜在因子,具体如下:
[0182][0183]
为用户的某个好友在项目空间下的潜在因子,因为用户的好友也是用户,也可以利用上文的项目聚合得到属于自己的在项目空间下的潜在因子。n(i)为用户i的好友集合。本发明通过社交聚合函数aggre
neigbhors
,将用户的所有好友在项目空间下的潜在因子聚合起来,得到用户在社交空间下的潜在因子。
[0184]
考虑到不同好友对用户的喜好程度的影响程度不同,聚合函数也采用项目聚合中类似数学期望的均值聚合:
[0185][0186]
β
io
为用户i的好友o在聚合过程占有的权值,也可以用项目聚合中的方法求得,考虑这是在构成用户i在社交空间下的潜在因子时的重要程度,所以需要和用户i的embedding-pi,具体计算方式如下公式:
[0187][0188][0189]
3)联接得到最终的用户潜在因子
[0190]
如何将用户在不同空间下的潜在因子融合得到最终用户的潜在因子,本发明仍然可以利用多层感知机实现,将两个潜在因子先拼接起来传入多层感知机中,最终得到长度为d的用户潜在因子:
[0191][0192]
c2=σ(w2·
c1 b2)
ꢀꢀꢀ
(12)
[0193]

[0194]hi
=σ(w
l
·cl-1
b
l
)
ꢀꢀꢀ
(13)
[0195]
其中l为隐藏的数量。
[0196]
(2)项目语义图的构建
[0197]
传统推荐领域中的核心就是相似度计算问题,有很多研究者都进行了对项目之间语义相似度的研究,其中包含了本体领域,社会标签方面的研究,在此本发明使用社会标签来体现项目的语义信息,并对其展开研究。本发明可以利用项目的社会标签算出项目与项目之间的语义相似度,当项目之间的语义相似度高于某一阈值时,本发明可以认为项目之间存在语义上的“信任关系”,类似用户在社交网络上的信任关系。这样就可以得到项目的语义关系图,实现了将项目语义信息图化。
[0198]
接下来将介绍一种融合多种方法的将项目语义信息图化的办法,是通过现有文献得到启发,其主要思想是通过标签聚类得到一个个标签簇,以接下来提到的规则得到项目跟各个标签簇的相关度,这样就形成了项目-标签簇的相关矩阵,以此矩阵作为特征值矩阵,求项目之间的相似度。
[0199]
1)标签聚类
[0200]
在聚类之前本发明需要先计算标签之间的相似度,得到标签之间的相似矩阵,再利用某种聚类算法对标签进行聚类。首先提出了一种基于标签共现的方法来计算标签之间的相似度,某标签共现的标签和另一标签共现的标签重复度越高,说明这两个标签越相似。
[0201]
现有项目及其标签如表1所示。
[0202]
表1项目标签表
[0203]
项目1动作、冒险项目2节奏、音乐
项目3动作、奇幻项目4节奏、竞速项目5动作、欢乐
[0204]
本发明要求sim("动作","节奏"),将所有出现过“动作”标签的项目的标签集的并集称为“动作”标签的资源集,即“动作”标签的资源集为:
[0205]
(动作、冒险)∪(动作、奇幻)∪(动作、欢乐)=(动作、冒险、奇幻、欢乐)
[0206]“节奏”标签的资源集为:
[0207]
(节奏、音乐)∪(节奏、竞速)=(节奏、音乐、竞速)
[0208]
如何求标签i与标签j之间的相似度?方法如下:
[0209][0210]ai
为标签i的资源集,bj为标签j的资源集,标签i与标签j的相似度等于标签i的资源集与标签j的资源集的交集的元素个数除以标签i的资源与标签j的资源的并集的元素个数的商。
[0211]“动作”与“节奏”的相似度即
[0212]
算完所有标签之间的之后,就可以得到一个n
×
n的标签相似度矩阵,n为标签数量,利用此相似度矩阵,可以进行如db-scan、谱聚类等一些常用的聚类算法对标签进行聚类了。
[0213]
聚类结果则得到了一个个标签簇。
[0214]
2)项目与标签簇的相关矩阵
[0215]
在现有文献中提出了一种项目与标签簇的相关度计算方法,计算公式如下:
[0216][0217]
其中r
ik
代表项目ri与标签簇k的相关度,ck表示第k个标签簇,t表示项目ri的标签集合,count(ri,t
l
)表示标签t
l
标记项目ri的次数。例如:
[0218]
现有标签簇如表3所示。
[0219]
表3标签簇表格
[0220]
标签簇所含标签c1动作、冒险、奇幻c2节奏、竞速c3音乐、欢乐
[0221]
现来计算表3中的项目与标签簇之间的相关度
[0222]
项目1中“动作”、“冒险”均属于c1标签簇,所以被c1标签簇标签2次,其余标签簇为0次,所以由此本发明可以得到表4项目与标签簇的相关
矩阵。
[0223]
表4项目与标签簇的相关矩阵
[0224] c1c2c3项目1100项目200.50.5项目3100项目4010项目50.500.5
[0225]
3)图化过程
[0226]
图化方式十分简单,在得到了项目与标签簇的相关矩阵后,本发明可以认定这个矩阵是项目的特征值矩阵,本发明就可以利用公式(16)来计算项目之间的标签语义相似度了,当相似度高于某一阈值α时,本发明可以在此项目之间添加一条“信任关系”,认定它们语义相关。
[0227][0228]
其中和分别为项目i和项目j与每个标签簇相关度的平均值。
[0229]
如果sim(i,j)≥α,那么便认定项目i与项目j语义相关,在语义关系图上添加两个项目之间的双向信任关系,最终可以得到m
×
m的邻接矩阵,m为项目的数量,至此完成了项目语义信息的图化过程。
[0230]
(3)项目模型
[0231]
在上文里得到了类似于用户与用户之间的社交关系图的项目之间的语义关系图,将项目之间通过“信任关系”联接起来,可以说是项目的“社交关系图”。因此本发明可以利用先前用户模型中提到的思想,先得到项目在不同空间下的潜在因子,最后通过联接来得到项目最终的潜在因子,本发明利用的是项目与用户之间的评分关系图和项目与项目之间的语义关系图,所以分为两个空间
‑‑
用户空间和语义空间,模型具体结构如图4所示,与用户模型一样也分为三个部分,用户聚合,语义聚合,联接得到项目最终的潜在因子。
[0232]
项目模型主要是为了学习得到项目的潜在因子zj,长度为d,考虑了用户与项目之间评分交互图和项目与项目之间的语义关系图,通过用户聚合得到了项目在用户空间下的潜在因子,通过语义聚合得到了项目在语义空间下的潜在因子。
[0233]
1)用户聚合
[0234]
用户聚合与项目聚合类似,但是主体从用户换成了项目,对于项目j来说,有一个对其评价过的用户的集合b(j)。
[0235]
首先本发明也需要求得所有评价过项目j的用户的对项目j评价的向量表示,即得到f
jt
的原理与得到x
ia
的原理类似,本发明需要先拼接用户t的embedding-p
t
长度为d和评分r的embedding-er长度为d,再传入多层感知机中,最终输出长度为d的f
jt

[0236][0237]
此处的gu代表多层感知机。
[0238]
得到了本发明就可以进行用户聚合了,通过aggre
users
得到项目在用户空间下的潜在因子
[0239][0240]
聚合办法同上文,利用注意力机制得到权重,再进行聚合:
[0241][0242]
因为μ
jt
是f
jt
在构成项目潜在因子的重要程度,此处注意力机制拼接的是评价过项目j的用户t对项目j评价的向量表示μ
jt
和项目j的embedding-qj,求得的方法与上文类似:
[0243][0244][0245]
2)语义聚合
[0246]
考虑到人们喜欢一个物品的同时会喜欢这一类物品,所以在推荐时可以把与此物品的同类别物品考虑进来,如何考虑进来可以参考用户模型下的社交聚合。将项目在语义关系图上的所有近邻在用户空间下的潜在因子聚合起来,具体如下:
[0247][0248]
为项目语义关系上的某个近邻在用户空间下的潜在因子,m(j)为项目j的语义近邻集合。本发明通过社交聚合函数aggre
meaning
,将项目的所有语义近邻在用户空间下的潜在因子聚合起来,得到项目在语义空间下的潜在因子。
[0249]
考虑到不同项目近邻对项目的影响不同,聚合函数也采用上文用到的类似数学期望的均值聚合:
[0250][0251]
υ
jo
为项目j的语义近邻o在聚合过程占有的权值,求得方法与上文方法,因为υ
jo
是在构成项目j在语义空间下的潜在因子的重要程度,所以首先拼接和项目j的embedding-qj,再通过注意力机制进行学习:
[0252][0253][0254]
3)联接得到项目最终的潜在因子
[0255]
将两个潜在因子先拼接起来传入多层感知机中,得到长度为d的项目潜在因子:
[0256][0257]
y2=σ(w2·
y1 b2)
ꢀꢀꢀ
(27)
[0258]

[0259]
zj=σ(w
l
·yl-1
b
l
)
ꢀꢀꢀ
(28)
[0260]
其中l为隐藏的数量。
[0261]
(4)预测模型(见图5)
[0262]
评分预测十分简单,只需要将用户潜在因子hi和项目潜在因子zj拼接起来,传入多层感知机中即可,注意的是在多层感知机最后一层并不进行非线性激活,因为评分预测是一个线性回归问题:
[0263][0264]
g2=σ(w2·
g1 b2)
ꢀꢀꢀ
(30)
[0265]

[0266]gl-1
=σ(w
l
·gl-1
b
l
)
ꢀꢀꢀ
(31)
[0267]r′
ij
=w
t
·gl-1
ꢀꢀꢀ
(32)
[0268]
多层感知机gv以及多层感知机gu均为一层全连接,一层relu,一层全连接。多层感知机mlp_user以及多层感知机mlp_item均为三层的全连接 relu层。本发明中的σ均为relu函数。用户、项目、评分的嵌入向量长度d为64。
[0269]
因为是对评分的线性预测,所以损失函数采用的是均方误差:
[0270]
loss=∑
i,j∈o
(r’ij-r
ij
)/2|o|
ꢀꢀꢀ
(33)
[0271]
本发明主要是提出了一种新颖的图神经网络推荐方法,其有效缓解了冷启动以及数据稀疏的问题,主要包括以下两个关键:
[0272]
(1)项目模型中的项目语义图构建方法,利用标签聚类以及项目与标签簇之间的相关度求项目的语义相似度,通过语义相似度来构建项目之间的语义图关系。
[0273]
(2)通过项目模型中将两个图信息结合的方法,将两个不同空间下的的潜在因子向量传入mlp中学出最终的潜在因子。
[0274]
下面结合仿真实验对本发明的技术方案作进一步描述。
[0275]
技术效果对比,由于是推荐系统,使用了taptap数据集进行以下试验,taptap数据集信息如下:
[0276]
表5 taptap数据集信息
[0277]
用户数量2345项目数量12330评分数量46322拥有标签项目的数量5738标签种类811社交关系数量8095
[0278]
由于该方法是基于graphrec方法进行的改进,所以做了重点对比与graphrec,如图6所示。
[0279]
本发明采用的衡量标准是平均绝对误差mae以及rmse均方根误差。mae和rmse量的是预测评分与实际评分之间的差距,值越小,误差越小,推荐准确性就越高。其公式如下:
[0280]
mae=∑
ni=1
|p
ui-r
ui
|/n
ꢀꢀꢀ
(34)
[0281]
rmse=√(∑
ni=1
(p
ui-r
ui
)2/n)
ꢀꢀꢀ
(35)
[0282]
该试验证明了,提出的模型比grpahrec的推荐准确度更高,无论是在数据稀疏的情况下还是数据较为充足的情况下。
[0283]
同时还进行了与其他模型的一些比较,如表6所示。
[0284]
表6不同模型准确度对比
[0285]
算法名称maermsenmf0.90171.1932pmf0.91271.1901svd0.83621.1218serps0.82451.1950our model0.78761.0994
[0286]
(1)nmf:利用非负矩阵分解,将用户-项目评分矩阵进行分解,从而实现对未打分项进行打分。
[0287]
(2)pmf:仅利用用户项目评分矩阵进行概率矩阵分解,并采用高斯分布对用户和项目的潜在因素进行建模。
[0288]
(3)svd:基于奇异值分解法分解出用户与项目的隐藏特质,作为特征向量,利用这样的特征向量进行用户对项目的预测评分。
[0289]
(4)sreps:于2018aaai会议提出的一种基于社交网络的嵌入学习方法,来对社交网络进行表示学习,从而进行推荐。
[0290]
该表证明了提出的模型优于市面上的矩阵分解的推荐系统方法,和基于深度学习的推荐系统方法。
[0291]
在项目模型中的标签相似度计算,也可以是其他方法代替,如现有文献中提到的基于连边社团检测算法的标签聚类,可以不通过计算标签相似度,直接对标签进行聚类。
[0292]
下面结合具体实验对比数据分析对本发明的积极效果作进一步描述。
[0293]
首先是与只使用了一种上下文信息,即用户社交信息的图神经网络推荐模型graphrec进行对比,试验结果如图6所示。
[0294]
整体而言,无论数据量是多少,也无论是哪一种指标,提出的模型都比graphrec模型准确度高。且在数据量稀少的时候,即只使用了40%的数据集进行试验对比,提出的模型的准确度远高于graphrec模型,证明了提出的模型在解决数据稀疏和冷启动问题上,拥有十足的优势。
[0295]
为了证明提出的模型拥有较为全面且高准确的推荐结果,对比了市面上的多种推荐系统,其中包括:
[0296]
(1)nmf:利用非负矩阵分解,将用户-项目评分矩阵进行分解,从而实现对未打分项进行打分。
[0297]
(2)pmf:仅利用用户项目评分矩阵进行概率矩阵分解,并采用高斯分布对用户和项目的潜在因素进行建模。
[0298]
(3)svd:基于奇异值分解法分解出用户与项目的隐藏特质,作为特征向量,利用这样的特征向量进行用户对项目的预测评分。
[0299]
(4)sreps:于2018aaai会议提出的一种基于社交网络的嵌入学习方法,来对社交网络进行表示学习,从而进行推荐。
[0300]
里面有推荐系统中常用的矩阵分解模型,也有现在较为流行的深度学习模型,对比结果如表7:
[0301]
表7不同模型准确度对比
[0302]
算法名称maermsenmf0.90171.1932pmf0.91271.1901svd0.83621.1218serps0.82451.1950our model0.78761.0994
[0303]
提出的模型无论是比矩阵分解模型,还是深度学习模型,提出的模型在两个指标上都低于其他模型,证明提出的模型拥有更小的误差,推荐的结果更加准确,同时说明了提出的模型因为加入了更多的上下文信息,推荐的结果更加全面,所以准确度更高。
[0304]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0305]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献