CN101324937B - 网络分析方法及系统 - Google Patents

网络分析方法及系统 Download PDF

Info

Publication number
CN101324937B
CN101324937B CN200710110101.4A CN200710110101A CN101324937B CN 101324937 B CN101324937 B CN 101324937B CN 200710110101 A CN200710110101 A CN 200710110101A CN 101324937 B CN101324937 B CN 101324937B
Authority
CN
China
Prior art keywords
vertex
modularity
alligatoring
summit
adjacent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200710110101.4A
Other languages
English (en)
Other versions
CN101324937A (zh
Inventor
王晨
马力
潘越
朱哲敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200710110101.4A priority Critical patent/CN101324937B/zh
Priority to US12/136,191 priority patent/US20080313251A1/en
Publication of CN101324937A publication Critical patent/CN101324937A/zh
Application granted granted Critical
Publication of CN101324937B publication Critical patent/CN101324937B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用于对图进行粗化的系统和方法,所述图包括多个顶点,所述方法包括:a)对一个当前顶点计算所述当前顶点与其各邻接顶点间的合并模块性增益值;b)计算所述当前顶点与其各邻接顶点间的相似性值;c)基于计算的合并模块性增益值和相似性值,确定所述当前顶点是否可与其邻接顶点合并,并且在确定可合并时进行合并。通过使用本发明,能够快速、准确地对图进行粗化。

Description

