一种基于复杂网络的特征提取方法及装置与流程

文档序号:12751584阅读:463来源:国知局
一种基于复杂网络的特征提取方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种基于复杂网络的特征提取方法及装置。



背景技术:

随着信息技术的发展,从人们在实际生活中彼此之间的进行信息交互的通讯网络、社会关系网,再到交通运输网、互联网等等复杂的关系系统,都可以看作是一张庞大而复杂的网络,也即,复杂网络。其中,复杂网络是指大量单元或个体(单元或个体,可称之为复杂网络的节点)之间相互作用而形成的复杂的网络结构。

现有技术中,对复杂网络的研究需要提取复杂网络的特征进行分析。针对任一复杂网络,通常针对其幂律(Power Law)分布或集聚(Clustering)系数等特征进行分析。其中,幂律分布,重点基于复杂网络中拥有连接数较大的节点,反映了复杂网络中节点之间的不均匀性;而集聚系数重点基于复杂网络中分布密度较大区域,反映了复杂网络的密集程度。

但是,复杂网络的上述特征,并不能充分反映复杂网络的基本属性,也就是说,现有技术中所提取的有关复杂网络的特征并不准确。



技术实现要素:

本申请实施例提供一种基于复杂网络的特征提取方法及装置,用以解决现有技术中对复杂网络所提取的特征准确性较低的问题。

本申请实施例提供的一种基于复杂网络的特征提取方法,包括:

配置设备根据复杂网络对应的网络有向图,为各运算设备分配该网络有向图中所包含的所有节点对应的节点信息;

所述配置设备将所述节点信息分发至各运算设备,使得各所述运算设备根据分配的节点信息所对应的指定节点,确定出各指定节点之间的传递关系,根据所述传递关系确定出所述网络有向图中的网络基准单元,并根据所述网络基准单元提取该网络有向图对应的网络特征信息。

本申请实施例还提供的一种基于复杂网络的特征提取方法,包括:

运算设备接收由配置设备发送的节点信息;

根据接收到的所述节点信息,确定所述节点信息对应的各指定节点之间的传递关系;

根据各指定节点之间的所述传递关系,确定各所述指定节点形成的所有网络基准单元;

根据确定出的所述网络基准单元,提取所述网络有向图对应的网络特征信息。

本申请实施例另提供的一种基于复杂网络的特征提取方法,运算设备针对网络有向图中每一指定节点发送指示信息,所述方法包括:

所述指定节点接收所述运算设备发送的指示信息;

根据所述指示信息,确定该指定节点与其他指定节点之间的传递关系;

根据所述传递关系,确定由所述指定节点形成的所有网络基准单元;

将确定出的所述网络基准单元反馈给所述运算设备,以使得所述运算设备提取所述网络有向图对应的网络特征信息。

本申请实施例提供的一种基于复杂网络的特征提取装置,包括:

配置模块,用于根据复杂网络对应的网络有向图,为各运算设备分配该网络有向图中所包含的所有节点对应的节点信息;

发送模块,用于将所述节点信息分发至各运算设备,使得各所述运算设备根据分配的节点信息所对应的指定节点,确定出各指定节点之间的传递关系,根据所述传递关系确定出所述网络有向图中的网络基准单元,并根据所述网络基准单元提取该网络有向图对应的网络特征信息。

本申请实施例另提供的一种基于复杂网络的特征提取装置,包括:

接收模块,用于接收由配置设备发送的节点信息;

确定模块,用于根据接收到的所述节点信息,确定所述节点信息对应的各指定节点之间的传递关系;

网络基准单元模块,用于根据各指定节点之间的所述传递关系,确定各所述指定节点形成的所有网络基准单元;

网络特征信息模块,用于根据确定出的所述网络基准单元,提取所述网络有向图对应的网络特征信息。

本申请实施例另提供的一种基于复杂网络的特征提取装置,运算设备针对网络有向图中每一指定节点发送指示信息,所述装置包括:

接收模块,用于接收所述运算设备发送的指示信息;

确定模块,用于根据所述指示信息,确定该指定节点与其他指定节点之间的传递关系;

网络基准单元模块,用于根据所述传递关系,确定由所述指定节点形成的所有网络基准单元;

网络特征信息模块,用于将确定出的所述网络基准单元反馈给所述运算设备,以使得所述运算设备提取所述网络有向图对应的网络特征信息。

本申请实施例提供一种基于复杂网络的特征提取方法及装置,通过本方法,配置设备会将网络有向图中所包含的所有节点,分别分配给大量的运算设备,运算设备则会根据配置设备所分配的节点,确定这些节点之间的传递关系,并根据所述传递关系步确定出所述网络有向图中所包含的网络基准单元,并根据网络基准单元提取出所述网络有向图对应的网络特征信息。与现有技术不同的是,现有技术中重点关注复杂网络中的节点分布的密集程度,或节点所拥有连接的不均匀程度,却不能体现出复杂网络中各节点相互之间形成的网络结构,而本申请实施例中的方式,是基于节点之间的传递关系将复杂网络划分成基本的结构单元,这样一来,可以将复杂网络中复杂的网络关系,转变为简单的结 构单元,有效提升了对复杂网络中网络特性分析的准确性,并且,在本申请实施例中,对于包含有海量节点复杂网络而言,采用分布式运算的方式,有效提升了运算的效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1a为本申请实施例提供的一种基于复杂网络的特征提取过程;

图1b为本申请实施例提供的分布式系统的架构示意图;

图2为本申请实施例提供的另一种基于复杂网络的特征提取过程;

图3为本申请实施例提供的节点之间的有向传递关系的示意图;

图4为本申请实施例提供的节点之间的无向传递关系的示意图;

图5a为本申请实施例提供的最小网络结构的所有类型的示意图;

图5b为本申请实施例提供的无向边三角形的示意图;

图6为本申请实施例提供的不同类型的网络基准单元分别对应的所有无向边的值;

图7a和7b为本申请实施例提供的应用实例中节点的传递关系的示意图;

