掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及神经网络领域,尤其涉及一种网络链路预测方法及装置。

背景技术

在现实社会的生物和信息系统中,从神经系统到生态系统,从道路交通到互联网,从蚁群结构到人类社会关系,都可以自然地描述为网络。预测网络中已经丢失的或是未来可能产生的连边即为网络链路预测,网络链路预测对于认识和理解复杂网络的结构和功能具有重要意义。

目前的网络链路预测方法中,通过将网络节点划分到不同的社区,并分析得到节点在每个社区所体现的角色特征向量,在计算节点间的相似性中保留节点间最相似的两个角色特征向量的相似度作为评估指标,所保留的两个最相似的特征向量不能很好地表示节点在不同社区中的角色信息,得到的相似度在链路预测中预测精确度较低。

因此,如何提供一种网络链路预测方法,使得更好地利用节点在不同社区中的角色信息进行链路预测,提高链路预测的精确度。

发明内容

本申请实施例公开了一种网络链路预测方法及装置,可以应用于社会网络、生物网络等神经网络领域,预测网络图中未来可能发生的网络连边或者未来可能丢失的网络连边。本申请中第一节点的综合表征向量综合了第一节点在全部邻居节点中呈现的特征信息,将该第一节点的综合表征向量应用于链路预测,提高链路预测的精确度。

第一方面,本申请实施例提供了一种网络链路预测方法,该方法可包括:获取网络图,所述网络图中包括第一节点和第二节点;确定所述第一节点在所述网络图中的一个或多个第一特征向量,所述第一特征向量用于表示所述第一节点在所述第一节点的部分邻居节点或全部邻居节点中所呈现的特征信息;将所述一个或多个第一特征向量输入神经网络模型,输出所述第一节点的综合表征向量,所述第一节点的综合表征向量包含所述一个或多个第一特征向量的特征信息;将所述第一节点的综合表征向量和所述第二节点的综合表征向量之间的距离值输入逻辑回归分类器,输出所述网络图的链路信息,所述链路信息用于表示所述第一节点和所述第二节点之间的连接关系。

在本申请实施例中,该第一节点的邻居节点是指与第一节点通过一条连边相连接的节点,或者,也可以理解为与第一节点存在连接关系的节点。

在本申请实施例中,利用神经网络模型能保留较长的依赖,以及,能控制保留或丢弃上一时间步的记忆细胞状态或隐藏状态所包含的信息等特性,将该一个或多个第一特征向量所包含的特征信息综合为该第一节点的综合表征向量,以使得该第一节点的综合表征向量包含了第一节点在全部邻居节点所呈现的特征信息。将该第一节点的综合表征向量应用于链路预测,提高链路预测的精确度。

在一种可能的实现方式中,所述多个第一特征向量为N个第一特征向量,所述N为大于1的整数,所述将所述一个或多个第一特征向量输入神经网络模型,输出所述第一节点的综合表征向量,包括:将所述N个第一特征向量中的第一个第一特征向量输入神经网络模型,得到第一隐藏状态输出值以及第一记忆细胞输出值;根据所述第一隐藏状态输出值、所述第一记忆细胞输出值、所述N个第一特征向量中的第N个第一特征向量以及所述神经网络模型,得到第N隐藏状态输出值;输出所述第N隐藏状态输出值,并将所述第N隐藏状态输出值作为所述第一节点的综合表征向量。

可理解的,该第一隐藏状态输出值、第一记忆细胞输出值以及第N隐藏状态输出值为与第一特征向量的向量维度相同的向量。

在本申请实施例中,该神经网络模型可以将上一时间步的第一特征向量所包含的特征信息传递到下一时间步,该第N隐藏状态输出值即为包括了该N个第一特征向量所包含的特征信息的向量。将该第N隐藏状态输出值作为第一节点的综合表征向量并应用于链路预测,提高链路预测的精确度。

在一种可能的实现方式中,所述N等于3,所述根据所述第一隐藏状态输出值、所述第一记忆细胞输出值、所述N个第一特征向量中的第N个第一特征向量以及所述神经网络模型,得到第N隐藏状态输出值,包括:将所述第一隐藏状态输出值、所述第一记忆细胞输出值以及所述N个第一特征向量中的第二个第一特征向量输入至所述神经网络模型,输出第二隐藏状态输出值和第二记忆细胞输出值;将所述第二隐藏状态输出值、所述第二记忆细胞输出值以及第N个第一特征向量输入至所述神经网络模型,输出所述第N个隐藏状态输出值。

在一种可能的实现方式中,所述确定所述第一节点在所述网络图中的一个或多个第一特征向量包括:基于标签传播的非重叠社区发现算法确定所述第一节点在所述网络图的一个或多个第一子图;所述第一子图包括所述第一节点和所述第一节点的部分邻居节点或全部邻居节点;确定所述第一节点在所述第一子图中的第一随机游走序列;将所述第一随机游走序列输入word2vec模型,得到所述第一特征向量。

可理解的,在该第一子图包括所述第一节点和该第一节点的全部邻居节点的情况下,该一个或多个第一特征向量为一个第一特征向量。