网络分析方法及系统
技术领域
本发明涉及图的粗化。更具体地说,本发明涉及对图进行粗化以便能够快速、准确地发现社区的系统和方法。
背景技术
在现实世界中,诸如社会网络(如银行、金融服务、保险、保健行业的网络)、生命科学网络(如蛋白质交互反应网络)、计算机网络(如万维网、因特网)等的许多数据都可以被模拟为图。而且,这些图中大多数都显示出了社区结构(即,一组顶点),其中在同一组顶点中彼此之间的连接较为稠密,而不同组顶点之间的连接则较为稀疏。通过发现这些社区而理解和分析各种网络是非常有用的。例如,就社会网络来说,大部分网络是庞大而又未知的,依靠人的认知能力是难以掌握这样的网络中的群体信息,如电信公司保留的个人通信记录可以构成一个通讯网络。通过社区检测,我们可以通过计算机预测出实际的功能群体。这些功能群体可以用来分析群体的特点和它们之间的联系,为其制定特殊的销售、广告、经营等方面的策略。数据挖掘的意义就是为了分析和预测。
以下,为了更好地理解网络和社区的关系,我们给出一个关于计算机网络的实例。对于一个包含多个网页的网络而言,每个网页可被看作一个顶点,各个网页之间的超链接可被看作边,而通过对网络中的网页进行合理的分区,则可以找到该网络中的权威社团。网络的权威社团表示的是网络中内容相同或相近的网页的集合,它可以用来帮助用户去浏览和搜索其所需要的信息,使这个过程更加的高效便捷。
随着信息技术的快速发展,许多研究人员开发了从网络中发现各种社区的不同解决方案。2004年提出的Modularity Q方法被视为评估社区结构属性的重要手段。有关Modularity Q方法的详细信息,可参见M.E.J.Newman and M.Girvan,Finding and EvaluatingCommunity Structure in Network,Physical Review E series,2004。同时,Newman等采用Modularity Q方法来评估由各种中间状态的方法发现的社区质量。但这种方法是费时的并且限于处理10000个顶点以下的社区。Modularity Q方法中的启发式算法(例如,贪心算法)分区质量较低,难以找到全局最优解,因此并不总是能对各种图进行良好的分区。
此后,又有一些新的基于谱的方法被提出(例如,参见S.Whiteand P.Smyth,A Spectral Clustering Approach To Findingcommunities in Graphs.Proceedings of the SIAM InternationalConference on Data Mining,Newport Beach,2005以及M.E.J.Newman,Modularity and Community Structure in Networks,PNAS.0601602103,2006),以便提升检测到的社区的质量。但是,在这些新的方法中,大型矩阵计算以及降阶近似非常耗费时间和空间。尽管它们相比于Modularity Q方法更为有效,但是仍然不能解决在大图情况下存在的瓶颈问题。
由此可见,面对数据大小不断增长的当前趋势,不可避免地需要设计一种能够高质量、快速地发现社区的可缩放系统和方法。
发明内容
考虑到现有技术存在的上述问题,本发明提出了一种可缩放的系统和方法,其使用多层框架(multilevel paradigm)来快速和准确地粗化图(graph),所述粗化的图能够容易地被细化为高质量社区。
根据本发明的第一方面,提供一种用于对图进行粗化的方法,所述图包括多个顶点,所述方法包括:a)对一个当前顶点计算所述当前顶点与其各邻接顶点间的合并模块性增益值;b)计算所述当前顶点与其各邻接顶点间的相似性值;c)基于计算的合并模块性增益值和相似性值,确定所述当前顶点是否可与其邻接顶点合并,并且在确定可 合并时进行合并。
根据本发明的第二方面,提供一种用于对图进行粗化的系统,所述图包括多个顶点,所述系统包括:初始粗化装置,用于对一个当前顶点计算所述当前顶点与其各邻接顶点间的合并模块性增益值;偏差调整装置,计算所述当前顶点与其各邻接顶点间的相似性值;其中所述系统基于计算的合并模块性增益值和相似性值,确定所述当前顶点是否可与其邻接顶点合并,并且在确定可合并时进行合并。
在本发明中,通过将模块性引入多层框架,首先基于模块性逐步粗化图,然后使用相似性手段,避免在不同社区的边界线上的顶点的粗化,因而能够根据模块性值和相似性值来快速和准确地粗化图,并随后在细化过程期间逐级细化顶点的群集。
附图说明
图1A和1B图解说明了使用本发明进行网络社区检测的实例。
图2是根据本发明的多层框架理念的示意图。
图3是根据本发明的系统的框图。
图4是根据本发明的方法的流程图。
图5是根据本发明的优选实施方式的方法的流程图。
图6A-6F是对图5中方法的各步骤的图解说明。
图7是根据本发明的系统和方法与现有各种方法在性能评估方面进行对别的柱状图。
图8是根据本发明的系统和方法与现有各种方法在模块性值方面进行对比的图表。
具体实施方式
在描述本发明的优选实施方式之前,首先参照图1A和1B描述使用本发明进行网络社区检测(即,对图进行粗化)的实例。
图1A和1B示出了一个社会网络的情况。图1A表示美国大学生橄榄球比赛2000年秋季常规赛季的比赛分布,其中每个顶点表示一支 球队,两个球队之间的边(即,连接)表示由该边连接的两个球队之间有比赛。图1B表示通过使用本发明在网络中发现社区而将网络划分成不同社区的结果。由划分结果可以看出,与不同社区的成员之间的比赛量相比,相同社区的成员之间的比赛更为频繁。就这个实例来说,社区检测的意义在于,可以通过赛程表的信息预测到球队的分区情况。
对于图1A的网络,本发明借助多层框架,通过使用网络(即,图)的模块性和相似性,对其进行快速、准确的粗化,得到图1B的粗化结果。随后,该图1B能够被细化为高质量的社区。图2图解说明了有关多层框架的理念。
图2中左侧的椭圆形范围表示了对图进行粗化的过程。在图2中,G0表示原始图,G1-G4分别表示粗化过程中的各层中间图结果。在该粗化过程中,逐层地粗化的图,使图中的顶点数不断降低,直到不能再通过合并任何顶点或簇来增加模块性增益为止(例如如图2所示,达到用G4表示的图)。应当理解,尽管图2的粗化过程示出了一个5层的框架,但是本发明可以根据需要实现具有任意层数的框架。
图2中右侧椭圆形范围表示了通过使用粗化过程中得到的各层中间图对粗化的图进行细化的过程。在细化过程中,有多种经典优化方法可以改善初始分割的结果,可参见B.W.Kernighan and S.Lin,Anefficient heuristic procedure for partitioning graphs.Bell Sys.Tech.J.,49(2):291-308,1970.以及C.M.Fiduccia and R.M.Mattheyses,Alinear-time heuristic for improving network partitions.In25years ofDA C:Papers on Twenty-five years of electronic design automation,pages241-247,New York,NY,USA,1988.ACM Press。由于对图进行细化并非本发明所关心的问题,因此这里不再进一步详细说明。
接下来,参照图3描述根据本发明的用于对图进行粗化的系统300的示意图。如图3所示,该系统300包括初始粗化装置310和偏差调整装置320。在将一个待粗化的图(即,当前图)输入该系统300时,可以例如通过初始粗化装置310为图中的每个顶点分配一个随机 序,以便按照该随机序访问图中的顶点。所述初始粗化装置310用于在访问图中的一个顶点(即,当前顶点)时,计算该当前顶点与其各邻接顶点(即,与该当前顶点具有边的顶点)之间的合并模块性增益值。所述偏差调整装置320用于计算该当前顶点与其各邻接顶点之间的相似性值。所述系统300基于所述合并模块性增益值和相似性值这二者来决定是否可将当前顶点与其邻接顶点之一合并,并且在确定可合并时进行合并,以实现图的粗化。
系统300是一个递归系统,这主要体现在两个方面。第一,对于所述当前图(例如,图2中的原始图G0),系统300会按随机序访问图中的每个顶点,对每个顶点重复执行上述操作。在已经访问了当前图中的所有顶点后,得到当前一层粗化的中间图结果(例如,图2中的中间图G1)。第二,每得到一层粗化的中间图结果(例如,图2中的中间图G1、G2、G3),系统300会对该粗化的图继续进行粗化,直到不能再增加图的模块性增益为止(例如,达到图2中的中间图G4)。通过使用系统300对图进行粗化后,可将所述粗化的图快速、高质量地还原为原始图。
在以上的描述中,使用了术语“顶点”。应当指出,在原始图中,一个“顶点”只包含该顶点本身;但是在经过粗化的中间图中,一个顶点可能已经包含原始图上的一个或多个顶点了,并且粗化图中的边也有可能是若干条原始图中的边组成的,因此在粗化的图中的顶点也可称为“簇”。
根据本发明的一种优选实施方式,通过使用Modularity Q(模块性值)公式来计算图或者子图内的合并模块性增益值和相似性值。Modularity Q公式是用于计算网络中的社区强度的函数,其是衡量社区强度(即,社区性好、坏)的指标。但是,应当理解,本发明的实施并不依赖于使用Modularity Q公式,任何能够计算网络中社区强度、进而得到网络中各顶点的合并模块性增益值和相似性值的算法均适用于本发明。
图4示出了根据本发明的方法的流程图。图4的方法从步骤400 开始,随后进入步骤410,计算当前顶点与其各邻接顶点之间的合并模块性增益值。随后,在步骤420中,进一步计算该当前顶点与其各邻接顶点之间的相似性值。接下来,在步骤430中,基于所述合并模块性增益值和相似性值这二者来决定是否可将当前顶点与其邻接顶点之一合并,并且在确定可合并时进行合并,以实现图的粗化。该方法在步骤440中结束。
以下将结合图5和图6A到6F对根据本发明的方法的优选实施方式进行详细说明,其中图5是根据本发明的方法的优选实施方式,图6A到6F以直观方式对图5中的步骤进行了图解说明。
图5中的方法以步骤500开始,随后进入步骤505。在步骤505中,为图中的每个顶点生成一个随机序visit[i](其中i=1,...,n,n表示当前图中顶点的总个数)。图6A是对图5的步骤505的直观表示,在图6A中示出一个具有8个顶点的图(假定图6A所示的图为原始图)。在该图中分别为每个顶点分配一个随机序1-8。本领域技术人员能够理解,为了便于说明,图6中只示出了具有8个顶点的图,但是该图可以根据需要具有任意所需数量的顶点。
图5的方法随后进入步骤510,以判断是否已访问了图中的所有顶点。如果步骤510的判断结果为“是”,则该方法进入步骤550,如下所述。如果步骤510的判断结果为“否”,则该方法进入步骤515,以计算随机序为visit[i]的顶点与其各邻接顶点之间的合并模块性增益值,然后选择最大的合并模块性增益值并找出其对应的顶点v。这一步骤在图6B中进行了图解说明。在图6B中,假定首先访问随机序为1的顶点(即,顶点1),于是对顶点1计算与其邻接的顶点5、7、8的合并模块性增益值。
根据本发明的一种优选实施方式,基于模块性值(Modularity Q)公式计算所述合并模块性增益值。模块性值公式(简称“Q值公式”)是一个计算图或者子图内部的模块性值的基本函数,如下面的公式(1)所示。
Q = 1 2 | E | Σ i ∈ V , j ∈ V ( A ij - d ( i ) d ( j ) 2 | E | ) δ ( C ( i ) , C ( j ) )
= 1 2 | E | Σ i ∈ V , j ∈ V A ij δ ( C ( i ) , C ( j ) ) - 1 2 | E | Σ i ∈ V , j ∈ V d ( i ) d ( j ) 2 | E | δ ( C ( i ) , C ( j ) )
= 1 2 | E | Σ C = 1 k E c - 1 4 | E | 2 Σ i , j d ( i ) d ( j ) δ ( C ( i ) , C ( j ) )
= 1 2 | E | Σ C = 1 k E c - 1 4 | E | 2 Σ i ( d ( i ) Σ j d ( j ) ) δ ( C ( i ) , C ( j ) )
= 1 2 | E | Σ C = 1 k E c - 1 4 | E | 2 Σ C = 1 k D c 2
= Σ C = 1 k E c 2 | E | - ( D c 2 | E | ) 2
                                   (1)