图8为本申请实施例中提供的配置设备和多个运算设备之间的结构示意图;

图9至图11为本申请实施例提供的基于复杂网络的特征提取装置结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施 例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1a为本申请实施例提供的基于复杂网络的特征提取方法,该方法具体包括以下步骤:

S101,配置设备根据复杂网络对应的网络有向图,为各运算设备分配该网络有向图中所包含的所有节点对应的节点信息。

在本申请实施例中,所述的网络有向图,是根据复杂网络中的信息传递关系,所作出的由节点和有向边构成的网络图形。在网络有向图中,节点表示复杂网络中的个体(所述的个体,可以是终端、用户自身、城市等组成复杂网络的基本单位),有向边表示个体之间的传递关系(有向边的方向就表示了传递的方向)。本申请中的网络有向图的生成,可以由相应的设备汇总有关所述复杂网络的所有信息后而生成。这里对于所述网络有向图的生成,并不作为对本申请的限定。

在实际应用场景下,网络有向图中通常包含大量的节点(通常节点的数量在百万级至十亿级,甚至更多),在这样的情况下,如果仅由一台或少数的几台运算设备进行运算,由于运算量过大,那么,将极大地增加运算过程所需的时间。

因此,在本申请实施例中,实现对网络有向图的特征的运算提取过程,可由分布式系统完成。所述分布式系统中包括多台运算设备以及配置设备,其中所述配置设备,用于对该分布式系统中的各运算设备进行管理,如:调度数据、配置数据、发出特定指令等。其中,所述配置设备包括但不限于:具有全局控制功能的计算机、服务器等网络设备。

也即,分布式系统中,配置设备会将所述网络有向图中所包含的所有节点,分别为处于该分布式系统中的所有运算设备分配节点。

需要说明的是,所述分布式系统,可以是网络服务商后台的服务系统所构成,在这样的场景下,所述的运算设备,可以是该服务系统中提供运算处理业 务的服务器集群中的服务器。而所述的配置设备,可以是该服务系统中负责管理控制的主机。当然,作为本申请实施例中的另一种实现场景,所述分布式系统,还可以是由分布存在的大量终端构成的分布系统,在这样的场景下,运算设备是各终端,而配置设备可以是负责向各终端分配数据并接收运算结果的服务器。当然,这里并不构成对本申请的限定。

在本申请实施例中,配置设备为各运算设备分配的节点各不相同,换言之,如果将所述网络有向图看作包含所有节点的集合S,那么,配置设备为各运算设备所分配的节点,则可以看作是所述集合S的不同子集,并且,所述不同子集之间不存在交集。

配置设备针对不同的运算设备将分别生成不同的节点信息,以便不同的运算设备处理不同的节点,故所述的指定节点,就是由所述配置设备为运算设备所分配的节点。当然,在实际应用时,所述节点信息可以采用配置文件的方式传输,当然在此不作出具体限定。

S102,所述配置设备将所述节点信息分发至各运算设备,,使得各所述运算设备根据分配的节点信息所对应的指定节点,确定出各指定节点之间的传递关系,根据所述传递关系确定出所述网络有向图中的网络基准单元,并根据所述网络基准单元提取该网络有向图对应的网络特征信息。

在本申请实施例中,所述的网络基准单元,是构成网络有向图中的基本结构单元。在一种优选方式下,所述的网络基准单元是由三个节点构成的结构单元。对于任一复杂网络而言,均可以看作是由大量的网络基准单元所构成的。

当各所述运算设备接收到了由配置设备发送的所述节点信息后,那么,各运算设备就可以根据所述节点信息,确定出配置设备为该运算设备所分配的各指定节点。进一步地,各所述运算设备便可以针对确定出的各指定节点确定出完整的网络有向图中所包含的所有网络基准单元,从而根据网络基准单元确定出所述网路有向图对应的网络特征信息。

通过上述步骤,配置设备会将网络有向图中所包含的所有节点,分别分配 给大量的运算设备,运算设备则会根据配置设备所分配的节点,确定这些节点之间的传递关系,并根据所述传递关系步确定出所述网络有向图中所包含的网络基准单元,并根据网络基准单元提取出所述网络有向图对应的网络特征信息。与现有技术不同的是,现有技术中重点关注复杂网络中的节点分布的密集程度,或节点所拥有连接的不均匀程度,却不能体现出复杂网络中各节点相互之间形成的网络结构,而本申请实施例中的方式,是基于节点之间的传递关系将复杂网络划分成基本的结构单元,这样一来,可以将复杂网络中复杂的网络关系,转变为简单的结构单元,有效提升了对复杂网络中网络特性分析的准确性,并且,在本申请实施例中,对于包含有海量节点复杂网络而言,采用分布式运算的方式,有效提升了运算的效率。

需要说明的是,作为一种可选方式,所述节点信息也可以携带在配置信息里。具体来说,由于复杂网络的网络有向图中包含有大量的节点,配置设备如果要将这些节点分离出来,将会耗费大量的运算资源,所以,配置设备可以直接在网络有向图中针对分配给不同运算设备的节点设置不同的标记(也就是节点信息的另一种体现),再将标记后的网络有向图分别携带在配置信息中,分发给不同的运算设备,这样一来,不同的运算设备就可以根据网络有向图中不同的标记,来确定自身将要负责处理的各个节点。当然,这里只是节点信息的另一种可选方式,并不构成对本申请的限定。

另外,在本申请实施例中,确定网络有向图的网络基准单元的过程,是基于节点之间的传递关系,而在复杂网络中的每一节点,都与其他的节点之间具有传递关系,那么,为了后续过程中可以清楚、明确地标明出不同节点之间的传递关系,就需要为所有的节点设置相应的标识,也即,在本申请实施例中,在为各运算设备分配该网络有向图中所包含的所有节点之前,如图1所示的方法S101~S102还包括:所述配置设备针对所述网络有向图中的各节点,设置全局唯一的标识信息。所述的标识信息,可以唯一地确定出一个节点。

