一种基于多信息源图嵌入的好友推荐方法及系统与流程

文档序号:18465403发布日期:2019-08-17 02:24阅读:291来源:国知局
一种基于多信息源图嵌入的好友推荐方法及系统与流程

本申请涉及信息技术领域,尤其涉及一种基于多信息源图嵌入的好友推荐方法及系统。



背景技术:

社交网络是社会中每个成员之间沟通交流产生关系从而形成的网络,我们熟悉了解的社交网络有微信、新浪微博、知乎等等,在这些社交网络平台上用户可以发表自己的一些新奇想法,也可以给他人的想法点赞或者评论从而产生互动,并通过这些互动可以结交到新朋友。社交网络中一个节点表示一位用户,节点通过关系连接起来从而形成一个规模巨大的网络。传统的,通过链接预测观察到的边以及节点的属性来预测两个节点间存在一条边的可能性,若两个节点间存在一条边就表示两个用户存在好友关系,两个节点之间不存在边则表示不存在好友关系或者关系未知。为了得到两个用户之间确切的关系,在有关社交网络的链接预测研究中,如何准确的表示网络信息是一个重要问题。传统的网络表示一般使用高维的稀疏向量,但高维的稀疏向量需要花费更多的运行时间和计算空间,是人们使用统计学习方法时的局限所在。此外,节点还包含丰富的属性信息,比如用户的性别、年龄、学校、星座、位置信息等等。在社交网络的互动中,年龄比较相近的用户更可能成为好友,在同一所学校的两个用户也比不在一个学校更容易成为好友。另外,用户的兴趣爱好也是好友推荐的一个重要因素。当前的一些社交网站虽然也专门设置了好友推荐模块,但该好友推荐模块通常采用协同过滤,即通过用户-用户关系矩阵分析用户之间的相似度,根据相似度大小为用户推荐新的朋友。但在实际生活中,用户-用户交互矩阵中含有大量的缺失值,而且当新用户加入社交网络时无法得到交互信息,容易造成数据稀疏、新用户冷启动等问题。传统的好友推荐模块多只是利用数据信息的结构信息计算两个用户的相似性,而将节点中存在的丰富的属性信息忽略了。如何将这些结构信息和属性信息充分利用起来,分析出用户的偏好,了解到用户更喜欢和哪种类型的人交往,更喜欢购买什么样的物品,增加推荐结果的准确性和提高用户的满意度也是当前需要解决的问题。



技术实现要素:

本申请的目的在于提供一种基于多信息源图嵌入的好友推荐方法及系统,具有利用属性信息和图嵌入算法提高了好友推荐的准确度的技术效果。

为达到上述目的,本申请提供一种基于多信息源图嵌入的好友推荐方法,包括如下步骤:获取源节点信息和目标节点信息;分别对源节点信息和目标节点信息进行图嵌入处理,并获取源节点信息的嵌入后结构向量和嵌入后属性向量,以及目标节点信息的嵌入后结构向量和嵌入后属性向量;拼接源节点信息的嵌入后的结构向量和嵌入后的属性向量获得完整的源节点向量;拼接目标节点信息的嵌入后的结构向量和嵌入后的属性向量获得完整的目标节点向量;将完整的源节点向量和完整的目标节点向量进行拼接后,送入隐藏层进行学习;完成学习后,输出节点之间存在的连接的概率,并根据概率的大小进行推送。

优选的,源节点信息包括源节点结构信息和源节点属性信息;目标节点信息包括目标节点结构信息和目标节点属性信息。

优选的,源节点结构信息采用独热编码的形式转换为一组二进制的结构输入向量输入。

优选的,源节点属性信息为离散属性或连续属性;离散属性采用独热编码的形式转换为一组二进制的属性输入向量输入,连续属性通过词频-逆向文件频率转换为实值向量输入。

优选的,源节点信息的独热编码输入的结构输入向量通过节点嵌入算法嵌入为源节点信息的嵌入后结构向量源节点的属性输入向量或实值向量通过自定义的权重矩阵w(k)嵌入为源节点信息的嵌入后属性向量

优选的,将源节点信息的嵌入后的结构向量和嵌入后的属性向量送入拼接层进行拼接,并获取完整的源节点向量us,该完整的源节点向量us表达式如下:式中,α为权重,用于调整结构信息与属性信息之间的平衡。

优选的,α的取值范围为[0,1]。

