神经网络结合知识图谱的推荐方法、系统、终端、介质

文档序号:28700901发布日期:2022-01-29 13:08阅读:86来源:国知局
神经网络结合知识图谱的推荐方法、系统、终端、介质

1.本发明属于人工智能深度学习中的智能推荐系统技术领域,尤其涉及一种神经网络结合知识图谱的推荐方法、系统、终端、介质。


背景技术:

2.目前,互联网信息过载,用户在使用的过程中不堪重负,信息使用者和创造者都遇到了很大的挑战:他们都面临如何从海量信息中找到对自己有价值的信息;让创造的信息被其他用户所关注,这一问题非常难以求解。为求解此问题,智能推荐系统被提出并成为研究热点。推荐系统帮助用户挖掘出对其有价值的信息,通过个性化的方式挖掘用户从大量的选择中发现他们可能感兴趣的商品,这在实际生活中是非常重要的,所以推荐系统一直受到业界和学术研究团体的显著关注。
3.推荐系统是对用户分析历史行为,得到用户的兴趣爱好,并对其进行建模,使用模型推荐出能够满足用户需要的个性化推推。以用户行为的推荐作为常见的推荐模型之一,如协同过滤(collaborative filtering,cf),隐语义模型(latent factor model,lfm);协同过滤推荐模型可以细分为基于用户的协同过滤和基于物品的协同过滤。
4.在一般推荐中,用户的兴趣和偏好被认为是静态的,并根据明显的或潜在的反馈来对用户和商品间的匹配程度进行建模,以图的方式来看推荐系统是在用户-商品二部图的基础上来做预测任务。在推荐系统中,大多数的数据信息都可以用图的结构形式来表示。例如,用户之间的社会关系和与项目相关的知识图谱。此外,二部图是用户与项目之间交互的一种表示形式,项目在序列中的转换也可以构建为图。因此,研究工作者通常把用户-项目的嵌入表示通过图结构的学习方法来获得。
5.鉴于传统的图神经网络表达能力有限,单纯以深度学习为主的模型推荐效果不够好,而蕴含大量先验知识的知识图谱作为一种语义网络拥有极强的表达和建模能力。传统的神经网络计算输出用户和商品表示之后,只是单纯的拼接处理,用户和商品之间没有交互性。因此,亟需一种新的应用于智能推荐系统的神经网络结合知识图谱的推荐方法。
6.通过上述分析,现有技术存在的问题及缺陷为:传统的神经网络计算输出用户和商品表示之后,只是单纯的拼接处理,用户和商品之间交互性不足,本发明加入了特征重塑和循环卷积用于提高交互性。现有的基于深度学习的推荐系统应用知识图谱推理较少,本发明将图神经网络和知识图谱推理结合,推荐效果更好。
7.解决以上问题及缺陷的难度为:
8.以上问题较难解决,常用神经网络模块需要编写pytorch代码,特征重塑和循环卷积需要算法设计与编程,聚合模块需要考虑邻居节点的数量,对邻居节点重要程度进行排序,全连接层神经网络第一层使用了优化,图神经网络部分和知识图谱推理部分结合时代码需要根据实际情况编程。
9.解决以上问题及缺陷的意义为:
10.在传统以深度学习为基础的图神经网络推荐系统中融入了知识图谱推理部分,是
一种技术上的创新和改进,在不同数据集上做了大量实验,实验效果比传统的图神经网络推荐系统都要好。在智能推荐系统中对用户进行项目的推荐更加准确有效。


技术实现要素:

11.针对现有技术存在的问题,本发明提供了一种神经网络结合知识图谱的推荐方法、系统、终端、介质。具体涉及一种应用于智能推荐系统的神经网络结合知识图谱的推荐方法。
12.本发明是这样实现的,一种应用于智能推荐系统的神经网络结合知识图谱的推荐方法,所述应用于智能推荐系统的神经网络结合知识图谱的推荐方法包括以下步骤:
13.步骤一,下载推荐系统的用户-项目数据集,进行数据的预处理,去除用户-项目交互数小于10次的数据行,去除缺失数据的行和非数值字段,构建用户-项目的训练集和测试集;
14.步骤二,根据用户-项目和项目-用户图结构关系,构建用户-项目和项目-用户的二部图矩阵,得到神经网络初始输入;
15.步骤三,将用户-项目和项目-用户矩阵进行特征映射,在特征映射部分,通过两层全连接层,分别输入用户矩阵和商品矩阵得到特征转换;
16.步骤四,得到特征映射向量后,计算节点与其周围一阶邻居节点的attention权重,聚合一阶邻居特征,得到用户和项目的表示向量;
17.步骤五,将两个表示向量通过两层全连接层后,进行特征重塑为特征方阵,输入到循环卷积层;
18.步骤六,针对智能推荐系统的实际应用场景,确定全连接层数,循环卷积层数,聚合邻居的数量,卷积核的个数、大小、步长、各层之间的顺序及输入数据的shape;
19.步骤七,通过测试数据集验证神经网络模型的效果,并调整各参数,得到基于神经网络和知识图谱的智能推荐方法的最优预测模型;
20.步骤八,将待预测推荐的用户-项目数据输入到预测模型,得到所有用户和所有项目的预测评分,最后总根据评分降序排序,进行top-n推荐。
21.进一步,步骤二中,在用户部分的用户矩阵中,若用户购买某件商品并进行评分,则填入实际的评分值,若用户没有购买则填入的评分为0;在商品部分的商品矩阵中,若用户购买某件商品并进行评分,则填入实际的评分值,若用户没有购买则填入的评分为0;矩阵构建完成后,得到神经网络训练初始的输入,数据用于此次应用于智能推荐系统的神经网络结合知识图谱的推荐方法。
22.进一步,步骤三中,由于矩阵输入神经网络本身就是做矩阵的乘积,故神经网络中的全连接层记为qm和wm,用户矩阵和商品矩阵分别记为pi和ui;和为两种矩阵通过第i层全连接层的特征映射矩阵:
[0023][0024][0025]
进一步,步骤四中,聚合一阶邻居特征,给定图g=(v,e),v表示节点,e表示边,节
点的个数为n,输入为n个节点的特征h={h1,h2,

,hn},输出为对节点hi和hj进行特征变换,充分表达节点的特征,w为全连接层的权重:
[0026]eij
=attention(whi,whj);
[0027]
对每一个节点进行self-attention操作,计算节点与节点之间的注意力权重,使用softmax函数在集合ni中进行归一化,使系数在不同的节点易于比较:
[0028][0029]
其中,ni为节点i的一阶邻居节点集合,最终attention系数与节点的特征进行线性组合,输出节点特征结果:
[0030][0031]
聚合一阶邻居后分别得到用户和项目的表示。
[0032]
进一步,步骤五中,在得到用户和项目的表示后,将用户和商品的特征表示两个n*1的向量进行特征的重塑为的特征矩阵,并进行循环卷积;将特征矩阵拉伸成一行或者一列输入到两层全连接层神经网络中,最终输出一个用户和项目分数:
[0033]
g2=σ(w2·
g1+b2);
[0034]gl
=σ(w
l
·gl-1
+b
l
);
[0035]rui
=wt
·gl