还需要说明的是,由于在实际应用中,复杂网络的网络有向图中包含的节 点数据巨大,为了保证对网络有向图进行运算的效率,对于本申请实施例中所采用的分布式系统,具体使用整体同步并行计算(Bulk Synchronous Parallel,BSP)模型实现。BSP模型可以使得各台运算设备同时对配置设备分配的节点信息进行运算处理,并且,各运算设备之间通过栅栏同步(也即,各运算设备之间会相互通信),可以保证对整个网络有向图的完整处理,采用BSP模型可以对包含有上亿节点的网络有向图,在极短时间内输出相应的运算结果,极大提升了对网络有向图的处理效率。

当然,这里需要说明的是,对于上述内容,本申请实施例中的配置设备和运算设备的架构如图1b所示,也即,一台配置设备对应多台运算设备,不同的运算设备之间形成BSP架构。

在本申请实施例中,在上述的配置设备为每一台运算设备配置了网络有向图中不同的节点后,各台运算设备将根据各自的配置信息执行相应的确定节点之间的传递关系的操作,并进一步提取出该网络有向图中的特征(也即复杂网络的特征),具体地,对于每一台运算设备而言,本申请实施例中提供了一种基于复杂网络的特征提取方法,如图2所示,所述方法包括步骤:

S201,运算设备接收由配置设备发送的节点信息。

如上述实施例中所述,本申请中的所述运算设备可以是服务系统中的服务器或是终端,这里并不作为对本申请的限定。

所述的节点信息中可以包含配置设备为运算设备分配的节点的标识信息。这样一来,运算设备就可以根据标识信息,确定出自身需要处理的各指定节点。

这里需要说明的是,作为本申请实施例中的一种可选方式,节点信息中包含网络有向图,换言之,配置设备只是在网络有向图中,将分配给某一运算设备进行处理的节点标记出来,并将完整的所述网络有向图(此时的网络有向图中携带有标记出来的节点)发送给相应的运算设备。

S202,根据接收到的所述节点信息,确定所述节点信息对应的各指定节点之间的传递关系。

当所述运算设备接收到了所述节点信息后,则会读取该节点信息,并确定出自身将要负责处理的各节点。

如果沿用上述的可选方式,那么,运算设备接收到了一张完整的网络有向图,此时,该运算设备会读取该网络有向图中,被配置设备标记的所有节点(被标记的节点就是该运算设备需要处理的指定节点)。同时,网络有向图中表明了不同节点之间的传递关系,所以,该运算设备还可以确定出指定节点之间相互的传递关系。

S203,根据各指定节点之间的所述传递关系,确定各所述指定节点形成的所有网络基准单元。

正是由于不同的节点之间具有传递关系,从而才可以形成网络(通常,传递关系的表现形式是节点之间的连线),那么,对于运算设备而言,根据指定节点之间的传递关系,就可以确定每一指定节点与其他指定节点之间的联系,如:确定出每一节点与其他节点的有向边。进一步地,就可以根据每个指定节点的传递关系,确定出整个网络中的最小的网络结构体,也就是本申请中所述的网络基准单元。

需要说明的是,所述网络基准单元,可以看作是整个网络的最小的网络结构单元,在本申请的优选方式中,由于所述网络基准单元由三个节点组成,那么,该网络基准单元就可以看作是三角形的结构单元,该三角形的顶点就是网络有向图中的节点,而该三角形的边就是反映节点与节点之间传输关系的有向边。

S204,根据确定出的所述网络基准单元,提取所述网络有向图对应的网络特征信息。

对于具有不同网络结构的复杂网络而言,都可以被划分相同结构的网络基准单元,那么,整个复杂网络就可以看作是由大量的网络基准单元组合而成。这样一来,无论复杂网络结构具有何种网络结构,都可以确定出其最基本的网络基准单元,也就是“化整为零”,通过这样的方式所提取出的网络特征信息, 就反映了整个复杂网络最基本的网络结构的信息,故即使是完全不相同(如:拥有的节点的量级、网络结构等不相同)的复杂网络,也可以通过网络基本单元进行深入比对或分析。

通过上述步骤,运算设备对配置设备所分配的指定节点之间的网络关系,划分成了网络基准单元,正是由于这样的方式,可以将具有不同网络结构的复杂网络,划分成具有相同特点的基本网络结构,再进一步提取出网络特征信息,从而可以实现对复杂网络的深度分析,也提升了对复杂网络特点进行分析的准确性和全面性。

需要说明的是,在实际应用中,网络有向图反映了复杂网络中各节点的传递关系,当要分析不同的复杂网络时,如果使用各复杂网络对应的网络有向图,那么,就需要在分析的过程中采用每个节点之间的传递关系,但是,在实际应用中,对于不同的复杂网络而言,其中节点之间的传递关系的差异可能会非常大,这就会对后续的分析网络特征的准确性造成影响。因此,在本申请实施例中,作为一种可选方式,会将网络有向图转化为无向图的形式,具体而言,对于每一运算设备,首先会确定指定节点之间的传递关系,即:

针对上述步骤S202中,确定所述节点信息对应的各指定节点之间的传递关系,具体为:针对每一指定节点,指示该指定节点向直接邻居节点发送通知消息,接收所有已收到所述通知消息的直接邻居节点反馈的汇报信息,根据所述汇报信息,确定每一所述指定节点的所有直接邻居节点。

其中,所述直接邻居节点是指与该指定节点直接相连的节点。