一种基于多信息源图嵌入的好友推荐系统,包括服务器和与服务器连接的至少一个客户端;其中,服务器:用于执行上述的基于多信息源图嵌入的好友推荐方法;服务器内具有推荐模型;客户端:用于接收服务器的推送信息。

优选的,推荐模型包括依次设置的输入层、嵌入层、拼接层、隐藏层和输出层;输入层:用于获取源节点信息和目标节点信息;嵌入层:用于对源节点信息和目标节点信息进行图嵌入处理,获取源节点信息的结构低维紧密向量和属性低维紧密向量;以及获取目标节点信息的结构低维紧密向量和属性低维紧密向量;拼接层:用于拼接源节点信息的结构低维紧密向量和属性低维紧密向量获得完整的源节点向量;用于拼接目标节点信息的结构低维紧密向量和属性低维紧密向量获得完整的目标节点向量;隐藏层:用于将完整的源节点向量和完整的目标节点向量拼接起来,并对拼接后的向量进行分析和训练;输出层:用于根据分析和训练,输出概率值,并根据概率值进行好友推送。

优选的,隐藏层具有多个子隐藏层。

本申请实现的有益效果如下:

(1)本申请的基于多信息源图嵌入的好友推荐方法及系统将深度学习应用到社交网络的好友推荐中,利用结构信息和属性信息两种信息,通过图嵌入的方法对两部分信息进行处理,并且在早期进行融合,利用深度神经网络学习用户的节点表示,得到成为好友的可能性,并根据该可能性为用户推荐好友,大大提高了好友推荐的准确度。

(2)本申请的基于多信息源图嵌入的好友推荐方法及系统通过图嵌入将图转换为保存图信息的低维空间,利用一个映射函数将网络图中每个节点转换成低维度的潜在表示。

(3)本申请的基于多信息源图嵌入的好友推荐方法及系统将结构信息和属性信息同时作为推送模型的输入,其中结构信息捕获节点在网络中的结构相似性,属性信息捕获属性同质性,两部分信息互补充分挖掘节点之间的关系;另外,利用节点之间的权重表示节点之间的关系,权重越大表示关系越密切,反之,权重下表示关系疏远。

(4)本申请的基于多信息源图嵌入的好友推荐方法及系统对于结构信息和属性信息采取不同的处理方式,处理后的结构向量和属性向量进行早期的融合学习,采用不同的融合方式融合两部分信息,通过权重α调节两部分信息的比例,最后将整合的节点表示送到推送模型中进行学习,预测两个节点之间的关系。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为推送模型一种实施例的结构示意图;

图2为在unc数据集上的子隐层数层数对auc值的影响的折线图;

图3为基于多信息源图嵌入的好友推荐系统一种实施例的流程图;

图4为commonneighbors、adamic-adar、deepwalk和node2vec四种算法在oklahoma数据集上的表现柱状图;

图5为commonneighbors、adamic-adar、deepwalk和node2vec四种算法在unc数据集上的表现柱状图;

图6为commonneighbors、adamic-adar、deepwalk和node2vec四种算法在citeseer数据集的表现柱状图;

图7为不同权重α在数据集上的比较折线图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供一种基于多信息源图嵌入的好友推荐方法及系统,将深度学习应用到社交网络的好友推荐中,通过图嵌入的方法处理结构信息和属性信息两种信息,将处理后的两种信息进行融合,利用深度神经网络学习用户的节点表示,并获取成为好友的可能性,进而根据可能性为用户推荐好友,大大提高了推荐好友的准确度。

如图1所示,本申请提供一种基于多信息源图嵌入的好友推荐系统,包括服务器1和与服务器1连接的至少一个客户端2。

其中,服务器1:用于执行基于多信息源图嵌入的好友推荐方法;服务器1内具有推荐模型11。

客户端2:用于接收服务器1的推送信息。

进一步的,推荐模型11包括依次设置的输入层111、嵌入层112、拼接层113、隐藏层114和输出层115。

其中,输入层111:用于获取源节点信息和目标节点信息。

嵌入层112:用于对源节点信息和目标节点信息进行图嵌入处理,获取源节点信息的结构低维紧密向量和属性低维紧密向量;以及获取目标节点信息的结构低维紧密向量和属性低维紧密向量。

拼接层113:用于拼接源节点信息的结构低维紧密向量和属性低维紧密向量获得完整的源节点向量;用于拼接目标节点信息的结构低维紧密向量和属性低维紧密向量获得完整的目标节点向量。

隐藏层114:用于将完整的源节点向量和完整的目标节点向量拼接起来,并对拼接后的向量进行分析和训练。

