社区发现并行化方法和系统、主节点和运算节点设备的制作方法

文档序号:6501045阅读:155来源:国知局
社区发现并行化方法和系统、主节点和运算节点设备的制作方法
【专利摘要】本发明公开了社区发现并行化方法和系统、主节点和运算节点设备,涉及社交网络系统中分析关系系统。本发明公开的方法包括:根据社交网站数据库中用户的交互信息,计算网络中点与点的链接强度;主节点将所有用户随机分为p个大小相等的社区并派给p个运算节点进行融合操作;主节点根据b个社区之间的链接关系,进行融合操作得到k个社区,并计算社区划分结果的模块度;主节点将k个社区合并成为大小相似的p个社区,重新派给p个运算节点进行粗分类以及融合操作,直到k个社区的模块度小于阈值时,得到社区发现的最终结果。本发明还公开了社区发现并行化系统、主节点及运算节点设备。本申请技术方案具有更高的模块度和分类精度。
【专利说明】社区发现并行化方法和系统、主节点和运算节点设备

【技术领域】
[0001]本发明涉及社交网络系统中分析关系系统,尤其能够利用超大规模社交网络的海量交互信息完成社区发现的方案。

【背景技术】
[0002]在大型复杂网络中,往往存在着复杂的社区结构,比如社交网站或者论坛网站中存在着依据相似的社会背景或者兴趣爱好所组成的社会团体,万维网中存在着具有相似内容功能类似网站。如何根据社交网络中海量的人物交互关系或者网站间的链接数相似性,发现网络中的社区结构已经成为了数据挖掘领域的一个热点研究方向。
[0003]社区发现的目标就是根据网络中点与点之间的关系,自动的将网络划分为若干个社区,使得社区内的连接较为紧密,社区间的连接较为稀疏。Newman提出的模块度(Modularity)已经成为了一个广泛应用的社区发现系统的评价标准。目前流行的社区发现系统中基于凝聚思想的CNM算法的复杂度也有O(mdlogn),其中d为图的深度。我们可以发现传统的社区发现系统由于现在网络的规模越来越大,系统的每个步骤独立性不强,使得系统无法并行快速高效的满足社交网站社区发现的需求。
[0004]常见的并行计算的框架有MPI (Message-Passing Interface)和 MapReduce。MPI是一种消息传递编程接口规范。消息传递指数据通过进程之间的协同从一个进程的地址空间传递到另一个进程,采用MPI模型的程序设计正是通过进程之间的这种消息传递来达到并行化的目的。MapReduce是Google提出的并行计算和数据处理的编程模型,采用MapReduce框架的程序需定义自身的Map函数与Reduce函数。Map阶段,Map函数产生键值对(key/value)。Reduce阶段,具有相同键(key)的键值对被传递到Reduce函数。MPI模型可以根据系统硬件配置修改并行化步骤,但是没有错误处理,任务调度的现成的封装,基于MapReduce的Hadoop框架数据的分布原理是封装好的,并没有根据硬件配置和系统需求进行优化。


【发明内容】