这里需要说明的是,运算设备负责处理的指定节点的数量,通常在十万级至千万级,如果预算设备自身遍历各个指定节点,确定指定节点之间的传递关系,那么,也将耗费较长的时间,并承受较大的运算压力。但是,在初始化的状态下。而本申请实施例中的节点,可以是数据结构的一种实例,也即,不同的节点可以相互进行通信,运算设备可以对各指定节点进行控制,使得各节点进行相互通信,在汇报给该运算设备,这样一来,运算设备便可以有效地节省 运算过程所消耗的时间。但是,在初始化状态下,对于不同的指定节点来说,只能获知从自身发出的传递关系(在网络有向图中,表现为该节点自身指向另一节点的有向箭头,也即,出边),但并不能获知自身接收到传递关系(在网络有向图中,表现为另一节点指向该节点自身的有向箭头,也即,入边),所以,运算设备为了准确地确定所有指定节点之间“发送”和“接收”的传递关系,在本申请实施例中,将由运算设备指示每一指定节点,通过自身指向其他节点的连接,发送通知消息。

从而,具有“入边”的节点,也就接收到了其他节点发送的通知消息,那么,该节点也就获知了有节点与该节点自身相连接。对于每一指定节点,接收到了通知消息之后,都会生成汇报信息,发送给运算设备,进而,运算设备也就准确地获知了所有指定节点之间的传递关系。

例如:如图3所示,在图3中,示出了四个节点A~D之间的传递关系,其中,节点A指向节点C和B,节点C指向节点D。

由于任一节点不能获知指向自身的传递关系,故此时,对于节点B而言,并不确定与其他节点之间的传递关系。对于节点C而言,该节点C可以确定与节点D的传递关系,但并不确定与节点A和B的传递关系。对于节点D而言,不确定与其他节点之间的传递关系。

假设某运算设备指示图3中的所有节点分别向各自所指向的节点发送通知消息,那么,此时,节点A会向节点B和C发送通知消息,节点C会向节点D发送通知消息。从而,节点B和C就可获知自身与节点A之间具有传递关系(由节点A指向节点B和节点C),同样地,节点D也可以获知自身与节点C之间具有传递关系(由节点C指向节点D)。

通过上例可见,当不同的指定节点向自身指向的所有节点发送通知消息后,那么,对于各指定节点来说,也就可以获知自身与其他指定节点之间的传递关系。

为了让每一指定节点清楚地获知与自身具有传递关系的其他指定节点,所 以,在本申请实施例中的一种可选方式下,指示该指定节点向直接邻居节点发送通知消息,具体为:指示该指定节点将自身的标识信息携带在通知信息中,并将所述通知消息发送至该指定节点的所有直接邻居节点。

那么,对于运算设备而言,在上述基础上,根据所述汇报信息,确定每一所述指定节点的所有直接邻居节点,具体为:确定汇报信息中携带的、除该指定节点自身的标识信息以外的其他标识信息所对应的其他节点,将所述其他节点确定为该指定节点的直接邻居节点。

经过上述步骤,运算设备就获知了各个指定节点之间的传递关系(包括“发送”的传递关系和“接收”的传递关系),也就是说,对于每一指定节点,均可以确定由该指定节点自身发出的有向边,以及该指定节点接收到的有向边(也即,指向该指定节点的有向边)。

考虑到实际应用中,对于任一网络有向图,将其中所有的有向边均转变为双向边时,那么,该网络有向图也就转变为无向图。从而,在获知了各个节点之间的传递关系后,就可以构建各个节点之间的无向边,再通过构建的无向边,确定出所有的网络基准单元,也即,对于上述步骤,根据各指定节点之间的所述传递关系,确定各所述指定节点形成的所有网络基准单元,具体为:根据各指定节点之间的所述传递关系,构建各指定节点与所有直接邻居节点之间的无向边,并为各无向边赋值,根据赋值后的各无向边,确定各指定节点之间形成的所有网络基准单元。

所述的无向边,就是指定节点之间的双向边,那么,将所述有向边转化为无向边,就是将单向边转化为双向边的过程。

现沿用图3中的示例进行说明。若要将图3中4个节点之间的单向边转化为双向边,具体为:对于节点A指向节点B的单向边,现增加一条由节点B指向节点A的单向边,从而形成了节点A与节点B之间的双向边,即如图4所示。类似地,对于节点A和节点C、以及节点C和节点D之间的单向边,均可以采用同样方式转化为双向边,也即,如图4所示。

但是,由单向边转化成无向边时,并非表示节点之间实际的传递关系变成了双向的传递关系,而只是便于将网络有向图转化成无向图。那么,在本申请实施例中,在将节点之间的有向边转化成无向边后,为了明确各节点之间实际的传递关系,就需要对新构建的无向边设置相应的标识(也就是为构建后的无向边赋值),以标明该无向边实际对应的传递关系。

具体而言,为各无向边赋值,具体为:确定所有指定节点的标识信息,按照指定顺序对确定出的所有标识信息进行排序,根据排序后的标识信息,使用构建规则为各无向边赋值。

上述的赋值过程中,需要考虑到不同节点标识信息的顺序,这是因为:对构建的无向边进行赋值,是基于节点之间实际的传递关系,但是,如果网络有向图中的大量节点各自的标识信息没有规律,那么,将导致对各节点之间的无向边的赋值出现混乱。

例如:假设两个节点的标识信息分别为:A、aa,这两个节点之间的实际传递关系为:节点A指向节点aa。如果构建了这两个节点之间的无向边,那么,在对该无向边进行赋值时,该无向边的取值既可以为1,也可以为0,显然,赋值后的无向边并不能准确地反映出两个节点之间实际的传递关系。

所以,在本申请实施例中,运算设备将对各指定节点的标识信息进行排序。并针对排序后的各指定节点,使用相应的构建规则为无向边赋值。

在本申请实施例中,所述构建规则包括:针对两个标识信息排序不同的节点,当两个节点之间的传递关系为由标识信息排序较高的节点指向标识信息排序较低的节点的有向边时,则将构建后的两个节点之间的无向边赋值为第一数值;

当两个节点之间的传递关系为由标识信息排序较低的节点指向标识信息排序较高的节点的有向边时,则将构建后的两个节点之间的无向边赋值为第二数值;

当两个节点之间的传递关系为双向边时,则将构建后的两个节点之间的无 向边赋值为第三数值。

