为网络中节点确定向量表示形式的方法及装置与流程

文档序号:16061009发布日期:2018-11-24 12:11阅读:334来源:国知局

本发明涉及网络技术领域,特别涉及一种为网络中节点确定向量表示形式的方法及装置。

背景技术

近年来,随着网络技术的发展,在线社交网络、学术网络等网络已经深入到用户生活的方方面面,成为用户获取信息、传播信息、交友、学术研究的重要途径。如果将在线社交网络中的用户或学术网络中的文章称为原始节点,将用户或文章组成的群组称为群组节点,由于原始节点间、原始节点与群组节点的相似度,对国家信息安全、社会稳定及学术发展有重要影响,因此,为了更好地研究这些网络,需要为网络中节点确定向量表示形式,进而根据网络中节点向量的表示形式进行度量。

以采用deepwalk方法为例,现有技术在为网络中节点确定向量表示形式时,可采用如下方式:根据原始节点和原始节点间链接信息,生成初始网络结构;以初始网络结构中的每个原始节点为起点,根据原始节点间的链接信息,沿着网络中原始节点之间的边进行随机游走,得到节点序列;基于skip-gram模型对节点序列进行训练,得到每个原始节点的向量表示形式。

由于现有技术仅确定了原始节点的向量表示形式,基于所确定的向量表示形式只能度量原始节点间的相似度,因此,现有的确定方法应用范围较窄,具有一定的局限性。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种为网络中节点确定向量表示形式的方法。所述技术方案如下:

一方面,提供了一种为网络中节点确定向量表示形式的方法,所述方法包括:

根据网络中的节点和节点信息,生成网络结构,所述节点包括原始节点和群组节点,所述节点信息包括原始节点间链接信息和原始节点与群组节点间链接信息;

获取每个节点的初始背景向量和初始目标向量;

以每个节点为起点进行随机游走,得到节点序列;

根据所述节点序列,确定每个节点的节点频数;

根据每个节点的初始背景向量和初始目标向量、所述节点序列以及每个节点的节点频数,确定每个节点的向量表示形式。

另一方面,提供了一种为网络中节点确定向量表示形式的装置,所述装置包括:

网络结构生成模块,用于根据网络中的节点和节点信息,生成网络结构,所述节点包括原始节点和群组节点,所述节点信息包括原始节点间链接信息和原始节点与群组节点间链接信息;

初始向量获取模块,用于获取每个节点的初始背景向量和初始目标向量;

随机游走模块,用于以每个节点为起点进行随机游走,得到节点序列;

节点频数确定模块,用于根据所述节点序列,确定每个节点的节点频数;

确定模块,用于根据每个节点的初始背景向量和初始目标向量、所述节点序列以及每个节点的节点频数,确定每个节点的向量表示形式。

本发明实施例提供的技术方案带来的有益效果是:

通过生成包括原始节点和群组节点的网络结构,并通过对每个节点的背景向量和目标向量进行迭代计算,得到包括原始节点和群组节点在内的每个节点的向量表示形式。由于基于原始节点和群组节点的向量表示形式,不仅可度量原始节点间的相似度,而且度量原始节点和群组节点的相似度,因而应用范围较广。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的为网络中节点确定向量表示形式的方法流程图;

图2是本发明另一个实施例提供的一种网络结构的生成过程示意图;

图3是本发明另一个实施例提供的一种为网络中节点确定向量表示形式的确定过程示意图;

图4是本发明另一个实施例提供的一种为网络中节点确定向量表示形式的装置结构示意图;

图5是根据一示例性实施例示出的一种用于为网络中节点确定向量表示形式的服务器。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

随着网络技术的发展,在线社交网络、学术网络等网络已经成为用户沟通交流、获取信息的重要途径,在很大程度上改变了用户的生产和生活方式,基于这些网络,用户可随时随地进行通信、购物、娱乐等。这些网络在为用户带来便利的同时,还对研究人员提出了更多挑战,例如,如何对原始节点进行链接预测、如何为原始节点推荐其他原始节点或群组节点、以及如何度量原始节点间、原始节点与群组节点间的相似度等。为了解决这些问题,可将网络中的节点投影到低维实值向量空间,也即是用一个低维实值向量表示节点,从而基于原始节点间相似度、原始节点和群组节点间相似度在网络内进行推荐和展示。