进一步的,隐藏层114具有多个子隐藏层1141,该子隐藏层1141的具体层数可根据实际情况而定。

具体的,作为一个实施例,在实验中尝试不同层数的子隐藏层1141对实验结果的影响。当增加隐藏层(神经网络)114的深度时可以增加推送模型11的泛化能力,但当隐藏层114中的子隐藏层1141层数过多时,优化过程将变得困难,也可能会降低算法的性能。如图2所示,具有不同子隐藏1141层数的推送模型11在unc数据集(由于具有不同子隐藏层数的推送模型在其他数据集上的趋势相似,因此只在unc数据集上进行分析)上的性能变化,随着隐藏层114中的子隐藏层1141的层数增加,推送模型11的性能将得到一定改善。该实验表明使用深层的推送模型11的框架具有积极效果,子隐藏层1141的层数加深能够增加推送模型11的泛化能力,并提高了推送模型11的性能。进一步的,由于实验中的推送模型11使用全连接层,添加的子隐藏1141层越多越难进行优化,故本实验采用三层子隐藏层1141为例进行说明,当没有推送模型11无隐藏层时,推送模型11的性能非常差,该隐藏层114每增加一层子隐藏层1141,则推送模块11的性能随子隐藏层1141层数的增加而逐渐改善,以非线性方式共同学习结构信息和属性信息交互具有有效性。

输出层115:用于根据分析和训练,输出概率值,并根据概率值进行好友推送。

以下进一步结合本申请基于多信息源图嵌入的好友推荐系统,本申请提供了一种基于多信息源图嵌入的好友推荐方法,如图3所示,包括如下步骤:

s110:获取源节点信息和目标节点信息。

具体的,服务器1向推送模型11输入数据集,数据集中包括源节点信息和目标节点信息,输入层111直接从数据集中获取源节点信息和目标节点信息。

进一步的,源节点信息包括源节点结构信息和源节点属性信息。

其中,该源节点结构信息采用one-hot编码(独热编码)的形式转换为一组二进制的结构输入向量输入推送模型11。

其中,该源节点属性信息采用不同的编码形式进行编码作为属性输入。该源节点属性信息为离散属性或连续属性。

具体的,大部分源节点属性信息为离散属性,该离散属性采用one-hot编码(独热编码)的形式转换为一组二进制的属性输入向量输入推送模型11。连续属性通过tf-idf(词频-逆向文件频率)转换为实值向量输入推送模块11。

进一步的,目标节点信息包括目标节点结构信息和目标节点属性信息。

其中,该目标节点结构信息采用one-hot编码(独热编码)的形式转换为一组二进制的结构输入向量输入推送模型11。

其中,该目标节点属性信息采用不同的编码形式进行编码作为属性输入。该目标节点属性信息为离散属性或连续属性。

具体的,大部分目标节点属性信息为离散属性,该离散属性采用one-hot编码(独热编码)的形式转换为一组二进制的属性输入向量输入推送模型11。连续属性通过tf-idf(词频-逆向文件频率)转换为实值向量输入推送模块11。

具体的,当源节点属性信息和目标节点属性信息属于离散属性时,对于该离散属性的处理方法均采用one-hot编码的形式,例如,属性信息中性别信息属于离散信息,性别属性可以分为男、女、未知三个值,one-hot编码将其转换成三个特征:男、女、未知,这三个特征都是二进制的,当表示女性身份时,one-hot编码为women={0,1,0},其中第二位的1表示女性性别。

具体的,当源节点属性信息和目标节点属性信息属于连续属性时,该连续属性无法进行简单的分类,无法直接才用one-ho编码这种简单的方式进行表示。故,对于该连续属性的处理方法采用tf-idf(词频-逆向文件频率),tf-idf的含义是:某个词语在一篇文章中频繁出现,但在另外一篇文章中出现的次数却很少,那么认为该词语可以代表这篇文章,也说明它有很好的区分能力。例如,在citeseer的数据集中,“好友推荐”在一篇论文中出现了20次,但在整个数据集中出现了30次,说明该篇论文主要讲解的就是有关好友推荐的内容。其中,tf-idf的计算公式如下:

tf-idf=tf*idf(3),

式中,j为词语;tfij表示词语j的频率;ni,j表示该词语在文档中出现的次数,ni,j属于nk,j;k表示文档总数;nk,j为词语j在文档中出现的次数;idfi为逆向文件频率;|d|表示文件总数;|{j:ti∈dj}|表示包含词语ti的文件数目,为了避免母为0的情况发生,通常在的分母上加1;tf为表示词语频率,即取tfij的值;idf为逆向文件频率,即取idfi的值。