例如,假设第一数值为1,第二数值为0,第三数值为2,针对图4中的构建的无向边而言,均赋值为0(因为均是由标识信息排序较高的节点指向标识信息排序较低的节点的有向边)。

上述过程中,对于每一节点,获知了自身与直接邻居节点之间的联系,但是,在网络有向图中,要确定出所有的网络基准单元,还需要获知与直接邻居节点有关系的所有节点。例如:在图4中,对于节点B,该节点B只获知自身的直接邻居节点A,但是,却不知到与节点C的联系,然而,节点A、B、C之间可构成网络基准单元,显然,若要构成该网络基准单元,节点B就需要获知与节点C之间的关系。那么,为了确定出网络基准单元,在本申请实施例中,根据赋值后的各无向边,确定各指定节点之间形成的所有网络基准单元,具体为:针对每一指定节点,指示该指定节点将该指定节点自身与所有直接邻居节点的连接信息,分别发送给除该直接邻居节点之外的各直接邻居节点,并接收所有直接邻居节点发送的连接信息,根据各指定节点接收到的所有连接信息,确定出各指定节点对应的所有间接邻居节点,构建所述指定节点与该指定节点对应的所有间接邻居节点的无向边,并为指定节点与各间接节点之间的各无向边赋值,根据赋值后的所述指定节点与所有直接邻居节点之间的无向边,以及赋值后的所述指定节点与间接邻居节点之间的无向边,确定出含有所述指定节点的所有网络基准单元。

其中,所述连接信息包括:指定节点与直接邻居节点的标识信息。所述间接邻居节点是指:与所述指定节点不直接相连,与该指定节点的直接邻居节点直接相连的节点。

通常,指定节点与间接邻居节点之间没有传递关系,但是,指定节点与间接节点以及直接节点可以构成三角形的网络基准单元。也就是说,运算设备需要构建指定节点和间接节点之间的无向边。为指定节点与各间接节点之间的各无向边赋值,具体为:确定所有指定节点的标识信息,按照指定顺序对确定出 的所有标识信息进行排序,根据排序后的标识信息,使用构建规则为指定节点与各间接节点之间的各无向边赋值。

其中,所述构建规则包括:所述构建规则包括:当两个节点之间不存在传递关系时,将构建后的两个节点之间的无向边赋值为第四数值。

需要说明的是,在实际应用中,网络有向图中最小的网络结构(由3个节点组成的三角形)共有13种,具体如图5a所示。在图5a中,示出了各种三个节点之间具有不同传递关系,而构成的不同的三角形。在本申请中,针对图5a中的各种三角形,需转化成如图5b所示的无向边三角形。

所以,上述步骤中,确定出含有所述指定节点形成的所有网络基准单元,具体为:针对每一指定节点,确定出以该指定节点为顶点的所有无向边三角形,确定每个无向边三角形对应的值,作为确定出的含有该指定节点的所有网络基准单元。

其中,一个无向边三角形对应的值为:该无向边三角形的每条无向边的赋值组合而成的值。

需要说明的是,如图6所示,示出了图5a中的各类三角形在转化成了无向边三角形后,该无向边三角形对应的值。图6中的每一位数值就是无向边对应的值,三条无向边的值组合而成了无向边三角形的值。

在实际应用时,运算设备会针对每个指定节点,出以该指定节点为顶点的所有无向边三角形,并确定每个无向边三角形对应的值,这样的方式可能会出现重复,所以,在本申请实施例中,为了保证确定出的每个无向边三角形的值更加准确而不出现重复,因此,在根据确定出的所述网络基准单元,提取所述网络有向图对应的网络特征信息之前,所述方法还包括:所述运算设备根据各指定节点的标识信息,对确定出的各网络基准单元进行去重。

在上述内容的基础上,步骤S204中提取所述网络有向图对应的网络特征信息,具体为:统计所述网络有向图中相同的网络基准单元的数量,作为所述网络有向图对应的网络特征信息。

下面,将以一应用实例对本申请中的所述基于复杂网络的特征提取方法进行说明:

假设某一复杂网络对应的网络有向图中包含了4个节点:节点A~D,其中,所述网络有向图如图7a所示。并假设配置设备获得了该网络有向图后,将该网络有向图中的所有节点均分配给了一台运算设备。

此时,对于该运算设备,将执行如下步骤:

步骤一:运算设备读入配置设备分配的网络有向图中的节点信息;

步骤二:运算设备指示每个节点分别向自己的直接邻居节点发送携带有自身标识信息的通知消息。如:节点A向节点C发送通知消息“a”,节点B向节点A、节点C发送通知消息“b”、节点C向节点B、节点D发送通知消息“c”。其中,通知消息“a”~“c”中分别携带有节点A~C的标识信息。

步骤三:对于每个节点,根据收到的消息转化边的值。如:节点A收到了消息“b”,那么,节点A就获知了自身与节点B直接相连,同时,节点A确认自身不存在指向节点B的出边,那么由于按照标识信息的排序(也即,A<B,表示由标识信息排序较高的节点指向标识信息排序较低的节点的有向边),根据构建规则,运算设备将节点A与节点B的有向边构建为双向边,并将节点A和节点B之间的双向边的Value(赋值)设置为1;同时对于其他收到的消息的节点采用相同的处理方法,最后节点A和节点C之间的边的Value=0、节点B和节点C之间的边的Value=2、节点C和节点D之间的边的Value=0。

步骤四:对于每个节点,运算设备指示每一节点,将自身的每一个直接邻居节点的连接信息发送给另外一个直接邻居节点。如:节点A将连接信息“A连接于B”传递给节点C,这样一来,节点C就获知了自身的直接邻居节点A和B之间的关系。

同样,对于节点B,会将连接信息“B连接于A”传递给节点C;节点C会将连接信息“C连接于A”传递给节点B和节点D;且,节点C将连接信息“C连接于B”传递给节点D。

步骤五:运算设备确定出含有所述指定节点形成的所有网络基准单元。如:对于节点A,可以确定出无向边三角形的值为120、00-1,同样地,对于节点B、C、D,均可以确定出无向边三角形的值为。

