基于图坍缩卷积神经网络的数据推荐方法、系统及介质

文档序号:24652767发布日期:2021-04-13 20:24阅读:416来源:国知局
基于图坍缩卷积神经网络的数据推荐方法、系统及介质

1.本发明涉及信息推荐技术领域,尤其涉及一种基于图坍缩卷积神经网络的数据推荐方法、系统及介质。


背景技术:

2.互联网信息的爆炸式增长,即为用户带来了丰富的数据内容,也让用户面临着无法从海量数据中快速获得有价值信息的困境。推荐系统是海量数据时代兴起的一类系统,主要应用于各类电商网站、社交媒体、新闻资讯等系统中,用以解决海量信息中信息过载及长尾物品等问题。推荐系统通过对用户数据、物品数据、交互行为等多方面内容的计算和筛选,形成满足用户个性化需求的结果向用户进行推荐,以提升用户的使用感受、增加用户粘性、提升系统使用效率。
3.随着人工智能的发展、机器学习的兴起,深度学习的各种方法已经广泛应用于各个领域,并且取得了良好的应用成果。基于深度学习的推荐系统一般通过输入层、模型层、输出层的三层架构实现从系统原始数据到输出结果的转换。通过多层感知机、卷积神经网络、自编码网络、循环神经网络等技术实现基于内容的推荐、协同过滤推荐和混合推荐等。总体而言,基于深度学习技术的推荐模型能够有效的融合多源异构数据,结果不依赖于人工选择特征,能实现从多源异构数据到预测的端对端训练,最大限度的发挥了用户的显性数据和隐性数据的价值,学习到数据的非线性的多层次抽象表达,从而有效的提升推荐性能。
4.然而不管是传统的线性模型还是神经网络模型,所处理的数据主要都是针对欧氏空间数据,但是在现实世界中,很多数据都是从非欧氏空间数据产生的,例如分子结构的表达、社交网络关系、交通流量网络、人体骨骼结构等,都是具有明显图结构特征的数据类型。在推荐系统中,就存在用户和用户之间的社交关系网络、用户对物品的评价数据网络、物品间的层次网络数据等多种网络数据融合而成的复杂图状网络结构。对于图状结构的数据,因为数据之间不再存在固定不变的关系和位置,并且数据节点的结构不统一,因此目前常见的神经网络模型在处理这部分数据时并不适用。
5.图卷积神经网络是基于深度学习的卷积神经网络在图结构上的推广,它能同时对节点特征信息与结构信息进行端对端学习。图卷积适用性广,适用于任意拓扑结构的节点与图。在节点分类与边预测等任务上,在公开数据集上的效果要远远优于其他方法。电影推荐是目前推荐系统中应用最为广泛的一个场景。各大视频提供商,如腾讯视频、爱奇艺、优酷等内容服务商,都需要在不同场景下向用户推荐用户最有可能点击浏览的内容,以提升信息的应用转化。因此,将图卷积神经网络的模型应用于电影推荐系统,可以取得更好的推荐效果,获得更好的用户体验和内容转化率。
6.但是,基于图结构的推荐系统也存在一些问题。在推荐系统中,用户数量往往是庞大的。如亚马逊用户数量超过一亿人,豆瓣注册用户数在千万级别,腾讯视频、爱奇艺等机构的用户也数以亿计。基于千万级别的用户构建图结构网络,不仅存在数据量大、计算消耗
高等的问题,同时还因为图结构的不规则性,导致在新增加用户数据时,模型更新需要重新计算所有数据等问题。


技术实现要素:

7.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于图坍缩卷积神经网络的数据推荐方法、系统及介质。
8.本发明所采用的技术方案是:
9.一种基于图坍缩卷积神经网络的数据推荐方法,包括以下步骤:
10.将用户数据进行密度聚类坍缩,获得k个簇坍缩子图;
11.对所述簇坍缩子图进行卷积处理,获得所述簇坍缩子图的局部特征;
12.对所述局部特征进行堆叠处理,实现从簇坍缩子图到全局图结构的图卷积计算,获得用户数据特征和物品数据特征;
13.根据所述用户数据特征和所述物品数据特征获取推荐结果。
14.进一步,所述将用户数据进行密度聚类坍缩,获得k个簇坍缩子图,包括:
15.采用k