在该公式中,
Q:顶点visit[i]与其邻接顶点的模块性。
Aij:图对应的邻接矩阵。
C(i):顶点i所在的分区。
d(i):顶点i的度(即,与顶点i相连接的边的数量)
Dc:分区c中所有顶点的度的和。
Ec:分区c中边的数量
δ = 0 C ( i ) ≠ C ( j ) 1 C ( i ) = C ( j ) :当顶点i和j所属的分区相同时为1;否则为0。
基于上述Q值公式,我们可以进一步求解顶点合并过程后会产生的模块性增益。根据本发明的一种优选实施方式,通过使用如下公式(2)来计算。
Q A = E A 2 | E | - ( D A 2 | E | ) 2
Q B = E B 2 | E | - ( D B 2 | E | ) 2
Q C = E C 2 | E | - ( D C 2 | E | ) 2 = ( E A + E B + 2 E AB ) 2 | E | - ( D A + D B 2 | E | ) 2
ΔQ = Q C - Q A - Q B = 1 | E | ( E AB - D A D B 2 | E | )
                                          (2)
在上述公式中,
QA:顶点visit[i](在本例中为顶点1)的Q值;
QB:邻接顶点(在本例中为顶点5、7或8)的Q值;
QC:将顶点visit[i]与邻接顶点合并后的顶点的Q值;
ΔQC:顶点visit[i]与其邻接顶点间的合并模块性增益值。
例如,对于顶点1,在使用公式ΔQC=QC-QA-QB计算其与邻接顶点5的模块性增益时,C代表由顶点1和顶点5构成的图,A代表由顶点1构成的图,B代表由顶点5构成的图。这样算出来的ΔQC值就是顶点1和5之间的合并模块性增益值。可以采用相同的方式计算顶点1与顶点7以及与顶点8之间的合并模块性增益值。
如图6B所示,顶点1与顶点5之间的合并模块性增益值为0.052,与顶点7之间的合并模块性增益值为0.038,与顶点8之间的合并模块性增益值为0.031,其中合并模块性增益值最大的获益值顶点为顶点5。
接下来,该方法进入步骤520,以判断顶点1最大的合并模块性增益值是否大于0。如果判断结果为“是”,则方法进入步骤530,否则,方法进入步骤525,以将该顶点1标记为已访问的。
如图6B所示,顶点1的所有合并模块性增益值均大于0,因此方法进入步骤530,以为顶点1计算其与邻接顶点(顶点5、7、8)的相似性值,以便选择并找出对应的相似性值最大的顶点u。
根据本发明的一种优选实施方式,仍然通过使用如上公式(2)来计算相似性值,只是其中QA、QB、QC和ΔQC被赋予与在计算模块性增益值时不同的含义。
例如对于当前顶点是1的情况,1的邻接顶点有5、7、8,这时要使用ΔQC=QC-QA-QB计算顶点5与顶点1的其他邻接顶点的相似性,其中C代表由顶点1、5、7、8构成的图,A代表由顶点1、7、8构成的图,B代表由顶点5构成的图。这样算出来的ΔQC值就是顶点1和5之间的相似性值。同理可以计算顶点1和7以及顶点1和8之间的相似性值。
图6C示出了针对顶点1计算出的各相似性值,其中顶点1与顶点5、7、8的相似性值分别为-0.095、-0.028、-0.038,相似性值最大的顶点是顶点7。
接下来,在步骤535中判断顶点u是否等于顶点v,即合并模块性增益值最大的顶点与相似性值最大的顶点是否是同一个顶点。
如果“是”,则方法进入步骤540,以合并该两个顶点u和v,并将其标记为已访问,随后进入步骤545。但是,由图6B和6C所示的情形可知,对于顶点1而言,合并模块性增益值最大的顶点与相似性值最大的顶点不是同一个顶点,因此步骤535的判断为“否”,于是方法直接转到步骤545。在步骤545中,更新已访问的顶点的邻接列表(例如,调整顶点1的随机序,以使其随机序晚于图中所有其他顶点的随机序),并返回步骤510以判断图中是否还存在没有访问到的顶点。
通过步骤510中的判断,接下来对随机序为2的顶点(即,顶点2)进行访问。对顶点2重复执行步骤515至步骤535的操作。其中,在步骤515计算得到其与邻接顶点3、5、8的合并模块性增益值分别为0.063、0.052、0.031,其中顶点3的合并模块性增益值最大(如图6D所示);在步骤530中计算其与邻接顶点的相似性值,其与邻接顶点的相似性值分别为0.028、0.010和-0.087,其中顶点3的相似性值也最大(如图6E所示)。因此,对于顶点2而言,步骤535的判断结果应为“是”。于是,图5的方法进入步骤540,将顶点2和3合并,同时将这两个顶点都标记为已访问的。如图6E所示,顶点2和3被合并为一个新的顶点2’。接下来,该方法进入步骤545,以通过在相 应的邻接链表中修改邻接的信息,更新已访问顶点的邻接列表。本领域技术人员理解,更新已访问顶点的邻接列表在本领域中是已知的,因此不再对其进行详细描述。
随后,本发明的方法再次返回步骤510,以判断是否已经访问了图中的所有列表。如果尚未访问图中的所有列表(步骤510的判断结果为“否”),则继续针对下一个顶点执行上述操作。如此迭代地执行操作,直到已经访问了图中的所有顶点(即,步骤510的判断结果为“是”)为止。
在已经访问了所有顶点的情况下,图5的方法进入步骤550,以便计算经过这一轮粗化后得到的当前一层中间图中的顶点个数m。然后,在步骤555中,将所述个数m与在上一轮粗化循环后得到的上一层中间图中的顶点个数(也就是这一轮粗化开始时的顶点个数)n进行比较,以确定它们是否相等。在步骤555的判断结果为“是”的情况下,表明粗化过程中前、后两层中间图中的顶点个数相同(即,已经不能进行进一步的粗化),本发明的方法进入步骤560,以输出粗化过程中的所有各层中间图G[i](即,输出一个粗化的图集,例如图2中的G1-G4)。
在步骤555的判断结果为“否”的情况下(即,粗化的图可以进一步粗化),则方法返回执行步骤510,该当前一层粗化的图被递归地送回初始粗化装置310,继续给每个粗化图上的顶点随机排序,并重复执行前述初始粗化以及偏差调整等操作。
对于图6的例子,由于是对原始图进行粗化,得到的粗化的图为第一层中间图,因此在步骤555中是将该第一层中间图中的顶点个数m与原始图中的顶点个数n(n=8)进行比较。在图6的例子中,m必然小于8(因为至少已经将顶点2和3合并为顶点2’),因此可以对得到的第一层粗化中间图进行进一步的粗化。
随后,根据本发明的方法在步骤565中结束。
在本发明中,基于顶点的模块性和相似性来粗化图。在所提出的方法中,首先找出在随机选择的顶点周围的具有最大合并模块性的邻 接顶点(即,以随机顺序访问图中的每个顶点,并将其与模块性增益本地最大的邻接簇或顶点合并),然后调整随机序以使用相似性合并顶点(即,使用顶点的相似性手段调整有可能在社区边界在线的那些顶点的序)。这可以避免由随机访问序引起的低质量。通过递归粗化,直到不能通过合并任何簇或顶点来增加模块性增益时输出粗化的图集。这样粗化的图可被随后进一步细化为高质量社区。
与目前存在的一些社区发现算法相比,本发明能够处理顶点数量、边数量较多的网络,并快速、准确地发现网络中的社区。图7示出了本发明的系统和方法与现有技术算法在性能评估方面进行对比的柱状图。在图7中,上部的表列出了本发明采用的实际数据库的名称、该数据库包括的节点数和边数,以及该数据库所属的应用领域。图7中间部分给出了进行对比的各种算法的图例说明,各种算法从左到右依次对应于它们在柱状图中的排列顺序。图7下部的柱状图的水平方向表示采用的各种数据库,垂直方向表示各种算法的对数运行时间。
应当指出,在图7中,对于SDM2005(Spec-1)算法、SDM2005(Spec-2)算法以及PR.E2004算法,由于本发明没有得到其针对蛋白质交互反应网络数据库、KDD论文引用数据库、万维网数据库以及因特网电影数据库的相应程序数据,因此未能计算其在上述这些数据库中的运行时间,这种情况用“无数据”表示。另外,PNAS2006(PowerMethod)算法和PNAS2006(ClaPack)算法已经无法处理KDD论文引用数据库、万维网数据库以及因特网电影数据库这样量级的数据库,这种情况用“N/A”表示。
因此,从图7中可以看出,根据本发明的解决方案能够快速处理包含大量节点的网络。
图8示出了根据本发明的解决方案与现有各种算法在模块性值(Q值)方面进行对比的图表。从图8可以看出,本发明的解决方案的模块性值高于目前存在的其他算法,也就是说,本发明在社区发现的准确度方面优于目前存在的其他算法。
本领域技术人员会认识到,可以以方法、系统或计算机程序产品 的形式提供本发明的实施例。因此,本发明可采取全硬件实施例、全软件实施例,或者组合软件和硬件的实施例的形式。硬件和软件的典型的结合可以是带有计算机程序的通用计算机系统,当程序被加载并被执行时,控制计算机系统,从而可以执行上述的方法。
本发明可以嵌入在计算机程序产品中,它包括使此处描述的方法得以实施的所有特征。所述计算机程序产品被包含在一个或多个计算机可读存储介质(包括,但不限于,磁盘存储器、CD-ROM、光学存储器等)中,所述计算机可读存储介质具有包含于其中的计算机可读程序代码。
已参考根据本发明的方法、系统及计算机程序产品的流程图和/或方框图说明了本发明。流程图和/或方框图中的每个方框,以及流程图和/或方框图中的方框的组合显然可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、嵌入式处理器或者其他可编程的数据处理设备的处理器,以产生一台机器,从而指令(所述指令通过计算机或者其他可编程数据处理设备的处理器)产生用于实现在流程图和/或方框图的一个或多个方框中规定的功能的装置。
这些计算机程序指令也可保存在一个或多个计算机的读存储器中,每个这种存储器能够指挥计算机或者其他可编程数据处理设备按照特定的方式发挥作用,从而保存在计算机可读存储器中的指令产生一种制造产品,所述制造产品包括实现在流程图和/或方框图的一个或多个方框中规定的功能的指令装置。
计算机程序指令也可被加载到一个或多个计算机或者其他可编程数据处理设备上,使得在所述计算机或者其他可编程数据处理设备上执行一系列的操作步骤,从而在每个这样的设备上产生计算机实现的过程,以致在该设备上执行的指令提供用于实现在流程图和/或方框图的一个或多个方框中规定的步骤。
以上结合本发明的优选实施方式对本发明的原理进行了说明,但这些说明只是示例性的,不应理解为对本发明的任何限制。本领域技 术人员可以对本发明进行各种改变和变形,而不会背离由随附权利要求所限定的本发明的精神和范围。