步骤六:对确定出的无向边三角形的值进行去重,将去重后的无向边三角形的值作为网络基准单元。

步骤七:提取所有相同的网络基准单元,确定出网络基准单元分别对应图6中的3、5以及11类,并统计这3类的数量,作为该网络有向图(也就是复杂网络)的网络特征信息。

以上内容和步骤的执行主体均为运算设备,作为本申请实施例中的一种可选方式,还可以由节点自身作为执行主体,也即,本申请实施例中还提供一种基于复杂网络的特征提取方法,如图8所示,运算设备针对网络有向图中每一指定节点,指示信息,所述方法包括:

S801,所述指定节点接收所述运算设备发送的指示信息;

S802,根据所述指示信息,确定该指定节点与其他指定节点之间的传递关系;

S803,根据所述传递关系,确定由所述指定节点形成的所有网络基准单元;

S804,将确定出的所述网络基准单元反馈给所述运算设备,以使得所述运算设备提取所述网络有向图对应的网络特征信息。

对于上述步骤S802,具体为:所述指定节点根据所述指示信息,向该指定节点的直接邻居节点发送通知消息,并接收其他直接邻居节点发送的通知消息,根据所述通知消息,确定所述指定节点的所有直接邻居节点。

对于步骤,根据所述传递关系,确定由所述指定节点形成的所有网络基准单元,具体为:根据所述传递关系,构建所述指定节点与所有直接邻居节点之间的无向边,并为各无向边赋值,根据赋值后的各无向边,确定由所述指定节点形成的所有网络基准单元。

对于为各无向边赋值的步骤,具体为:提取指示信息中包含的排序信息; 其中,所述排序信息由所述运算设备根据所有指定节点的标识信息,按照指定顺序对所有标识信息进行排序后生成;根据所述排序信息,使用构建规则为各无向边赋值。

需要说明的是,所述构建规则包括:针对两个标识信息排序不同的节点,当两个节点之间的传递关系为由标识信息排序较高的节点指向标识信息排序较低的节点的有向边时,则将构建后的两个节点之间的无向边赋值为第一数值;

当两个节点之间的传递关系为由标识信息排序较低的节点指向标识信息排序较高的节点的有向边时,则将构建后的两个节点之间的无向边赋值为第二数值;

当两个节点之间的传递关系为双向边时,则将构建后的两个节点之间的无向边赋值为第三数值。

更为具体地,根据赋值后的各无向边,确定由所述指定节点形成的所有网络基准单元,具体为:所述指定节点将与任一直接邻居节点的连接信息,分别发送给除该邻居节点之外的各直接邻居节点,并接收所有直接邻居节点发送的连接信息;其中,所述连接信息包括:指定节点与直接邻居节点之间构建的无向边的值、该指定节点的标识信息以及该直接邻居节点的标识信息;所述指定节点根据接收到的所有直接邻居节点的连接信息,确定出所述指定节点对应的所有间接邻居节点;其中,所述间接邻居节点是指与所述指定节点不直接相连,与该指定节点的直接邻居节点直接相连的节点;构建该指定节点自身对应的所有间接邻居节点的无向边,并为各无向边赋值;根据赋值后的所述指定节点与所有直接邻居节点之间的无向边,和赋值后的所述指定节点与间接邻居节点之间的无向边,确定出由该指定节点形成的所有网络基准单元。

在上述场景下,为各无向边赋值,具体为:提取指示信息中包含的排序信息;其中,所述排序信息由所述运算设备根据所有指定节点的标识信息,按照指定顺序对所有标识信息进行排序后生成;根据所述排序信息,使用构建规则为各无向边赋值。

此时,所述构建规则包括:当两个节点之间不存在传递关系时,则将构建后的两个节点之间的无向边赋值为第四数值。

根据赋值后的所述指定节点与所有直接邻居节点之间的无向边,和赋值后的所述指定节点与间接邻居节点之间的无向边,确定出由该指定节点形成的所有网络基准单元,具体包括:

所述指定节点,确定出以该指定节点为顶点的所有无向边三角形,确定每个无向边三角形对应的值,作为确定出的含有该指定节点的所有网络基准单元,其中,一个无向边三角形对应的值为:该无向边三角形的每条无向边的赋值组合而成的值;将确定出的所有无向边三角形对应的值,发送给该指定节点的所有直接邻居节点和间接邻居节点,并接收所有直接邻居节点和间接邻居节点发送的由直接邻居节点和间接邻居节点确定的所有无向边三角形对应的值的集合;根据接收到的所有无向边三角形对应的值,以及该指定节点自身确定的所有无向边三角形对应的值,进行去重;根据去重后的无向边三角形的值,确定出包含所述指定节点的所有网络基准单元。

下面,仍然沿用图7a与图7b中所示的示例,对本实施例中的所述基于复杂网络的特征提取方法进行说明:

配置设备获得了该网络有向图后,将该网络有向图中的所有节点均分配给了一台运算设备。此时,该运算设备针对所有的指定节点发送指示信息,使得所有的指定节点执行如下步骤:

步骤一:每个节点分别向自己的直接邻居节点发送携带有自身标识信息的通知消息。如:节点A向节点C发送通知消息“a”,节点B向节点A、节点C发送通知消息“b”、节点C向节点B、节点D发送通知消息“c”。其中,通知消息“a”~“c”中分别携带有节点A~C的标识信息。

步骤二:对于每个节点,根据收到的消息转化边的值。如:节点A收到了消息“b”,那么,节点A就获知了自身与节点B直接相连,同时,节点A确认自身不存在指向节点B的出边,那么由于按照标识信息的排序(也即,A<B, 表示由标识信息排序较高的节点指向标识信息排序较低的节点的有向边),根据构建规则,节点A将自身与节点B的有向边构建为双向边,并将节点A和节点B之间的双向边的Value(赋值)设置为1;同时对于其他收到的消息的节点采用相同的处理方法,最后节点A和节点C之间的边的Value=0、节点B和节点C之间的边的Value=2、节点C和节点D之间的边的Value=0。