进一步的,数据集包括训练集、测试集和验证集。

具体的,作为一个实施例,数据集为来自北卡罗来纳大学(universityofnorthcarolina,unc)、俄克拉何马州(oklahoma)和citeseer(又名researchindex,是nec研究院在自动引文索引(autonomouscitationindexing,aci)机制的基础上建设的一个学术论文数字图书馆)三个真实世界的数据集,但不仅限于该三个真实世界的数据集,即还可以从其它途径获取数据集作为本申请的初始数据集。

具体的,来自unc和oklahoma的数据集均可从traud(人名)等人构建的facebook友谊网络获取。该数据集均由每个学校的学生信息构成。其中,学生信息包括学生的id信息和学生属性信息;该学生属性信息包括身份、性别、主修专业、第二专业、宿舍、高中、年级中的一个或多个。

具体的,来自citeseer的数据集为计算机科学刊物的引文网络数据集,该引文网络数据集共分为六大类,包含3312个节点和4715条边。其中,每一个节点均代表一篇论文,论文之间会产生引用和/或被引用的关系,该关系可以由边信息体现;节点的属性信息来源于论文标题内容。进一步的,属性信息需要去掉论文中的停用词和论文文档中出现频率小于10的词。

进一步的,作为一个实施例,数据集中的训练集:测试集:验证集=8:1:1。

具体的,服务器1通过训练集训练创建的推送模型11后,通过测试集将推送模型11训练为泛化模型(泛化模型是指能够将学习到的规律适用于新样本的模型)。

进一步的,服务器1在利用测试集对推送模型11进行训练的同时产生测试误差,该测试误差用于评估推送模型11学习新样本的能力。如果推送模型11只在训练集上效果非常好,而在测试集上效果差,则该推送模型11可能出现拟合问题。

进一步的,服务器1在利用测试集对推送模型11进行训练后,利用验证集确定推送模型11的超参数,以确定推送模型11可多次使用。

具体的,验证集用于为了推送模型11的能力进行初步的评估。作为一个实施例,本申请的验证集为从训练集中选取的一部分数据集。

s120:分别对源节点信息和目标节点信息进行图嵌入处理,并获取源节点信息的嵌入后结构向量和嵌入后属性向量,以及目标节点信息的嵌入后结构向量和嵌入后属性向量。

具体的,由于推送模型11存在对称性,其对源节点信息和目标节点信息的处理方式相同,故以下步骤以推送模型对源节点信息的处理作为例子进行说明。deepwalk(深度游走)算法是第一个利用深度学习技术进行图嵌入学习的方法。该方法通过实验验证了随机游走序列中节点和文档中的单词一样都遵从指数定律,从而进一步将著名的词表示学习算法word2vec应用在随机游走序列上,并通过学习网络中的节点表示。deepwalk算法将网络中的节点视为单词,通过在网络上随机游走生成短序列并作为句子送到word2vec算法模型中进行训练,从而得到节点的向量表示。node2vec(节点嵌入)算法是对deepwalk算法的改进。deepwalk算法生成节点序列时通过随机游走的方式,而node2vec算法改变了随机游走的策略,定义了两个参数p和q,参数p控制游走中重新访问节点的可能性,参数q控制游走访问节点下一跳邻居的可能性,node2vec算法通过参数p和参数q使得游走在宽度优先搜索和深度优先搜索中的节点达到一个平衡。因此,本申请的推送模型中采用node2vec算法的图嵌入方法学习节点的结构信息,并通过在网络游走得到节点的序列,将节点嵌入问题看待为单词嵌入问题,最终结果是相似的节点具有相似的嵌入向量。