means算法对用户数据进行聚类,通过计算用户影响力值获取聚类中心;
16.基于密度聚类的方式,根据所述聚类中心将用户数据划分为k个簇坍缩子图。
17.进一步,所述用户影响力值通过以下公式计算获得:
18.e
u
=αa
u
+βb
u
+(1

α

β)s
u
19.其中,a
u
表示用户u的属性影响力,b
u
表示主动行为影响力,s
u
表示社交行为影响力。
20.进一步,所述基于密度聚类的方式,根据所述聚类中心将用户数据划分为k个簇坍缩子图,包括:
21.对获得的聚类中心的用户数据,计算两个用户向量之间的距离,对计算获得距离值进行归一化处理;
22.根据所述距离值计算用户密度,对所述用密度进行排序,根据排序结果获取用户数据形成簇心数据集;
23.将所述簇心数据集中的数据作为初始簇中心进行k

means聚类,获得k个簇坍缩子图。
24.进一步,所述将所述簇心数据集中的数据作为初始簇中心进行k

means聚类,获得k个簇坍缩子图,包括:
25.a1、以所述簇心数据集中的p个元素作为初始簇中心,计算所有的用户数据到簇中心的距离;
26.a2、根据计算得到的距离,将数据对象分配到距离最近的簇;
27.a3、计算各簇内用户数据的平均值,根据所述平均值更新簇中心;
28.a4、重复步骤a1

a3直至收敛,获得k个质心的密度聚类,作为k个簇坍缩子图。
29.进一步,所述簇坍缩子图包括节点数n
k
、节点列表γ
(k)
以及子图的簇坍缩矩阵s
k

30.所述对所述簇坍缩子图进行卷积处理,获得所述簇坍缩子图的局部特征,包括:
31.对于子图的簇坍缩矩阵s
k
,进行gcn卷积,形成子图的坍缩表达作为局部特征;
32.其中,所述坍缩表达包括用户的嵌入表达和物品的嵌入表达
33.进一步,所述对所述局部特征进行堆叠处理,实现从簇坍缩子图到全局图结构的图卷积计算,获得用户数据特征和物品数据特征,包括:
34.在全局gcn卷积中,对于根据不同的所述簇坍缩子图获得的局部特征,设置一个子图权重;
35.将设置子图权重的局部特征进行堆叠处理,得到全局图结构的用户数据特征和物品数据特征
36.本发明所采用的另一技术方案是:
37.一种基于图坍缩卷积神经网络的数据推荐系统,包括:
38.数据聚类模块,用于将用户数据进行密度聚类坍缩,获得k个簇坍缩子图;
39.卷积处理模块,用于对所述簇坍缩子图进行卷积处理,获得所述簇坍缩子图的局部特征;
40.特征堆叠模块,用于对所述局部特征进行堆叠处理,实现从簇坍缩子图到全局图结构的图卷积计算,获得用户数据特征和物品数据特征;
41.数据推荐模块,用于根据所述用户数据特征和所述物品数据特征获取推荐结果。
42.本发明所采用的另一技术方案是:
43.一种基于图坍缩卷积神经网络的数据推荐系统,包括:
44.至少一个处理器;
45.至少一个存储器,用于存储至少一个程序;
46.当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
47.本发明所采用的另一技术方案是:
48.一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。
49.本发明的有益效果是:本发明将推荐系统中的超大图结构分为若干个子图,提取中坍缩子图的数据特征,再从全局图结构的角度,对子图进行图卷积从而获得全局特征,并以此预测用户评分得到推荐结果,能够解决图结构数据在计算时数据量庞大的问题,对于用户数据的更新,也只需要将新增用户划分到对应的用户子图,更新用户子图的特征数据即可,避免了全局模型的重训练消耗。
附图说明
50.为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
51.图1是本发明实施例中一种基于图坍缩卷积神经网络的数据推荐方法的步骤流程图;
52.图2是本发明实施例中基于图坍缩卷积神经网络的数据推荐方法的模型结构图。
具体实施方式
53.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
54.在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
55.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
56.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
57.术语解释:
58.图坍缩:也称为图塌缩,也有论文认为是跟图粗化相近似的概念。本发明中的图坍缩主要指将数据量巨大的用户数据依据用户的影响力密度划分为不同的基于影响力值的集群,对于形成的密度子图通过图卷积神经网络卷积计算,将一个可能蕴含上万节点数的子图抽取表示为一个超级节点(也就是将原有的节点集合坍缩表示为一个超级节点),从图的形态上看,这一步操作将原有的大量图节点(如数以千万计的节点)急剧缩小(可能减少为万级别的数据),称之为图坍缩。
59.针对目前的推荐算法中存在的问题,本实施例提出了一种基于图坍缩卷积神经网络的数据推荐方法。并且针对推荐系统中用户数据庞大、计算复杂以及用户数据变化带来的模型更新困难等问题,提出了一种基于密度聚类的图坍缩卷积模型。
60.其中,如图1所示,一种基于图坍缩卷积神经网络的数据推荐方法,包括以下步骤:
61.s1、将用户数据进行密度聚类坍缩,获得k个簇坍缩子图;
62.s2、对簇坍缩子图进行卷积处理,获得簇坍缩子图的局部特征;
63.s3、对局部特征进行堆叠处理,实现从簇坍缩子图到全局图结构的图卷积计算,获得用户数据特征和物品数据特征;
64.s4、根据用户数据特征和物品数据特征获取推荐结果。
65.首先将推荐系统中的用户数据先进行密度聚类坍缩为k个簇坍缩聚类子图,通过对子图进行gcn卷积获得簇坍缩子图的局部特征,再对子图层堆叠若干个gcn卷积层实现从簇坍缩子图到全局图结构的图卷积计算,从而获得更加丰富的用户数据特征和物品数据特征,并以此计算得到更加符合用户需求的推荐结果。
66.其中,步骤s1具体包括步骤s11