在一种可能的实现方式中,所述确定所述第一节点在所述第一子图中的第一随机游走序列包括:随机选取所述第一节点的一个邻居节点作为第一游走节点;从所述第一节点游走至所述第一游走节点,并确定所述第一游走节点的一个邻居节点作为第二游走节点,从所述第一游走节点游走到所述第二游走节点;在游走次数达到预设游走次数阈值的情况下,生成第一节点对应的所述第一随机游走序列。

在本申请实施例中,利用了随机游走是任何无规则行走者所带的守恒量都各自对应着一个扩散运输定律的核心概念,在得到第一节点的一个或多个第一子图后,或取第一节点在该第一子图中随机游走的第一随机游走序列。该第一随机游走序列则表示了第一节点在未来可能与邻居节点之间产生的一些交互,将该第一游走序列应用于第一节点与第一节点的邻居节点的网络链路预测,具备真实性。

在一种可能的实现方式中,所述神经网络模型为长短期记忆循环神经网络模型、门控循环单元神经网络模型、双向长短期记忆循环神经网络模型或双向门控循环单元神经网络模型中的任一项。

在一种可能的实现方式中,在所述网络图的平均节点度的值大于或等于10的情况下,所述神经网络模型为门控循环单元神经网络模型或双向门控循环单元神经网络模型;在所述网络图的节点度小于或等于3的情况下,所述神经网络模型为长短期记忆循环神经网络模型或双向长短期记忆循环神经网络模型。

在一种可能的实现方式中,所述逻辑回归分类器由训练样本和逻辑回归模型训练得到,所述训练样本为已知真实网络发展图的网络图。

在本申请实施例中,将第一节点的综合表征向量和第二节点的综合表征向量的距离值输入逻辑回归函数得到函数值,采用梯度下降的方法寻找最佳模型参数,以使得该函数值与第一节点和第二节点的真实网络发展连接关系的值趋近于相等。根据该最佳模型参数以及该回归函数得到该逻辑回归分类器。将该逻辑回归分类器应用于链路预测,具备一定的准确性。

第二方面,本申请实施例提供了一种网络链路预测装置,包括:获取单元,用于获取网络图,所述网络图中包括第一节点和第二节点;确定单元,用于确定所述第一节点在所述网络图中的特征向量,所述特征向量包括一个或多个第一特征向量,所述第一特征向量用于表示所述第一节点在所述第一节点的部分邻居节点或全部邻居节点中所呈现的特征信息;第一输入输出单元,用于将所述一个或多个第一特征向量输入神经网络模型,输出所述第一节点的综合表征向量,所述综合表征向量包含所述一个或多个第一特征向量的特征信息;第二输入输出单元,用于将所述第一节点的综合表征向量和所述第二节点的综合表征向量之间的距离值输入逻辑回归分类器,输出所述网络图的链路信息,所述链路信息用于表示所述第一节点和所述第二节点之间的连接关系。

第三方面,本申请提供一种网络链路预测装置,其特征在于,包括:存储器、处理器,其中,所述存储器存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

第四方面,一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序;当所述计算机程序在一个或多个处理器上运行时,执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

图1是本申请实施例提供的一种网络链路预测的方法流程图;

图2A-图2H为本申请实施例提供的网络图中第一节点和第一节点的邻居节点的连接关系的示意图;

图3A为本申请实施例提供的神经网络模型的示意图;

图3B为本申请实施例提供的回归函数的值阈的示意图;

图4为本申请实施例提供的一种网络链路预测的方法流程图;

图5A-图5B为本申请实施例提供的实验数据示意图;

图6A是本申请实施例提供的一种执行测试单元的装置的结构示意图;

图6B是本申请实施例提供的一种执行测试单元的装置的结构示意图;

图7是本申请实施例提供的一种执行测试单元的装置的结构示意图。

具体实施方式

下面结合本申请实施例中的附图对本申请实施例进行描述。

请参见图1,图1是本申请实施例提供的一种网络链路预测的方法流程图。该方法可以由网络链路预测装置执行,该网络链路预测装置可以为电子设备,如台式电脑、便携笔记本、32位微处理器或64位微处理器等,本申请实施例对此不作限定(下文的其他实施例的执行主体与此处相同,不再详述)。如图1所示,该方法包括以下步骤:

101,获取网络图,所述网络图中包括第一节点和第二节点。

在本申请实施例中,该第一节点至少包括一个邻居节点,该邻居节点为与第一节点通过一条连边相连接的节点。该邻居节点也可以理解为与第一节点具备连接关系的节点。下文关于邻居节点的描述与此处相同。