Claims (13)

1.一种用于对图进行粗化以在网络中发现社区的网络分析方法,其中所述网络为计算机网络,所述网络被模拟为图,所述图包括多个顶点,其中,对于一个包含多个网页的计算机网络,每个网页可被看作一个顶点,各个网页之间的超链接可被看作边,所述方法包括:
粗化步骤,包括:
a)对一个当前顶点计算所述当前顶点与其各邻接顶点间的合并模块性增益值;
b)计算所述当前顶点与其各邻接顶点间的相似性值;
c)基于计算的合并模块性增益值和相似性值,确定所述当前顶点是否可与其邻接顶点合并,并且在确定可合并时进行合并,
细化步骤,包括:
对上述粗化步骤获得的粗化的图细化,以发现所述网络中的社区,
其中基于模块性值公式计算所述合并模块性增益值和相似性值,
其中步骤a)还包括:
通过如下方式计算所述当前顶点与所述其中一个邻接顶点的合并模块性增益值ΔQC:计算由所述当前顶点和所述其中一个邻接顶点构成的图的模块性值QC、由所述当前顶点构成的图的模块性值QA以及由所述其中一个邻接顶点构成的图的模块性值QB,并计算ΔQC=QC-QA-QB,以及
在对所述当前顶点的每个邻接顶点计算了所述合并模块性增益值后,确定在各邻接顶点中所述合并模块性增益值最大的顶点,
其中步骤c)还包括:通过获得合并模块性增益值最大的邻接顶点和相似性值最大的邻接顶点,来确定所述当前顶点是否可与其邻接顶点合并,
其中步骤c)还包括:
确定所述合并模块性增益值最大的邻接顶点和所述相似性值最大的邻接顶点是否为同一个邻接顶点;
如果是,则确定所述当前顶点可与所述合并模块性增益值和相似性值均为最大的邻接顶点合并。
2.根据权利要求1所述的方法,所述粗化步骤还包括:
d)更新已访问顶点的邻接列表。
3.根据权利要求2所述的方法,所述粗化步骤还包括:对图中的每个顶点迭代地执行上述步骤a)-d),直到已经访问了图中的所有顶点,得到当前一层粗化的图。
4.根据权利要求3所述的方法,所述粗化步骤还包括:在执行步骤a)之前执行为每个顶点分配一个随机序的步骤,并且每得到一层粗化的图,均为该层粗化的图中的每个顶点分配随机序。
5.根据权利要求4所述的方法,所述粗化步骤还包括:
在当前一层粗化的图中的顶点个数小于上一层粗化的图中的顶点个数时,继续执行下一层粗化。
6.根据权利要求4所述的方法,所述粗化步骤还包括:
在当前一层粗化的图中的顶点个数等于上一层粗化的图中的顶点个数时,输出各层粗化的图的图集。
7.根据权利要求1所述的方法,其中步骤c)还包括:
如果确定所述合并模块性增益值最大的邻接顶点和所述相似性值最大的邻接顶点不是同一个邻接顶点,改变所述当前顶点的随机序。
8.根据权利要求1所述的方法,其中仅在所述当前顶点有大于0的合并模块性增益值的情况下,才执行计算相似性值的步骤。
9.一种用于对图进行粗化以在网络中发现社区的网络分析系统,其中所述网络为计算机网络,所述网络被模拟为图,所述图包括多个顶点,其中,对于一个包含多个网页的计算机网络,每个网页可被看作一个顶点,各个网页之间的超链接可被看作边,所述系统包括:
粗化装置,包括:
初始粗化装置,用于按照随机序,对当前顶点计算所述当前顶点与其各邻接顶点间的模块性增益值;
偏差调整装置,计算所述当前顶点与其各邻接顶点间的相似性值;
其中所述系统基于计算的模块性增益值和相似性值,确定所述当前顶点是否可与其邻接顶点合并,并且在确定可合并时进行合并,
细化装置,包括:
用于对上述粗化步骤获得的粗化的图细化,以发现所述网络中的社区的装置,
其中基于模块性值公式计算所述合并模块性增益值和相似性值,
其中所述初始粗化装置还包括装置,用于通过如下方式计算所述当前顶点与所述其中一个邻接顶点的合并模块性增益值ΔQC:计算由所述当前顶点和所述其中一个邻接顶点构成的图的模块性值QC、由所述当前顶点构成的图的模块性值QA以及由所述其中一个邻接顶点构成的图的模块性值QB,并用于计算ΔQC=QC-QA-QB,以及
用于在对所述当前顶点的每个邻接顶点计算了所述合并模块性增益值后,确定在各邻接顶点中所述合并模块性增益值最大的顶点的装置,
其中所述粗化装置还包括:
通过获得合并模块性增益值最大的邻接顶点和相似性值最大的邻接顶点,来确定所述当前顶点是否可与其邻接顶点合并的装置,
其中所述粗化装置还包括:
确定合并模块性增益值最大的邻接顶点和相似性值最大的邻接顶点是否为同一个邻接顶点的装置;
响应于确定合并模块性增益值最大的邻接顶点和相似性值最大的邻接顶点是否为同一个邻接顶点,进一步确定所述当前顶点可与所述合并模块性增益值和相似性值均为最大的邻接顶点合并的装置。
10.根据权利要求9所述的系统,所述粗化装置还包括:
更新已访问顶点的邻接列表的装置。
11.根据权利要求9所述的系统,所述初始粗化装置还包括:为每个顶点分配一个随机序的装置。
12.根据权利要求9所述的系统,其中在当前一层粗化的图中的顶点个数小于上一层粗化的图中的顶点个数时,继续下一层粗化。
13.根据权利要求9所述的系统,其中在当前一层粗化的图中的顶点个数等于上一层粗化的图中的顶点个数时,输出各层粗化的图的图集。
CN200710110101.4A 2007-06-15 2007-06-15 网络分析方法及系统 Expired - Fee Related CN101324937B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200710110101.4A CN101324937B (zh) 2007-06-15 2007-06-15 网络分析方法及系统
US12/136,191 US20080313251A1 (en) 2007-06-15 2008-06-10 System and method for graph coarsening

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710110101.4A CN101324937B (zh) 2007-06-15 2007-06-15 网络分析方法及系统