[0036]
其中,w
l
表示第l层全连接层神经网络,g
l
表示第l层的输入或输出,bk表示第l层的偏置项,σ表示激活函数,w
t
表示矩阵的转置,r
ui
表示最终的用户和项目评分。
[0037]
进一步,步骤六中,神经网络的设计与搭建基于pytorch框架,根据数据集确定全连接等的层数,一阶邻居聚合的邻居个数,当得到用户和项目的表示后,将用户和商品的特征表示两个n*1的向量进行特征的重塑为的特征矩阵,把反震当作一幅图像来处理,确定神经网络结构的参数:shape,filter,strides,padding;数据的维度与图像的宽对应,每行数据与图像的高对应,shape为32,72,128中的一个,filter的大小设置为3*3,strides设置为1,将padding设置为same,对图像元素做边缘扩充。
[0038]
本发明的另一目的在于提供一种神经网络结合知识图谱的推荐系统,所述包括:
[0039]
数据预处理模块,用于下载推荐系统的用户-项目数据集,进行数据的预处理,去除用户-项目交互数小于10次的数据行,去除缺失数据的行和非数值字段,构建用户-项目的训练集和测试集;
[0040]
二部图矩阵构建模块,用于根据用户-项目和项目-用户图结构关系,构建用户-项目和项目-用户的二部图矩阵,得到神经网络初始输入;
[0041]
矩阵特征映射模块,用于将用户-项目和项目-用户矩阵进行特征映射,在特征映射部分,通过两层全连接层,分别输入用户矩阵和商品矩阵得到特征转换;
[0042]
表示向量获取模块,用于在得到特征映射向量后,计算节点与其周围一阶邻居节
点的attention权重,聚合一阶邻居特征,得到用户和项目的表示向量;
[0043]
特征方阵构建模块,用于将两个表示向量通过两层全连接层后,进行特征重塑为特征方阵,输入到循环卷积层;
[0044]
聚合模块,用于针对智能推荐系统的实际应用场景,确定全连接层数,循环卷积层数,聚合邻居的数量,卷积核的个数、大小、步长、各层之间的顺序及输入数据的shape;
[0045]
预测模型构建模块,用于通过测试数据集验证神经网络模型的效果,并调整各参数,得到基于神经网络和知识图谱的智能推荐方法的最优预测模型;
[0046]
top-n推荐模块,用于将待预测推荐的用户-项目数据输入到预测模型,得到所有用户和所有项目的预测评分,最后总根据评分降序排序,进行top-n推荐。
[0047]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0048]
下载推荐系统的用户-项目数据集,进行数据的预处理,去除用户-项目交互数小于10次的数据行,去除缺失数据的行和非数值字段,构建用户-项目的训练集和测试集;根据用户-项目和项目-用户图结构关系,构建用户-项目和项目-用户的二部图矩阵,得到神经网络初始输入;将用户-项目和项目-用户矩阵进行特征映射,在特征映射部分,通过两层全连接层,分别输入用户矩阵和商品矩阵得到特征转换;得到特征映射向量后,计算节点与其周围一阶邻居节点的attention权重,聚合一阶邻居特征,得到用户和项目的表示向量;
[0049]
将两个表示向量通过两层全连接层后,进行特征重塑为特征方阵,输入到循环卷积层;针对智能推荐系统的实际应用场景,确定全连接层数,循环卷积层数,聚合邻居的数量,卷积核的个数、大小、步长、各层之间的顺序及输入数据的shape;通过测试数据集验证神经网络模型的效果,并调整各参数,得到基于神经网络和知识图谱的智能推荐方法的最优预测模型;将待预测推荐的用户-项目数据输入到预测模型,得到所有用户和所有项目的预测评分,最后总根据评分降序排序,进行top-n推荐。
[0050]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
[0051]
下载推荐系统的用户-项目数据集,进行数据的预处理,去除用户-项目交互数小于10次的数据行,去除缺失数据的行和非数值字段,构建用户-项目的训练集和测试集;根据用户-项目和项目-用户图结构关系,构建用户-项目和项目-用户的二部图矩阵,得到神经网络初始输入;将用户-项目和项目-用户矩阵进行特征映射,在特征映射部分,通过两层全连接层,分别输入用户矩阵和商品矩阵得到特征转换;得到特征映射向量后,计算节点与其周围一阶邻居节点的attention权重,聚合一阶邻居特征,得到用户和项目的表示向量;
[0052]
将两个表示向量通过两层全连接层后,进行特征重塑为特征方阵,输入到循环卷积层;针对智能推荐系统的实际应用场景,确定全连接层数,循环卷积层数,聚合邻居的数量,卷积核的个数、大小、步长、各层之间的顺序及输入数据的shape;通过测试数据集验证神经网络模型的效果,并调整各参数,得到基于神经网络和知识图谱的智能推荐方法的最优预测模型;将待预测推荐的用户-项目数据输入到预测模型,得到所有用户和所有项目的预测评分,最后总根据评分降序排序,进行top-n推荐。
[0053]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于
实现所述的应用于智能推荐系统的神经网络结合知识图谱的推荐系统。
[0054]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的应用于智能推荐系统的神经网络结合知识图谱的推荐方法,使用多种深度学习模型,融合知识图谱推理,增加交互性的协同过滤融合的智能推荐方法,得到智能推荐系统中用户和项目的特征表示向量,这些特征表示向量对智能推荐方法非常重要,用其训练的神经网络模型更符合实际情况,在智能推荐系统中对用户进行项目的推荐更加准确有效。
[0055]
本发明的有益效果是:将图神经网络领域和知识图谱领域融合,提供一种应用于智能推荐系统的神经网络结合知识图谱的融合模型推荐方法,使设计与实现的智能推荐系统更加有效,将两种矩阵分别输入到深度神经网络中,通过神经网络输出用户和项目表示,在得到两者表示的基础上,通过特征重塑增加了用户和项目的交互性,通过卷积神经网络提取特征重塑之后的交互性特征,预测用户和项目之间的评分,进行项目的top-n推荐。
附图说明
[0056]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0057]
图1是本发明实施例提供的应用于智能推荐系统的神经网络结合知识图谱的推荐方法流程图。
[0058]
图2是本发明实施例提供的应用于智能推荐系统的神经网络结合知识图谱的推荐方法原理图。
[0059]
图3是本发明实施例提供的应用于智能推荐系统的神经网络结合知识图谱的推荐系统结构框图;
[0060]
图中:1、数据预处理模块;2、二部图矩阵构建模块;3、矩阵特征映射模块;4、表示向量获取模块;5、特征方阵构建模块;6、聚合模块;7、预测模型构建模块;8、top-n推荐模块。
[0061]
图4是本发明实施例提供的用户-项目的结构表示图。
[0062]
图5是本发明实施例提供的构建用户-项目和项目-用户的矩阵图。
[0063]
图6是本发明实施例提供的神经网络结构示意图。
[0064]
图7是本发明实施例提供的模型训练过程记录示意图。
[0065]
图8是本发明实施例提供的测试曲线示意图。
[0066]
图9是本发明实施例提供的测试指标示意图。
具体实施方式
[0067]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0068]
针对现有技术存在的问题,本发明提供了一种应用于智能推荐系统的神经网络结合知识图谱的推荐方法,下面结合附图对本发明作详细的描述。
[0069]
如图1所示,本发明实施例提供的应用于智能推荐系统的神经网络结合知识图谱的推荐方法包括以下步骤:
[0070]
s101,下载推荐系统的用户-项目数据集,进行数据的预处理,去除用户-项目交互数小于10次的数据行,去除缺失数据的行和非数值字段,构建用户-项目的训练集和测试集;
[0071]
s102,如图4根据用户-项目和项目-用户图结构关系,如图5构建用户-项目和项目-用户的二部图矩阵,得到神经网络初始输入;
[0072]
s103,如图6将用户-项目和项目-用户矩阵进行特征映射,在特征映射部分,通过两层全连接层,分别输入用户矩阵和商品矩阵得到特征转换;
[0073]
s104,如图6得到特征映射向量后,计算节点与其周围一阶邻居节点的attention权重,聚合一阶邻居特征,得到用户和项目的表示向量;
[0074]
s105,如图6将两个表示向量通过两层全连接层后,进行特征重塑为特征方阵,输入到循环卷积层;
[0075]
s106,针对智能推荐系统的实际应用场景,确定全连接层数,循环卷积层数,聚合邻居的数量,卷积核的个数、大小、步长、各层之间的顺序及输入数据的shape;
[0076]
s107,通过测试数据集验证神经网络模型的效果,并调整各参数,得到基于神经网络和知识图谱的智能推荐方法的最优预测模型;
[0077]
s108,将待预测推荐的用户-项目数据输入到预测模型,得到所有用户和所有项目的预测评分,最后总根据评分降序排序,进行top-n推荐。
[0078]
本发明实施例提供的应用于智能推荐系统的神经网络结合知识图谱的推荐方法原理图如图2所示。
[0079]
如图3所示,本发明实施例提供的应用于智能推荐系统的神经网络结合知识图谱的推荐系统包括:
[0080]
数据预处理模块1,用于下载推荐系统的用户-项目数据集,进行数据的预处理,去除用户-项目交互数小于10次的数据行,去除缺失数据的行和非数值字段,构建用户-项目的训练集和测试集;
[0081]
二部图矩阵构建模块2,用于根据用户-项目和项目-用户图结构关系,构建用户-项目和项目-用户的二部图矩阵,得到神经网络初始输入;
[0082]
矩阵特征映射模块3,用于将用户-项目和项目-用户矩阵进行特征映射,在特征映射部分,通过两层全连接层分别输入用户矩阵和商品矩阵得到特征转换;
[0083]
表示向量获取模块4,用于在得到特征映射向量后,计算节点与其周围一阶邻居节点的attention权重,聚合一阶邻居特征,得到用户和项目的表示向量;
[0084]
特征方阵构建模块5,用于将两个表示向量通过两层全连接层后,进行特征重塑为特征方阵,输入到循环卷积层;
[0085]
聚合模块6,用于针对智能推荐系统的实际应用场景,确定全连接层数,循环卷积层数,聚合邻居的数量,卷积核的个数、大小、步长、各层之间的顺序及输入数据的shape;
[0086]
预测模型构建模块7,用于通过测试数据集验证神经网络模型的效果,并调整各参数,得到基于神经网络和知识图谱的智能推荐方法的最优预测模型;
[0087]
top-n推荐模块8,用于将待预测推荐的用户-项目数据输入到预测模型,得到所有
用户和所有项目的预测评分,最后总根据评分降序排序,进行top-n推荐。
[0088]
下面结合具体实施例对本发明的技术方案作进一步描述。
[0089]
本发明使用多种深度学习模型,融合知识图谱推理,增加交互性的协同过滤融合的智能推荐方法,得到智能推荐系统中用户和项目的特征表示向量,这些特征表示向量对智能推荐方法非常重要,用其训练的神经网络模型更符合实际情况,在智能推荐系统中对用户进行项目的推荐更加准确有效。
[0090]
本发明是应用于智能推荐系统的神经网络结合知识图谱的融合模型推荐方法,即解决智能推荐系统中对用户进行项目有效推荐的问题。
[0091]
本发明实施例提供的应用于智能推荐系统的神经网络结合知识图谱的推荐方法,包括以下步骤:
[0092]
步骤1,下载推荐系统的用户-项目数据集,进行数据的预处理,去除用户-项目交互数小于10次的数据行,去除缺失数据的行和非数值字段,构建用户-项目的训练集和测试集。
[0093]
以yelp数据为例,yelp数据集是一个当地商业推荐数据集,预处理之后包含1286个用户,2614个项目和1286个用户对2614个项目的评分。如图2所示,评分分为五个等级分别用数字1、2、3、4、5表示,如用户没有购买过商品或者没有对购买过的商品进行评分,则设定为0。数据集的部分结构如表1所示第一列、第二列、第三列分别代表商品的id、用户的id和用户对商品的评分。
[0094]
表1yelp数据集中部分数据结构
[0095][0096]
步骤2,如图4所示的用户-项目和项目-用户图结构关系,构建用户-项目和项目-用户的二部图矩阵,若用户数量为100,商品数量为200,则用户部分构建100
×
200的矩阵,矩阵中的数值就填入用户对商品的评分,商品部分构建200
×
100的矩阵,矩阵中的数值填入用户对商品的评分。在用户部分的用户矩阵中,若用户购买了某件商品并对其进行了评分,则填入实际的评分值,若用户没有购买则填入的评分为0。在商品部分的商品矩阵中,若用户购买了某件商品并对其进行了评分,则填入实际的评分值,若用户没有购买则填入的评分为0。构建结果如图5所示,矩阵构建完成之后,就得到了神经网络训练初始的输入,数据可用于此次应用于智能推荐系统的神经网络结合知识图谱的推荐方法。
[0097]
步骤3,将用户-项目和项目-用户矩阵进行特征映射,在特征映射部分,通过两层全连接层,分别输入用户矩阵和商品矩阵得到特征转换。由于矩阵输入神经网络本身就是
做矩阵的乘积,所以这里神经网络中的全连接层记为qm和wm,用户矩阵和商品矩阵分别记为pi和ui。和为两种矩阵通过第i层全连接层的特征映射矩阵。
[0098][0099][0100]
步骤4,聚合一阶邻居特征,给定图g=(v,e),v表示节点,e表示边,节点的个数为n,输入为n个节点的特征h={h1,h2,...,hn},输出为为了充分的表达节点的特征,先对节点hi和hj进行了特征变换,w为全连接层的权重。
[0101]eij
=attention(whi,whj)
[0102]
之后对每一个节点进行self-attention操作,计算节点与节点之间的注意力权重,为了使系数在不同的节点易于比较,使用softmax函数在集合ni中进行归一化。
[0103][0104]
其中ni为节点i的一阶邻居节点集合,最终attention系数与节点的特征进行线性组合,输出节点特征结果。
[0105][0106]
聚合一阶邻居之后分别得到用户和项目的表示。
[0107]
步骤5,在得到用户和项目的表示后,将用户和商品的特征表示两个n*1的向量进行了特征的重塑为的特征矩阵,并进行循环卷积。之后将特征矩阵拉伸成一行或者一列输入到两层全连接层神经网络中,最终输出一个用户和项目分数。w
l
表示第l层全连接层神经网络,g
l
表示第l层的输入或输出,bl表示第l层的偏置项,σ表示激活函数,w
t
表示矩阵的转置,r
ui
表示最终的用户和项目评分。
[0108]
g2=σ(w2·
g1+b2)
[0109]gl
=σ(w
l
·gl-1
+b
l
)
[0110]rui
=w
t
·gl
[0111]
该步骤是本发明的一个创新,传统的方法都是将用户和项目的表示向量拼接起来,通过几层全连接层得到最终用户和项目的评分,本发明为了弥补传统模型挖掘用户和商品之间潜在关系信息的不足缺陷,将用户和商品的特征表示进行了特征的重塑,为了进一步的增加交互性,本发明引入了循序卷积。考虑到传统的卷积第一行和最后一行很难被一个卷积核卷积到,这种卷积之后的结果交互性不强,提取的特征效果不够好,如图6所示,本发明将第一行添加到最后一行之后,最后一行添加到第一行之前,第一列添加到最后一列之后,最后一列添加到第一列之前,之后将特征矩阵拉伸成一行或者一列输入到两层神经网络中,最终输出一个分数,这个分数就代表用户和项目的预测分数,跟数据集中的真是评分进行对比,计算均方根误差损失函数,使用adam优化器进行反向传播时的优化,最终学习到用户和商品的较好的表示,在yelp数据集上实现更好的推荐效果。
[0112]
步骤6,针对智能推荐系统的实际应用场景,确定全连接层数,循环卷积层数,聚合邻居的数量,卷积核的个数、大小、步长、各层之间的顺序及输入数据的shape;
[0113]
神经网络的设计与搭建基于pytorch框架,需要根据数据集首先确定全连接等的层数,一阶邻居聚合的邻居个数,当得到用户和项目的表示之后,将用户和商品的特征表示两个n*1的向量进行了特征的重塑为的特征矩阵,把反震当作一幅图像来处理,确定神经网络结构的参数:shape,filter,strides,padding。数据的维度与图像的宽对应,每行数据与图像的高对应,shape为32,72,128中的一个,filter的大小设置为3*3,strides设置为1,为了对图像元素做边缘扩充,将padding设置为same。
[0114]
步骤7,通过测试数据集验证神经网络模型的效果,并调整各参数,得到基于神经网络和知识图谱的智能推荐方法的最优预测模型;
[0115]
步骤8,将待预测推荐的用户-项目数据输入到预测模型,得到所有用户和所有项目的预测评分,最后总根据评分降序排序,进行top-n推荐。
[0116]
所述应用于智能推荐系统的神经网络结合知识图谱的融合推荐模型分为两个模块,第一个模块输入用户的表示,和用户邻居的表示,第二个模块输入项目的表示和项目邻居的表示,之后每个模块都是先通过一层全连接层进行特征转换,再通过一层全连接层进行一阶邻居的权重计算,再通过矩阵乘法聚合邻居特征得到用户和项目节点的表示,之后进行特征的重塑,得到特征方阵,将特征方阵输入到两层的循环卷积层和池化层和dropout层、最终将特征拉平,通过两层全连接层,最终得到评分,循环卷积层中卷积核大小为3
×
3,初始输入为用户-项目和项目-用户的矩阵,循环卷积层的输入为特征方阵,循环卷积层将方阵与卷积核做互相关运算,得到输出,池化层中(pooling)中池化窗口大小维2
×
2,全连接层(dense):输入层到隐藏层的神经元全部连接,循环卷积层、全连接层后一般都会连接非线性变化函数,例如sigmoid、tanh、relu等来增强网络的表达能力;dropout层:在模型训练阶段随机让一些隐藏层节点权重不工作,提高网络的泛化能力,在一定程度上防止过拟合;激活层(activation)。
[0117]
在训练过程中由于会对每层的参数进行不断更新,会导致下一次输入分布大声变化,所以需要精心设计超参数,本发明使用batch normalization(bn)算法,每个batch对网络中的每一层特征都做归一化处理,使神经网络中每层的分布相对稳定,bn算法不仅起到一定的正则作用,而且弱化了一些超参数的设计,经过实验证明,bn算法可以加速神经网络模型的收敛过程。
[0118]
本发明将图神经网络领域和知识图谱领域融合,提供一种应用于智能推荐系统的神经网络结合知识图谱的融合模型推荐方法,使设计与实现的智能推荐系统更加有效,将两种矩阵分别输入到深度神经网络中,通过神经网络输出用户和项目表示,在得到两者表示的基础上,通过特征重塑增加了用户和项目的交互性,通过卷积神经网络提取特征重塑之后的交互性特征,预测用户和项目之间的评分,进行项目的top-n推荐。
[0119]
下面结合具体实验对本发明的技术方案作进一步描述。
[0120]
实验使用的环境:
[0121]
本机硬件配置:processor:intel(r)core(tm)i7-6700hqcpu@2.60ghz2.59hz;
[0122]
installed memory(sram):8.00gb;
[0123]
system type:64-bit operating system;
[0124]
开发环境:python3.6.5,jetbrains pycharm,pytorch 1.8.0torchvision 0.9.0,idea;
[0125]
运行环境:windows10及其以上版本,
[0126]
外租服务器:矩池云,nvidia geforce rtx 2080ti;
[0127]
gpu
[0128]
·
gpu带宽616.00gb/s
[0129]
·
tflops 13.13
[0130]
cpu
[0131]
·
cpu型号intel(r)xeon(r)cpue5-2678v3@2.50ghz intel(r)xeon(r)cpu e5-2678v3@2.50ghz
[0132]
·
cpu核数6cores
[0133]
·
cpu内存62gb
[0134]
主板
[0135]
·
主板型号x10drg-o+-cpu
[0136]
·
通道数16
[0137]
·
pcie带宽15.75gb/s
[0138]
硬盘
[0139]
·
可用空间100gb
[0140]
·
硬盘samsungmz7km1t9
[0141]
·
硬盘带宽375.80mb/s
[0142]
速度
[0143]
·
上传速度44.17mbps
[0144]
下载速度86.32mbps。
[0145]
模型训练时的参数设定:迭代轮数为300轮如果过30轮测试集上的均方根误差的值都没有下降则终止模型的训练,学习率为0.001,商品和用户的表示维度为32,丢失率dropout设置为0.5,每次处理的数据量batch_size设置为256,特征矩阵的宽设置为4,高度设置为8。训练过程如图7所示,模型的前25个epoch测试集的rsme不断下降,之后rsme不断波动,最终处于一个稳定的值。
[0146]
测试集采用的是均方根误差作为指标函数,该指标函数是均方误差的算术平方根,其中yi代表真实的值,yi代表模型预测的值,n为样本的个数,是用来衡量真实值和预测值的偏差的重要指标,是深度学习在做回归任务时的重要指标,也是衡量推荐系统中推荐效果优劣的重要指标
[0147][0148]
rmse相当于l2范数,其对异常值比较敏感,通过l2范数,可以把模型的求解空间进行一定量的限制,在一定程度上避免了过拟合。限制了解空间的范围,控制了模型复杂度,降低了结构化风险。
[0149]
在测试集指标评测的过程中发现,rmse在前20个epoch中下降很快,从一开始的10
的12次方下降到10以内,为了展示更好的视觉效果,这里将前15轮的rmse忽略,做了如图8所示的rmse随着epoch的变化而变化的曲线图。
[0150]
从图9中可以看到rmse在30epoch和31epoch达到了较小的值,分别为0.352297和0.352365由实验结果得知,rmse最小为0.352297。
[0151]
如表2和表3所示在yelp数据集上pmf模型的rmse为0.3967,biasmf为0.3902,llorma-local为0.3890,i-autorec为0.3817,i-cf-nade为0.3857,gc-mc为0.3850,mccf-nd为0.3836,mccf-cmp为0.3806,mccf为0.3806。相比较于以上模型基于增加交互性和协同过滤的推荐模型有更小的rmse值为0.352297,可以得出融合模型缩小了真实值和预测值的偏差,具有更好的推荐效果。
[0152]
表2
[0153][0154]
表3
[0155]
模型mccf-ndmccf-cmpmccfl本发明rmse指标0.38360.38060.38060.352297
[0156]
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0157]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
[0158]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所
作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1