一种基于mdl的增量式动态社区快速发现方法及系统的制作方法

文档序号:6493626阅读:2912来源:国知局
一种基于mdl的增量式动态社区快速发现方法及系统的制作方法
【专利摘要】本发明涉及互联网通信领域,公开了一种基于MDL的增量式动态社区快速发现方法,包括:根据动态社会网络初始拓扑结构将社交网络按其拓扑结构抽象为n×n的对称矩阵;按照MDL原则对各节点进行重排合并得到相应社区结构;以及根据后续网络的动态演化按照增量式方法更新当前时刻各社区结构。另外,本发明还公开了一种基于MDL的增量式动态社区快速发现系统。所述方法和系统可避免了人为的不恰当干预;另外在持续变化的网络环境下,其能捕捉到社区变化的相应细节,并且在更新当前社区结构的过程中只需进行较小规模的更新计算,避免重复计算当前整个网络的拓扑属性来获得社区结构,具有更好的时间连续性和更小的计算复杂性。
【专利说明】一种基于MDL的增量式动态社区快速发现方法及系统
【技术领域】
[0001]本发明属于互联网通信领域,尤其涉及一种基于MDL的增量式动态社区快速发现方法及系统。
【背景技术】
[0002]社会网络最初来自于社会学理论,是指个人之间的关系网络。现代科学技术的高速发展促进和深化了人与人之间的交流和联系,尤其是近些年来,互联网的应用普及催生了各种各样的社会网络,如微博网络、论文合著网络、车载平台网络等。如何在此类大规模社会网络中获得有价值的社区信息,成为社会学、计算机、生物科技等多领域研究者近几年广泛关注的研究方向。
[0003]从当前研究现状看,静态社区的研究已经基本趋于成熟,现有技术中已经存在的社区发现方法也大多是针对静态网络的,例如基于图划分的谱二分法、K-L算法、团过滤算法等。这些算法只针对静态社区进行分析,不能应用到实际情况下动态社区的发现。
[0004]然而,在实际应用中更迫切需要发现动态社会网络中的社区成员或社区演化模型。目前针对动态社区发现的模型也有一些,例如Chakrabarti等2006年提出的进化聚类算法及其优化模型;Manish Gupta等人基于书目合著网的分析提出了一个基于星型图式的社区发现算法ENetClus。
[0005]本发明的发明人发现:以上这些研究的一个普遍问题在于,社区与社区的演化是分开研究的,即将连续时间分割成一些离散的时间步,对每一个时间步的网络分别计算其静态社区结构,如此一来势必增加了计算消耗。另外,以上这些方法还需要事先设定诸如社区数量、社区规模等参数,这对大规模社交网络来说是非常困难的。
[0006]此外一些学者提出的动态社会网络中发现社区结构的增量识别算法IC:在已知上一时刻网络社区划分的情况下,对增量相关的节点重新计算其社区归属,并用一个阈值控制历史信息与当前网络的实际结构在确定某节点所属的社区时的重要程度,然而该比例该阈值需用户自己事先选取,阈值的不同会影响最终社区划分的结果,因此该算法缺乏良好的自动性。另外也有一些学者提出了 GraphScope算法,利用信息论中最短描述长度(Minimum Description Length, MDL)原理来解决动态演化图中如何发现社区并监测社区变化的问题。该方法虽然不用自定义参数,但它是将每一个时刻的快照图作为图流的形式进行操作来发现动态社区及其演变,这样势必加大了运算量,并且对于每一个快照之间的时间间隔很难把握。

【发明内容】

