一种基于并行化模块度优化的社区发现方法

文档序号:6526714阅读:667来源:国知局
一种基于并行化模块度优化的社区发现方法
【专利摘要】本发明公开一种基于并行化模块度优化的社区发现方法,首先将包含N个节点的网络初始化为N个社区,即每个节点为一个独立的社区,并初始化每个社区“局域世界”中社区对的模块度增益;采用并行化的处理机制,从每个社团的“局域世界”中寻找具有最大模块度增益的社区对,将其合并为同一个社区,并对与新社区相连接的社区对的模块度增益进行更新;重复步骤二直到网络中的社区结构不发生改变。本发明采用贪婪算法对网络进行社区划分,通过使用并行的方式和高性能的数据结构,处理时间非常快。本发明适用于大规模稠密网络社区结构的自动检测,社交网络的好友推荐系统等诸多领域。
【专利说明】一种基于并行化模块度优化的社区发现方法
【技术领域】
[0001]本发明属于Web挖掘领域,涉及一种网络社区检测技术,具体的说是一种基于并行化模块度优化的社区发现方法。
【背景技术】
[0002]虚拟世界中存在很多的小团体,这些小团体是由一些具有共同兴趣的单位和个人所组成的独特小组。这些小组的兴趣通常表现为某个主题下的若干子题,小组成员之间针对某个话题的交互会比较频繁,不同小组成员可能偶尔交互。我们也可以将这些小组称为“Cyber社区”、“Web社区”或者直接称为“社区”。“社区”可以为用户提供及时的、可靠的、有价值的信息。社区代表了 Web中的社会活动,对社区的深入研究可以了解Web中知识信息及其组织结构的发展状况。社区也有利于商家准确地找到客户。发现这些社区可以帮助我们对于Web知识性和社会性做出评估,也可以研究某个方面感兴趣用户的组成形式。因此,采用将Web信息以社区的形式组织,为信息查询提供了有效和便捷的途径。Web中存在着大量的知名的、明确定义的社区,这些社区基本表现为新闻组(newsgroup)、网圈(webring),或者如Yahoo !和Infoseek中目录形式的资源集合,以及如Geocity中的社民等。
[0003]这些知名的社区是靠人工发现和维护的,如Yahoo !和Infoseek中的目录。如请一些分类专家对Web信息进行分类组织成为树形结构,而用户则喜欢通过信息结构树方式浏览页面!虽然人工维护的结构树对于许多主题的搜索非常有效,但是该树的建立一般都是主观的。结构树 的建立和维护极为昂贵,不但更新缓慢,而且无法覆盖窄范围的主题。另外,由于社区的数量巨大,其中许多社区处于形成阶段,现有的社区也在不断更新。因此,通过人工的方式去跟踪这些社区是非常困难的。由于这些潜在社区的数量大大超过明确定义社区,人工明确定义的社区无法识别出这些潜在的社区。
[0004]因此,需要开展自动化或半自动化的社区发现和维护技术,发现技术主要针对那些潜在的、即将形成的社区,而维护技术针对现有的社区结构树进行更新。随着对社区自动发现技术的研究不断的开展,目前关于发现网上社区的技术有很多。为了衡量不同社区发现算法结果的好坏,我们需要引入网络社区结构形式化评价准则。在这一领域中,Newmanand Girvan做出了杰出的贡献,它们引入了模块度的概念,其作为网络社区结构评价指标,被很多其他的社区发现算法广泛采纳。
[0005]然而,现实中的网络社区的规模非常庞大,可能包含数以百万计的节点和数十亿计的边界,例如天涯论坛(包含3200万注册用户)、Myspace (包含1.9亿注册用户)、Google+ (超过4亿用户)和Facebook (超过8亿用户)。传统的社区发现算法无法分析大规模稠密网络的社区结构。例如,Clauset-Newman-Moore (CNM)寻找具有全局最大模块度增益的“社区”对,将其合并为新的“社区”,然而,寻找这种全局最大模块度增益是非常费时的。故而CMl只能应用于中等规模网络的社区发现。Fast-Unfolding-Communities (FUC)转而寻找具有局部最大模块度增益的“社区”对,该“局部”范围定义为某个“社区”与其邻居“社区”所包含的“社区”对。对于社区Cr FUC仅仅将与社区Ci相连的社区对看作“局域世界”。实验表明,这种“局部”范围的定义可能导致最终的模块度下降。LPA算法可能将多个不相连的群体标记为同一个标记。发生这种情况可能是因为某个节点的多个邻居收到相同的标记,但是却向不同的方向传递了这个标记,最终导致不同的社区具有相同的标记。所以,一般在LPA算法的最后,还需要做一个简单的广度优先遍历,将不同的社区分立出来。故而,LPA算法的总体时间复杂度为
【权利要求】
1.一种基于并行化模块度优化的社区发现方法,其特征在于:该方法包括以下步骤: 1)首先将包含N个节点的网络初始化为N个社区,即每个节点为一个独立的社区,并初始化每个社区“局域世界”中社区对的模块度增益; 2)然后采用并行化的处理机制,从每个社团的“局域世界”中寻找具有最大模块度增益,当且仅当该增益大于O的社区对,将其合并为同一个社区,并对与新社区相连接的社区对的模块度增益进行更新; 3)重复步骤2),直到网络中的社区结构不发生改变。
2.根据权利要求1所述的基于并行化模块度优化的社区发现方法,其特征在于:步骤I)中,对于所有社区网络中某一个社区q,其邻居为则定义其“局域世界”为!《气并且同?相连的所有邻居社区以及这些社区对之间的连接边都属于社区?的“局域世界”。
3.根据权利要求1所述的基于并行化模块度优化的社区发现方法,其特征在于:步骤2)中,数据存储结构包括四种:社区?的平衡二叉树、一个普通的向量队列存储元素、一个标记向量队列存储社区的标记丨和一个状态向量队列存储社区的状态Si,其中平衡二叉树用来存储? “局域世界”内具有最大模块度增益的社区对和值。
4.根据权利要求1所述的基于并行化模块度优化的社区发现方法,其特征在于:步骤2)中,在进行社区对合并时创建一个标记队列用以存储社区临时的状态信息,从而实现并行化的社区合并和模块度增益更新,依次考察网络中的所有社区,直到网络社区结构的模块度不再增加,即获得具有最大模块度的社区结构。
【文档编号】G06F17/30GK103744933SQ201310746489
【公开日】2014年4月23日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】曹杰, 卜湛, 伍之昂, 王有权, 毛波, 陶海成 申请人:南京理工大学, 南京财经大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1