社区发现并行化方法和系统、主节点和运算节点设备技术方案

技术编号:10489653 阅读:122 留言:0更新日期:2014-10-03 17:45
本发明专利技术公开了社区发现并行化方法和系统、主节点和运算节点设备,涉及社交网络系统中分析关系系统。本发明专利技术公开的方法包括:根据社交网站数据库中用户的交互信息,计算网络中点与点的链接强度;主节点将所有用户随机分为p个大小相等的社区并派给p个运算节点进行融合操作;主节点根据b个社区之间的链接关系,进行融合操作得到k个社区,并计算社区划分结果的模块度;主节点将k个社区合并成为大小相似的p个社区,重新派给p个运算节点进行粗分类以及融合操作,直到k个社区的模块度小于阈值时,得到社区发现的最终结果。本发明专利技术还公开了社区发现并行化系统、主节点及运算节点设备。本申请技术方案具有更高的模块度和分类精度。

【技术实现步骤摘要】
社区发现并行化方法和系统、主节点和运算节点设备
本专利技术涉及社交网络系统中分析关系系统,尤其能够利用超大规模社交网络的海量交互信息完成社区发现的方案。
技术介绍
在大型复杂网络中,往往存在着复杂的社区结构,比如社交网站或者论坛网站中存在着依据相似的社会背景或者兴趣爱好所组成的社会团体,万维网中存在着具有相似内容功能类似网站。如何根据社交网络中海量的人物交互关系或者网站间的链接数相似性,发现网络中的社区结构已经成为了数据挖掘领域的一个热点研究方向。 社区发现的目标就是根据网络中点与点之间的关系,自动的将网络划分为若干个社区,使得社区内的连接较为紧密,社区间的连接较为稀疏。Newman提出的模块度(Modularity)已经成为了一个广泛应用的社区发现系统的评价标准。目前流行的社区发现系统中基于凝聚思想的CNM算法的复杂度也有O(mdlogn),其中d为图的深度。我们可以发现传统的社区发现系统由于现在网络的规模越来越大,系统的每个步骤独立性不强,使得系统无法并行快速高效的满足社交网站社区发现的需求。 常见的并行计算的框架有MPI (Message-Passing Interface)和 MapReduce。MPI是一种消息传递编程接口规范。消息传递指数据通过进程之间的协同从一个进程的地址空间传递到另一个进程,采用MPI模型的程序设计正是通过进程之间的这种消息传递来达到并行化的目的。MapReduce是Google提出的并行计算和数据处理的编程模型,采用MapReduce框架的程序需定义自身的Map函数与Reduce函数。Map阶段,Map函数产生键值对(key/value)。Reduce阶段,具有相同键(key)的键值对被传递到Reduce函数。MPI模型可以根据系统硬件配置修改并行化步骤,但是没有错误处理,任务调度的现成的封装,基于MapReduce的Hadoop框架数据的分布原理是封装好的,并没有根据硬件配置和系统需求进行优化。
技术实现思路
本专利技术所要解决的技术问题是,提供一种社区发现并行化方法和系统、主节点和运算节点设备,以提高社交网络社区发现系统对于大规模数据处理的效率。 为了解决上述技术问题,本专利技术公开了一种社区发现并行化方法,其包括: 链接强度计算模块根据社交网站数据库中用户的交互信息,计算网络中点与点的链接强度,得到能表示网络特性的有权图的稀疏表示并存储; 主节点将所存储的用户随机分为P个大小相等的社区,将P个社区对应的有权图的子图分别配置给P个运算节点,作为初始的社区划分的结果; 每个运算节点上配置相同的粗分类模块的任务,每个任务独立的完成处在对应的同一子图中的点的融合操作,以将运算节点上的子图划分成多个社区; 主节点上的社区融合模块根据所有运算节点的粗分类模块划分的b个社区之间的链接关系,再次进行融合操作,共得到k个社区,C(k) = {c1; c2,…,ck},计算C(k)划分结果的模块度; 主节点上的任务合并模块将k个社区合并成为大小相似的P个社区,重新设置在P个运算节点上,重新经过各运算节点的粗分类模块划分以及主节点上的社区融合模块融合操作,直到整合操作后的k个社区的模块度小于阈值则停止迭代,此时得到的分类结果为社区发现的最终结果。 较佳地,上述方法中,每个运算节点上粗分类模块的任务独立的完成处在对应的同一子图中的点的融合操作的过程如下: 将子图中每个点看成独立的一个类别Ci = {VJ,按照如下公式初始化两个点融合对全局模块度的贡献值,将得到的两类融合的贡献度插入到最大堆中; Δ Qij = wiJ/2m-2aiaJ/ (2m)2 其中,a y %表示第i和第j个点在整个社交网络中的度,表示两点间的链接强度; 在最大堆中寻找对全局模块度贡献最大的融合模式,将对应的两个类别进行融合,并根据如下公式更新与这两个类有关的所有融合模式的模块度贡献值,利用最大堆的更新操作,保证最大堆的数据结构不变: 当类别k和类别i,j都有连接时,模块度贡献值:AQ' Jk = AQik+AQjk 当类别k和类别i有连接,和j无连接时,模块度贡献值:Δ Q' Jk = Δ Qik-2ajak 当类别k和类别j有连接,和i无连接时,模块度贡献值:Δ Q' Jk = Δ; 重复更新与这两个类有关的所有融合模式的模块度贡献值,直到最大堆中第一个元素即最大堆中的最大值为负,停止迭代过程。 较佳地,上述方法中,所述主节点上的社区整合模块计算C(k)划分结果的模块度时,按照如下公式计算两个类别融合对全局模块度的贡献值: Δ Qij = eiJ/2m-2aiaJ/ (2m)2 其中,a j, a j表示第i和第j个类别中所有点的度的和; ejj表示两个类别间链接的权重总和。 较佳地,上述方法中,所述链接强度计算模块,计算网络中点与点的链接强度,得到能表不网络特性的有权图的稀疏表不指: 对于无权图点与点的链接强度,所述链接强度计算模块设置为O或I ; 对于真实的网络社区,所述链接强度计算模块采用如下公式计算点与点的链接强度:本文档来自技高网
...

【技术保护点】
一种社区发现并行化方法,其特征在于,该方法包括:链接强度计算模块根据社交网站数据库中用户的交互信息,计算网络中点与点的链接强度,得到能表示网络特性的有权图的稀疏表示并存储;主节点将所存储的用户随机分为p个大小相等的社区,将p个社区对应的有权图的子图分别配置给p个运算节点,作为初始的社区划分的结果;每个运算节点上配置相同的粗分类模块的任务,每个任务独立的完成处在对应的同一子图中的点的融合操作,以将运算节点上的子图划分成多个社区;主节点上的社区融合模块根据所有运算节点的粗分类模块划分的b个社区之间的链接关系,再次进行融合操作,共得到k个社区,C(k)={c1,c2,…,ck},计算C(k)划分结果的模块度;主节点上的任务合并模块将k个社区合并成为大小相似的p个社区,重新设置在p个运算节点上,重新经过各运算节点的粗分类模块划分以及主节点上的社区融合模块融合操作,直到整合操作后的k个社区的模块度小于阈值则停止迭代,此时得到的分类结果为社区发现的最终结果。

【技术特征摘要】
1.一种社区发现并行化方法,其特征在于,该方法包括: 链接强度计算模块根据社交网站数据库中用户的交互信息,计算网络中点与点的链接强度,得到能表示网络特性的有权图的稀疏表示并存储; 主节点将所存储的用户随机分为P个大小相等的社区,将P个社区对应的有权图的子图分别配置给P个运算节点,作为初始的社区划分的结果; 每个运算节点上配置相同的粗分类模块的任务,每个任务独立的完成处在对应的同一子图中的点的融合操作,以将运算节点上的子图划分成多个社区; 主节点上的社区融合模块根据所有运算节点的粗分类模块划分的b个社区之间的链接关系,再次进行融合操作,共得到k个社区,C(k) = {c1; c2,…,ck},计算C(k)划分结果的模块度; 主节点上的任务合并模块将k个社区合并成为大小相似的P个社区,重新设置在P个运算节点上,重新经过各运算节点的粗分类模块划分以及主节点上的社区融合模块融合操作,直到整合操作后的k个社区的模块度小于阈值则停止迭代,此时得到的分类结果为社区发现的最终结果。2.如权利要求1所述的方法,其特征在于,每个运算节点上粗分类模块的任务独立的完成处在对应的同一子图中的点的融合操作的过程如下: 将子图中每个点看成独立的一个类别Ci = {VJ,按照如下公式初始化两个点融合对全局模块度的贡献值,将得到的两类融合的贡献度插入到最大堆中; Δ Qij = wiJ/2m-2aiaJ/ (2m)2 其中,ai,%表示第i和第j个点在整个社交网络中的度,表示两点间的链接强度; 在最大堆中寻找对全局模块度贡献最大的融合模式,将对应的两个类别进行融合,并根据如下公式更新与这两个类有关的所有融合模式的模块度贡献值,利用最大堆的更新操作,保证最大堆的数据结构不变: 当类别k和类别i,j都有连接时,模块度贡献值:Λ Q' Jk = Δ Qik+ Δ Qjk 当类别k和类别i有连接,和j无连接时,模块度贡献值:Λ Q' Jk = Δ Qik-2ajak 当类别k和类别j有连接,和i无连接时,模块度贡献值:Λ Q' Jk = Δ QJk-2aiak ; 重复更新与这两个类有关的所有融合模式的模块度贡献值,直到最大堆中第一个元素即最大堆中的最大值为负,停止迭代过程。3.如权利要求2所述的方法,其特征在于,所述主节点上的社区整合模块计算C(k)划分结果的模块度时,按照如下公式计算两个类别融合对全局模块度的贡献值: Δ Qij = eiJ/2m-2aiaJ/ (2m)2, 其中,a y a j表示第i和第j个类别中所有点的度的和; eiJ表示两个类别间链接的权重总和。4.如权利要求1至3任一项所述的方法,其特征在于,所述链接强度计算模块,计算网络中点与点的链接强度,得到能表示网络特性的有权图的稀疏表示指: 对于无权图点与点的链接强度,所述链接强度计算模块设置为O或I ; 对于真实的网络社区,所述链接强度计算模块采用如下公式计算点与点的链接强度:其中,ri(i = 1,2,3)分别表示微博中用户i,j的好友关系,用户i,j之间At的次数以及用户i,j之间评论的次数,k表示各交互信息的权重。5.一种社区发现并行化系统,其特征在于,该系统包括链接强度计算模块、主节点和P个运算节点,其中: 链接强度计算模块,根据社交网站数据库中用户的交互信息,计算网络中点与点的链接强度,得到能表示网络特性的有权图的稀疏表示并存储; 主节点,将所存储的用户随机分为P个大小相等的社区,作为初始的社区划分,并将初始划分的P个社区对应的有权图的子图分别配置给P个运算节点,,以及根据所有运算节点划分的b个社区之间的链接关系,再次进行融合操作,共得到k个社区,C(k) = {c1; C2,…,CkI,计算C(k)划分结果的模块度,并将k个社区合并成为大小相似的P个社区,重新设置在P个运算节点上,将各运算节点重新划分的社区进行融合操作,直到整合操作后的k个社区的模块度小于阈值则停止迭代,此时得到的分类结果为社区发现的最终结果; 运算节点,对初始划分的同一子图中的点进行融合操作,以将该子图划分成多个社区,以及对重新设置的子图的点进行整合操作。6.如权利要...

【专利技术属性】
技术研发人员:陆平罗圣美胡磊王桥林云龙邹俊洋钟齐炜居昱
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1