在本申请实施例中,如图2A所示,该网络图可以是包括节点、连边以及节点间连接关系的无向图。示例性的,该网络图包括节点a、b、c、d、e、f、g、h、i、j、k,以及节点间的连接关系,两节点间通过一条连边相连接的表示两节点间存在连接关系。如图2B所示,该网络图也可以理解为邻接矩阵,该邻接矩阵包含节点间的连接关系。示例性的,邻接矩阵中0表示对应的两节点间无连接(也可以理解为两节点间不存在连边),1表示对应的两节点间有连接(也可以理解为两节点间存在连边)。可理解的,也可以用其他值表示节点间是否存在连接关系,例如,也可以是邻接矩阵中0.5表示对应的两节点间无连接,1表示对应的两节点间有连接。可理解的,该网络图的无向图与该网络图的邻接矩阵对应,该无向图和该邻接矩阵都可以用于表示该网络图的包含的节点、连边以及节点间的连接关系。

102,确定所述第一节点在所述网络图中的一个或多个第一特征向量,所述第一特征向量用于表示所述第一节点在所述第一节点的部分邻居节点或全部邻居节点中所呈现的特征信息。

可理解的,在该第一子图包括该第一节点和该第一节点的全部邻居节点的情况下,该一个或多个第一特征向量为一个第一特征向量。

在本申请实施例中,可以根据社区发现算法以及word2vec模型确定该第一节点在该网络图中的一个或多个第一特征向量。该社区发现算法可以为基于标签传播的非重叠社区发现算法或者可以为基于模块度的社区发现算法,本文对社区发现算法不做限制。为便于描述,下文将以基于标签传播的非重叠社区发现算法为例展开说明。如图2C所示,所述确定所述第一节点在所述网络图中的一个或多个第一特征向量,具体包括以下步骤:

1021,采用基于标签传播的非重叠社区发现算法确定所述第一节点在所述网络图的一个或多个第一子图;所述第一子图包括所述第一节点和所述第一节点的部分邻居节点或全部邻居节点。

具体为:1)记该第一节点的邻居节点为参考节点,为该参考节点和该参考节点的邻居节点的连边添加权重值,该权重值优选为根据该该参考节点和该参考节点的邻居节点的相同邻居节点的数目确定。例如,在实际应用中,该权重值为两个域名系统域名共享的客户端网际互连协议(Internet protocol,IP)的数量、两个微博帐号(identity document,ID)的共同好友数量。示例性的,如图2D所示,记第一节点为a节点,a节点的邻居节点分别有g、h、i、k,其中,节点g和i之间的权重值为2,节点i和h的权重值为6。2)为该参考节点随机分配对应的标签。示例性的,为该a节点的邻居节点随机分配对应的标签。例如,如图2E所示,节点h对应标签1,节点i对应标签2,节点g对应标签3,以此类推。3)将该参考节点的标签修改为该参考节点的邻居节点(除了该参考节点与第一节点的连边之外)中最大权重值对应的节点的标签。示例性的,记该a节点的邻居节点为该参考节点,将该参考节点的标签修改为该参考节点的邻居节点(不包括a节点与该参考节点的连边)中最大权重值对应的邻居节点的标签。具体的,假设以h节点(标签为“1”)为起点,依次遍历节点a的邻居节点。例如,对于h节点,搜索到该h节点与该h节点的邻居节点的连边(不包括h节点与a节点的连边)的权重值中的最大权重值为6,则将h节点的标签修改为权重值为6对应的邻居节点i的标签,即将h节点的标签“1”修改为“2”。在遍历到节点i的情况下,搜索到节点i与节点i的邻居节点的连边(不包括i节点与a节点的连边)的权重值中的最大权重值为5,则将节点i的标签修改为权重值为5对应的邻居节点k的标签,即将节点i的标签“2”修改为“4”。以此类推,并迭代执行直到该a节点的任一邻居节点的标签在迭代过程中不再发生改变。得到如图2F所示的标签分类结果,a节点的邻居节点被归类到两种不同的标签。如图2G-图2H所示,根据该a节点的邻居节点的标签信息,以及该a节点与a节点的邻居节点的连接关系,得到a节点在该网络图中的两个第一子图。

1022,确定所述第一节点在所述第一子图中的第一随机游走序列。

在本申请实施例中,该第一随机游走序列可以由第一节点在该第一子图中随机游走得到,也可以是由该第一节点在该第一子图中执行加权随机游走得到。下文将以第一节点在该第一子图中随机游走(random walk)得到该第一随机游走序列作为示例展开说明。

在本申请实施例中,该确定所述第一节点在所述第一子图中的第一随机游走序列具体包括以下步骤:随机选取所述第一节点的一个邻居节点作为第一游走节点;从所述第一节点游走至所述第一游走节点,并确定所述第一游走节点的一个邻居节点作为第二游走节点,从所述第一游走节点游走到所述第二游走节点;在游走次数达到预设游走次数阈值的情况下,生成第一节点对应的所述第一随机游走序列。

示例性的,以确定a节点在第一子图中的第一随走序列为例,复用图2H,该a节点在该网络图中包括第一子图和第二子图,分别生成第一节点在该第一子图和第二子图中的第一随机游走序列。其中,生成第一节点在该第一子图中的第一随机游走序列包括:随机选取a节点的一个邻居节点作为第一游走节点;示例性的,假设选取节点i作为该第一游走节点。从该a节点游走到节点i,并记录游走次数;且确定该i节点的一个邻居节点作为第二游走节点,从该第一游走节点游走到该第二游走节点,并记录游走次数。在确定所述游走次数等于所设置的游走次数阈值的情况下,停止执行游走,生成该a节点在该第一子图中对应的第一随机游走序列。