Publications (2)

Publication Number Publication Date
CN101324937A CN101324937A (zh) 2008-12-17
CN101324937B true CN101324937B (zh) 2015-05-20

Family

ID=40133350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710110101.4A Expired - Fee Related CN101324937B (zh) 2007-06-15 2007-06-15 网络分析方法及系统

Country Status (2)

Country Link
US (1) US20080313251A1 (zh)
CN (1) CN101324937B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20085399A0 (fi) * 2007-12-14 2008-04-30 Xtract Oy Menetelmä ja järjestely asiakkaiden segmentoimiseksi asiakkaiden hallintajärjestelmässä
CN102413029B (zh) * 2012-01-05 2014-04-02 西安电子科技大学 基于分解的局部搜索多目标复杂动态网络社区划分方法
CN102722750B (zh) * 2012-06-06 2015-10-28 清华大学 动态网络社区结构的更新方法及装置
CN103413027B (zh) * 2013-07-22 2016-06-08 北京航空航天大学 一种社会网络重叠社区发现方法的评价方法
US9455874B2 (en) 2013-12-30 2016-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for detecting communities in a network
CN103942308B (zh) * 2014-04-18 2017-04-05 中国科学院信息工程研究所 大规模社交网络社区的检测方法及装置
US11222072B1 (en) * 2015-07-17 2022-01-11 EMC IP Holding Company LLC Graph database management system and method for a distributed computing environment
CN106789285B (zh) * 2016-12-28 2020-08-14 西安交通大学 一种在线社会网络多尺度社区发现方法
US20180278498A1 (en) * 2017-03-23 2018-09-27 Cisco Technology, Inc. Process representation for process-level network segmentation
CN108647739B (zh) * 2018-05-17 2020-09-18 华中科技大学 一种基于改进的密度峰值聚类的社交网络社区发现方法
CN109408722B (zh) * 2018-11-06 2021-04-30 腾讯科技(深圳)有限公司 社区划分方法、装置、计算设备及存储介质
CN111754199B (zh) * 2020-06-29 2022-02-22 金电联行(北京)信息技术有限公司 一种业务本体驱动的企业信用关系图粗化方法
CN114239198B (zh) * 2021-12-06 2023-03-10 国网湖北省电力有限公司电力科学研究院 一种基于并行优化的电网子图划分方法及装置
CN115982415A (zh) * 2023-02-06 2023-04-18 中国银联股份有限公司 增量图划分方法、装置、设备、介质及产品
CN117828090B (zh) * 2024-02-29 2024-05-03 苏州元脑智能科技有限公司 一种文献分类方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101278257A (zh) * 2005-05-10 2008-10-01 奈特希尔公司 用于分布式社区发现的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070245281A1 (en) * 2006-04-14 2007-10-18 Riepe Michael A Placement-Driven Physical-Hierarchy Generation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101278257A (zh) * 2005-05-10 2008-10-01 奈特希尔公司 用于分布式社区发现的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Amine Abou-Rjeili,George Karypis.Multilevel Algorithms for Partitioning Power-Law Graphs.《IEEE INTERNATIONAL PARALLEL &amp *
DISTRIBUTED PROCESSING SYMPOSIUM(IPDPS).IN》.2006,全文. *
Finding and evaluating community;Newman M E J, Girvan M;《Physical Review》;20041231;全文 *