当前在确定网络中节点的向量表示形式时,可采用deepwalk、line和node2vec等方法。deepwalk方法通过从网络结构中选取一个节点进行随机游走,得到至少两个节点序列,进而采用skip-gram模型对至少两个节点序列进行训练,得到每个原始节点的向量表示形式。line方法采用两种尺度来度量原始节点间的相似度,第一种尺度是观察原始节点间是否有边直接相连,第二种尺度是观察原始节点间是否有共同的链接节点,基于这两个尺度,line方法分别为每个原始节点向量确定一个向量表示形式,进而将两个尺度对应的向量表示形式拼接在一起,得到每个节点的最终向量表示形式。node2vec方法是对deepwalk方法的进一步改进,在deepwalk方法的基础上,为随机游走过程添加两个参数,调整每一次的游走概率。

在对网络进行研究时发现,由于群组内部的各个原始节点间存在某种共性,与其他群组内的原始节点相比,相似度更高,因而群组内部原始节点间的链接边比跨群组的原始节点间的链接边密度更稠密。对于两个群组,如果两个群组有较多的重合原始节点,或者两个群组的原始节点间具有更高的相似度,则这两个群组相似度较高。当然,群组与原始节点间也存在着亲疏关系,如果一个原始节点属于某些个群组,则这个原始节点与这些群组关系较近;如果一个群组中的原始节点与其他群组中的原始节点的关系较近,则这个原始节点与其他群组的关系也相应被拉近。由上述分析可知,群组结构为网络的重要特征,度量原始节点间、群组节点与原始节点间相似度,对在线社交网络等网络的研究十分重要,而现有技术所采用的三种方法在确定节点的向量表示形式时,仅考虑了原始节点间的链接信息,并未考虑群组结构特征,无法度量原始节点和群组节点的相似度。

为了能够度量原始节点和群组节点的相似度,本发明实施例提供了一种为网络中节点确定向量表示形式的方法,该方法基于原始节点和群组节点,生成网络节点,使得原始节点和群组节点能够投影到同一个连续实值向量空间,并以包括原始节点和群组节点在内的每个节点为起点进行随机游走,生成至少两个节点序列,并根据该至少两个节点序列,确定出每个节点的节点频数,进而根据至少两个节点序列、为每个节点生成的初始背景向量和初始目标向量进行迭代计算,得到每个节点的向量表示形式。

本发明实施例提供了一种为网络中节点确定向量表示形式的方法,参见图1,本发明实施例提供的方法流程包括:

101、服务器根据网络中的节点和节点信息,生成网络结构。

其中,网络可以为在线社交网络、学术网络等。节点包括原始节点和群组节点,节点信息包括原始节点间链接信息和原始节点与群组节点间链接信息。

服务器在根据网络中的节点信息,生成网络结构时,可采用如下步骤1011~1013:

1011、服务器根据网络中的原始节点和节点信息中的原始节点链接信息,生成初始网络结构。

服务器根据原始节点间链接信息,通过将网络中该链接信息所指示的两个原始节点相连,生成初始网络结构,该初始网络结构包括原始节点和用于连接原始节点的链接边。

1012、服务器将网络中的群组节点添加到初始网络结构中。

对于所生成的初始网络结构,一些原始节点属于群组a,一些原始节点属于群组b,为了直观地展示出原始节点与群组之间的隶属关系,本发明实施例提供的方法还将群组节点添加到初始网络结构中。

1013、服务器根据节点信息中的原始节点与群组节点间链接信息,对初始网络结构中的原始节点与群组节点进行连接,得到网络结构。

基于所生成的初始网络结构,服务器根据原始节点与群组节点之间的链接信息,通过将网络中该链接信息所指示的原始节点和群组节点相连,得到网络结构,该网络结构包括原始节点、用于连接原始节点的链接边、群组节点、用于连接原始节点和群组节点的链接边。