[0007]有鉴于此,本发明实施例提供一种基于MDL的增量式动态社区快速发现方法及系统,旨在克服现有方法中需要事先设定社区个数等参数,即仍然缺乏自主性以及基于时间快照的划分方法中缺乏对动态社区演化细节的捕捉与重复计算量大的缺点。
[0008]为此,本发明实施例提供了如下技术方案:[0009]一种基于MDL的增量式动态社区快速发现方法,包括:
[0010]根据动态社会网络初始拓扑结构将社交网络按其拓扑结构抽象为nXn的对称矩阵,其中η表示节点个数,值为I时表示节点之间有边相连,否则为0,对于孤立的结点,其对应的行和列值均为O ;
[0011]按照MDL原则对各节点进行重排合并得到相应社区结构;以及
[0012]根据后续网络的动态演化按照增量式方法更新当前时刻各社区结构。
[0013]另外,本发明实施例还进一步提供了如下技术方案:
[0014]一种基于MDL的增量式动态社区快速发现系统,包括:
[0015]数据建模模块,用于根据动态社会网络初始拓扑结构将社交网络按其拓扑结构抽象为η X η的对称矩阵,其中η表示节点个数,值为I时表示节点之间有边相连,否则为O,对于孤立的结点,其对应的行和列值均为O ;
[0016]社区划分模块,用于按照MDL原则对各节点进行重排合并得到相应社区结构;以及
[0017]社区增量更新模块,用于根据后续网络的动态演化按照增量式方法更新当前时刻各社区结构。
[0018]相对于现有技术,本发明实施例提供的基于MDL的增量式动态社区快速发现方法及系统具有以下优点:(I)基于信息论MDL原理,能够根据给定的社会网络图及其拓扑结构自动地确定社区数量并获得相应社区,而无需用户事先指定诸如社区个数、社区规模之类的参数,避免了人为的不恰当干预;(2)在持续变化的网络环境下,基于增量式的方法能够捕捉到社区变化的相应细节,并且在更新当前社区结构的过程中只需进行较小规模的更新计算,避免重复计算当前整个网络的拓扑属性来获得社区结构,具有更好的时间连续性和更小的计算复杂性。
【专利附图】