步骤三:对于每个节点,将自身的每一个直接邻居节点的连接信息发送给另外一个直接邻居节点。如:节点C将连接信息“C连接于A,Value=0”传递给节点B,这样一来,节点B就获知了自身的直接邻居节点A和C之间的关系。节点B收到了消息“C连接于A,Value=0”后,发现节点B存在和节点A的边且Value=1、节点B存在和节点C的边且Value=2,同时由于字典序上A<B<C,那么整理消息“C连接于A,Value=0”为“A:1:B:2:C:0”(这里“A:1:B:2:C:0”表示,节点A与节点B之间的无向边Value=1,节点B与节点C之间的无向边Value=2,节点C与节点A之间的无向边Value=0)。

对其他收到消息的节点进行相同的操作,发现节点C可将消息整理为“A:1:B:2:C:0”、节点D可将消息整理为“A:0:C:0:D:-1”、“B:2:C:0:D:-1”。

步骤四:节点确定出含有所述指定节点形成的所有网络基准单元。如:对于节点A,可以确定出无向边三角形的值为120、00-1,同样地,对于节点B、C、D,均可以确定出无向边三角形的值为20-1。

步骤五:每个节点,将确定出的无向边三角形的值发送给运算设备进行去重,以使得运算设备将去重后的无向边三角形的值作为网络基准单元。

至此,通过上述实施例中所提供的方法S201~S204以及S801~S804,可针对任一复杂网络,根据其网络有向图,确定出该复杂网络中所包含的网络特征信息。这样一来,在实际应用时,使得具有不同网络结构、不同节点数量级的复杂网络,均转化成大量且简单的结构单元,并依据此确定不同复杂网络对应的网络特征信息,在此基础上,就可以对不同的复杂网络进行深入的分析,如: 根据复杂网络中的网络特征信息所形成的曲线(如:不同网络基准单元的数量曲线、显著性水平曲线等),与已知的正常网络中的网络特征信息所形成的曲线进行比对,判断该复杂网络中是否存在网络异常;或者,根据复杂网络中的某些特定的网络特征信息(如:每一类别网络基准单元的显著性水平),确定出该复杂网络的具体类型(如:万维网、社会关系网等)。

具体例如:在实际应用中,银行、商品网站与用户之间形成了复杂的资金流动网络(此时的资金流动网络也就构成了一个复杂网络),那么,根据本申请实施例中的方法,可以确定该资金流动网络中存在的网络特征信息(包括:该资金流动网络中所有网络基准单元的类别和数量),并根据各类别网络基准单元的数量,判断该资金流动网络中是否存在资金流动异常(如:洗钱)。

当然,上述示例作为本申请中基于复杂网络的特征提取方法的一种实际应用场景,并不构成对本申请的限定。并且,本申请实施例中的上述方法,可以运用在任何与复杂网络相关的分析场景中。

以上为本申请实施例提供的基于复杂网络的特征提取方法,基于同样的思路,本申请实施例还提供一种基于复杂网络的特征提取装置,如图9所示。

在图9中,所述基于复杂网络的特征提取装置包括:配置模块901和发送模块902,其中,

所述配置模块901,用于根据复杂网络对应的网络有向图,为各运算设备分配该网络有向图中所包含的所有节点对应的节点信息。

所述发送模块902,用于将所述节点信息分发至各运算设备,使得各所述运算设备根据分配的节点信息所对应的指定节点,确定出各指定节点之间的传递关系,根据所述传递关系确定出所述网络有向图中的网络基准单元,并根据所述网络基准单元提取该网络有向图对应的网络特征信息。

所述装置还包括:标识模块903,用于针对所述网络有向图中包含的每个节点设置全局唯一的标识信息。

在上述基础上,本申请实施例还提供一种基于复杂网络的特征提取装置, 如图10所示。在图10中,所述装置包括:

接收模块1001,用于接收由配置设备发送的节点信息;

确定模块1002,用于根据接收到的所述节点信息,确定所述节点信息对应的各指定节点之间的传递关系;

网络基准单元模块1003,用于根据各指定节点之间的所述传递关系,确定各所述指定节点形成的所有网络基准单元;

网络特征信息模块1004,用于根据确定出的所述网络基准单元,提取所述网络有向图对应的网络特征信息。

在本申请实施例中,所述确定模块1002,具体用于:针对每一指定节点,指示该指定节点向直接邻居节点发送通知消息,接收所有已收到所述通知消息的直接邻居节点反馈的汇报信息,根据所述汇报信息,确定每一所述指定节点的所有直接邻居节点。

其中,所述直接邻居节点是指与该指定节点直接相连的节点。

所述确定模块1002,具体用于:指示该指定节点将自身的标识信息携带在通知信息中,并将所述通知消息发送至该指定节点的所有直接邻居节点,确定汇报信息中携带的、除该指定节点自身的标识信息以外的其他标识信息所对应的其他节点,将所述其他节点确定为该指定节点的直接邻居节点。

具体地,所述网络基准单元模块1003,具体用于:根据各指定节点之间的所述传递关系,构建各指定节点与所有直接邻居节点之间的无向边,并为各无向边赋值,根据赋值后的各无向边,确定各指定节点之间形成的所有网络基准单元。

所述网络基准单元模块1003,具体用于:确定所有指定节点的标识信息,按照指定顺序对确定出的所有标识信息进行排序,根据排序后的标识信息,使用构建规则为各无向边赋值。

其中,所述构建规则包括:针对两个标识信息排序不同的节点,当两个节点之间的传递关系为由标识信息排序较高的节点指向标识信息排序较低的节 点的有向边时,则将构建后的两个节点之间的无向边赋值为第一数值;

当两个节点之间的传递关系为由标识信息排序较低的节点指向标识信息排序较高的节点的有向边时,则将构建后的两个节点之间的无向边赋值为第二数值;