图2示出了网络结构的生成过程,其中,v1、v2、v3、v4、v5、v6、v7、v8、v9为原始节点,c1、c2为群组节点。服务器根据原始节点间链接信息,将原始节点v1与v3、v4相连,将原始节点v2与v4、v5相连,将原始节点v3与v4相连,将原始节点v4与v5相连,将原始节点v5与v6、v7相连,将原始节点v6与v8相连,将原始节点v7与v8、v9相连,生成图2左侧的初始网络结构。基于图2左侧的初始网络结构,将群组节点c1、c2添加到初始网络结构中,并根据原始节点和群组节点间链接信息,将群组节点c1与原始节点v1、v2、v3、v4、v5、v6相连,将群组节点c2与原始节点v5、v6、v7、v8、v9相连,生成图2右侧的网络结构。

102、服务器获取每个节点的初始背景向量和初始目标向量。

对于网络结构中的每个节点x(包括原始节点和群组节点),均对应一个背景向量和目标向量,用于区分不同的节点,该背景向量可用f(x)表示,该目标向量可用h(x)表示。该背景向量和目标向量的维度相同,且对于任意两个节点,其背景向量是不同的,目标向量也是不同的。

对于任一节点,服务器在获取该节点的初始背景向量和初始目标向量时,可采用如下步骤1021~1022:

1021、服务器根据预设背景向量维度和选取条件,为节点每一维度上的元素选取一个实数,得到节点的初始背景向量。

其中,预设背景向量维度为节点的背景向量的维度,可根据服务器的计算能力确定,该预设背景向量维度可以为10维、20维、30维等等。选取条件为节点所有维度上的元素的绝对值之和等于预设数值,在本发明实施例中,该预设数值可以选取1。

服务器根据预设背景向量维度,随机为该节点每一维度上的元素选取一个实数,使得该节点所有维度上的元素的绝对值之和等于预设数值,并将满足选取条件的背景向量作为该节点的初始背景向量。

例如,预设背景向量维度为10维,预设数值为1,在保证该节点所有维度上的元素的绝对值之和等于1的前提下,服务器可为节点每一维度上的元素均选取实数0.1,这样可得到该节点的初始背景向量为(0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1)。

1022、服务器根据预设目标向量维度和选取条件,为节点每一维度上的元素选取一个实数,得到节点的初始目标向量。

其中,预设目标向量维度为节点的目标向量的维度,可根据服务器的计算能力确定,该预设目标向量维度与预设背景向量维度相同。

服务器根据预设目标向量维度,随机为该节点每一维度上的元素选取一个实数,使得该节点所有维度上的元素的绝对值之和等于预设数值,并将满足选取条件的目标向量作为该节点的初始目标向量。

例如,预设目标向量维度为10维,预设数值为1,在保证该节点所有维度上的元素的绝对值之和等于1的前提下,服务器可为第一维度上的元素选取实数0.1,为第二维度上的元素选取实数0,为第三维度上的元素选取实数-0.1,为第四维度上的元素选取实数0.3,为第五维度上的元素选取实数0.2,为第六维度上的元素选取实数-0.2,为第七维度上的元素选取实数0.1,为第八维度上的元素选取实数0.3,为第九维度上的元素选取实数0.1,为第十维度上的元素选取实数0.2,这样可得到该节点的初始目标向量为(0.1,0,-0.1,0.3,0.2,-0.2,0.1,0.3,0.1,0.2)。

103、服务器以每个节点为起点进行随机游走,得到节点序列。

其中,随机游走也称为随机漫步,是指基于过去的表现,无法预测将来的发展步骤和方向。随机游走的核心理念是指任何规则行走者所带来的守恒量都是各自对应一个扩散运输定律,接近布朗运动,是布朗运动理想的数学状态。

对于任一节点,服务器在以该节点为起点进行随机游走,得到节点序列时,可采用如下步骤1031~1033:

1031、服务器在以节点为起点进行随机游走的过程中,根据上一节点的节点类型,确定从上一节点向下一节点的游走概率。

服务器在根据上一节点的节点类型,确定从上一节点向下一节点的游走概率,包括但不限于如下三种情况:

第一种情况、上一节点的节点类型为群组节点。

当上一节点的节点类型为群组节点时,服务器在以该群组节点为起点进行随机游走时,服务器可向与该群组节点链接的任一原始节点进行游走,此时服务器确定从上一节点a向下一节点b的游走概率其中,n为网络中与群组节点(节点a)链接的原始节点的数量。

第二种情况、上一节点的节点类型为原始节点,且上一节点和下一节点之间有链接边。

