一种社交网络重叠社区发现系统及其方法技术方案

技术编号:10685787 阅读:212 留言:0更新日期:2014-11-26 16:02
本发明专利技术提出了一种社交网络的重叠社区发现系统及其方法,由数据采集模块对实际网络数据的采集;网络转换模块对采集数据的转换,以邻接矩阵的形式存储原始网络信息;非重叠社区获取模块采用非重叠社区发现方法对网络进行处理,初始时认为单个节点代表一个社区,然后每次合并使模块度增量最大的两个社区,反复迭代直到模块度为最大值,从而得到非重叠社区;重叠社区获取模块通过计算社区中节点与其他社区的隶属度,判断是否应将该节点加入对应社区,从而可以得到重叠节点,同时发现重叠社区。本发明专利技术采用的重叠社区发现方法兼顾了社区发现的准确度以及时间复杂度,可用于处理拥有众多节点的社交网络数据。

【技术实现步骤摘要】
【专利摘要】本专利技术提出了一种社交网络的重叠社区发现系统及其方法,由数据采集模块对实际网络数据的采集;网络转换模块对采集数据的转换,以邻接矩阵的形式存储原始网络信息;非重叠社区获取模块采用非重叠社区发现方法对网络进行处理,初始时认为单个节点代表一个社区,然后每次合并使模块度增量最大的两个社区,反复迭代直到模块度为最大值,从而得到非重叠社区;重叠社区获取模块通过计算社区中节点与其他社区的隶属度,判断是否应将该节点加入对应社区,从而可以得到重叠节点,同时发现重叠社区。本专利技术采用的重叠社区发现方法兼顾了社区发现的准确度以及时间复杂度,可用于处理拥有众多节点的社交网络数据。【专利说明】
本专利技术涉及数据挖掘和复杂网络研究领域,尤其涉及。
技术介绍
现实世界中存在的许多复杂系统大多可以用复杂网络进行描述。例如:新陈代谢网,蛋白质交互网,基因网络,科学家合著网络,电力网,航空网以及社交网络等等。一直以来人们对于复杂网络的研究从未间断,近些年来,由于互联网的快速发展使得人们越来越关注复杂网络,尤其是社交网络,并进行了大量的研究工作。 一般而言,复杂网络由于自身内部结构较为复杂,直接对整个网络进行研究是一件十分困难的事,因此人们一般通过研究网络的社区结构从而更好地理解整个网络。所谓社区,是节点的集合,在社区内部节点连接很紧密,但是属于不同社区的节点连接则比较稀疏。社区结构普遍存在于复杂网络中,社交网络作为复杂网络的一类也已被证明网络内部具有社区结构,很多用于复杂网络的社区发现算法也可用于社交网络。 当前,对于网络社区结构发现的研究已经有不少成果,提出了众多社区发现方法。早期的研究主要集中于非重叠社区发现,即认为单个节点只能属于一个社区。典型的方法有Kernighan-Lin方法、基于Laplace矩阵的谱平分法以及Newman等人提出的FastNewman方法和CNM方法,其中CNM方法还是时间复杂度最低的算法之一。但是后来人们研究发现实际生活中社区有可能是重叠的,即一个节点有可能同时属于多个社区。例如在社交网络中一个人可能同时参加多个讨论小组。最早的重叠社区方法是Palla等人提出的K-clique派系过滤算法,它将相邻的K-clique进行合并,而属于多个K-clique的节点便构成了网络中社区的重叠部分。该方法可有效的检测出网络中的社区,然而该方法需提前告知网络社区的数目,而实际网络往往不知道最终的社区数目,这使得该方法的使用受到限制。网络重叠社区的发现对于深入了解网络的结构特征具有重要的意义,从而提供更有效、更具个性化的服务。社交网络由于数据量较大,因此要求社区发现方法的时间复杂度尽可能低的同时也具有较高的划分准确度。而现有的不少方法往往时间复杂度低却难以保证划分准确度,具有较高的划分准确度的方法时间复杂度也很高。
技术实现思路
技术问题:本专利技术的目的在于提供,解决现有技术对重叠社区发现准确率和时间复杂度难以兼顾的问题。 技术方案:本专利技术提出一种可用于社交网络的重叠社区发现系统,包括数据采集模块、网络转换模块、非重叠社区获取模块、重叠社区获取模块以及显示模块。其中数据采集模块主要实现对实际网络数据的采集;网络转换模块实现对采集数据的转换,以邻接矩阵的形式存储原始网络信息;非重叠社区获取模块则采用非重叠社区发现方法对网络进行处理,初始时认为单个节点代表一个社区,然后每次合并使模块度增量最大的两个社区,反复迭代直到模块度为最大值,从而得到非重叠社区;重叠社区获取模块通过计算社区中节点与其他社区的隶属度,判断是否应将该节点加入对应社区,从而可以得到重叠节点,同时发现重叠社区;显示模块主要将最终获取的重叠社区以网络节点图的形式直观地展示。 本专利技术还提出了一种可用于社交网络的重叠社区发现方法,首先将采集实际网络数据,然后采用非重叠社区发现方法找出网络中的非重叠社区,最后在非重叠社区的基础上找出其中的重叠节点,从而得到重叠社区。 为实现上述目的,本专利技术技术方案包括如下步骤: 步骤一、采集实际网络数据,以邻接矩阵的形式存储原始网络信息。 步骤二、采用非重叠社区发现方法对网络进行处理,得到非重叠社区。 (一 )将单个节点视为一个社区,同时进行变量初始化设置。 ( 二)计算任意两个社区合并之后的模块度增量AQ0 (三)重复第二步直到模块度Q达到最大值,此时认为社区划分达到最优化,算法结束。 步骤三、通过计算社区中节点与其他社区的隶属度,判断是否应将该节点加入对应社区,从而可以得到重叠节点,也发现网络中的重叠社区并将其展示。 一种社交网络重叠社区发现系统,其特征在于,包括数据采集模块、网络转换模块、非重置社区获取1?块和重置社区获取1旲块; 由数据采集模块实现对实际网络数据的采集; 网络转换模块对采集的数据进行转换,以邻接矩阵的形式存储原始网络信息; 非重叠社区获取模块采用非重叠社区发现方法对网络进行处理,初始时认为单个节点代表一个社区,然后每次合并使模块度增量最大的两个社区,反复迭代直到模块度为最大值,从而得到非重叠社区; 在得到的非重叠社区基础上,由重叠社区获取模块通过计算社区中节点与其他社区的隶属度,判断是否应将该节点加入对应社区,从而得到重叠节点,同时发现重叠社区。 一种社交网络重叠社区发现方法,其特征在于,包括以下步骤: (I)采集实际网络数据,以邻接矩阵的形式存储原始网络信息; (2)采用非重叠社区发现方法对网络进行处理,得到非重叠社区; (3)在步骤(2)中得到的非重叠社区基础上,通过计算社区中节点与其他社区的隶属度,判断是否应将该节点加入对应社区,从而得到重叠节点,也发现网络中的重叠社区。 第⑴步中,网络中任意两节点存在连接关系,在邻接矩阵相应位置为1,反之,对应位置为O。 第(2)步中,使用非重叠社区发现方法得到非重叠社区时,初始时单个节点认为是一个社区,然后每次合并两个模块度增量最大的社区,当模块度达到最大值时停止;模块度增量定义如下: AQ = eiJ+eJ1-2aiaJ = 2 (Gij-Biaj) 其中eij表示连接社区i与社区j的节点的边与网络总边数之比,而eji则表示连接社区j与社区i的节点的边与网络总边数之比,%、Bj分别表示与社区1、社区j中节点相连的边与整个网络总边数之比;进行社区合并时计算任意两个社区合并之后的模块度增量Λ Q值,将使模块度增量ΛQ取最大值时的两个社区进行合并。 第(2)步中,在非重叠社区发现方法确定何时结束社区划分是通过模块度Q达到最大值完成的, δ=:5τΣ Σ HK -■^l)丄讯 ceC a,veF2.1-- 其中Auv是邻接矩阵,m是网络总边数,V是所有节点的集合,C表示所有社区的集合,ku和kv分别是节点u和V的度。δ cu表示节点U是否属于社区C,属于的话该值为1,反之为O。 第(3)步中,通过第⑵得到非重叠社区之后,计算社区中节点与其他社区的隶属度,隶属度的求取如下: B{it,c) = ^^ ref' euv表示连接节点u和V的边,当euv = I时,表示节点u和V相连,当euv = O时,表示两节点没有连接,隶属度反应了节点u与社区c之间的紧密关系;判本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201410436259.html" title="一种社交网络重叠社区发现系统及其方法原文来自X技术">社交网络重叠社区发现系统及其方法</a>

【技术保护点】
一种社交网络重叠社区发现系统,其特征在于,包括数据采集模块、网络转换模块、非重叠社区获取模块和重叠社区获取模块;由数据采集模块实现对实际网络数据的采集;网络转换模块对采集的数据进行转换,以邻接矩阵的形式存储原始网络信息;非重叠社区获取模块采用非重叠社区发现方法对网络进行处理,初始时认为单个节点代表一个社区,然后每次合并使模块度增量最大的两个社区,反复迭代直到模块度为最大值,从而得到非重叠社区;在得到的非重叠社区基础上,由重叠社区获取模块通过计算社区中节点与其他社区的隶属度,判断是否应将该节点加入对应社区,从而得到重叠节点,同时发现重叠社区。

【技术特征摘要】

【专利技术属性】
技术研发人员:张卓游煌斌张学武范新南李敏付怀勇
申请(专利权)人:河海大学常州校区
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1