s12:
67.s11、采用k

means算法对用户数据进行聚类,通过计算用户影响力值获取聚类中
心;
68.s12、基于密度聚类的方式,根据聚类中心将用户数据划分为k个簇坍缩子图。
69.首先采用k

means方法对用户数据进行聚类,聚类时采用的方法是基于密度的聚类。一般k

means算法中聚类中心的选取是随机产生的,本方案中的聚类中心是通过计算用户影响力值得到的,而不是随机选取,相比随机选取,指定合理的聚类中心可以加快聚类收敛的速度和准确率。
70.获得用户聚类中心后再依据密度聚类的方法将超大用户集数据划分为k个用户集群子图。传统的k

means算法进行聚类后即可以此聚类的结果进行分类或预测,而本方案中进行密度聚类的目的是将相似的用户划分为一个子图,然后依据图卷积神经网络的方法将这一个子图抽取为一个超级节点(即本方案中的图坍缩),然后将坍缩后形态缩小了的图结构数据送到模型下一层进行全图的卷积计算从而获得全图数据的特征表达。所以总体讲,聚类的目的是获得聚类子图,然后依据此结果将子图进行图坍缩。
71.以下结合图2对上述方法进行详细的解释说明,图2为基于图坍缩卷积神经网络的数据推荐方法的模型结构图。
72.一、基于用户密度聚类的簇坍缩
73.目前针对聚类存在多种行之有效的方法,k

means算法作为聚类算法中最流行的算法,在1967年被mac queen首次使用,相较于其他的聚类算法,k

means算法以效果好、思想简单的优点在聚类算法中得到了广泛的应用。k

means算法一般用距离作为衡量数据对象间相似度的指标,相似度与数据对象间的距离成反比,相似度越大,距离越小。算法需要预先指定初始聚类数目k以及k个初始聚类中心,根据数据对象与聚类中心之间的相似度,不断更新聚类中心的位置,不断降低簇内的误差平方和(sum of squared error,sse),当sse不再变化或目标函数收敛时聚类结束,得到最终结果。具体步骤为以下:
74.1)假设给定样本集d={x1,x2,

xn},欲将样本集共划分为k个簇c={c1,c2,c3

ck},随机选定k个初始簇聚类中心ci。
75.2)计算数据x与第i个簇的聚类中心ci的距离,根据计算结果将数据分配到距离最近的簇。距离计算一般采可用欧氏距离、曼哈顿距离、余弦距离等多种度量方式。
76.3)对于每个簇分配到的数据,重新计算每个簇的聚类中心ci。
77.4)重复计算第2、3步的内容,直到聚类中心不再变化,则算法收敛结束。
78.虽然k

means算法简单,但是由于k

means算法中聚簇个数k需要事先确定,初始聚类中心也由随机选取产生,导致k