【附图说明】
[0019]图1是本发明第一实施例提供的基于MDL的增量式动态社区快速发现方法的方法流程图;
[0020]图2是图1所示步骤101中社会网络数据建模及形式化表示之示意图;
[0021]图3是图1所示步骤102中针对初始网络的邻接矩阵进行社区划分的流程图;
[0022]图4是图1所示步骤103中社区结构的增量式更新的流程图;
[0023]图5是本发明第二实施例提供的基于MDL的增量式动态社区快速发现系统的结构示意图。
【具体实施方式】
[0024]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]实施例一
[0026]图1是本发明第一实施例提供的一种基于MDL的增量式动态社区快速发现方法的方法流程图,其包括步骤101至步骤103。
[0027]步骤101:根据动态社会网络初始拓扑结构将社交网络按其拓扑结构抽象为nXn的对称矩阵,其中η表示节点个数,值为I时表示节点之间有边相连,否则为0,对于孤立的结点,其对应的行和列值均为O ;
[0028]步骤102:按照MDL原则对各节点进行重排合并得到相应社区结构;以及
[0029]步骤103:根据后续网络的动态演化按照增量式方法更新当前时刻各社区结构。
[0030]请一起参阅图2,下面将结合【具体实施方式】对上述方法进行说明。
[0031]本发明实施例中所涉及的社会网络有多种类型,包括如学术合著网、在线交友网、移动通信网、邮件联系网络等。
[0032]如图2所示,在本实施例中,上述网络可以抽象为数学上的G=(V,E)函数进行表示,其中,V e V表示个体和个体集,个体间的关系由无向边e=〈u, v> e E表示,E代表边集,本实施例用矩阵A来表示抽象得到的图,节点u和V间有连接,则矩阵元素A[u,v]=l,否则为0,特别地,对于孤立的结点,其对应的行和列值全部为O。
[0033]对于步骤101,以下是基于MDL规则对本实施例所涉及到的各部分进行描述所需的代价:
[0034]1.节点的数量 n:log*(n),其中 log*(x) =1g2(x)+1g21g2(x)+1g21g21g2(x) + …;
[0035]2.社区的数量 k:log*(k);
[0036]3.各个社区的节点分配:nH(P),其中H表示信息熵函数,P表示一个多项式随机变量,Pi=I^iAi,其中η是第i个社区的规模大小,1≤ i ≤k ;
[0037]4.各社区对应的矩阵中每一块Bi/1≤i,j≤k)的重量=1g^n1 (Bij),其中Ii1 (Bij)为子矩阵Bu中的“I”的个数;
[0038]5.具体描述各子矩阵的代价:
[0039]E(Bij)= - Hl(Bij)1g2 (Pij(D) - n0 (Bij) 1g2 (Pij (O)) =n (Bij) H (Pij (I))
[0040]其中1? (Bij)表示各对应子矩阵中O的数量,n (Bij) =n0 (Bij) +Ii1 (Bij), Pij (χ)表示Bij中χ的概率。
[0041]按照信息论中MDL原理,本实施例对于初始社会网络所得到的二元邻接矩阵以及后续的增量式变化,寻找合适大小的社区个数和恰当的节点组合方式,使得以上5点相加的和最小,此节点间的组合结果即是所得到的社区组合。
[0042]因此最优化问题可定义为:
[0043]
【权利要求】
1.一种基于MDL的增量式动态社区快速发现方法,其特征在于,包括: 根据动态社会网络初始拓扑结构将社交网络按其拓扑结构抽象为nXn的对称矩阵,其中η表示节点个数,值为I时表示节点之间有边相连,否则为O,对于孤立的结点,其对应的行和列值均为O ; 按照MDL原则对各节点进行重排合并得到相应社区结构;以及 根据后续网络的动态演化按照增量式方法更新当前时刻各社区结构。
2.如权利要求1所述的基于MDL的增量式动态社区快速发现方法,其特征在于,所述按照MDL原则对各节点进行重排合并得到相应社区结构包括: 通过外循环搜寻最优的社区个数。
3.如权利要求2所述的基于MDL的增量式动态社区快速发现方法,其特征在于,所述按照MDL原则对各节点进行重排合并得到相应社区结构进一步包括: 通过内循环并根据给定的社区个数搜寻最优的社区组合方式。
4.如权利要求1所述的基于MDL的增量式动态社区快速发现方法,其特征在于,所述根据后续网络的动态演化按照增量式方法更新当前各社区结构是通过将网络的演化情况分解为四种原子运算并任意组合所述四种原子运算得到,所述四种原子运算包括: 加入孤立的节点; 删除孤立的节点; 节点集不变,删除原有连接;以及 节点集不变,加入新连接。
5.一种基于MDL的增量式动态社区快速发现系统,其特征在于,包括: 数据建模模块,用于根据动态社会网络初始拓扑结构将社交网络按其拓扑结构抽象为nXn的对称矩阵,其中η表示节点个数,值为I时表示节点之间有边相连,否则为O,对于孤立的结点,其对应的行和列值均为O ; 社区划分模块,用于按照MDL原则对各节点进行重排合并得到相应社区结构;以及社区增量更新模块,用于根据后续网络的动态演化按照增量式方法更新当前时刻各社区结构。
6.如权利要求5所述的基于MDL的增量式动态社区快速发现系统,其特征在于,所述社区划分模块包括: 第一搜寻单元,用于通过外循环搜寻最优的社区个数。
7.如权利要求6所述的基于MDL的增量式动态社区快速发现系统,其特征在于,所述社区划分模块进一步包括: 第二搜寻单元,用于通过内循环并根据给定的社区个数搜寻最优的社区组合方式。
8.如权利要求5所述的基于MDL的增量式动态社区快速发现系统,其特征在于,所述社区增量更新模块包括: 第一节点处理单元,用于加入孤立的节点; 第二节点处理单元,用于删除孤立的节点; 删边操作单元,用于保持节点集不变,删除原有连接;以及 加边操作单元,用于保持节点集不变,加入新连接。
【文档编号】G06F17/30GK103902547SQ201210572016
【公开日】2014年7月2日 申请日期:2012年12月25日 优先权日:2012年12月25日
【发明者】卢彦熹, 赵中英, 冯圣中, 潘正祥 申请人:深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1