当上一节点的节点类型为原始节点,且上一节点和下一节点之间有链接边时,服务器可从上一节点a游走到下一节点b,此时服务器确定从上一节点a向下一节点b的游走概率其中,z为归一化参数,与节点a连接的节点数量(包括原始节点和群组节点)。πa,b为节点类型参数,当节点b为原始节点时,πa,b为1,当节点为群组节点时,πa,b为q,在发明本实施例中,q为1。

第三种情况、上一节点的节点类型为原始节点,且上一节点和下一节点之间没有链接边。

当上一节点的节点类型为原始节点,且上一节点和下一节点之间没有链接边,服务器无法从上一节点游走到下一节点,此时服务器确定从上一节点a向下一节点b的游走概率为0。

1032、服务器根据预设路径长度和游走概率进行随机游走,得到一个节点序列。

其中,预设路径长度可由服务器的计算能力确定,如果设定相邻任意两个节点间的链接边长度为1,则该预设路径长度可以为100、200、300等等。

服务器根据预设路径长度,以该节点为起点按照游走概率进行随机游走,得到一个节点序列,该节点序列的长度为预设路径长度。

1033、服务器以节点为起点进行预设数量次随机游走,得到预设数量个节点序列。

其中,预设数量由服务器的计算能力确定,该预设数量可以为10、20、30等等。例如,设定预设数量为10次,服务器将以该节点为起点进行10次随机游走,得到10个节点序列。

104、服务器根据节点序列,确定每个节点的节点频数。

基于上述步骤103中得到的节点序列,服务器通过将每个节点在节点序列中出现的次数进行叠加,可得到每个节点的节点频数。

例如,网络结构包括原始节点v1、v2、v3、v4,群组节点c,预设数量为2,预设路径长度为3,以每个节点为起点进行随机游走,得到10个节点序列,分别为v1—c—v3、v1—v4—v3、v2—v1—v4、v2—v3—v4、v3—v2—v1、v3—c—v1、v4—v3—v2、v4—v1—v2、c—v4—v1、c—v3—v2,服务器通过对每个节点在10个节点序列中出现的次数进行叠加,可得到原始节点v1的节点频数为7,原始节点v2的节点频数为6,原始节点v3的节点频数为7,原始节点v4的节点频数为6,群组节点c的节点频数为4。

在本发明的另一个实施例中,在获取到每个节点的节点频数之后,服务器还将对每个节点频数取r次方。其中,r可以为正数,如果r小于1,则通过对每个节点频数取r次方,可缩小不同节点间的节点频数差异,如果r大于1,则通过对每个节点频数取r次方,可增加不同节点间的节点频数差异。在本发明实施例中,r取0.75。

105、服务器根据每个节点的初始背景向量和初始目标向量、节点序列以及每个节点的节点频数,确定每个节点的向量表示形式。

服务器根据每个节点的初始背景向量和初始目标向量、至少两个节点序列以及每个节点的节点频数,确定每个节点的向量表示形式时,可采用如下步骤1051~1057:

1051、服务器以包含2n+1个节点的预设长度窗口为滑动窗口,在节点序列上进行滑动,得到窗口序列。

其中,窗口序列包括2n+1个节点,n为正整数。服务器在以预设长度窗口为滑动窗口在该节点序列上进行滑动时,可采用每次移动一个节点的方式进行滑动。例如,窗口序列为v1—v2—v3—v4—v5—v6—v7—v8—v9,预设长度窗口包括5个节点,则得到的窗口序列为v1—v2—v3—v4—v5、v2—v3—v4—v5—v6、v3—v4—v5—v6—v7、v4—v5—v6—v7—v8、v5—v6—v7—v8—v9。

1052、服务器将窗口序列中的第n+1个节点作为目标节点,将其余的2n个节点作为背景节点。

对于得到的窗口序列,服务器将该窗口序列中的第n+1个节点(即中间节点)作为目标节点,并将剩余的2n个节点作为背景节点。

例如,对于窗口序列v1—v2—v3—v4—v5—v6—v7—v8—v9,服务器将v5作为目标节点,并将v1、v2、v3、v4、v6、v7、v8、v9作为背景节点。

1053、服务器将2n个背景节点的初始背景向量进行加权相加,得到背景加权向量。