在本申请实施例中,利用了随机游走是任何无规则行走者所带的守恒量都各自对应着一个扩散运输定律的核心概念,在得到第一节点的一个或多个第一子图后,或取第一节点在该第一子图中随机游走的第一随机游走序列。该第一随机游走序列则表示了第一节点在未来可能与邻居节点之间产生的一些交互,将该第一游走序列应用于第一节点与第一节点的邻居节点的网络链路预测,具备真实性。

1023,将所述第一随机游走序列输入word2vec模型,得到所述第一特征向量。

在本申请实施例中,该word2vec模型可以为连续词袋模型(continues bag ofwords,CBOW),也可以为skip-gram模型,下文将以skip-gram模型作为示例展开说明。

在本申请实施例中,skip-gram模型在自然语言中用于将单词嵌入为高维向量,由节点构成的随机游走序列可看作由单词构成的句子,因此skip-gram模型可以用于将第一节点的第一随机游走序列表示成该第一特征向量。在本申请实施例中,该第一特征向量向量为维度大于3的高维向量。

具体的,通过梯度下降的方法改变skip-gram模型中映射函数Φ的参数找到最佳映射函数Φ,使得最大化第一节点和该第一随机游走序列中的其他节点一起出现的概率。即对于每一个第一随机游走序列W,都需要计算一个最佳映射函数Φ,然后用Φ把该第一随机游走序列的起点节点(即第一节点)映射为第一特征向量。最后使用这个该最佳映射函数把v0(第一节点)映射成一个向量。其中,关于映射函数Φ的优化目标的分析如下:

对于第一游走序列W

