基于网络分解的社交网络关键节点发现方法及系统与流程

文档序号:15980135发布日期:2018-11-17 00:13阅读:150来源:国知局
本发明涉及网络分析
技术领域
,尤其是一种基于网络分解的社交网络关键节点发现方法及系统。
背景技术
关键节点发现是社交网络分析的一项重要内容,其目的是发现一个尽可能小的节点集合,使得删除这些节点后,网络能够被最大程度地破坏。随着互联网和大数据的发展,网络规模呈现急剧增大的趋势,社交网络关键节点发现在网络防护以及阻止病毒传播等方面有重要的应用前景。现有的基于网络分解的社交网络关键节点发现方法主要有两类:一类是基于去环策略的,另一类是基于中心性指标的。基于去环策略的算法在节点删除阶段,虽然通过去环过程提高了网络分解效率,但是去环过程针对性不强,删除了很多非关键节点,导致大量节点需要放回;基于中心性指标的算法试图通过中心性指标针对性地删除关键节点,但传统的中心性指标忽略了邻居节点之间的连边对网络破坏性的影响,对节点中心性的评估不够准确,同样删除了大量非关键节点;并且,在放回阶段,现有的关键节点发现算法未研究不同的放回策略对最终结果的影响,无法选择合理的放回策略;最后,受到可调参数的影响,现有算法的适应性和稳定性不足。技术实现要素:鉴于上述的分析,本发明旨在提供一种基于网络分解的社交网络关键节点发现方法及系统,解决现有基于网络分解的关键节点发现方法中节点删除针对性不强、忽略邻居节点之间的连边对网络破坏能力的影响、节点放回策略不合理以及需要参数设置问题。本发明的目的主要是通过以下技术方案实现的:一种基于网络分解的社交网络关键节点发现方法,包括:从给定社交网络的节点中初步确定候选关键节点集合;从所述候选关键节点集合中确定社交网络的关键节点;所述候选关键节点是根据网络中各个节点的中心性值确定的;所述关键点是根据所述候选关键节点在网络中的连通分支节点数量确定的。进一步地,所述确定候选关键节点集合包括以下步骤:1)根据给定社交网络的中心性指标,计算社交网络中各个节点的中心性值;2)将社交网络中心性值最大的节点判断为候选关键节点a,加入到候选关键节点集合c中,从所述社交网络中删除中上述节点;3)对剩余网络结构进行连通分支搜索,得到最大连通分支的节点数量wmax;4)判断是否小于阈值1,否,则进入5);是,则候选关键节点确定完毕,输出候选关键节点集合c,并输出剩余网络;5)更新网络结构,返回1)重新计算社交网络中各个节点的中心性值。进一步地,所述社交节点中心性值的计算方法为:其中,c(vi)为社交网络节点vi的中心性值,d(vi)为节点vi的度值,u(i)是节点vi的邻居节点集合,d(vj)为邻居节点vj的度值,rlink(vi)为节点vi的所有邻居节点之间的边数。进一步地,所述确定社交网络关键节点包括以下步骤:1)计算候选关键节点集合中的节点单独放回所述剩余网络后,每个节点的连通分支节点数量;2)选取连通分支节点数量最少的节点b,记录该节点的连通分支节点数量wmin;3)判断是否小于阈值2,是,则进入4),否,则候选关键节点集合中节点即为社交网络的关键节点;4)将节点b放回网络,并从候选关键节点集合中删除节点b;5)更新网络结构,返回1)。进一步地,所述阈值1为1%;阈值2为1%。一种基于网络分解的社交网络关键节点发现系统,包括:包括:节点中心性值计算模块,节点删除模块,节点放回模块,连通分支搜索模块;所述节点中心性值计算模块根据给定的社交网络,计算网络中各个节点的中心性值;所述节点删除模块与所述节点中心性值计算模块和连通分支搜索模块相连,建立候选关键节点集合输出到所述节点放回模块;所述节点放回模块与所述节点删除模块和连通分支搜索模块相连,选择社交网络的关键节点输出;所述连通分支搜索模块与所述节点删除模块和节点放回模块相连,搜索社交网络中的所有连通分支,返回节点删除模块和节点放回模块各个连通分支的节点数量及包含的所有节点,用于判断最大连通分支的节点数量和最小连通分支的节点数量。进一步地,所述节点中心性值计算模块的数学模型为:其中,c(vi)为社交网络节点vi的中心性值,d(vi)为节点vi的度值,u(i)是节点vi的邻居节点集合,d(vj)为邻居节点vj的度值,rlink(vi)为节点vi的所有邻居节点之间的边数。进一步地,所述节点删除模块找出节点中心性值最大的节点a加入到候选关键节点集合c中,从所述社交网络中删除该节点;所述连通分支搜索模块对剩余网络结构进行连通分支搜索,得到最大连通分支的节点数量wmax,返回节点删除模块;节点删除模块判断是否小于阈值1,否,则更新网络结构,所述节点中心性值计算模块重新计算网络中各个节点的中心性值,输出至所述节点删除模块进行候选关键节点的确定;是,则候选关键节点确定完毕,输出候选关键节点集合c和剩余网络到节点放回模块。进一步地,节点放回模块与所述节点删除模块和连通分支搜索模块相连,所述节点放回模块将所述候选关键节点集合中的每个节点单独放回剩余网络输出到连通分支搜索模块,计算节点的连通分支节点数量返回所述节点放回模块,所述节点放回模块选取连通分支节点数量最少的节点b,记录该节点所在连通分支的节点数量wmin;并判断是否小于阈值2,是,则将节点b放回网络中,并从候选关键节点集合中删除节点b;更新网络结构输出到节点放回模块重新进行关键节点的确定;否,则候选关键节点集合中节点即为社交网络的关键节点。进一步地,所述阈值1为1%;阈值2为1%。本发明有益效果如下:解决了邻居节点之间的连边对网络破坏能力的影响,设计了更加准确的节点中心性指标,选取了更加合理的节点放回策略,并且无需进行参数设置,社交网络关键节点发现更加高效、准确。附图说明附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。图1为本发明实施例中发现方法的流程示意图。图2为本发明实施例中发现系统的结构示意图。具体实施方式下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。实施例一如图1所示,本实施例提供了一种基于网络分解的社交网络关键节点发现方法,包括:s101、给定节点规模为n的社交网络,计算社交网络中各个节点的中心性值;选取多个节点构成候选关键节点集合;选取候选关键节点的方法包括以下步骤:1)计算社交网络中各个节点的中心性值;其中,社交网络节点中心性值的计算公式为:其中,c(vi)为社交网络节点vi的中心性值,d(vi)为节点vi的度值,u(i)是节点vi的邻居节点集合,d(vj)为邻居节点vj的度值,rlink(vi)为节点vi的所有邻居节点之间的边数。采用上述公式计算社交网络节点中心性值,解决了邻居节点之间的连边对网络破坏能力的影响,节点中心性指标更加准确;2)将社交网络中心性值最大的节点max(c(vi))判断为候选关键节点a,加入到候选关键节点集合c中,从所述社交网络中删除上述节点;3)对剩余网络结构进行连通分支搜索,得到最大连通分支的节点数量wmax;4)判断是否小于阈值1,否,则进入5);是,则候选关键节点确定完毕,输出候选关键节点集合c,并输出剩余网络;5)更新网络结构,返回1)重新计算社交网络中各个节点的中心性值;其中,阈值1为1%。通过上述步骤选取的候选关键节点集合,所选取的候选关键节点更有针对性,更加高效、准确。s102、从所述候选关键节点集合中,确定社交网络的关键节点;包括以下步骤:1)计算候选关键节点集合中的节点单独放回所述剩余网络后,每个节点的连通分支节点数量;2)选取连通分支节点数量最少的节点b,记录该节点的连通分支节点数量wmin;3)判断是否小于阈值2,是,则进入4),否,则候选关键节点集合中节点即为社交网络的关键节点;4)将节点b放回网络,并从候选关键节点集合中删除节点b;5)更新网络结构,返回1);其中,阈值1为1%。本实施例提供的基于网络分解的社交网络关键节点发现方法,解决了邻居节点之间的连边对网络破坏能力的影响,设计了更加准确的节点中心性指标,选取了更加合理的节点放回策略,并且无需进行参数设置,社交网络关键节点发现更加高效、准确。实施例二本实例还提供了一种基于网络分解的社交网络关键节点发现系统,包括:节点中心性值计算模块210,节点删除模块220,节点放回模块230,连通分支搜索模块240。节点中心性值计算模块210根据给定的节点规模为n的社交网络,利用节点中心性值计算方法,计算网络中各个节点的中心性值。特殊的,所述节点中心性值计算模块210的数学模型为:其中,c(vi)为社交网络节点vi的中心性值,d(vi)为节点vi的度值,u(i)是节点vi的邻居节点集合,d(vj)为邻居节点vj的度值,rlink(vi)为节点vi的所有邻居节点之间的边数。节点删除模块220与节点中心性值计算模块210和连通分支搜索模块240相连,找出节点中心性值最大的节点a加入到候选关键节点集合c中,从所述社交网络中删除该节点;连通分支搜索模块240对剩余网络结构进行连通分支搜索,得到最大连通分支的节点数量wmax,返回节点删除模块220;节点删除模块220判断是否小于阈值1,否,则更新网络结构,节点中心性值计算模块210重新计算网络中各个节点的中心性值,输出至节点删除模块220进行候选关键节点的确定;是,则候选关键节点确定完毕,输出候选关键节点集合c和剩余网络到节点放回模块230。其中,阈值1为1%。节点放回模块230与所述节点删除模块220和连通分支搜索模块240相连,所述节点放回模块230将所述候选关键节点集合中的每个节点单独放回剩余网络输出到连通分支搜索模块240,计算节点的连通分支节点数量返回所述节点放回模块230,所述节点放回模块230选取放回后连通分支节点数量最少的节点b,记录该节点所在连通分支的节点数量wmin;并判断是否小于阈值2,是,则将节点b放回网络中,并从候选关键节点集合中删除节点b;更新网络结构输出到节点放回模块230重新进行关键节点的确定;否,则候选关键节点集合中节点即为社交网络的关键节点。特殊的,阈值1为1%。所述连通分支搜索模块240与节点删除模块220和节点放回模块230相连,搜索社交网络中的所有连通分支,返回各个连通分支的节点数量及包含的所有节点。本实施例提供的基于网络分解的社交网络关键节点发现系统,解决了邻居节点之间的连边对网络破坏能力的影响,设计了更加准确的节点中心性指标,选取了更加合理的节点放回策略,并且无需进行参数设置,社交网络关键节点发现更加高效、准确。实施例三本实施例涉及roadeu网络,基于网络分解的社交网络关键节点发现方法发现该网络的关键节点,其中网络roadeu的信息如表1所示,该网络包含1177个节点和1417条边。表格1:网络roadeu详细信息网络节点边roadeu11771417利用基于网络分解的社交网络关键节点发现方法发现所述示例网络roadeu的关键节点具体包括以下步骤:1)利用节点中心性指标计算roadeu网络中各个节点的中心性值,部分计算结果见表2。表格2:网络roadeu部分节点的中心性值2)删除节点中心性值最大的节点,并将其放入到候选关键节点集合s中。当前网络中,节点中心性值最大的是节点7,将节点7放入候选关键节点集合s中,并从roadeu网络中删除。更新网络结构。s={7}3)重复1-2步,直至roadeu网络中的最大连通分支的节点数量小于网络总规模的1%。得到的候选关键节点集合包含264个节点:s={7,286,139,402,238,...,2,...,1088,1101,1104,1123}4)从候选关键节点集合中选取放回后所在连通分支节点数量最少的节点。经过计算,候选关键节点中的节点放回网络后所在连通分支的节点数量如表3所示:表格3:节点放回后可能连接的分支大小从表3可以看出,节点12放回后所在连接分支的节点数量最少,因此将节点12放回网络中,并将其从候选关键节点集合中删除,更新网络结构。重复3-4步,直至所选最小连通分支的节点数量超过网络总规模的1%。此时,候选关键节点中包含的144个节点即为实例网络roadeu的关键节点。s={7,286,139,402,238,...,604,673,826,949}实施例四本实施例涉及如表4所示的不同规模的社交网络,将本发明提供的基于网络分解的社交网络关键节点发现方法用于发现所述网络的关键节点,并与其它方法得到的结果进行对比。选取的典型算法包括:corehd算法、基于置信传播的网络分解算法bpd和基于渗流理论的算法ci。本发明的方法简称为bln(basedonthelinksofneighborhood)。表格4:社交网络信息网络节点数边数roadeu11771417ppi23616646grid49416594intnet1647412572authors2313393439citation34546420877friend196591950327email265214364481webpage8757134322051roadtx13799171921660用corehd、bpd、ci和bln方法分别对表4中的网络进行关键节点识别(在识别过程中,bpd算法的权值x固定为12;ci算法在roadeu网络中l=2,其余网络中l=4),得到的结果如表5所示:表格5:不同方法识别出的关键节点规模从表5可以看出本发明识别出的关键节点规模在大多数网络中都是最小的,说明本发明能够更加准确、有效地发现社交网络中的关键节点。实施例三、四解决了邻居节点之间的连边对网络破坏能力的影响,设计了更加准确的节点中心性指标,选取了更加合理的节点放回策略,并且无需进行参数设置,社交网络关键节点发现更加高效、准确。本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1