服务器在将2n个背景节点的初始背景向量进行加权相加时,可将2n个背景节点设置相同的权重值,并基于相同的权重值,对2n个背景节点的初始背景向量进行加权相加,得到背景加权向量。服务器还可根据2n个背景节点与目标节点的距离,确定每个背景节点的权重值(例如,将与目标节点距离远的背景节点设置较小的权重值,将与目标节点距离远的背景节点设置较大的权重值),进而根据每个背景节点的权重值,对2n个背景节点的初始背景向量进行加权相加,得到背景加权向量。

例如,对于窗口序列v1—v2—v3—v4—v5,目标节点为v3,v1、v2、v4、v5为背景节点,其中,背景节点v1的初始背景向量为(a1,a2,a3,a4,a5),背景节点v2的初始背景向量为(b1,b2,b3,b4,b5),背景节点v4的初始背景向量为(c1,c2,c3,c4,c5),背景节点v5的初始背景向量为(d1,d2,d3,d4,d5),且|a1|+|a2|+|a3|+|a4|+|a5|=1,|b1|+|b2|+|b3|+|b4|+|b5|=1,|c1|+|c2|+|c3|+|c4|+|c5|=1,|d1|+|d2|+|d3|+|d4|+|d5|=1。如果根据与目标节点的距离,为背景节点v1和v5设置权重值为0.5,为背景节点v2和v4设置权重值为1,则对背景节点v1、v2、v4、v5的初始背景向量进行加权相加,可得到背景加权向量为0.5(a1,a2,a3,a4,a5)+(b1,b2,b3,b4,b5)+(c1,c2,c3,c4,c5)+0.5(d1,d2,d3,d4,d5)=(0.5a1+b1+c1+0.5d1,0.5a2+b2+c2+0.5d2,0.5a3+b3+c3+0.5d3,0.5a4+b4+c4+0.5d4,0.5a5+b5+c5+0.5d5)。

1054、服务器对每个节点的节点频数进行归一化,得到节点多项分布。

服务器在对每个节点的节点频数进行归一化时,可采用如下方式:将每个节点的节点频数相加,得到节点频数和,通过计算每个节点的节点频数与节点频数和的比值,对每个节点的节点频数进行归一化。

例如,网络结构中包括节点v1、v2、v3、v4、v5,节点v1的节点频数为5,节点v2的节点频数为4,节点v3的节点频数为6,节点v4的节点频数为5,节点v5的节点频数为5,通过将节点v1、v2、v3、v4、v5的节点频数相加,可得到节点频数和为25,通过计算节点v1、v2、v3、v4、v5的节点频数与节点频数和的比值,可得到节点v1的归一化系数为0.2,v2的归一化系数为0.16,v3的归一化系数为0.24,v4的归一化系数为0.2,v5的归一化系数为0.2。

基于每个节点的归一化系数,服务器通过将每个节点的归一化系统与节点相乘,得到节点多项分布。例如,对于网络中的节点v1、v2、v3、v4,节点v1的归一化系数为0.2,v2的归一化系数为0.16,v3的归一化系数为0.24,v4的归一化系数为0.2,v5的归一化系数为0.2,基于每个节点的归一化系数,即可得到节点多项分布。

在本发明的另一个实施例中,服务器还对节点频数的r次方进行归一化,得到节点多项分布。对于服务器对节点频数的r次方进行归一化的方式,与上述对节点频数进行归一化的方式相同,此处不再赘述。

1055、服务器根据节点多项分布,从网络结构中除目标节点之外的节点中选取指定节点。

基于节点多项分布,服务器可根据每个节点的归一化系数,从网络网络结构中除目标节点之外的节点中选取指定节点。

1056、服务器根据背景加权向量、目标节点的初始背景向量和初始目标向量,对目标节点的背景向量和目标向量进行迭代计算,得到目标节点的向量表示形式。

服务器在根据背景加权向量、目标节点的初始背景向量和初始目标向量,对目标节点的背景向量和目标向量进行迭代计算时,可采取以下公式(一):

fnew=fold-α▽f

hnew=hold-β▽h

