社区发现处理方法和装置制造方法
【专利摘要】本发明提供一种社区发现处理方法和装置,该方法包括:确定网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节点;根据所述不同社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用;根据确定的结果,对所述重叠节点归属的社区进行处理。通过在进行社区发现后的网络中确定出网络中的重叠节点,进而根据重叠节点对所属的各社区是否具有提高其平均节点度的作用的确定结果,对重叠节点的归属社区进行处理,通过以社区的平均节点度的提高与否作为重叠节点归属处理的判断依据,使重叠节点的归属确定更具实际意义,大大提高了社区发现结果的准确性。
【专利说明】社区发现处理方法和装置
【技术领域】
[0001]本发明属于数据挖掘【技术领域】,具体是涉及一种社区发现处理方法和装置。
【背景技术】
[0002]在诸如社会网络、引文网络、通信网络等复杂网络中存在多种性质类型不同的节点以及丰富的关系结构,一般把连接关系稠密的节点及其连接关系构成的子网络结构称为“社区”,即社区内的连接关系呈稠密结构,社区间的连接关系呈稀疏结构。在大型复杂网络中自动搜寻或发现社区,对更加准确地理解和开发这些网络具有重要实用价值。
[0003]由于在这些网络中,边数一般远大于结点数,以边为对象可以获得更多的信息。因此,目前一种重要的社区发现方法是基于边的社区发现方法,该种方法借鉴传统的基于节点的社区发现方法,先把节点的图转换成以边为节点的线图,然后利用传统的基于节点的社区划分方法,如谱二分法进行分解,以对线图进行社区划分,最后将线图的社区划分结果,即边社区转化为对应的结点社区。
[0004]这种基于边的社区发现方法中,往往存在桥接边,所谓桥接边即连接两个社区的边。目前,对于桥接边的划分,是按照目标函数将桥接边择优划分至相关联的一个社区中,并在边社区转化为节点社区的过程中,一方面将与该桥接边关联的两个节点划分至桥接边归属的社区中,另一方面,将这两个节点中的不在桥接边归属社区中的节点仍保留在其当前所在的社区中。举例来说,桥接边e连接了社区A和B,其关联的两个节点为a和b,其中,节点a在社区A中,节点b在社区B中,现将e划分至社区A中,从而社区A中包括了节点a和b,社区B中仍保留节点b,从而使得节点b被重叠划分至不同的社区,而这种重叠是否与社区的实际物理意义具有一致性,即是否与社区中的其他节点具有相似性并未进行考虑,从而导致社区发现的最终结果的准确性不高。
【发明内容】
[0005]针对现有技术中存在的问题,本发明提供一种社区发现处理方法和装置,用以克服现有技术中由于桥接边而导致的社区发现结果不准确的缺陷。
[0006]本发明提供了一种社区发现处理方法,包括:
[0007]确定网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节点;
[0008]根据所述不同社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用;
[0009]根据确定的结果,对所述重叠节点归属的社区进行处理。
[0010]本发明提供了一种社区发现处理装置,包括:
[0011]第一确定模块,用于确定网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节点;
[0012]第二确定模块,用于根据所述不同社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用;[0013]处理模块,用于根据确定的结果,对所述重叠节点归属的社区进行处理。
[0014]本发明提供的社区发现处理方法和装置,通过在进行社区发现后的网络中确定出网络中的重叠节点,进而根据重叠节点对所属的各社区是否具有提高其平均节点度的作用的确定结果,对重叠节点的归属社区进行处理,通过以社区的平均节点度的提高与否作为重叠节点归属处理的判断依据,使重叠节点的归属确定更具实际意义,大大提高了社区发现结果的准确性。
【专利附图】
【附图说明】
[0015]图1为本发明社区发现处理方法实施例一的流程图;
[0016]图2为本发明社区发现处理方法实施例二的流程图;
[0017]图3为本发明社区发现处理装置实施例一的示意图;
[0018]图4为本发明社区发现处理装置实施例二的示意图。
【具体实施方式】
[0019]图1为本发明社区发现处理方法实施例一的流程图,如图1所示,本实施例提供的社区发现处理方法适用于采用任何已知的社区发现算法进行社区发现过程中出现重叠节点的情况,尤其适用于采用基于边的社区发现算法中由于桥接边而导致重叠节点的情形。本实施例提供的社区发现处理方法的执行主体可以由一处理装置来执行,该处理装置可以集成设置在任何一种需要进行社区发现处理的网络设备中,比如网络服务器、网关设备等。
[0020]本实施例提供的社区发现处理方法,具体包括:
[0021]步骤101、确定网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节
占.[0022]本实施例中,当采用已知的基于节点、基于边等社区发现方法对诸如通信网络、社会网络、引文网络等网络进行社区发现处理后,往往会出现同一节点被随机重叠划分到不同社区中的情况。因此,本实施例中,处理装置首先需要确定网络中的重叠节点,进而对这些重叠节点的归属进行再次处理。
[0023]步骤102、根据所述不同社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用;
[0024]步骤103、根据确定的结果,对所述重叠节点归属的社区进行处理。
[0025]本实施例中,对重叠节点归属社区进行处理的主要判断依据为重叠节点对其所属的各个社区是否具有提高平均节点度的作用。
[0026]具体地,处理装置根据预定义的社区的平均节点度定义式,计算获取不同社区的平均节点度变化情况,从而确定重叠节点对所属各社区是否具有提高平均节点度的作用,并根据确定的结果,对重叠节点归属的社区进行处理,比如若重叠节点对所属各社区都具有提高平均节点度的作用,则在各所属社区中均保留该重叠节点以及与该重叠节点相关联的边,或者,仅在平均节点度提高最多的社区中保留该重叠节点以及与该重叠节点相关联的边,等等。
[0027]值得说明的是,本实施例中,若重叠节点对所属各社区都具有提高平均节点度的作用,则在各所属社区中均保留该重叠节点以及与该重叠节点相关联的边的情况,虽然形式上与现有技术的划分结果一样,但是实际所代表的物理意义不同。本实施例中的处理结果是以社区的平均节点度为依据来考虑重叠节点与各社区中其他节点间的相似性强度的,当重叠节点的引入都可以提高各所属社区的平均节点度时,说明该重叠节点分别与各社区的节点具有较强的相似性,与社区发现的物理意义一致,因此,其所属各社区可以均保留该重叠节点,只是恰好与现有技术中的划分结果一样。
[0028]本实施例中,通过在进行社区发现后的网络中确定出网络中的重叠节点,进而根据重叠节点对所属的各社区是否具有提高其平均节点度的作用的确定结果,对重叠节点的归属社区进行处理,通过以社区的平均节点度的提高与否作为重叠节点归属处理的判断依据,使重叠节点的归属确定更具实际意义,大大提高了社区发现结果的准确性。
[0029]图2为本发明社区发现处理方法实施例二的流程图,如图2所示,该方法包括:
[0030]步骤201、依次遍历所述网络中的各个社区中的节点,并根据各节点的标识确定所述网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节点;
[0031]具体地,网络中的节点都会具有自身的标识信息,比如通信网络中的设备节点可以以其IP地址、设备序列码作为标识,从而,处理装置依次遍历网络中各个社区中的节点,当发现至少两个社区中包含同一节点标识时,确定该节点为重叠节点,该至少两个社区为该重叠节点当前所属的社区。
[0032]步骤202、根据公式(I)计算所述重叠节点所属各社区包含所述重叠节点时的第一平均节点度与不包含所述重叠节点时的第二平均节点度:
[0033]AD (c) =2 X | E (c) | / | c |(I)
[0034]其中,c表征一 社区,AD(C)为社区c的平均节点度,|E(C)|为社区c的边数,|c为社区c的节点数;
[0035]本实施例中,社区的平均节点度的定义式如公式(I)所示,处理装置根据该公式计算重叠节点所属各社区在包含该重叠节点时的第一平均节点度,和不包含该重叠节点时的第二平均节点度,即删除该重叠节点以及与该重叠节点相连的边后的节点度。
[0036]步骤203、确定所述第一平均节点度与所述第二平均节点度之间的差值,若所述重叠节点所属各社区对应的差值中既包括大于等于预设值的差值,又包括小于预设值的差值,则执行步骤204-205,否则,若所述重叠节点所属各社区对应的差值均小于预设值,则执行步骤206-208,若所述重叠节点所属各社区对应的差值均大于预设值,则执行步骤209-210 ;
[0037]步骤204、确定所述重叠节点对所属各社区中的差值大于等于预设值的社区具有提高平均节点度的作用,对所属各社区中的差值小于预设值的社区不具有提高平均节点度的作用;
[0038]步骤205、在具有作用的社区中,保留所述重叠节点和与所述重叠节点相关联的边,在不具有作用的社区中,删除所述重叠节点和与所述重叠节点相关联的边;
[0039]本实施例中,当所述重叠节点所属各社区对应的第一平均节点度与第二平均节点度的差值中既包括大于等于预设值的差值,又包括小于预设值的差值时,则确定所述重叠节点对所属各社区中的差值大于等于预设值的社区具有提高平均节点度的作用,对所属各社区中的差值小于预设值的社区不具有提高平均节点度的作用。本实施例中,具有提高平均节点度的作用意味着该重叠节点与对应的社区中的其他节点具有关系密切或者相似性较高,将该重叠节点保留在该具有作用的社区中与实际应用意义相符,相反的,若引入该重叠节点后,某社区的平均节点度变化小于预设值,则说明该重叠节点与该社区中的其他节点的相似性较低,若将该重叠节点仍保留在该不具有提高平均节点度作用的社区中,明显与实际的社区发现意义相悖,因此,在该不具有作用的社区中应该删除该重叠节点以及与该重叠节点相关联的边。
[0040]值得说明的是,本实施例中的所述预设值可以根据实际应用情况设定,一般设定为0,也可以根据社区发现精度的需求设定为其他值。
[0041]步骤206、确定所述重叠节点对所述所属各社区都不具有提高平均节点度的作用;
[0042]步骤207、获取所述重叠节点所属各社区中差值最小的社区;
[0043]步骤208、在所述差值最小的社区中,保留所述重叠节点和与所述重叠节点相关联的边,并在所属各社区中除所述差值最小的社区之外的社区中,删除所述重叠节点和与所述重叠节点相关联的边。
[0044]本实施例中,当所述重叠节点所属各社区对应的差值均小于预设值时,则确定该重叠节点对所述所属各社区都不具有提高平均节点度的作用。此时,优选地,将该重叠节点仅保留在重叠节点所属各社区中差值最小的社区中。
[0045]步骤209、确定所述重 叠节点对所述所属各社区都具有提高平均节点度的作用;
[0046]步骤210、在所属各社区中,保留所述重叠节点和与所述重叠节点相关联的边。
[0047]本实施例中,通过在进行社区发现后的网络中根据节点的标识确定出网络中的重叠节点,进而根据预定义的社区平均节点度公式,分别确定重叠节点对所属的各社区是否具有提高其平均节点度的作用,针对不同的确定结果,对重叠节点的归属社区进行处理,通过以社区的平均节点度的提高与否作为重叠节点归属处理的判断依据,使重叠节点的归属确定更具实际意义,大大提高了社区发现结果的准确性。
[0048]图3为本发明社区发现处理装置实施例一的示意图,如图3所示,该装置包括:
[0049]第一确定模块11,用于确定网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节点;
[0050]第二确定模块12,用于根据所述不同社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用;
[0051]处理模块13,用于根据确定的结果,对所述重叠节点归属的社区进行处理。
[0052]本实施例的装置可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0053]图4为本发明社区发现处理装置实施例二的示意图,如图4所示,本实施例的装置在图3所示实施例的基础上,
[0054]所述第二确定模块12,包括:
[0055]计算单元121,用于根据公式(I)计算所述重叠节点所属各社区包含所述重叠节点时的第一平均节点度与不包含所述重叠节点时的第二平均节点度:
[0056]AD (c) =2 X | E (c) | / | c |(I)
[0057]其中,c表征一社区,AD(C)为社区c的平均节点度,|E(C)|为社区c的边数,|c为社区c的节点数;[0058]第一确定单元122,用于确定所述第一平均节点度与所述第二平均节点度之间的
差值;
[0059]第二确定单元123,用于根据所述重叠节点所属各社区对应的差值,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用;
[0060]具体地,所述第二确定单元123,具体用于:
[0061]若所述重叠节点所属各社区对应的差值中既包括大于等于预设值的差值,又包括小于预设值的差值,则确定所述重叠节点对所属各社区中的差值大于等于预设值的社区具有提高平均节点度的作用,对所属各社区中的差值小于预设值的社区不具有提高平均节点度的作用;
[0062]相应的,所述处理模块13具体用于:
[0063]在具有作用的社区中,保留所述重叠节点和与所述重叠节点相关联的边;
[0064]在不具有作用的社区中,删除所述重叠节点和与所述重叠节点相关联的边;
[0065]若所述重叠节点所属各社区对应的差值均小于预设值,则确定所述重叠节点对所述所属各社区都不具有提高平均节点度的作用;
[0066]相应的,所述处理模块13具体用于:
[0067]获取所述重叠节点所属各社区中差值最小的社区;
[0068]在所述差值最小的社区中,保留所述重叠节点和与所述重叠节点相关联的边,并在所属各社区中除所述差值最小的社区之外的社区中,删除所述重叠节点和与所述重叠节点相关联的边;
[0069]若所述重叠节点所属各社区对应的差值均大于预设值,则确定所述重叠节点对所述所属各社区都具有提高平均节点度的作用;
[0070]相应的,所述处理模块13具体用于:
[0071]在所述所属各社区中,保留所述重叠节点和与所述重叠节点相关联的边。
[0072]具体地,所述第一确定模块11,具体用于:
[0073]依次遍历所述网络中的各个社区中的节点,并根据各节点的标识确定所述网络中的重叠节点。
[0074]本实施例的装置可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0075]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0076]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1. 一种社区发现处理方法,其特征在于,包括: 确定网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节点; 根据所述不同社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用; 根据确定的结果,对所述重叠节点归属的社区进行处理。
2.根据权利要求1所述的方法,其特征在于,所述根据社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用,包括: 根据公式(I)计算所述重叠节点所属各社区包含所述重叠节点时的第一平均节点度与不包含所述重叠节点时的第二平均节点度: AD(c)=2X |E(c) |/|c|(I) 其中,C表征一社区,AD(C)为社区C的平均节点度,Ie(C)I为社区C的边数,Icl为社区C的节点数; 确定所述第一平均节点度与所述第二平均节点度之间的差值; 根据所述重叠节点所属各社区对应的差值,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用。
3.根据权利要求2所述的方法,其特征在于,所述根据所述重叠节点所属各社区对应的差值,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用,包括: 若所述重叠节点所属各社区对应的差值中既包括大于等于预设值的差值,又包括小于预设值的差值,则确定所述重叠节点对所属各社区中的差值大于等于预设值的社区具有提高平均节点度的作用,对所属各社区中的差值小于预设值的社区不具有提高平均节点度的作用; 相应的,所述根据确定的结果,对所述重叠节点归属的社区进行处理,包括: 在具有作用的社区中,保留所述重叠节点和与所述重叠节点相关联的边; 在不具有作用的社区中,删除所述重叠节点和与所述重叠节点相关联的边; 若所述重叠节点所属各社区对应的差值均小于预设值,则确定所述重叠节点对所述所属各社区都不具有提高平均节点度的作用; 相应的,所述根据确定的结果,对所述重叠节点归属的社区进行处理,包括: 获取所述重叠节点所属各社区中差值最小的社区; 在所述差值最小的社区中,保留所述重叠节点和与所述重叠节点相关联的边,并在所属各社区中除所述差值最小的社区之外的社区中,删除所述重叠节点和与所述重叠节点相关联的边; 若所述重叠节点所属各社区对应的差值均大于预设值,则确定所述重叠节点对所述所属各社区都具有提高平均节点度的作用; 相应的,所述根据确定的结果,对所述重叠节点归属的社区进行处理,包括: 在所述所属各社区中,保留所述重叠节点和与所述重叠节点相关联的边。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述确定网络中的重叠节点,包括: 依次遍历所述网络中的各个社区中的节点,并根据各节点的标识确定所述网络中的重叠节点。
5.一种社区发现处理装置,其特征在于,包括: 第一确定模块,用于确定网络中的重叠节点,所述重叠节点为同时属于网络中不同社区的节点; 第二确定模块,用于根据所述不同社区的平均节点度,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用; 处理模块,用于根据确定的结果,对所述重叠节点归属的社区进行处理。
6.根据权利要求5所述的装置,其特征在于,所述第二确定模块,包括: 计算单元,用于根据公式(I)计算所述重叠节点所属各社区包含所述重叠节点时的第一平均节点度与不包含所述重叠节点时的第二平均节点度: AD(c)=2X |E(c) |/|c|(I) 其中,C表征一社区,AD(C)为社区C的平均节点度,Ie(C)I为社区C的边数,Icl为社区C的节点数; 第一确定单元,用于确定所述第一平均节点度与所述第二平均节点度之间的差值;第二确定单元,用于根据所述重叠节点所属各社区对应的差值,分别确定所述重叠节点对所属各社区是否具有提高平均节点度的作用。
7.根据权利要求6所述的装置,其特征在于,所述第二确定单元,具体用于: 若所述重叠节点所属各社区对应的差值中既包括大于等于预设值的差值,又包括小于预设值的差值,则确定所述重叠节点对所属各社区中的差值大于等于预设值的社区具有提高平均节点度的作用,对所属各社区中的差值小于预设值的社区不具有提高平均节点度的作用; 相应的,所述处理模块具体用于: 在具有作用的社区中,保留所述重叠节点和与所述重叠节点相关联的边; 在不具有作用的社区中,删除所述重叠节点和与所述重叠节点相关联的边; 若所述重叠节点所属各社区对应的差值均小于预设值,则确定所述重叠节点对所述所属各社区都不具有提高平均节点度的作用; 相应的,所述处理模块具体用于: 获取所述重叠节点所属各社区中差值最小的社区; 在所述差值最小的社区中,保留所述重叠节点和与所述重叠节点相关联的边,并在所属各社区中除所述差值最小的社区之外的社区中,删除所述重叠节点和与所述重叠节点相关联的边; 若所述重叠节点所属各社区对应的差值均大于预设值,则确定所述重叠节点对所述所属各社区都具有提高平均节点度的作用; 相应的,所述处理模块具体用于: 在所述所属各社区中,保留所述重叠节点和与所述重叠节点相关联的边。
8.根据权利要求5~7中任一项所述的装置,其特征在于,所述第一确定模块,具体用于: 依次遍历所述网络中的各个社区中的节点,并根据各节点的标识确定所述网络中的重叠节点。
【文档编号】G06F17/30GK103530404SQ201310505209
【公开日】2014年1月22日 申请日期:2013年10月23日 优先权日:2013年10月23日
【发明者】张晶 申请人:中国联合网络通信集团有限公司