具体的,node2vec算法和其他几种链接预测算法进行对比,本对比选用两种传统的算法commonneighbors和adamic-adar,以及两种利用深度学习的算法deepwalk和node2vec。在实验中设置调节结构信息和属性信息的权重α为0.2,隐藏层为3层,神经元个数为512,256和128三个数值。如图4、5、6(其中,方法1:aa指数(由adamic和adar两位作者提出的方法);方法2:共同邻居方法;方法3:deepwalk(深度游走)方法;方法4:node2vec(节点嵌入)方法;方法5:miep(多信息源嵌入推荐方法))所示,不同算法在三个数据集上的表现如下:cn(commonneighbors)算法和aa(adamic-adar)算法是传统方法,两种算法都属于基于邻居的链接预测算法,只考虑到用户的拓扑结构,aa算法在表现性能上优于cn,主要原因是它在cn基础上赋予节点权重,惩罚度数高的节点。deepwalk和node2vec算法虽然也只考虑了结构信息,但是在性能上却优于aa和cn算法,这两种方法利用了深度学习技术,把随机游走生成的序列作为句子进行学习,得到节点的向量表示,捕获到更深层的结构信息。node2vec算法在deepwalk算法基础上改进,同时考虑到局部信息和全局信息。四种基线方法都没有考虑到节点的属性信息,网络中的节点包含丰富的属性,尤其在社交网络中。而本申请同时考虑到结构信息和属性信息,将属性信息作为辅助信息和结构信息融合,缓解网络中链接数据稀疏的问题,因此本申请采用node2vec算法效果最佳。

本申请的源节点信息的one-hot编码输入的结构输入向量通过node2vec算法嵌入为低维紧密向量(即源节点信息的嵌入后结构向量),捕获源节点的结构信息;源节点的属性输入向量或实值向量通过自定义的权重矩阵w(k)嵌入为聚合属性信息的属性向量(即源节点信息的嵌入后属性向量)。其中,自定义的权重矩阵w(k)的维度可由创建人员自行定义,通常的,源节点属性信息通过属性输入向量或实值向量乘以自定义的权重矩阵进行降维。

本申请的目标节点信息的结构输入向量通过node2vec算法嵌入为低维紧密向量目标节点信息的属性输入向量或实值向量通过自定义的权重矩阵嵌入为聚合属性信息的属性向量

s130:拼接源节点信息的嵌入后的结构向量和嵌入后的属性向量获得完整的源节点向量;拼接目标节点信息的嵌入后的结构向量和嵌入后的属性向量获得完整的目标节点向量。

具体的,嵌入层112将源节点信息的嵌入后的结构向量(即低维紧密向量)和嵌入后的属性向量(属性向量)送入拼接层113,由拼接层113拼接低维紧密向量和属性向量并获取完整的源节点向量us(即图1中的源节点表示),该完整的源节点向量us表达式如下:

式中,α为权重,用于调整结构信息与属性信息之间的平衡。

进一步的,在推送模型11中α的取值可以是任意正实数。

具体的,作为一个实施例,在实验中设置α的取值为[0,0.01,0.1,1,10,100]。当α=0时,推送模型11只能学习源节点和目标节点中的结构信息,此时将推送模型11简化为只有结构信息的模型;当α=100时,源节点和目标节点中的属性信息在推送模型11中起主导作用,结构信息的作用不明显。通过该实验发现,当α的取值在[0,1]之间时,推送模型11可取得好的实验结果。故,在实验过程中,将α的取值范围控制在[0,1]内,α的取值范围的变化间隔为0.2。具体实验结果如图7(其中,数据集1:为citeseer数据集;数据集2:为unc(北卡罗来纳大学)数据集;数据集3:为oklahoma(俄克拉何马州大学)数据集)所示:属性信息对于提高推送模型11性能确实起到了重要作用,当α=0时,此时推送模型11结构只包含结构信息,可忽略属性信息,推送模型11的性能最差。尤其是在以citeseer数据集为例的实验中的表现最为明显,但当α在0到0.2区间内,推送模型11的性能则得到了很大的提升。由于citeseer数据集的链接信息比较少,可通过利用属性信息有效地缓解上述问题。

具体的,嵌入层112将目标节点信息的嵌入后的结构向量(即低维紧密向量)和嵌入后的属性向量(属性向量)送入拼接层113,由拼接层113拼接低维紧密向量并获取完整的目标节点向量ut(即图1中的目标节点表示),该完整的目标节点向量ut表达式如下:

式中,γ为权重,用于调整结构信息与属性信息之间的平衡。在本申请中,表达式(5)中的γ与表达式(4)中的α相同。

s140:将完整的源节点向量和完整的目标节点向量进行拼接后,送入隐藏层进行学习。

具体的,拼接层113将获取的完整的源节点向量us和完整的目标节点向量ut送入隐藏层114,由隐藏层114中的第一层子隐藏层进行拼接,拼接后的第一层子隐藏层h(1)的表达式为:

进一步的,第k层子隐藏层h(k)的表达式为:

h(k)=δk(w(k)h(k-1)+b(k))(7),