P(v

该公式(1)表示当知道v

P(v

这个概率就是计算在节点vi的ω窗口范围内顶点的概率,其中ω代表从当前节点的上下游走序列选取ω个节点。如公式(3)所示,根据最小化映射函数Φ的误差,得到该第一随机游走序列的起点节点的映射函数Φ。

在本申请实施例中,将第一随机游走序列映射为第一特征向量,该第一特征值向量包含该第一随机游走序列所包含的第一节点在第一子图中呈现的特征信息。将特征信息数值化,以便于根据该数值做下一步的网络链路预测。

103,将所述一个或多个第一特征向量输入神经网络模型,输出所述第一节点的综合表征向量,所述第一节点的综合表征向量包含所述一个或多个第一特征向量的特征信息。

在本申请实施例中,该神经网络模型能够学习长的依赖关系,具有删除或添加信息到细胞状态的能力。该神经网络模型会将该一个或多个第一特征向量中有用的信息保留到该第一节点的综合表征向量。示例性的,假设当前时间步的第一特征向量所包含的特征信息与在当前时间步之前的时间步的第一特征向量所包含的特征信息重复了,则将当前时间步的重复的特征信息丢弃。若当前时间步出现新的特征信息则将该特性信息保留。可理解的,该特征信息可以是第一特征向量中包含的部分或全部特征信息。例如,当前时间步之前的时间步中保留了第一节点和第二节点存在连接关系的特征信息,如果当前时间步再出现第一节点和第二节点存在连接关系的特征信息则丢弃;然而,若当前时间步出现了新的特征信息,例如出现第一节点和第三节点存在连接关系的特征信息,则将该特征信息保留。

可选的,该神经网络模型为长短期记忆循环神经网络模型(long short-termmemory,LSTM)、门控循环单元神经网络模型(gated recurrent unit,GRU)、双向长短期记忆循环神经网络模型(BiLSTM)或双向门控循环单元神经网络模型(BiGRU)中的任一项,为便于描述,下文将以LSTM为例展开说明。

如图3A所示,LSTM中包括输入门(input gate)、遗忘门(forget gate)和输出门(output gate),以及候选记忆细胞。遗忘门控制上一时间步的记忆细胞C

如图3A所示,在t时间步,LSTM的输入有三个:当前时间步网络的输入值X

其中,遗忘门的计算满足如下公式(4),其中Wf为遗忘门的权重矩阵,b

F

其中,输入门的计算满足如下公式(5),其中W

I

其中,当前时间步的单元状态Ct的计算满足如下公式(6)以及公式(7),其中W

其中,输出门的计算满足如下公式(8)以及公式(9)所示,其中,W

O

H

在本申请实施例中,利用上述公式(4)至公式(9)可以控制上一时间步的第一特征向量所包含的部分或全部特征信息是否保留进入当前时间步的第一特征向量,以使得该第一节点的综合表征向量包括该第一节点的该一个或多个第一特征向量的特征信息。

104,将所述第一节点的综合表征向量和所述第二节点的综合表征向量之间的距离值输入逻辑回归分类器,输出所述网络图的链路信息;所述链路信息用于表示所述第一节点和所述第二节点之间的连接关系。

在本申请实施例中,该链路信息用于表示该第一节点和该第二节点之间的连接关系,该连接关系可以为未连接或者为连接(例如,可以为用0表示未连接,用1表示连接)。该连接关系也可以理解为相邻关系,即第一节点和第二节点是否互为邻居节点。可理解的,第一节点与第二节点是否存在连接与第一节点和第二节点是否互为邻居节点是相对应的,示例性的第一节点与第二节点存在连接则表明第一节点和第二节点互为邻居节点。

可选的,该第一节点的综合表征向量和该第二节点的综合表征向量之间的距离值可以是向量的数量积、欧式距离或哈曼顿距离等,本方案对距离值计算方法不做限制。可理解的,向量的数量积为相同维度的值相乘再相加。示例性的,假设向量A(1,2,6),向量B(2,1,3),则A向量与B向量的数量积为1*2+2*1+6*3=22(即A向量与B向量的数量积为22)。可理解的,两向量的欧式距离为相同维度的值相减的平方相加再开根号。示例性的向量A(1,2,6),向量B(2,1,3)的欧式距离为

在本申请实施例中,该逻辑回归分类器是由训练样本和回归函数训练得到。该训练样本为真实数据集,该真实数据集包括一个或多个网络图以及每个网络图对应的真实网络发展图的数据。具体的,该真实数据集包括多个第一节点和第二节点、该第一节点和第二节点的初始网络连接关系、以及该第一节点和第二节点对应的真实网络发展连接关系。通过该真实数据集寻找回归函数的最佳参数,以使得该回归函数所得到的预测值与真实网络发展连接关系的值之间的误差值最小。

在本申请实施例中,一个网络图中的每两个第一节点和第二节点即为一个样本,该第一节点和第二节点对应的真实网络发展连接关系为标签,用于预测该标签的因素叫作特征,在本申请中用于预测该标签的因素为第一节点的综合表征向量和第二节点的综合表征向量的距离值。

该回归函数满足如下公式(10),其中h(x)为回归函数预测值,w为模型参数,x为第一节点的综合表征向量和第二节点的综合表征向量的距离值。该h(x)的值阈如图3B所示,当x取值为小于或等于0时,h(x)的取值为小于0.5且大于0,当x的取值为大于或等于0时,h(x)的取值为大于或等于0.5且小于1。

其损失函数记为L(w),该损失函数满足如下公式(11),采用最大似然估计以及梯度上升法的方式求解使得L(w)取最小值时的w,以使得回归函数所得到的值与真实网络发展连接关系的值无限接近。该L(w)的计算方式如下所示;其中m为样本总数,xi为样本中的第i个样本对应的距离值,yi为第i个样本对应的真实网络发展连接关系:

在本申请实施例中,利用该公式(10)以及公式(11),所求得的最佳参数w即为使得回归函数所得到的预测值与真实网络发展连接关系的值无限接近的最佳参数。则可以使用该回归函数求得的预测值用于预测两节点间的预测网络发展连接关系。

可选的,使用该回归函数求得预测值用于预测两节点间的预测网络发展连接关系,具体可以为:以第一节点和第二节点的连接关系用0表示未连接,1表示连接,以及第一节点和第二节点的距离值使用第一节点的综合表征向量和第二节点的综合表征向量间的向量积为例。在求得待预测的第一节点与第二节点的距离值对应的回归函数的值为大于0且小于或等于0.5的情况下,确定该第一节点和第二节点的预测网络发展连接关系为0(即第一节点和第二节点的预测网络发展连接关系为不存在连接)。在求得待预测的第一节点与第二节点的距离值对应的回归函数的值为大于0.5且小于1的情况下,确定该第一节点和第二节点的预测网络发展连接关系为1(即第一节点和第二节点的预测网络发展连接关系为存在连接)。或者,将样本中节点间的距离值进行升序排序得到距离值序列,在该第一节点与第二节点的距离值对应的回归函数的值大于或等于该距离值序列的前50%的距离值值的情况下,确定该第一节点和第二节点的预测网络发展连接关系为1,反之。可理解的,也可以将样本节点间的距离值进行降序排序得到该距离值序列,并在第一节点与第二节点的距离值对应的回归函数的值小于或等于该距离值序列的前50%的距离值值的情况下,确定该第一节点和该第二节点的预测网络发展连接关系为1,反之。

可选的,使用该回归函数求得预测值用于预测两节点间的预测网络发展连接关系,具体还可以为:以第一节点和第二节点的连接关系用0.5表示未连接,1表示连接,以及第一节点和第二节点的距离值使用欧式距离或曼哈顿距离计算为例。在求得待预测的第一节点与第二节点的距离值对应的回归函数的值为大于0.5且小于或等于0.75的情况下,确定该第一节点和第二节点的预测网络发展连接关系为0.5(即第一节点和第二节点的预测网络发展连接关系为不存在连接)。在求得待预测的第一节点与第二节点的距离值对应的回归函数的值为大于0.75且小于1的情况下,确定该第一节点和第二节点的连接关系为1。或者,将样本中节点间的距离值值进行升序排序得到距离值序列,在第一节点与第二节点的距离值对应的回归函数的值大于或等于该距离值序列的前50%的距离值值的情况下,将第一节点和第二节点的连接关系置为1(即第一节点和第二节点的预测网络发展连接关系为存在连接),反之。可理解的,也可以将样本节点间的距离值进行降序排序得到该距离值序列,并在第一节点与第二节点的距离值对应的回归函数的值小于该距离值序列的前50%的距离值值的情况下,将该第一节点和该第二节点的连接关系置为1(即第一节点和第二节点的预测网络发展连接关系为存在连接),反之。

在本申请实施例中,将第一节点的综合表征向量和第二节点的综合表征向量的距离值输入逻辑回归函数得到函数值,采用梯度下降的方法寻找最佳模型参数,以使得该函数值与第一节点和第二节点的真实网络发展连接关系的值趋近于相等。根据该最佳模型参数以及该回归函数得到该逻辑回归分类器。将该逻辑回归分类器应用于链路预测,具备一定的准确性。

可理解的,该第一节点的一个或多个第一特征向量可以有一个或大于一个,以及第二节点的一个或多个第二特征向量可以有一个或大于一个。示例性的,该第一节点的一个或多个第一特征向量为一个第一特征向量,该第一节点的综合表征向量包括该一个第一特征向量所包含的特征信息;以及,该第二节点的一个或多个第二特征向量也为一个第二特征向量,该第一节点的综合表征向量包括该一个第二特征向量所包含的特征信息。或者,该第一节点的一个或多个第一特征向量为一个第一特征向量,该第二节点的一个或多个第二特征向量为多个第二特征向量,该第二节点的综合表征向量包括该多个第二特征向量包含的特征信息。

在本申请实施例中,上述第一节点和第二节点为上述网络图中的任意两个节点。示例性的,复用如图2A,该第一节点可以为节点a、该第二节点可以为j节点;示例性的,该第一节点可以为节点c,该第二节点可以为节点h;示例性的,该第一节点可以为节点h,该第二节点可以为节点e等。

可理解的,在本申请实施例中,未表明执行主体的步骤,其执行主体皆为上述电子设备。其他实施例亦如此,不再赘述。

一般地,会保留该第一节点的一个或多个第一特征向量中与第二节点的一个或多个第二特征向量中距离最近(也即相似性最高)的一个第一特征向量和一个第二特征向量,并将该第一特征向量和第二特征向量应用于第一节点与第二节点间的网络链路预测,该第一特征向量和第二特征向量不能很好地表示第一节点在不同邻居节点中的呈现的特征信息,导致链路预测中预测精确度较低。然而,在本申请实施例中,利用神经网络模型能保留较长的依赖,以及,能控制保留或丢弃上一时间步的记忆细胞状态或隐藏状态所包含的信息等特性,将该一个或多个第一特征向量所包含的特征信息综合为该第一节点的综合表征向量,以使得该第一节点的综合表征向量包含了第一节点在全部邻居节点所呈现的特征信息。将该第一节点的综合表征向量应用于链路预测,提高链路预测的精确度。

如图4所示,在本申请的上述实施例中,所述多个第一特征向量为N个第一特征向量,所述N为大于1的整数,步骤103中所述将所述一个或多个第一特征向量输入神经网络模型,输出所述第一节点的综合表征向量,包括以下步骤:

步骤401,将所述N个第一特征向量中的第一个第一特征向量输入神经网络模型,得到第一隐藏状态输出值以及第一记忆细胞输出值。

具体为,复用图3A,将该N个第一特征向量中的第一个第一特征向量作为第一时间步的输入

步骤402,根据所述第一隐藏状态输出值、所述第一记忆细胞输出值、所述N个第一特征向量中的第N个第一特征向量以及所述神经网络模型,得到第N隐藏状态输出值。

具体的,复用图3A,将该N个第一特征向量中的第二个第一特征向量作为第二时间步的输入

具体的,复用图3A,将该N个第一特征向量中的第三个第一特征向量作为第三时间步的输入

具体的,复用图3A,将该N个第一特征向量中的第N个第一特征向量作为第N时间步的输入

步骤403输出所述第N隐藏状态输出值,并将所述第N隐藏状态输出值作为所述第一节点的综合表征向量。

示例性的,在N等于2的情况下,上述第二隐藏状态输出值

在本申请实施例中,该神经网络模型可以将上一时间步的第一特征向量所包含的特征信息传递到下一时间步,该第N隐藏状态输出值即为包括了该N个第一特征向量所包含的特征信息的向量。将该第N隐藏状态输出值作为第一节点的综合表征向量并应用于链路预测,提高链路预测的精确度。

下文将介绍本申请实施例相关的实验数据,以佐证本申请上述方法实施例提供网络链路预测方法能提高链路预测的精确度。

在本申请实施例中,将数据集(该数据集包括已知第一节点和第二节点的初始连接关系以及真实网络发展连接关系的网络图)划分为90%的训练集和10%的测试集,使用训练集建立上述逻辑回归分类器,通过该逻辑回归分类器对该测试集的数据进行链路预测。在实验中对比了传统的网络链路预测算法与本申请提供的网络链路预测算法在四个数据集中的精确度。该传统的网络链路预测算法包括AA(Adamic_Adar Index)、RA(ResourceAllocation Index)、JC(Jaccard Index)、Deepwalk、Node2vec、LINE、Graph-GAN。在本节实验中,我们对比了本方案提供的网络链路预测算法和其他八种算法的ROC曲线下方的面积大小(area under curve,AUC)和precision(被预测为存在连接关系的情况中,其真实网络发展连接关系也为存在连接关系的概率)。

在本申请实施例中,该AUC为接受者操作特性曲线(receiver operatingcharacteristic curve,ROC)下方的面积大小,该ROC曲线的纵纵坐标为召回率,横坐标为假正例率。

其中,该召回率TPR的计算满足如下公式(12),其中,TP为训练集中第一节点和第二节点的预测网络发展连接关系为存在连接以及该第一节点和第二节点的真实网络发展连接关系也为存在连接的样本数目。FN为训练集中第一节点和第二节点的预测网络发展连接关系为不存在连接以及该第一节点和第二节点的真实网络发展连接关系为存在连接的样本数目。

该假正例率FRP的计算满足如下公式(13),其中,FP为训练集中第一节点和第二节点的预测网络发展连接关系为存在连接以及该第一节点和第二节点的真实网络发展连接关系为不存在连接的样本数目。TN为训练集中第一节点和第二节点的预测网络发展连接关系为不存在连接以及该第一节点和第二节点的真实网络发展连接关系也为不存在连接的样本数目。

在本申请实施例中,该precision的计算满足如下公式(14),其中TP为训练集中第一节点和第二节点的预测网络发展连接关系为存在连接以及该第一节点和第二节点的真实网络发展连接关系也为存在连接的样本数目。FP为训练集中第一节点和第二节点的预测网络发展连接关系为存在连接以及该第一节点和第二节点的真实网络发展连接关系为不存在连接的样本数目。

在本申请实施例中,上述步骤203中将第一节点通过映射函数映射成第一特征向量,在本实验中该第一特征向量为64维的高维向量。该实验数据如下图5A和图5B所示。将LSTM、BiLSTM、GRU和BiGRU分别作为步骤103中的神经网络模型执行本申请提供的网络链路预测方法以及得到本申请提供的逻辑回归分类器,再测得与LSTM、BiLSTM、GRU和BiGRU对应的逻辑回归分类器的ACU和precision,将这四种神经网络模型中表现最佳的一种算法的ACU和precision作为本申请提供的网络链路预测器的ACU和precision。示例性的,对于社交网络musae-github,分别计算在同一个该数据集下当所使用的神经网络模型为是LSTM、BiLSTM、GRU或BiGRU时对应得到的精确度,得到该社交网络musae-github在使用BiGRU进行网络链路预测时得到的精确度最高,则取该BiGRU对应的精确度作为该社交网络musae-github的网络链路预测的准确度。

从图5A和图5B的实验数据可以发现,将节点映射成64维的向量时,本申请实施例提供的网络链路预测器在AUC和precision指标中都超过了传统的网络链路预测算法。本申请提供的网络链路预测器在四个网络中的精确度都是最高的,表明本申请实施例提供的网络链路预测方法在链路预测的应用中表现优异。大部分链路预测方法在这个网络中精确度低于0.9,然而本申请提供的网络链路预测器的AUC达到了0.903,precision达到了0.926。

在社交网络musae-github数据集中,BiGRU算法在不同比例划分的精确度与其他算法相比精确度都最高。在生物网络蛋白质-蛋白质相互作用(protein-proteininteraction,PPI)数据集中,当训练集与测试集为5:5和7:3时,BiLSTM和GRU的精确度非常接近,而BiGRU一直表现出最高的精确度。在电力网络power-grid中,BiLSTM和LSTM的精确度比GRU或BiGRU更高。然而,该电力网络power-grid网络的平均节点度小于3,为四个网络中平均节点度最小的。而该社交网络musae-github或该生物网络PPI的平均节点的平均节点度为大于或等于10。因此依据上述实验得出:在所述网络图的平均节点度的值大于或等于10的情况下,所述神经网络模型为门控循环单元神经网络模型或双向门控循环单元神经网络模型;在所述网络图的节点度小于或等于3的情况下,所述神经网络模型为长短期记忆循环神经网络模型或双向长短期记忆循环神经网络模型。即对于平均节点度较大的网络,比如社会网络和生物网络,结合神经网络模型GRU和BiGRU得到的预测结果更好;而对于平均节点度较小的网络,比如电力网络,结合神经网络模型LSTM和BiLSTM得到的预测结果更好。

以下将介绍本申请实施例提供的网络链路预测装置。

请参见图6A-图6B,为本申请实施例提供了一种网络链路预测装置的结构示意图。如图6A所示,本申请实施例的所述网络链路预测装置可以包括:

获取单元601,用于获取网络图,所述网络图中包括第一节点和第二节点;

确定单元602,用于确定所述第一节点在所述网络图中的特征向量,所述特征向量包括一个或多个第一特征向量,所述第一特征向量用于表示所述第一节点在所述第一节点的部分邻居节点或全部邻居节点中所呈现的特征信息;

第一输入输出单元603,用于将所述一个或多个第一特征向量输入神经网络模型,输出所述第一节点的综合表征向量,所述综合表征向量包含所述一个或多个第一特征向量的特征信息;

第二输入输出单元604,用于将所述第一节点的综合表征向量和所述第二节点的综合表征向量之间的距离输入逻辑回归分类器,输出所述网络图的链路信息,所述链路信息用于表示所述第一节点和所述第二节点之间的连接关系。

如图6B所示,在一种可能的实现方式中,所述第一输入输出单元603包括:

第一输入输出子单元605,用于将所述N个第一特征向量中的第一个第一特征向量输入神经网络模型,得到第一隐藏状态输出值以及第一记忆细胞输出值;

第一结果获取子单元606,用于根据所述第一隐藏状态输出值、所述第一记忆细胞输出值、所述N个第一特征向量中的第N个第一特征向量以及所述神经网络模型,得到第N隐藏状态输出值;

第二输入输出子单元607,用于输出所述第N隐藏状态输出值,并将所述第N隐藏状态输出值作为所述第一节点的综合表征向量。

在一种可能的实现方式中,所述第一结果获取子单元606包括:

第三输入输出子单元608,用于将所述第一隐藏状态输出值、所述第一记忆细胞输出值以及所述N个第一特征向量中的第二个第一特征向量输入至所述神经网络模型,输出第二隐藏状态输出值和第二记忆细胞输出值;

第四输出输出子单元609,用于将所述第二隐藏状态输出值、所述第二记忆细胞输出值以及第N个第一特征向量输入至所述神经网络模型,输出所述第N个隐藏状态输出值。

在一种可能的实现方式中,所述确定单元602包括:

第一确定子单元610,用于基于标签传播的非重叠社区发现算法确定所述第一节点在所述网络图的一个或多个第一子图;所述第一子图包括所述第一节点和所述第一节点的部分邻居节点或全部邻居节点;

第二确定子单元611,用于确定所述第一节点在所述第一子图中的第一随机游走序列;

第二结果获取子单元612,用于将所述第一随机游走序列输入word2vec模型,得到所述第一特征向量。

在一种可能的实现方式中,所述第一确定子单元610包括:

第一获取子单元613,用于随机选取所述第一节点的一个邻居节点作为第一游走节点;

游走单元614,用于从所述第一节点游走至所述第一游走节点,并确定所述第一游走节点的一个邻居节点作为第二游走节点,从所述第一游走节点游走到所述第二游走节点;

结果生成单元615,用于在游走次数达到预设游走次数阈值的情况下,生成第一节点对应的所述第一随机游走序列。

在本申请实施例中,上述关于第一节点的邻居节点、第一游走序列、第一节点的综合表征向量、第一子图的说明,可以参考上文所示的方法实施例,这里不再详述。

请参照图7,为本申请实施例提供的另一种网络链路预测装置的结构示意图,如图7所示,所述网络链路预测装置700可以包括:至少一个处理器701,例如CPU,至少一个通信接口703,存储器704,至少一个通信总线702。其中,通信总线702用于实现这些组件之间的连接通信。通信接口703可选的可以包括标准的有线接口、无线接口(如WI-FI接口或蓝牙接口等)。存储器704可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器704可选的还可以是至少一个位于远离前述处理器701的存储装置。如图7所示,作为一种计算机存储介质的存储器704中可以包括操作系统、网络通信模块以及程序指令。

在图7所示的网络链路预测装置700中,处理器701可以用于加载存储器704中存储的程序指令,并具体执行以下操作:

获取网络图,所述网络图中包括第一节点和第二节点;

确定所述第一节点在所述网络图中的一个或多个第一特征向量,所述第一特征向量用于表示所述第一节点在所述第一节点的部分邻居节点或全部邻居节点中所呈现的特征信息;

将所述一个或多个第一特征向量输入神经网络模型,输出所述第一节点的综合表征向量,所述综合表征向量包含所述一个或多个第一特征向量的特征信息;

将所述第一节点的综合表征向量和所述第二节点的综合表征向量之间的距离输入逻辑回归分类器,输出所述网络图的链路信息,所述链路信息用于表示所述第一节点和所述第二节点之间的连接关系。

需要说明的是,具体执行过程可以参见图1或图3A所示方法实施例的具体说明,在此不进行赘述。

具体执行步骤可以参见前述实施例的描述,此处不在赘述。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1或图3A所示实施例的方法步骤,具体执行过程可以参见图1或图3A所示实施例的具体说明,在此不进行赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

相关技术
  • 一种采用知识图谱嵌入和时间卷积网络的社交网络链路预测方法
  • 一种融合图神经网络及其胶囊网络的链路预测方法
技术分类

06120112986091