Also Published As

Publication number Publication date
CN101324937A (zh) 2008-12-17
US20080313251A1 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
CN101324937B (zh) 网络分析方法及系统
US11526507B2 (en) Neural network based translation of natural language queries to database queries
US7774227B2 (en) Method and system utilizing online analytical processing (OLAP) for making predictions about business locations
Coscia et al. Uncovering hierarchical and overlapping communities with a local-first approach
US8903868B2 (en) Processing of categorized product information
US11531831B2 (en) Managing machine learning features
Xing et al. Efficient data mining for web navigation patterns
US7478083B2 (en) Method and system for estimating cardinality in a database system
Anitha A new web usage mining approach for next page access prediction
CN104137095A (zh) 用于演进分析的系统
CN102142983A (zh) 告警相关性分析方法和装置
CN110515986A (zh) 一种社交网络图的处理方法、装置及存储介质
CN113191838A (zh) 一种基于异质图神经网络的购物推荐方法及系统
US9047319B2 (en) Tag association with image regions
Cao et al. Making pattern queries bounded in big graphs
Liu et al. Detecting industry clusters from the bottom up based on co-location patterns mining: A case study in Dongguan, China
Huang et al. The Mahalanobis–Taguchi system–Neural network algorithm for data-mining in dynamic environments
CN110929172A (zh) 信息选择方法、装置、电子设备及可读存储介质
Gialampoukidis et al. Community detection in complex networks based on DBSCAN* and a Martingale process
Xu et al. Co-clustering analysis of weblogs using bipartite spectral projection approach
CN106708851A (zh) 信息处理方法和装置
KR101085066B1 (ko) 대용량 다속성 데이터집합에서 의미 있는 지식 탐사를 위한 연관 분류 방법
CN113626686A (zh) 基于用户数据分析的自动推送方法、装置和计算机设备
Ren et al. Scalable heterogeneous social network alignment through synergistic graph partition
CN116501937B (zh) 基于动态演化的重叠社区推荐方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150520

Termination date: 20200615

CF01 Termination of patent right due to non-payment of annual fee