式中,k表示子隐藏层的第几层,k=2,···,n;w(k)为自定义权重矩阵,由创建人员自行定义;b(k)为自定义的偏置参数;δk为激活函数,本申请选取relu函数作为子隐藏层激活函数。

其中,relu函数具体如下:

relu=max(0,x),

式子中,max:代表选取0和x之间取值大的数字;x为输入的向量。

进一步的,为了提高推送模型11的预测精准度,引用了优化算法对推送模型11进行优化。

具体的,作为一个实施例,在深度学习框架中,随机梯度下降(sgd)方法是一种普遍的神经网络的优化算法,能够对推送模型中的参数θj进行迭代更新。随机梯度下降(sgd)方法通过一个随机选取的数据来获取梯度,以此对参数θj进行更新,损失函数j(θ)定义如下:

式中,m为样本数量;为预测值;为真实值;j为第j个样本。

利用损失函数j(θ)来更新参数θj的值,表达式如下:

式中,β为学习率,由创建人员自定义,利用随机取值尝试获取最佳值),是随机梯度下降(sgd)算法中的一个关键参数,用于决定梯度下降的步长。具体的,学习率β过大过小对于损失函数j(θ)的学习都会造成一定的影响,若学习率β太小,则会影响损失函数j(θ)最小化的速率;若学习率β太大,则会出现越过最低点的现象。

进一步的,推送模型的隐藏层还引用有dropout技术。

具体的,在学习(训练)推送模型的过程中,在每层的子隐藏层(神经网络)中以一定的比例随机使用dropout。其中,dropout指暂时的以一定的概率丢弃神经网络中的神经元,这样可以使推送模型不依赖某些局部的特征,从而增加模型的泛化能力。

s150:完成学习后,输出节点之间存在的连接的概率,并根据所述概率的大小进行推送。

具体的,完成学习后,输出层115通过sigmoid函数输出节点之间存在链接的概率(即图1中的存在边的概率),并根据概率的大小向客户端2推荐信息,作为一个实施例,本申请的推送信息为推送好友。

sigmoid函数如下:

式中,e为对数的底数;x为隐藏层的输出。

进一步的,将auc(areaundercurve,曲线下的面积)作为链接预测的评价指标,auc字面意思是曲线下区域的面积,其中曲线指的是roc曲线,以fpr作为横坐标,tpr数值作为纵坐标。其中,fpr(falsepositiverate)代表假正例率,tpr(truepositiverate)代表真正例率。进一步的,auc的值一般大于0.5小于1,量化了roc曲线的分类能力,且决定分类能力的好坏,auc的值越大越好,输出的概率越合理,最终得到的排序结果越合理,推荐结果更加令用户满意。具体的,如表1,通过混淆矩阵计算相关的评价指标,具体如下:

fpr的计算公式为:

tpr的计算公式为:

其中,tp(即表1中的真正例):预测得到的结果是正例,实际结果也是正例的特征数;fp(即表1中的假正例):预测得到的结果是正例,实际结果是负例的特征数;fn(即表1中的假负例):预测得到的结果是负例,实际结果是正例的特征数;tn(即表1中的真负例):预测得到的结果是负例,实际结果也是负例的特征数。

表1

本申请实现的有益效果如下:

(1)本申请的基于多信息源图嵌入的好友推荐方法及系统将深度学习应用到社交网络的好友推荐中,利用结构信息和属性信息两种信息,通过图嵌入的方法对两部分信息进行处理,并且在早期进行融合,利用深度神经网络学习用户的节点表示,得到成为好友的可能性,并根据该可能性为用户推荐好友,大大提高了好友推荐的准确度。

(2)本申请的基于多信息源图嵌入的好友推荐方法及系统通过图嵌入将图转换为保存图信息的低维空间,利用一个映射函数将网络图中每个节点转换成低维度的潜在表示。

(3)本申请的基于多信息源图嵌入的好友推荐方法及系统将结构信息和属性信息同时作为推送模型的输入,其中结构信息捕获节点在网络中的结构相似性,属性信息捕获属性同质性,两部分信息互补充分挖掘节点之间的关系;另外,利用节点之间的权重表示节点之间的关系,权重越大表示关系越密切,反之,权重下表示关系疏远。

(4)本申请的基于多信息源图嵌入的好友推荐方法及系统对于结构信息和属性信息采取不同的处理方式,处理后的结构向量和属性向量进行早期的融合学习,采用不同的融合方式融合两部分信息,通过权重α调节两部分信息的比例,最后将整合的节点表示送到推送模型中进行学习,预测两个节点之间的关系。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1