means算法也存在严重不足。与其他系统中的数据不同,面向电影推荐的推荐系统中的一类重要数据是用户数据信息。因此,在推荐系统中,用户具有群体聚集的属性,就像现实世界中,熟悉的人总是更接近一样,他们之间的联系也会越紧密,这种紧密联系会形成图像上的聚集,导致群体的密度越高,因此可以采用基于聚集密度衡量的方法选择聚类簇心,提升算法收敛的效率。
79.在用户的聚类中,存在一个可以体现周围用户密度以及代表周围节点特征的数据,称之为簇中心节点。与普通节点相比,簇中心节点具有两个性质:
80.1)簇中心节点本身的密度很高,被密度不高于它的邻居节点包围,在簇边界内的普通节点密度均不高于簇中心节点。
81.2)簇中心节点与其他密度高于它的中心节点之间距离相对更大。
82.簇中心节点的定义来源于rodriguez等人在2014年提出的一种新型聚类算法密度峰值聚类(density peaks clustering,dpc)算法,该算法最大的优势是不需预先确定簇的数量,能够发现并处理任何形状的数据集。因此,可以先对推荐系统中的用户进行基于密度的聚类,形成k个关于用户的子图。用户具有非常多的属性特征,如原始属性包含性别、年龄、籍贯、学历等,隐含特征包含短期兴趣、长期兴趣等。本发明通过综合计算用户影响力数据,形成基于用户影响力的聚类。
83.(1)用户影响力计算
84.在推荐系统中,用户数据是计算推荐结果的重要信息组成部分。基于对其他用户的影响力大小可以将用户分为权威用户和普通用户。权威用户对周围的用户具有更高的影响力并且吸引其他用户聚集在权威用户周围,从而在权威用户周围形成更为密集的用户集群。同时相较于普通用户而言,权威用户会对更远范围内的用户产生影响,从而形成比普通用户影响半径更大的用户影响范围。基于这一前提,可以先找出影响力更大的用户,形成簇中心节点候选集。同时,两个不同的权威用户代表的是两个特征不相似的用户群体,因此,成为簇中心节点的两个用户之间应该具有较大的距离,也具有更高的不相似性。
85.首先,可以基于用户影响力特征值选取n个用户形成中心节点候选数据,用户影响力是一种隐性的特征,来源于以下几个方面:
86.(a)用户的基础属性带来的影响力
87.在推荐系统中,用户的基础属性主要包括一些显性的特征值,如账号、性别、年龄、受教育程度、显性填写的感兴趣领域等。除此之外,有些系统也会赋予用户一些显性的等级,如微博中用户可以是无任何认证的普通用户、有身份认证的普通用户,也可以是官方认证的大v用户或者自媒体认证用户等。用户基础属性的完整度以及平台赋予的信任度构成用户的基础属性影响力。用户的基础属性带来的影响力记为au。
88.(b)用户的主动行为影响力
89.用户在系统中的主动行为也会增加用户对周边用户的影响,扩大其影响力值。例如频繁登录、发表话题的活跃用户对其他用户的影响会大于沉默的用户。用户的主动行为指用户主动发起并且不以与他人发生社交交互为主要目的的行为,如用户的登录、发布帖子、评价物品等。因此,用户的登录、发布、访问、评论、转发、发布话题、回复话题等主动行为综合起来,就构成了用户的行为影响力bu。
90.(c)用户的社交行为带来的影响力
91.在推荐系统中,用户和用户之间也会发生交互,这种交互所带来的影响高于用户自身属性值影响和用户主动行为的影响。用户的社交行为包括访问、点赞、关注、评论、发送消息、转发、拉黑或屏蔽他人等。用户的社交行为具有方向性,比如用户a关注用户b,但用户b不一定会关注a,同样的,用户a对b的帖子转发点赞,但b未必点赞a的帖子。在考虑用户的影响力时,用户主动发出的社交行为体现的影响力小于用户接收到的社交行为体现的影响力,如微博用户中具有众多粉丝的高影响力用户发布的帖子总是会获得更多的点赞,但这类用户未必会频繁点赞其他用户的内容。因此,在计算用户的社交行为影响力时,考虑的是用户作为接收方带来的社交行为影响力数据,也就是用户社交关系图中的入度社交行为。
92.综合以上方面的影响力,系统中任意用户u的总影响力计算公式如下:
93.e
u
=αa
u
+βb
u
+(1

α

β)s
u
94.其中a
u
表示用户u的属性影响力,b
u
表示主动行为影响力,s
u
表示社交行为影响力。
95.对于具有n个用户的系统,选取影响力排名在前的用户形成簇中心候选集can

clu。
96.(2)用户周边密度计算,从而选定簇心
97.对于簇中心候选集can