▽f=-(lable-σ(neu·hold)·hold

▽h=-(lable-σ(neu·hold)·neu。

其中,fnew为迭代后的背景节点的背景向量;fold为迭代前的背景节点的背景向量;α、β为迭代步长,在迭代过程中α、β的值线性减小,且可选取可变步长,即每次迭代时变化的值可以不相同,在本发明实施例中,α、β相等,初始值为0.025,最小值为0.0001;hnew为迭代后的目标节点的目标向量;hold为迭代前的目标节点的目标向量;neu为背景加权向量;σ(·)为激活函数,在本发明实施例中为sigmoid函数。

应用上述公式一进行迭代,直至窗口滑动结束。

1057、服务器根据背景加权向量、指定节点的初始背景向量和初始目标向量,对指定节点的背景向量和目标向量进行迭代计算,得到目标节点的向量表示形式。

服务器根据背景加权向量、指定节点的初始背景向量和初始目标向量,对指定节点的背景向量和目标向量进行迭代计算时,可采用上述公式(一)进行迭代,直至窗口滑动结束。

对于上述服务器为每个节点确定向量表示形式的方法,下面将以图3为例进行详细介绍。

参见图3,对于输入的节点和节点信息,服务器根据该节点和节点信息,生成网络结构,该网络结构包括原始节点、用于连接原始节点的链接边、群组节点、用于连接原始节点和群组节点的链接边。服务器为每个节点生成一个初始背景向量和初始目标向量,并依次以每个节点为起点进行随机游走,得到节点序列。服务器根据节点序列,对每个节点出现的次数进行统计,得到每个节点的节点频数。服务器采用预设长度窗口在节点序列上进行滑动,得到窗口序列。服务器从窗口序列中获取目标节点和背景节点,并对背景节点的初始背景向量进行加权计算,得到背景加权向量。服务器从网络结构中获取除该目标节点之外的节点中获取至少两个指定节点,并根据背景加权向量、目标节点的初始背景向量和初始目标向量,对目标节点进行迭代计算,得到目标节点的向量表示形式,服务器将目标节点满足迭代截止条件时得到的背景向量作为目标节点的向量表示形式。服务器还将根据背景加权向量、背景节点的初始背景向量和初始目标向量,对背景节点进行迭代计算,得到背景节点的向量表示形式。

下面以aminer学术网络(http://aminer.org)为例,对本发明实施例提供的方法的应用过程进行介绍。

对于aminer学术网络包含的1975至2012年间计算机领域的论文作者和论文基本信息,本发明实施例抽取了发表在26个计算机会议(包括ijcai、aaai、icml、uai、umap、aamas、vldb、sigmod、pods、icde、icdt、edbt、kdd、icdm、ppopp、pact、ipdps、icpp、europar、siggraph、cvpr、iccv、sigcomm、sigmetrics、infocom和mobicom)上的论文,并将发表在同一计算机会议上的论文组成一个网络,每个原始节点表示一篇论文,共有30375个原始节点,节点之间的边表示论文的引用关系,共有120712条边,发表在同一个会议上的论文同属于一个群组,共有26个群组。这里设定预设数量为20,预设路径长度为100,预设背景(目标)向量维数为128,预设窗口长度为2n+1(本例中n是0~6的随机整数)。采用本发明实施例提供的方法构建网络结构,为网络结构中的每个节点确定向量表示形式,并基于每个群组节点的向量表示形式,计算任意两个群组节点的相似度。基于计算结果,按照相似度由高到低的顺序,对每个群组的相似群组进行排序。表1示出了与每个群组相似度较大的5个群组。

表1

本发明实施例提供的方法,通过生成包括原始节点和群组节点的网络结构,并通过对每个节点的背景向量和目标向量进行迭代计算,得到包括原始节点和群组节点在内的每个节点的向量表示形式。由于基于原始节点和群组节点的向量表示形式,不仅可度量原始节点间的相似度,而且度量原始节点和群组节点的相似度,因而应用范围较广。

参见图4,本发明实施例提供了一种为网络中节点确定向量表示形式的装置,该装置包括:

网络结构生成模块401,用于根据网络中的节点和节点信息,生成网络结构,该节点包括原始节点和群组节点,该节点信息包括原始节点间链接信息和原始节点与群组节点间链接信息;

初始向量获取模块402,用于获取每个节点的初始背景向量和初始目标向量;

随机游走模块403,用于以每个节点为起点进行随机游走,得到节点序列;

节点频数确定模块404,用于根据节点序列,确定每个节点的节点频数;

确定模块405,用于根据每个节点的初始背景向量和初始目标向量、节点序列以及每个节点的节点频数,确定每个节点的向量表示形式。

在本发明的另一个实施例中,网络结构生成模块401,用于根据网络中的原始节点和节点信息中的原始节点链接信息,生成初始网络结构;将网络中的群组节点添加到初始网络结构中;根据节点信息中的原始节点与群组节点间链接信息,对初始网络结构中的原始节点与群组节点进行连接,得到网络结构。

在本发明的另一个实施例中,初始向量获取模块402,用于对于任一节点,根据预设背景向量维度和选取条件,为节点每一维度上的元素选取一个实数,得到节点的初始背景向量;根据预设目标向量维度和选取条件,为节点每一维度上的元素选取一个实数,得到节点的初始目标向量,其中,选取条件为节点所有维度上的元素的绝对值之和等于预设数值。

在本发明的另一个实施例中,随机游走模块403,用于对于任一节点,在以节点为起点进行随机游走的过程中,根据上一节点的节点类型,确定从上一节点向下一节点的游走概率;根据预设路径长度和游走概率进行随机游走,得到一个节点序列;以节点为起点进行预设数量次随机游走,得到预设数量个节点序列。

在本发明的另一个实施例中,随机游走模块403,用于当上一节点的节点类型为群组节点时,确定从上一节点a向下一节点b的游走概率其中,n为网络中与群组节点链接的原始节点的数量。

随机游走模块403,用于当上一节点的节点类型为原始节点,且上一节点和下一节点之间有链接边时,确定从上一节点a向下一节点b的游走概率其中,z为归一化参数,πa,b为节点类型参数;当上一节点的节点类型为原始节点,且上一节点和下一节点之间没有链接边时,确定从上一节点a向下一节点b的游走概率为0。

在本发明的另一个实施例中,确定模块405,用于以包含2n+1个节点的预设长度窗口为滑动窗口,在节点序列上进行滑动,得到窗口序列,该窗口序列包括2n+1个节点,n为正整数;将窗口序列中的第n+1个节点作为目标节点,将其余的2n个节点作为背景节点;将2n个背景节点的初始背景向量进行加权相加,得到背景加权向量;对每个节点的节点频数进行归一化,得到节点多项分布;根据节点多项分布,从网络结构中除目标节点之外的节点中选取指定节点;根据背景加权向量、目标节点的初始背景向量和初始目标向量,对目标节点的背景向量和目标向量进行迭代计算,得到目标节点的向量表示形式;根据背景加权向量、指定节点的初始背景向量和初始目标向量,对指定节点的背景向量和目标向量进行迭代计算,得到指定节点的向量表示形式。

综上所述,本发明实施例提供的装置,通过生成包括原始节点和群组节点的网络结构,并通过对每个节点的背景向量和目标向量进行迭代计算,得到包括原始节点和群组节点在内的每个节点的向量表示形式。由于基于原始节点和群组节点的向量表示形式,不仅可度量原始节点间的相似度,而且度量原始节点和群组节点的相似度,因而应用范围较广。

图5是根据一示例性实施例示出的一种用于为网络中节点确定向量表示形式的服务器。参照图5,服务器500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述图1中为网络中节点确定向量表示形式的方法中服务器所执行的功能

服务器500还可以包括一个电源组件526被配置为执行服务器500的电源管理,一个有线或无线网络接口550被配置为将服务器500连接到网络,和一个输入输出(i/o)接口558。服务器500可以操作基于存储在存储器532的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

本发明实施例提供的服务器,通过生成包括原始节点和群组节点的网络结构,并通过对每个节点的背景向量和目标向量进行迭代计算,得到包括原始节点和群组节点在内的每个节点的向量表示形式。由于基于原始节点和群组节点的向量表示形式,不仅可度量原始节点间的相似度,而且度量原始节点和群组节点的相似度,因而应用范围较广。

需要说明的是:上述实施例提供的为网络中节点确定向量表示形式的装置在为网络中节点确定向量表示形式时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将为网络中节点确定向量表示形式的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的为网络中节点确定向量表示形式的装置与为网络中节点确定向量表示形式的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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