当两个节点之间的传递关系为双向边时,则将构建后的两个节点之间的无向边赋值为第三数值。

所述网络基准单元模块1003,具体用于:针对每一指定节点,指示该指定节点将该指定节点自身与所有直接邻居节点的连接信息,分别发送给除该直接邻居节点之外的各直接邻居节点,并接收所有直接邻居节点发送的连接信息,根据各指定节点接收到的所有连接信息,确定出各指定节点对应的所有间接邻居节点,构建所述指定节点与该指定节点对应的所有间接邻居节点的无向边,并为指定节点与各间接节点之间的各无向边赋值,根据赋值后的所述指定节点与所有直接邻居节点之间的无向边,以及赋值后的所述指定节点与间接邻居节点之间的无向边,确定出含有所述指定节点的所有网络基准单元。

其中,所述连接信息包括:指定节点与直接邻居节点的标识信息。

其中,所述间接邻居节点是指与所述指定节点不直接相连,与该指定节点的直接邻居节点直接相连的节点。

所述网络基准单元模块1003,具体用于:确定所有指定节点的标识信息,按照指定顺序对确定出的所有标识信息进行排序,根据排序后的标识信息,使用构建规则为指定节点与各间接节点之间的各无向边赋值。

此时,所述构建规则包括:当两个节点之间不存在传递关系时,将构建后的两个节点之间的无向边赋值为第四数值。

所述网络特征信息模块1004,具体用于:针对每一指定节点,确定出以该指定节点为顶点的所有无向边三角形,确定每个无向边三角形对应的值,作为确定出的含有该指定节点的所有网络基准单元。

其中,一个无向边三角形对应的值为:该无向边三角形的每条无向边的赋 值组合而成的值。

所述装置还包括:去重模块1005,用于根据各指定节点的标识信息,对确定出的各网络基准单元进行去重。

在上述内容基础上,所述网络特征信息模块1004,具体用于统计所述网络有向图中相同的网络基准单元的数量,作为所述网络有向图对应的网络特征信息。

在上述基础上,本申请实施例还提供一种基于复杂网络的特征提取装置,如图11所示。运算设备针对网络有向图中每一指定节点发送指示信息,所述装置包括:

接收模块1101,用于接收所述运算设备发送的指示信息;

确定模块1102,用于根据所述指示信息,确定该指定节点与其他指定节点之间的传递关系;

网络基准单元模块1103,用于根据所述传递关系,确定由所述指定节点形成的所有网络基准单元;

网络特征信息模块1104,用于将确定出的所述网络基准单元反馈给所述运算设备,以使得所述运算设备提取所述网络有向图对应的网络特征信息。

所述确定模块1102,具体用于根据所述指示信息,向该指定节点的直接邻居节点发送通知消息,并接收其他直接邻居节点发送的通知消息,根据所述通知消息,确定所述指定节点的所有直接邻居节点。

所述网络基准单元模块1103,具体用于根据所述传递关系,构建所述指定节点与所有直接邻居节点之间的无向边,并为各无向边赋值,根据赋值后的各无向边,确定由所述指定节点形成的所有网络基准单元。

所述网络基准单元模块1103,具体用于提取指示信息中包含的排序信息;其中,所述排序信息由所述运算设备根据所有指定节点的标识信息,按照指定顺序对所有标识信息进行排序后生成;根据所述排序信息,使用构建规则为各无向边赋值。

在该场景下,所述构建规则包括:针对两个标识信息排序不同的节点,当两个节点之间的传递关系为由标识信息排序较高的节点指向标识信息排序较低的节点的有向边时,则将构建后的两个节点之间的无向边赋值为第一数值;

当两个节点之间的传递关系为由标识信息排序较低的节点指向标识信息排序较高的节点的有向边时,则将构建后的两个节点之间的无向边赋值为第二数值;

当两个节点之间的传递关系为双向边时,则将构建后的两个节点之间的无向边赋值为第三数值。

所述网络基准单元模块1003,具体用于将与任一直接邻居节点的连接信息,分别发送给除该邻居节点之外的各直接邻居节点,并接收所有直接邻居节点发送的连接信息,所述指定节点根据接收到的所有直接邻居节点的连接信息,确定出所述指定节点对应的所有间接邻居节点,构建该指定节点自身对应的所有间接邻居节点的无向边,并为各无向边赋值,根据赋值后的所述指定节点与所有直接邻居节点之间的无向边,和赋值后的所述指定节点与间接邻居节点之间的无向边,确定出由该指定节点形成的所有网络基准单元。

其中,所述连接信息包括:指定节点与直接邻居节点之间构建的无向边的值、该指定节点的标识信息以及该直接邻居节点的标识信息。

其中,所述间接邻居节点是指与所述指定节点不直接相连,与该指定节点的直接邻居节点直接相连的节点。

所述网络基准单元模块1003,具体用于提取指示信息中包含的排序信息;其中,所述排序信息由所述运算设备根据所有指定节点的标识信息,按照指定顺序对所有标识信息进行排序后生成;根据所述排序信息,使用构建规则为各无向边赋值;

在此场景下,所述构建规则包括:当两个节点之间不存在传递关系时,则将构建后的两个节点之间的无向边赋值为第四数值。

所述网络基准单元模块1003,具体用于确定出以该指定节点为顶点的所有 无向边三角形,确定每个无向边三角形对应的值,作为确定出的含有该指定节点的所有网络基准单元,将确定出的所有无向边三角形对应的值,发送给该指定节点的所有直接邻居节点和间接邻居节点,并接收所有直接邻居节点和间接邻居节点发送的由直接邻居节点和间接邻居节点确定的所有无向边三角形对应的值的集合,根据接收到的所有无向边三角形对应的值,以及该指定节点自身确定的所有无向边三角形对应的值,进行去重,根据去重后的无向边三角形的值,确定出包含所述指定节点的所有网络基准单元。

其中,一个无向边三角形对应的值为:该无向边三角形的每条无向边的赋值组合而成的值。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括 那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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