[0005]本发明所要解决的技术问题是,提供一种社区发现并行化方法和系统、主节点和运算节点设备,以提高社交网络社区发现系统对于大规模数据处理的效率。
[0006]为了解决上述技术问题,本发明公开了一种社区发现并行化方法,其包括:
[0007]链接强度计算模块根据社交网站数据库中用户的交互信息,计算网络中点与点的链接强度,得到能表示网络特性的有权图的稀疏表示并存储;
[0008]主节点将所存储的用户随机分为P个大小相等的社区,将P个社区对应的有权图的子图分别配置给P个运算节点,作为初始的社区划分的结果;
[0009]每个运算节点上配置相同的粗分类模块的任务,每个任务独立的完成处在对应的同一子图中的点的融合操作,以将运算节点上的子图划分成多个社区;
[0010]主节点上的社区融合模块根据所有运算节点的粗分类模块划分的b个社区之间的链接关系,再次进行融合操作,共得到k个社区,C(k) = {c1; c2,…,ck},计算C(k)划分结果的模块度;
[0011]主节点上的任务合并模块将k个社区合并成为大小相似的P个社区,重新设置在P个运算节点上,重新经过各运算节点的粗分类模块划分以及主节点上的社区融合模块融合操作,直到整合操作后的k个社区的模块度小于阈值则停止迭代,此时得到的分类结果为社区发现的最终结果。
[0012]较佳地,上述方法中,每个运算节点上粗分类模块的任务独立的完成处在对应的同一子图中的点的融合操作的过程如下:
[0013]将子图中每个点看成独立的一个类别Ci = {VJ,按照如下公式初始化两个点融合对全局模块度的贡献值,将得到的两类融合的贡献度插入到最大堆中;
[0014]Δ Qij = wiJ/2m-2aiaJ/ (2m)2
[0015]其中,a y %表示第i和第j个点在整个社交网络中的度,表示两点间的链接强度;
[0016]在最大堆中寻找对全局模块度贡献最大的融合模式,将对应的两个类别进行融合,并根据如下公式更新与这两个类有关的所有融合模式的模块度贡献值,利用最大堆的更新操作,保证最大堆的数据结构不变:
[0017]当类别k和类别i,j都有连接时,模块度贡献值:AQ' Jk = AQik+AQjk
[0018]当类别k和类别i有连接,和j无连接时,模块度贡献值:Δ Q' Jk = Δ Qik-2ajak
[0019]当类别k和类别j有连接,和i无连接时,模块度贡献值:Δ Q' Jk = Δ;
[0020]重复更新与这两个类有关的所有融合模式的模块度贡献值,直到最大堆中第一个元素即最大堆中的最大值为负,停止迭代过程。
[0021]较佳地,上述方法中,所述主节点上的社区整合模块计算C(k)划分结果的模块度时,按照如下公式计算两个类别融合对全局模块度的贡献值:
[0022]Δ Qij = eiJ/2m-2aiaJ/ (2m)2
[0023]其中,a j, a j表示第i和第j个类别中所有点的度的和;
[0024]ejj表示两个类别间链接的权重总和。
[0025]较佳地,上述方法中,所述链接强度计算模块,计算网络中点与点的链接强度,得到能表不网络特性的有权图的稀疏表不指:
[0026]对于无权图点与点的链接强度,所述链接强度计算模块设置为O或I ;
[0027]对于真实的网络社区,所述链接强度计算模块采用如下公式计算点与点的链接强度:

【权利要求】
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.如权利要求5所述的系统,其特征在于,所述运算节点对子图中的点进行融合操作的过程如下: 将子图中每个点看成独立的一个类别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 ; 重复更新与这两个类有关的所有融合模式的模块度贡献值,直到最大堆中第一个元素即最大堆中的最大值为负,停止迭代过程。
7.如权利要求6所述的系统,其特征在于,所述主节点计算C(k)划分结果的模块度时,按照如下公式计算两个类别融合对全局模块度的贡献值:
Δ Qij = eiJ/2m-2aiaJ/ (2m)2, 其中,a y a j表示第i和第j个类别中所有点的度的和; eiJ表示两个类别间链接的权重总和。
8.如权利要求5至7任一项所述的系统,其特征在于,所述链接强度计算模块,对于无权图点与点的链接强度,设置为O或I ; 对于真实的网络社区,采用如下公式计算点与点的链接强度:"V =XA,(l-exp(-/;)) 其中,ri(i = 1,2,3)分别表示微博中用户i,j的好友关系,用户i,j之间At的次数以及用户i,j之间评论的次数,k表示各交互信息的权重。
9.一种用于社区发现并行化的主节点设备,其特征在于,包括社区融合模块和任务合并模块,其中: 社区融合模块,根据所有运算节点初始划分的b个社区之间的链接关系,再次进行融合操作,共得到k个社区,C(k) = {c1; c2,…,ck},计算C(k)划分结果的模块度,以及根据所有运算节点再次划分的b个社区之间的链接关系,再次进行融合操作,得到k个社区,计算这k个社区划分结果的模块度; 任务合并模块,将所述社区融合模块融合操作得到的k个社区合并成为大小相似的P个社区,重新设置在P个运算节点上,直到整合操作后的k个社区的模块度小于阈值则停止迭代,此时得到的分类结果为社区发现的最终结果。
10.如权利要求9所述的主节点设备,其特征在于,所述社区融合模块计算C00划分结果的模块度时,按照如下公式计算两个类别融合对全局模块度的贡献值:
Δ Qij = eiJ/2m-2aiaJ/ (2m)2, 其中,a y a j表示第i和第j个类别中所有点的度的和; eiJ表示两个类别间链接的权重总和。
11.一种用于社区发现并行化的运算节点设备,其特征在于,包括第一模块和第二模块,其中: 所述第一模块,将子图中每个点看成独立的一个类别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 = Δ Q#-2aiak。
【文档编号】G06F17/30GK104077280SQ201310096323
【公开日】2014年10月1日 申请日期:2013年3月25日 优先权日:2013年3月25日
【发明者】陆平, 罗圣美, 胡磊, 王桥, 林云龙, 邹俊洋, 钟齐炜, 居昱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1