clu中的用户数据,用密度ρ
i
表示用户i的周围密度,用户u
i
和u
j
之间的距离表示为dist(u
i
,u
j
),可以采用欧几里得度量两个用户向量之间的距离:
[0098][0099]
其中k表示用户特征的维度。由上式计算可知,用户和用户本身的欧氏距离为0,用户之间的距离越大,表示用户之间的相似度越低,因此距离越大的周边用户对用户i的密度计算贡献越低。为防止离群点在计算距离时对密度数据产生干扰,计算所得用户距离要进行归一化计算,本文采用z

score标准化方法进行距离的数据归一化,计算公式如下:
[0100]
dist(u
i
,u
j
)
*
=(dist(u
i
,u
j
)

μ)/σ
[0101]
其中μ表示用户样本的平均值,σ表示用户样本数据的标准差。用户i的密度计算公式为:
[0102][0103][0104]
其中用户i对用户自身的密度贡献为1,其余用户对用户i的密度贡献用高斯函数表示:
[0105][0106]
其中d
c
为节点距离截断值,也可以看做是一个超级参数,该参数的取值不仅会影响聚类的簇心,还会影响聚类结果簇的边缘划分情况,因此截断距离d
c
的选取至关重要。根据rodriguez的文献,指出在数据集规模(即包含样本数)较大时,dpc算法的聚类结果受截断距离影响较小,反之则较大。本发明中,通过计算用户影响力形成候选簇心集后,数据量已经指数级缩小,因此截断距离的选择不适合采用固定距离使得样本点平均邻居数约占数据集样本点总数的1%~2%的方式。结合相关研究文献中的方法,本实施例的截断距离采用簇心候选样本集中候选簇心之间距离的平均值,计算公式如下:
[0107][0108]
对于簇中心候选集can

clu中的用户数据依次计算用户密度后排序,依据排序大小选取密度前1/2的数据形成下一步k

means聚类的初始中心值数据集clu。
[0109]
相对于原始数据集的大小,簇心数据集clu中的数据量为将簇心数据集clu中的数据作为初始聚类中心进行k

means聚类,对原始数据集形成更为完整的簇聚类子图。具体算法如下:
[0110]
输入:包含k个元素的簇心候选集clu,以及包含n个用户的初始数据集。
[0111]
输出:将n个用户分配到k个簇集合。
[0112]
以簇心候选集中的k个元素作为初始簇中心,计算所有数据x到簇中心c
i
的距离,公式如下。
[0113][0114]
b)将数据对象分配到距离最近(相似度最高)的簇。
[0115]
c)计算各簇内数据的平均值,并以此更新簇中心。
[0116][0117]
d)不断重复,直到整个数据集的误差平方和sse函数收敛,算法结束。
[0118][0119]
至此,算法结束后对于推荐系统中的用户,形成了k个质心的密度聚类,也就是k个子图。
[0120]
二、算法收敛后形成的k个子图,采用图神经网络提取数据特征
[0121]
对于推荐系统中的数据采用图结构进行表示和存储,记为图g。经过以上的k

means密度坍缩之后,形成了关于用户的k个簇聚类,依据这k个簇,可以构建出k个子图
[0122]
对于第k个子图可以获得子图中包含的节点数n
k
、节点列表γ
(k)
以及子图的簇坍缩矩阵s
k

[0123]
对于子图的簇坍缩矩阵s
k
,进行gcn卷积,形成子图的坍缩表达。对于推荐系统而言,最重要的任务一般是获得用户对物品的评价数据,从而决定对用户的推荐系列,因此,簇坍缩子图中,重点是构建用户和物品间的关联关系。同时,模型对用户进行基于密度的坍缩,目的是获得差异性较大的用户群体,因此对于获得的子图簇坍缩矩阵进行图卷积时,并不需要堆叠太多的卷积层。图卷积神经网络具有低通滤波的特性,低通滤波虽然可以使得信号更加平滑,但是堆叠过多的卷积层也会使信号越来越趋同,产生过平滑效应。因此模型中还需要选取一个合适的卷积层数。
[0124]
在推荐系统中,需要处理的数据主要包括用户数据和物品数据,对簇坍缩子图分别计算用户的嵌入表达和物品的嵌入表达。第l+1层用户的嵌入表达方式如下:
[0125][0126]
第l+1层物品的嵌入表达计算如下:
[0127][0128]
用户

物品评价矩阵记为r,且有(其中m表示用户数量,n表示物品数量),对于用户

