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

一种好友推荐方法及系统与流程

2022-02-19 15:52:12 来源:中国专利 TAG:


1.本技术涉及深度学习技术领域,更具体的,涉及一种一种基于高阶信息的好友推荐方法及系统。


背景技术:

2.链路预测是复杂网络研究中的重要研究议题之一,它的核心任务就是通过现有的网络结构或者节点属性来预测网络中缺失的或者是未来将要生成的边。伴随着真实世界中信息的爆炸式增长,将群体以及它们之间的行为建模成复杂网络成为一种常见的研究手段。而研究复杂网络中的链路预测问题则有利于发现个体之间的潜在关系,发现个体可能发生的行为。在现实世界中,链路预测在诸多领域中得到了实际的应用,如生物学中的相互作用发现,知识图谱,图结构挖掘,社交网络中的好友推荐等等。
3.关于社交网络中的好友推荐,在现有技术中,首先根据社交网络建模成一个复杂网络,遵循一个原则,两个用户的相似性越大,它们之间存在链接的概率越大,即他们之间存在关注关系的可能性越大。基于判断相似性的方法的不同,可以把现有的社交网络中好友推荐方法分为两类:1)传统方法,这种方法基于社交网络的一些基本属性(比如共同邻居个数)来判断节点的相似性;2)基于表示学习的方法。这种方法通过特定的手段获得每个用户的表示向量,通过表示向量的距离来衡量节点的相似性。目前的社交网络中好友推荐方法还存在一定得缺陷:首先,现有的方法局限于考虑网络的低阶信息(节点和边),而忽略了高阶信息(多个节点之间的关系);其次是社交网络中的关系显然是有方向的,即两个用户不一定是互相关注的,鲜有针对有向图的链路预测方法,根据节点相似性进行链路预测存在无法预测链接的方向的缺陷。


技术实现要素:

4.为了解决以上问题,本技术提出一种好友推荐方法及系统。
5.第一方面,本技术提供一种好友推荐方法,所述方法包括:
6.根据现有的用户关系构建有向图,所述有向图的节点表征用户,获取每个节点的节点表征向量;
7.根据节点的邻接关系,获取每个节点的pagerank中心性;
8.根据节点的pagerank中心性和节点表征向量预测用户成为好友的概率对用户进行好友推荐。
9.优选地,所述获取每个节点的节点表征向量包括:
10.对所述有向图中出现的motif进行统计,对存在的每一个motif生成对应的邻接矩阵;
11.统计每个节点参与当前motif的次数,所述当前motif对应的邻接矩阵在对应位置记录所述每个节点参与当前motif的次数;
12.计算每个motif的拉普拉斯矩阵;
13.根据所述motif的拉普拉斯矩阵计算该motif下的节点的表征矩阵;
14.聚合所述表征矩阵,得到每个节点的节点表征向量。
15.优选地,所述计算每个motif的拉普拉斯矩阵包括:
16.根据公式计算每个motif的拉普拉斯矩阵,式中表征在当前motif加上自环的结果,表征根据得到的度矩阵,表征拉普拉斯矩阵。
17.优选地,所述根据所述motif的拉普拉斯矩阵计算该motif下的节点的表征矩阵包括:
18.根据公式计算该motif下的节点的表征矩阵,其中,式中x
i
表征节点的表征矩阵,f表征节点的特征矩阵,m
i
表征节点参与第i个motif的邻接矩阵,gcn表征图卷积网络算法,表征拉普拉斯矩阵,relu表征激活函数,w0、w1表征深度学习的权重矩阵。
19.优选地,所述聚合所述表征矩阵包括:
20.根据公式聚合表征矩阵,其中,式中k表征表征矩阵的个数,b
i
是每个motif下表征矩阵的系数,表示该种motif的重要性,x
i
表征节点的表征矩阵。
21.优选地,所述获取每个节点的pagerank中心性包括:
22.根据公式获取节点的pagerank中心性,其中,式中d表征跳转概率,n表征网络中节点的总个数,n
i
表征节点i的所有邻居节点的个数,l(v)表征节点v的邻居节点个数,pr(v)表征节点v的中心性。
23.优选地,所述根据节点的pagerank中心性和表征向量预测用户成为好友的概率对用户进行好友推荐包括:
24.对节点中心性进行归一化;
25.计算各节点间的连边概率,得到预测的邻接矩阵,对于所述邻接矩阵中值大于阈值的对应节点进行好友推荐。
26.第二方面,本技术提供一种好友推荐系统,所述系统包括:
27.编码器模块,用于根据现有的用户关系构建有向图,所述有向图的节点表征用户,获取每个节点的节点表征向量;
28.解码器模块,用于根据节点的邻接关系,获取每个节点的pagerank中心性;根据节点的pagerank中心性和节点表征向量预测用户成为好友的概率对用户进行好友推荐。
29.第三方面,本技术提供一种计算设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时,执行管道数字化管理方法。
30.第四方面,本技术提供一种计算机可读存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行管道数字化管理方法。
31.本发明提出一种好友推荐方法,可以很好的解决传统链路预测方法在节点表征过程中只考虑了低阶结构的缺陷,可以对表示用户的节点进行链路预测从而实现好友推荐的功能。
32.附图书说明
33.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
34.图1为本技术实施例中提供的技术方案的应用示意图;
35.图2为本技术实施例中提供的方法示意图;
36.图3为有向图中存在的13种高阶结构的示意图
37.图4为本技术实施例中提供的一种计算机设备结构示意图。
具体实施方式
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
40.图1为本技术实施例中提供的技术方案的应用示意图。如图1所示,将现有的用户关系导入好友推荐系统,好友推荐方法可以根据现有的用户关系对还没有成为好友关系的用户进行推荐。
41.图2为本技术实施例中提供的方法示意图。如图2所示,本技术提供的好友推荐方法包括:
42.s201:根据现有的用户关系构建有向图,所述有向图的节点表征用户,获取每个节点的节点表征向量。
43.具体地,根据现有的用户关系,构建有向图。有向图的每个节点表征不同的用户。假设有向图中的一个节点为v,指向节点v的节点标示在社交网络中关注v的用户(节点)。获取每个节点(用户)的节点表征向量。
44.在一个较为具体的示例中,获取每个节点的节点表征向量可以包括:
45.s2011:对所述有向图中出现的motif进行统计,对存在的每一个motif生成对应的邻接矩阵;
46.具体地,对于不同节点构成的有向图,将其中的小的有向图子图称为motif。统计有向图中每一个出现的motif的频次,生成对应的邻接矩阵。邻接矩阵包含了有向图的高阶结构信息,即多个不同用户(节点)的交互关系。
47.s2012:统计每个节点参与当前motif的次数,所述当前motif对应的邻接矩阵在对应位置记录所述每个节点参与当前motif的次数。
48.图3为有向图中存在的13种高阶结构的示意图。请参考图3,对每个节点统计当前节点参与当前motif的次数,在所构建的motif对应的邻接矩阵中的对应位置记录对应的次数。
49.以13种高阶结构为例,可以获得13个motif的邻接矩阵记为m
i
,i∈[1,13],对于每
一个motif的邻接矩阵,根据公式对邻接矩阵中的每个节点加上自环,使每个节点都存在一个指向自己的环路,其中,式中的表征加过自环后的邻接矩阵,i表征单位矩阵。加自环的操作可以让有向图的节点可以感知到自己,有效提高后续操作的准确性。
[0050]
具体地,请参考图3中的g1,存在节点1、节点2和节点3构成的motif,那么在g1对应的邻接矩阵m1上对应的位置m1[1,2],m1[2,3]上加1。
[0051]
s2013:计算每个motif的拉普拉斯矩阵。
[0052]
在一个更为具体的示例中,根据公式计算每个motif的拉普拉斯矩阵,式中表征在当前motif加上自环的结果,表征根据得到的度矩阵,表征拉普拉斯矩阵。
[0053]
s2014:根据所述motif的拉普拉斯矩阵计算该motif下的节点的表征矩阵;在一个更为具体的示例中,根据公式计算该motif下的节点的表征矩阵,其中,式中x
i
表征节点的表征矩阵,f表征节点的特征矩阵,
i
表征节点参与第i个motif的邻接矩阵,gcn表征图卷积网络算法,表征拉普拉斯矩阵,relu表征激活函数,w0、w1表征深度学习的权重矩阵。
[0054]
s2015:聚合所述表征矩阵,得到每个节点的节点表征向量。
[0055]
在一个更为具体的示例中,根据公式聚合表征矩阵,其中,式中x表征节点的表征向量,k表征表征矩阵的个数,b
i
表征每个motif下表征矩阵的系数,表示该种motif的重要性,x
i
表征节点的表征矩阵。
[0056]
s202:根据节点的邻接关系,获取每个节点的pagerank中心性。
[0057]
在一个较为具体的示例中,根据公式获取节点的pagerank中心性,其中,式中d表征跳转概率,n表征网络中节点的总个数,n
i
表征节点i的所有邻居节点的个数,l(v)表征节点v的邻居节点个数,pr(v)表征节点v的中心性。用户v的邻居就是在社交网络中关注v的用户,即有向图中指向节点v的节点。
[0058]
s203:根据节点的pagerank中心性和节点表征向量预测用户成为好友的概率对用户进行好友推荐。
[0059]
在一个较为具体的示例中,根据节点的pagerank中心性和节点表征向量预测用户成为好友的概率对用户进行好友推荐包括:
[0060]
s2031:对节点中心性进行归一化。
[0061]
在一个更为具体的示例中,根据公式对节点中心性进行归一化。其中,式中c
j
表征节点j的归一化pagerank中心性,pr(j)表征节点j的pagerank中心性,pr(max)表征在有向图中中心性最大的用户的pagerank中心性。
[0062]
s2032:计算各节点间的连边概率,得到预测的邻接矩阵,对于所述邻接矩阵中值大于阈值的对应节点进行好友推荐。
[0063]
对用户进行好友推荐,体现在有向图上表示为对节点进行连边,一般遵循两个原
则:
[0064]
一是根据节点间的节点表征向量距离,节点间的节点表征向量距离越小,表明节点代表的用户越相似,那么这两个用户成为好友互相关注的概率也就越大;
[0065]
二是根据节点的中心性,鉴于用户群体总是更倾向于关注中心性较大的用户,因此在有向图中的边总是由中心性小的节点指向中心性大的节点,那么目标节点(用户)的中心性越大,产生连边的概率也就越大。
[0066]
具体地,根据公式计算各节点之间的连线概率,其中,式中表征节点i与节点j连边的概率,σ表征激活函数,c
j
表征
‑‑‑
,λ表征调节节点中心性和节点表征向量距离的参数,x
i
、x
j
分别表征节点i和节点j的节点表征向。
[0067]
其中,λ越大,则表示节点间的相似性更加重要,强调越相似的节点产生链接概率越大。反之,λ越小,则表示目标用户的中心性影响越小。当的值大于0.5时,认为节点i与节点j可能存在关系,对节点i与节点j对应的用户进行好友推荐。
[0068]
在一些可能的实施例中,利用交叉熵损失函数计算预测的邻接矩阵和a的差异,损失函数为:
[0069][0070]
其中,式中n表征节点个数,y表征原始的邻接矩阵中的用户关注情况,y’表征与之对应位置的预测邻接矩阵中的用户关注情况。
[0071]
根据交叉熵损失函数更新根据motif的拉普拉斯矩阵计算该motif下的节点的表征矩阵所用公式中的权重矩阵w0、w1。
[0072]
不断重复的学习权重矩阵w0、w1,可以使预测后的邻接矩阵和原始的邻接矩阵尽可能的接近。重复次数为epoch次,是一个可调节的参数,可根据具体深度学习情况进行调节,默认设为200。
[0073]
本发明实施例提供的好友推荐方法可以通过将多个motif下的高阶表征信息进行融合,得到相较传统方式更加高效统一的用户表征,同时,通过统计motif的方式获取网络的高阶结构信息,并且通过构造mot if邻接矩阵的方式将获取的高阶信息用于后续的深度学习模型中。可以很好的解决传统链路预测方法在节点表征过程中只考虑了低阶结构的缺陷。
[0074]
相应地,本发明实施例提供了一种好友推荐系统,该系统用于执行图2所示的好友推荐方法。本技术实施例提供的好友推荐系统包括:
[0075]
编码器模块,用于根据现有的用户关系构建有向图,所述有向图的节点表征用户,获取每个节点的节点表征向量;
[0076]
解码器模块,用于根据节点的邻接关系,获取每个节点的pagerank中心性。根据节点的pagerank中心性和节点表征向量预测用户成为好友的概率对用户进行好友推荐。
[0077]
图4示出了本说明书实施例所提供的一种计算机设备结构示意图,该计算机设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线450。其中处理器
410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。该计算机设备可以用于执行前述图2所示的方法。
[0078]
处理器410可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0079]
存储器420可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
[0080]
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0081]
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0082]
总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
[0083]
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0084]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0085]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0086]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献