物品评价矩阵,可构建其邻接矩阵a:
[0129][0130]
在图卷积计算中,卷积算子采用归一化后的拉普拉斯矩阵并且有:
[0131][0132]
在卷积图神经网络中,第l层的卷积计算表示为:
[0133][0134]
第0层,也就是e0表示为图的原始输入数据其中t是嵌入表达的维度。根据实验,不同数据集上的数据在子图上进行2层或者3层卷积时即可达到最佳性能,层级加深性能反而降低,因此实际应用中还需要选定一个最佳子图卷积层数。对于第k个簇坍缩子图进行多层图卷积后形成第k个簇坍缩子图的和表示,其中u∈g
k
,i∈g
k
。最后得到用户的嵌入表达为:
[0135][0136]
物品的嵌入表达:
[0137][0138]
考虑到不同特征的用户群体对评分预测任务的贡献度存在区别,在全局gcn卷积中,对于不同簇坍缩子图得到的特征,还需要设置一个子图权重,最后子图的特征综合起来,得到全局图结构的用户特征和物品特征
[0139][0140][0141]
对于有l层的图神经网络,完成l层的卷积信息提取后,可以得到每一层的嵌入表达和物品的嵌入表达,网络最后一层获得的嵌入表达用来完成预测任务,用户u对于物品i的评分预测为
[0142][0143]
模型的损失函数采用bpr损失并以此优化模型,损失函数的定义为:
[0144][0145]
其中,f={(i,j)|i∈(u,i)≠0,j∈(u,j)=0},λ表示l2正则项。θ表示模型中所有的训练参数。
[0146]
综上所述,与现有的电影推荐系统算法相比,本实施例将推荐系统中获得的原始输入数据转换到非欧氏空间进行计算,相比于传统推荐算法将用户和用户之间的图形结构、用户和物品间的图形结构以及物品和物品间的图形结构直接转换成欧氏空间矩阵的计算方法,本实施例方法能更加充分的应用推荐系统中的原始数据,并提取数据中的隐层特征。
[0147]
与一般的基于用户聚类的推荐算法相比较,本实施例中基于用户的影响力进行密度聚类坍缩,不仅能发现推荐系统的意见领袖,还能基于“物以类聚人以群分”的原则,将内在特征相似、个性喜好相似的用户进行密度集群,从而向相似用户推荐潜在的喜好电影,提升推荐系统的性能。
[0148]
与基于图卷积的推荐算法相比较,本实施例考虑到了推荐系统中面临的巨大用户量和数据处理量的问题,将巨大的用户量基于密度坍缩分解成k个簇坍缩子图,基于k个子图分别训练簇坍缩子图的用户特征向量和电影特征向量,不仅解决了模型训练时数据量过大的问题,对于模型中新增加的用户数据和电影数据,只需要将新增数据聚类到对应的簇坍缩子图,重新训练提取子图特征即可,也避免了大规模图数据下更新模型的计算资源消耗问题,提升了计算的效率和速度。
[0149]
同时,本实施例中对于用户密度聚类坍缩中的截断距离采取k个密度中心求平均值、对于提取的簇坍缩子图的特征向量在进行全局图卷积时先设置子图权重的做法,都能进一步提升子图坍缩的效率和全局特征提取的质量。
[0150]
本实施例还提供一种基于图坍缩卷积神经网络的数据推荐系统,包括:
[0151]
数据聚类模块,用于将用户数据进行密度聚类坍缩,获得k个簇坍缩子图;
[0152]
卷积处理模块,用于对所述簇坍缩子图进行卷积处理,获得所述簇坍缩子图的局部特征;
[0153]
特征堆叠模块,用于对所述局部特征进行堆叠处理,实现从簇坍缩子图到全局图结构的图卷积计算,获得用户数据特征和物品数据特征;
[0154]
数据推荐模块,用于根据所述用户数据特征和所述物品数据特征获取推荐结果。
[0155]
本实施例的一种基于图坍缩卷积神经网络的数据推荐系统,可执行本发明方法实施例所提供的一种基于图坍缩卷积神经网络的数据推荐方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0156]
本实施例还提供一种基于图坍缩卷积神经网络的数据推荐系统,包括:
[0157]
至少一个处理器;
[0158]
至少一个存储器,用于存储至少一个程序;
[0159]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
[0160]
本实施例的一种基于图坍缩卷积神经网络的数据推荐系统,可执行本发明方法实
施例所提供的一种基于图坍缩卷积神经网络的数据推荐方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0161]
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
[0162]
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种基于图坍缩卷积神经网络的数据推荐方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0163]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0164]
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0165]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0166]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0167]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线
的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0168]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0169]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0170]
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
[0171]
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1