CN102148717A - 一种二分网络中社团检测方法及装置 - Google Patents

一种二分网络中社团检测方法及装置 Download PDF

Info

Publication number
CN102148717A
CN102148717A CN2010101088469A CN201010108846A CN102148717A CN 102148717 A CN102148717 A CN 102148717A CN 2010101088469 A CN2010101088469 A CN 2010101088469A CN 201010108846 A CN201010108846 A CN 201010108846A CN 102148717 A CN102148717 A CN 102148717A
Authority
CN
China
Prior art keywords
node
corporations
subnetworks
modularity
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010101088469A
Other languages
English (en)
Other versions
CN102148717B (zh
Inventor
明仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN 201010108846 priority Critical patent/CN102148717B/zh
Publication of CN102148717A publication Critical patent/CN102148717A/zh
Application granted granted Critical
Publication of CN102148717B publication Critical patent/CN102148717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种二分网络中社团检测方法及装置,所述方法包括:获取二分网络的节点集,所述节点集由多个社团构成,所述社团包括同一类型的多个节点;获取所述节点集的模块度值,其中,所述模块度值为对属于同一类型的所有节点对之间的所有路径长度之和的差异值取和;对二分网络中的每个社团的任意节点,计算该节点从当前其所属的社团移动到其它社团时,所述二分网络的节点集的模块度值的增加量;选取使得所述节点集的模块度值增加量最大的社团作为该节点的新的划分社团;根据新的划分出的社团重新构造二分网络。本发明避免了Barber所提的模块度定义所蕴含的前提的限制,同时又将二分网络的边的权重信息考虑进去,提高了社团的检测效率。

Description

一种二分网络中社团检测方法及装置
技术领域
本发明属于网络技术领域,尤其涉及一种二分网络中社团检测方法及装置。
背景技术
随着因特网、万维网等具有复杂规模的网络的不断扩展和壮大,从万维网上获取数据也变得愈加方便。科学家们借助万维网,将许多传统的生物、物理、社会方面的网络如基因网络(Gene network)、新陈代谢网络(Metabolicnetwork)、电力网络(Electronic network)、神经网络(Neural network)、社交网络(Social network)等数字化存储于万维网上,从而使得处于不同研究领域的研究者们可利用计算机的计算能力对这些大规模的网络进行各个方面的研究。
科学家们还发现许多网络都表现出一些共同的特征,如小世界现象、无标度特征等。这些特征的发现给科学家们带来了震撼,因为这些特性与人们先前对网络的直观认识有着很大的出入。在20世纪即将结束的年代,面对有多达约3亿台计算机和30亿个网页、动态发展的因特网和万维网,还有其他各种社会、生物、物理网络,科学家们发现已无法用规则网络理论和随机网络理论来解释它们的结构和演化的一些新问题,他们粗略地称这类网络为“复杂网络(Complex Network)”。
Boccara对复杂网络给出了一种新定义:如果某些网络的组成部分的表现行为已被了解,但是由于缺乏足够的科学知识而无法预测这些网络的整体行为,则称这些网络为复杂网络。这种缺乏中央控制的复杂网络具有“涌现”行为,即无法预测、无法用事先的设计来产生的行为,而复杂网络中的其中一种“涌现”行为是社团的出现。
人们发现,许多实际网络中都有社团结构的存在,即整个网络包含若干个“群(Group)”或“社团(Cluster)”。虽然目前对网络中的社团还没有一个公认的形式化的定义,但社团的一个较直观的表达是:社团是网络中的节点以及由这些节点之间所连接的边组成的结构,每个社团内部的节点之间的边连接相对紧密,但各个社团之间节点的边连接则相对稀疏。当一个网络进行演化时,由于整个网络缺乏中央的集中控制,因此每个节点都可自由地选择与其它节点进行连接,因此我们无法预测整个网络在演化一段时间后其整体表现出来的拓扑结构,而社团则作为一种演化结果出现在许多的网络里,譬如:万维网、蛋白质网络、社交网络等。这些网络中的社团可看作具有某些共性的节点的集合或者某些共同协作完成某个功能模块的节点的集合。譬如,在社交网络里,在人与人的相互作用过程中,社交网络里形成了大小不一的社团,有些社团对应社会里的家庭组织,有些社团对应社会里的朋友圈,有些社团甚至对应现实生活中具有地理位置特性的人的集合,如村庄、城镇、国家等。因特网的快速增长更是带来了许多在万维网上生存着的社团结构。除了社交网络外,社团还会存在于其他类型的网络中,譬如在蛋白质网络中,社团对应细胞中具有相同特定功能的蛋白质分子集合;在万维网中,社团对应一组具有相似话题的网页;在新陈代谢网络中,社团对应某些功能模块,如新陈代谢中的循环;在食物网络里,社团对应某一层的食物集合。
现实生活中存在着许多以二分图形式表示的网络,我们可称为二分网络。譬如:中文社交网站豆瓣(http://www.douban.com/)上的用户-图书关系即可抽象成一个二分网络,用户代表网络中的一种类型的节点,图书代表另一种类型的节点,当某个用户阅读过某本图书时,则在相应的用户节点和图书节点之间用一条边连接。事实上,生活中还有许多其他类似的二分网络,如演员-电影网络、作者-论文网络、文档-词语网络、p2p中的资源网络等。
各种现实的二分网络里同样存在着有意义的社团。如用户-图书网络的用户节点构成的社团,对应着现实中具有相似阅读兴趣的用户集合;演员-电影网络里的演员节点构成的社团则对应合作较为密切的演员集合;作者-论文网络里的作者节点构成的社团对应具有较为稳定合作关系的研究者集合;在文档-词语网络里,文档节点构成的社团对应内容的主题相近的文档集合,而词语节点构成的社团则对应某一主题下的词语集合。除此之外,两种不同类型的词语的共现也可构成一个二分网络。譬如:可从表示基因的名称的词语和表示疾病的名称的词语的共现里构造出一个二分网络,在该网络里,一类节点表示基因的名称,另一类节点表示疾病的名称,当一个基因名称和一个疾病的名称出现在同一篇文档里,则在这两个名称所对应的节点之间用一条边连接。从该网络检测出的基因社团包含了联系比较密切的基因,基因社团所对应的疾病则显示社团里基因的功用。
正因为现实生活中存在着如此多的二分网络,而挖掘这些网络里的社团对理解和分析这些网络的特性有着重要的辅助作用。
二分网络可表现出许多方面的特性,如:网络中的节点的度分布、网络中的节点的权重分布、网络中的同类节点之间的路径长度、网络中节点的聚类系数、网络中的社团等等。我们的算法用于挖掘出二分网络中的社团。
二分网络里存在着两种不同类型的节点,同一种类型的节点之间不存在边连接,因此边连接只存在于不同类型的节点之间。对于社团,目前尚不存在一个统一的形式化的定义。在普通的网络里(即网络里所有的节点都属于同一种类型的情况),人们对社团的直观认识为:社团是网络中的节点的集合,属于同一个社团的节点之间的边连接紧密,而属于不同社团的节点之间的边连接则稀疏。但在二分网络的情况下,网络中的社团可分为两种情况:
1)二分网络里的每个社团只包含一种类型的节点;
2)二分网络的每个社团可包含两种类型的节点。
对于1)的情况,每个社团的内部节点通过与很多共同的邻居节点相连接的方式来“紧密地联系”,而属于不同社团的节点之间共享的相同邻居节点不多,因此来体现“联系的稀疏”。而2)的情况与普通网络的情况一样,2)所挖掘出的每个社团可包含两种类型的节点,因此每个社团里的节点可分为两个子集,每个子集各自包含一种类型的节点。
目前已设计的大多数社团检测算法都是面向普通网络的(即网络中的所有节点都属于同一种类型的情况),主要包括以下几类:
1)传统的方法:包括图划分、层次聚类、分割式聚类等;
2)分裂算法:包括GN算法以及由此衍生的各种改进算法;
3)基于模块度(Modularity)的算法:通过利用各种优化算法来对Newman提出的模块度进行优化,从而检测出较好的社团划分;
4)谱算法:如谱分解,利用图的矩阵表示中的某些特征来检测社团,一个典型的例子是利用图的拉普拉斯矩阵的特征向量来进行矩阵的划分,从而检测社团;
5)基于动力模型的算法:包括统计力学里最受欢迎的模型之一Potts模型引出的spin模型、随机行走(Random walk)模型、节点同步(Synchronization)模型;
6)基于统计推理的算法:该类算法的特点是寻找一个与实际的图拓扑结构最吻合的图模型,而该图模型一般都假定节点中存在社团结构。这类方法利用的技术包括:贝叶斯推理(Bayesian inference)等。
7)多分辨率的方法:实际图中的社团大小是无法预知的,因此多分辨率的方法是通过调整某些参数以达到观察多种不同大小的社团的方法。
但这些社团检测算法针对的是普通的网络,对于二分网络并不适合。为了检测二分网络中的社团,惯常的做法是对二分网络进行投影,譬如对于二分网络中的某一种类型的节点,如果属于该类型的两个节点之间存在着相同的邻居节点,那么在投影后的新的网络里,这两个节点之间就会存在一条边。经由此种投影方式可产生两个普通的网络,分别对应两种不同的节点类型。接着可利用上述的社团检测算法对产生的普通网络进行社团检测。但这种方法的不足之处在于:在对二分网络进行投影时会损失一些有用的信息,以及生成的普通网络过于庞大。
除了以上所述的用于普通网络的社团检测算法之外,还存在直接对二分网络进行社团检测的算法,如:
1)通过提出适合二分网络的模块度定义,并基于该定义来检测社团。如Guimera等人提出了一个适用于边无权重的二分网络的模块度定义,Barber等人提出了另一种用于二分网络的模块度定义;
其中,模块度的核心思想在于选择一个不存在社团结构的参考网络,以及一个计算的度量,该度量的值在具有社团结构的网络中和在不具有社团结构的网络中将会有很大的差异。在选择了适当的参考网络和度量之后,计算度量分别在原网络和参考网络中的差异值,差异值越大,表明该节点集划分越好,差异值越小,表明该节点集划分越差。
2)Lehmann扩展了在普通网络上的k-clique社团检测算法,将其应用于二分网络上。
Guimera等人所提的模块度定义不适用于边带权重的二分网络,而实际的很多二分网络的边都带有权重,因此Guimera所提的模块度在应用于实际的二分网络时,只能略掉了边的权重这一重要信息。
而Barber等人所提的模块度定义蕴含了一个前提:二分网络中的两种类型的节点所构成的社团存在一对一的关系,但实际的二分网络中,两种类型的节点所构成的社团之间可能存在一对多或多对多的关系。因此Barber所提的模块度定义并不能很好地适用于实际网络的情况。
Lehmann所扩展的k-cliquc社团检测算法需要人工的指定输入的相关参数,譬如需要检测的社团的节点的数目等,而这些参数人们是难以预先知道的。
因利用Barber所提的模块度定义检测出的社团可同时包含二分网络中的两种类型的节点,因此利用该模块度进行社团检测,蕴含了一个前提:由二分网络中的两种类型的节点各自构成的社团之间存在一对一的关系。
如何避免Barber所提的模块度定义所蕴含的前提的限制,同时又将二分网络的边的权重信息考虑进去,提高网络社团的检测效率,提高网络的利用效率,是网络技术领域研究的方向之一。
发明内容
本发明实施例的目的在于提供一种二分网络中社团检测方法,旨在提高网络社团的检测效率,提高网络的利用效率。
本发明实施例是这样实现的,一种二分网络中社团检测方法,所述方法包括以下步骤:
获取二分网络的节点集,所述节点集由多个社团构成,所述社团包括同一类型的多个节点;
获取所述节点集的模块度值,其中,所述模块度值为对属于同一类型的所有节点对之间的所有路径长度之和的差异值取和;
对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量;
选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点的新的划分社团;
根据新的划分出的社团重新构造二分网络。
所述二分网络中社团检测方法,其中,所述获取所述节点集的模块度值时,使用以下计算公式:
Q = Σ i = 1 p Σ j = 1 p ( Σ a = 1 q w ia w ja - Σ a = 1 q m a 2 · t i t j m 2 ) δ ( g i , g j )
其中,Q为模块度,所述二分网络中存在两种类型的节点A和B,属于类型A的节点的数目为p,属于类型B的节点的数目为q;节点i属于类型A,节点j属于类型B;与i连接的所有边的权重之和表示为ti,与j连接的所有边的权重之和表示为tj;网络中所有边的权重之和为m;节点i和j属于同一个社团,δ(gi,gj)的值为l;wiawja表示从节点i出发经过邻居节点a,再到节点j的一条路径的长度;
Figure GSA00000013521600071
表示从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600072
从节点i到节点a的边的权重;
Figure GSA00000013521600073
从节点a到节点j的边的权重;
Figure GSA00000013521600074
从节点i出发经过节点a再到节点j的一条路径的长度;
Figure GSA00000013521600075
从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600076
表示一个节点对(i,j)之间的所有路径长度之和的差异值。
所述二分网络中社团检测方法,其中,在所述获取二分网络中的每个类型的节点集的步骤之前,所述方法还包括:
获取二分网络中的各个节点;
将获取的节点按照类型组成相应的社团,其中,每个类型的节点组成一个社团;所述多个社团构成二分网络中的节点集。
所述二分网络中社团检测方法,其中,所述方法还包括:
判断是否有节点移动,若是,则继续进行以下步骤:计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的各个社团模块度值的增加量;
若没有节点移动,则进行如下步骤:根据新的划分出的社团重新构造二分网络。
所述二分网络中社团检测方法,其中,所述根据新的划分出的社团重新构造二分网络的步骤之后,所述方法还包括:
输出重新构造的二分网络。
本发明实施例的目的还在于提供一种二分网络中社团检测装置,所述装置包括:
节点集获取模块,用于获取二分网络的节点集,所述节点集由多个社团构成,所述社团包括同一类型的多个节点;
模块度值获取模块,用于获取所述节点集的模块度值,其中,所述模块度值为对属于同一类型的所有节点对之间的所有路径长度之和的差异值取和;
节点移动计算模块,用于对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量;
节点划分模块,用于选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点的新的划分社团;以及
二分网络构造模块,用于根据新的划分出的社团重新构造二分网络。
所述二分网络中社团检测装置,其中,所述模块度值获取模块通过以下公式计算获取模块度值:
Q = Σ i = 1 p Σ j = 1 p ( Σ a = 1 q w ia w ja - Σ a = 1 q m a 2 · t i t j m 2 ) δ ( g i , g j )
其中,Q为模块度,所述二分网络中存在两种类型的节点A和B,属于类型A的节点的数目为p,属于类型B的节点的数目为q;节点i属于类型A,节点j属于类型B;与i连接的所有边的权重之和表示为ti,与j连接的所有边的权重之和表示为tj;网络中所有边的权重之和为m;节点i和j属于同一个社团,δ(gi,gj)的值为1;wiawja表示从节点i出发经过邻居节点a,再到节点j的一条路径的长度;
Figure GSA00000013521600082
表示从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600083
从节点i到节点a的边的权重;
Figure GSA00000013521600084
从节点a到节点j的边的权重;
Figure GSA00000013521600085
从节点i出发经过节点a再到节点j的一条路径的长度;从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600091
表示一个节点对(i,j)之间的所有路径长度之和的差异值。
所述二分网络中社团检测装置,其中,所述节点集获取模块具体包括:
节点获取模块,用于获取二分网络中的各个节点;
社团构造模块,用于将获取的节点按照类型组成相应的社团,其中,每个类型的节点组成一个社团;所述多个社团构成二分网络中的节点集。
所述二分网络中社团检测装置,其中,所述装置还包括:
节点移动判断模块,用于判断是否有节点移动,若是,则所述节点移动计算模块计算从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的各个社团模块度值的增加量;
若没有节点移动,则所述二分网络构造模块根据新的划分出的社团重新构造二分网络。
所述二分网络中社团检测装置,其中,所述装置还包括:
二分网络输出模块,用于输出重新构造的二分网络。
本发明实施例通过定义一模块度值,所述模块度值为对属于同一类型的所有节点对(i,j)之间的所有路径长度之和的差异值取和,并获取所述节点集的模块度值,对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量,选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点的新的划分社团,根据新的划分出的社团重新构造二分网络,有效的避免了Barber所提的模块度定义所蕴含的前提的限制,同时又将二分网络的边的权重信息考虑进去,提高了网络社团中各个节点的被查找几率,进而提高了网络的利用效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的二分网络中社团检测方法的流程图;
图2是本发明实施例提供的二分网络中两个节点的连接示意图;
图3是应用本发明实施例提供的二分网络中社团检测方法的效果图;
图4是本发明实施例提供的二分网络中社团检测装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的一种二分网络中社团检测方法的流程,详述如下。
在步骤S101中,获取二分网络的节点集,所述节点集由多个社团构成,所述社团包括同一类型的多个节点;
在具体实施过程中,首先获取二分网络中的各个节点,将获取的节点按照类型组成相应的社团,其中,每个类型的节点组成一个社团,所述多个社团构成二分网络中的节点集。
譬如,一个二分网络G,设G中的两种节点类型分别为A和B,要对其进行社团检测的节点类型为A。
在步骤S102中,获取所述节点集的模块度值,其中,所述模块度值为对属于同一类型的所有节点对的差异值取和;
在具体实施过程中,首先初始化关于G中的每个A类型节点的社团信息C,初始化G中的每个A类型的节点为一个社团,这时就得到了一个初始的A类型节点集的划分,之后,计算该节点集对应的模块度值。
本发明实施例的模块度应用在二分网络上,其中,一个节点集划分是指对于属于同一种类型的所有节点的一个划分。在获取一个节点集划分后,该划分所得的每个子节点集即为一个社团。
本发明实施例提供的模块度定义中,所用的参考网络是:在原网络的节点数目和从各节点连出去的边的权重之和保持不变的情况下,对原网络中的边进行随机重连(允许两个节点之间存在多条边),所得的网络则为参考网络。所用的度量是所有社团内部的节点之间的路径长度之和。属于同一类型的两个节点i和j之间的一条路径由两条边构成,而该路径的长度则为这两条边的权重的乘积,请参阅图2。
其中,本发明实施例提供的所述模块度值的计算公式为:
Q = Σ i = 1 p Σ j = 1 p ( Σ a = 1 q w ia w ja - Σ a = 1 q m a 2 · t i t j m 2 ) δ ( g i , g j )
其中,假设二分网络中存在两种类型的节点A和B,并设属于类型A的节点的数目为p,属于类型B的节点的数目为q。如果节点i属于类型A,则与i连接的所有边的权重之和表示为ti;与j连接的所有边的权重之和表示为tj,如果节点j属于类型B,则与j连接的所有边的权重之和表示为mj。设网络中所有边的权重之和为m。如果节点i和a之间存在边,则wia表示该边的权重。上式中δ(gi,gj)的值为1,当且仅当节点i和j属于同一个社团。wiawja表示从节点i出发经过邻居节点a,再到节点j的一条路径的长度;
Figure GSA00000013521600112
表示从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600113
从节点i到节点a的边的权重;
Figure GSA00000013521600114
从节点a到节点j的边的权重;
Figure GSA00000013521600115
从节点i出发经过节点a再到节点j的一条路径的长度;
Figure GSA00000013521600121
从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600122
表示一个节点对(i,j)之间的所有路径长度之和的差异值,最后模块度Q即为对属于同一类型的所有节点对的差异值取和。
在步骤S103中,对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量;
譬如,按照节点的编号顺序,对于G中的每个A类型的节点i,计算将i从当前其所属的社团移动到其它社团时,二分网络的节点集的模块度值的增加量。
在步骤S104中,选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点i的新的划分社团;
在步骤S105中,判断是否有节点移动,若是,则继续进行步骤S104;否则进行步骤S106。
在步骤S106中,根据新的划分出的社团重新构造二分网络。
利用检测出的社团更新C的信息,并构造一个新的二分网络,在新的二分网络里,原网络里的B类型的节点保持不变,而在原网络里检测的每个社团看作新网络里的一个节点,如果在原网络里,一个社团里有节点与B类型的节点存在边连接,那代表该社团的新节点与该B类型节点在新网络里也会有边连接,而且边的权重为该社团里所有与该B类型节点连接的边的权重之和。
在步骤S107中,输出重新构造的二分网络,即将G赋为新的二分网络。
本发明实施例提供的二分网络节点划分方法的优点包括有:
1)有效地利用了二分网络中的边的权重信息。
2)本发明实施例提供的模块度定义,对于两个同类型节点之间的一条路径,是通过将该路径上的两条边的权重相乘作为该路径的长度,而非将两条边的权重相加作为路径的长度,在计算机生成的数据集上的实验表明,权重相乘的方式能更加有效地检测出二分网络中的社团。
3)每次仅对二分网络中的一种类型的节点进行社团检测,以便能检测出现实的二分网络中所存在的复杂社团关系。在进行社团检测时,本发明实施例通过仅对二分网络中的其中一种类型的节点进行社团检测,则能有效地避免Barber所提的模块度定义中隐含的前提限制,而且,还可以利用在不同类型的节点上检测出的社团来揭示这些社团之间的联系程度。
本发明实施例以真实的新闻数据集上对算法进行试验,譬如从被广泛用于测试文本分类算法的20个新闻组数据集中抽出两个新闻组:alt.atheism和comp.graphics。分别从这两个新闻组中各抽取500篇文章,组成1000篇文章的数据集。将1000篇文章看作1000个文档节点,而文章中的词语看作词语节点,如果一篇文章包含某个词语,则在该文档节点和词语节点之间用一条边连接,通过这种方式构造一个文档-词语的二分网络。接着应用本发明实施例所提的二分网络中社团检测和现有技术的Barber的算法来检测二分网络中的文档社团,并将检测出来的社团用贪婪算法合并,直到剩下两个文档社团为止,将所得的两个社团与原先的文档类别进行比较,同样用互信息度来衡量其相似程度。重复该实验100次,得到的结果请参阅图3,其中,实线表示使用本发明实施例提供的社团检测算法的互信息度,虚线为使用现有技术的Barber的算法的互信息度,不难看出,在应用于实际的数据时,本发明实施例的互信息度更高,网络利用效率更好。
图4示出了本发明实施例提供的二分网络中社团检测装置的结构。
节点集获取模块41获取二分网络的节点集,所述节点集由多个社团构成,所述社团包括同一类型的多个节点。
其中,所述节点集获取模块具体包括节点获取模块411和社团构造模块412:
节点获取模块411获取二分网络中的各个节点;
社团构造模块412,用于将获取的节点按照类型组成相应的社团,其中,每个类型的节点组成一个社团;所述多个社团构成二分网络中的节点集。
模块度值获取模块42获取所述节点集的模块度值,其中,所述模块度值为对属于同一类型的所有节点对的差异值取和;
节点移动计算模块43对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量;
节点划分模块44选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点的新的划分社团;
节点移动判断模块45判断是否有节点移动,若是,则所述节点移动计算模块43计算从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的各个社团模块度值的增加量;
若没有节点移动,则二分网络构造模块46根据新的划分出的社团重新构造二分网络。
二分网络输出模块47输出重新构造的二分网络。
其中,所述模块度值获取模块42通过以下公式计算获取模块度值:
Q = Σ i = 1 p Σ j = 1 p ( Σ a = 1 q w ia w ja - Σ a = 1 q m a 2 · t i t j m 2 ) δ ( g i , g j )
其中,假设二分网络中存在两种类型的节点A和B,并设属于类型A的节点的数目为p,属于类型B的节点的数目为q,如果节点i属于类型A,则与i连接的所有边的权重之和表示为ti;与j连接的所有边的权重之和表示为tj,如果节点j属于类型B,则与j连接的所有边的权重之和表示为mj。设网络中所有边的权重之和为m。如果节点i和a之间存在边,则wia表示该边的权重。上式中δ(gi,gj)的值为1,当且仅当节点i和j属于同一个社团。wiawja表示从节点i出发经过邻居节点a,再到节点j的一条路径的长度;
Figure GSA00000013521600151
表示从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600152
从节点i到节点a的边的权重;
Figure GSA00000013521600153
从节点a到节点j的边的权重;
Figure GSA00000013521600154
从节点i出发经过节点a再到节点j的一条路径的长度;
Figure GSA00000013521600155
从节点i到节点j的所有路径的长度之和;
Figure GSA00000013521600156
表示一个节点对(i,j)之间的所有路径长度之和的差异值,最后模块度Q即为对属于同一类型的所有节点对的差异值取和。具体的计算获取过程在上文已有详细的描述,此处不再赘述。
本发明实施例通过定义一模块度值,所述模块度值为对属于同一类型的所有节点对(i,j)之间的所有路径长度之和的差异值取和,并获取所述节点集的模块度值,对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量,选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点的新的划分社团,根据新的划分出的社团重新构造二分网络,有效的避免了Barber所提的模块度定义所蕴含的前提的限制,同时又将二分网络的边的权重信息考虑进去,提高了网络社团中各个节点的被查找几率,进而提高了网络的利用效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种二分网络中社团检测方法,其特征在于,所述方法包括以下步骤:
获取二分网络的节点集,所述节点集由多个社团构成,所述社团包括同一类型的多个节点;
获取所述节点集的模块度值,其中,所述模块度值为对属于同一类型的所有节点对之间的所有路径长度之和的差异值取和;
对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量;
选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点的新的划分社团;
根据新的划分出的社团重新构造二分网络。
2.如权利要求1所述的二分网络中社团检测方法,其特征在于,所述获取所述节点集的模块度值时,使用以下计算公式:
Q = Σ i = 1 p Σ j = 1 p ( Σ a = 1 q w ia w ja - Σ a = 1 q m a 2 · t i t j m 2 ) δ ( g i , g j )
其中,Q为模块度,所述二分网络中存在两种类型的节点A和B,属于类型A的节点的数目为p,属于类型B的节点的数目为q;节点i属于类型A,节点j属于类型B;与i连接的所有边的权重之和表示为ti,与j连接的所有边的权重之和表示为tj;网络中所有边的权重之和为m;节点i和j属于同一个社团,δ(gi,gj)的值为1;wiawja表示从节点i出发经过邻居节点a,再到节点j的一条路径的长度;
Figure FSA00000013521500012
表示从节点i到节点j的所有路径的长度之和;
Figure FSA00000013521500013
从节点i到节点a的边的权重;从节点a到节点j的边的权重;
Figure FSA00000013521500021
从节点i出发经过节点a再到节点j的一条路径的长度;
Figure FSA00000013521500022
从节点i到节点j的所有路径的长度之和;
Figure FSA00000013521500023
表示一个节点对(i,j)之间的所有路径长度之和的差异值。
3.如权利要求1所述的二分网络中社团检测方法,其特征在于,在所述获取二分网络中的每个类型的节点集的步骤之前,所述方法还包括:
获取二分网络中的各个节点;
将获取的节点按照类型组成相应的社团,其中,每个类型的节点组成一个社团;所述多个社团构成二分网络中的节点集。
4.如权利要求1所述的二分网络中社团检测方法,其特征在于,所述方法还包括:
判断是否有节点移动,若是,则继续进行以下步骤:计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的各个社团模块度值的增加量;
若没有节点移动,则进行如下步骤:根据新的划分出的社团重新构造二分网络。
5.如权利要求1所述的二分网络中社团检测方法,其特征在于,所述根据新的划分出的社团重新构造二分网络的步骤之后,所述方法还包括:
输出重新构造的二分网络。
6.一种二分网络中社团检测装置,其特征在于,所述装置包括:
节点集获取模块,用于获取二分网络的节点集,所述节点集由多个社团构成,所述社团包括同一类型的多个节点;
模块度值获取模块,用于获取所述节点集的模块度值,其中,所述模块度值为对属于同一类型的所有节点对之间的所有路径长度之和的差异值取和;
节点移动计算模块,用于对二分网络中的每个社团的任一节点,计算该节点从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的节点集的模块度值的增加量;
节点划分模块,用于选取使得所述二分网络的节点集的模块度值的增加量最大的社团作为该节点的新的划分社团;以及
二分网络构造模块,用于根据新的划分出的社团重新构造二分网络。
7.如权利要求6所述的二分网络中社团检测装置,其特征在于,所述模块度值获取模块通过以下公式计算获取模块度值:
Q = Σ i = 1 p Σ j = 1 p ( Σ a = 1 q w ia w ja - Σ a = 1 q m a 2 · t i t j m 2 ) δ ( g i , g j )
其中,Q为模块度,所述二分网络中存在两种类型的节点A和B,属于类型A的节点的数目为p,属于类型B的节点的数目为q;节点i属于类型A,节点j属于类型B;与i连接的所有边的权重之和表示为ti,与j连接的所有边的权重之和表示为tj;网络中所有边的权重之和为m;节点i和j属于同一个社团,δ(gi,gj)的值为1;wiawja表示从节点i出发经过邻居节点a,再到节点j的一条路径的长度;表示从节点i到节点j的所有路径的长度之和;
Figure FSA00000013521500033
从节点i到节点a的边的权重;
Figure FSA00000013521500034
从节点a到节点j的边的权重;
Figure FSA00000013521500035
从节点i出发经过节点a再到节点j的一条路径的长度;
Figure FSA00000013521500036
从节点i到节点j的所有路径的长度之和;
Figure FSA00000013521500037
表示一个节点对(i,j)之间的所有路径长度之和的差异值。
8.如权利要求6所述的二分网络中社团检测装置,其特征在于,所述节点集获取模块具体包括:
节点获取模块,用于获取二分网络中的各个节点;
社团构造模块,用于将获取的节点按照类型组成相应的社团,其中,每个类型的节点组成一个社团;所述多个社团构成二分网络中的节点集。
9.如权利要求6所述的二分网络中社团检测装置,其特征在于,所述装置还包括:
节点移动判断模块,用于判断是否有节点移动,若是,则所述节点移动计算模块计算从当前其所属的社团移动到所述节点集的其它社团时,所述二分网络的各个社团模块度值的增加量;
若没有节点移动,则所述二分网络构造模块根据新的划分出的社团重新构造二分网络。
10.如权利要求6所述的二分网络中社团检测装置,其特征在于,所述装置还包括:
二分网络输出模块,用于输出重新构造的二分网络。
CN 201010108846 2010-02-04 2010-02-04 一种二分网络中社团检测方法及装置 Active CN102148717B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010108846 CN102148717B (zh) 2010-02-04 2010-02-04 一种二分网络中社团检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010108846 CN102148717B (zh) 2010-02-04 2010-02-04 一种二分网络中社团检测方法及装置

Publications (2)

Publication Number Publication Date
CN102148717A true CN102148717A (zh) 2011-08-10
CN102148717B CN102148717B (zh) 2013-08-21

Family

ID=44422734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010108846 Active CN102148717B (zh) 2010-02-04 2010-02-04 一种二分网络中社团检测方法及装置

Country Status (1)

Country Link
CN (1) CN102148717B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521609A (zh) * 2011-12-02 2012-06-27 湖南大学 基于分布式压缩传感的近红外与可见光图像人脸识别方法
CN103207884A (zh) * 2012-11-23 2013-07-17 浙江工业大学 一种加权网络间的权重迭代节点匹配方法
CN103325061A (zh) * 2012-11-02 2013-09-25 中国人民解放军国防科学技术大学 一种社区发现方法和系统
TWI470448B (zh) * 2013-01-09 2015-01-21 Univ Nat Taiwan 針對物件之間轉移考慮時序關係的二分網路投影方法、產生物件熱門度指數的方法、估算轉移機率的方法以及未發生事件的連結預測方法
CN104484344A (zh) * 2014-11-27 2015-04-01 北京理工大学 一种社会网络中社团成员层次结构的探测方法
CN104731962A (zh) * 2015-04-03 2015-06-24 重庆邮电大学 一种社交网络中基于相似社团的好友推荐方法及系统
CN107885778A (zh) * 2017-10-12 2018-04-06 浙江工业大学 一种基于动态临近点谱聚类的个性化推荐方法
CN108648094A (zh) * 2018-05-08 2018-10-12 阿里巴巴集团控股有限公司 一种社区发现方法、装置以及设备
CN110310697A (zh) * 2019-06-19 2019-10-08 江南大学 一种动态残基相互作用网络的社团检测方法
CN110598128A (zh) * 2019-09-11 2019-12-20 西安电子科技大学 一种对抗女巫攻击的用于大规模网络的社团检测方法
CN111684531A (zh) * 2018-01-22 2020-09-18 X开发有限责任公司 分析和优化代谢的方法
CN112347246A (zh) * 2020-10-15 2021-02-09 中科曙光南京研究院有限公司 一种基于谱分解的自适应文档聚类方法及系统
CN113793643A (zh) * 2021-08-19 2021-12-14 天津科技大学 一种基于图论和贪婪算法挖掘组学数据的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202477A1 (en) * 2002-04-25 2003-10-30 Samsung Electronics Co., Ltd. Method for bluetooth on-demand routing and network formation, and communication method in bluetooth group ad hoc network
EP1389843A1 (en) * 2002-08-05 2004-02-18 Alcatel M:N path protection
CN101594677A (zh) * 2009-06-25 2009-12-02 北京航空航天大学 一种基于分簇的非规则Ad hoc网络节点自定位系统
CN101605064A (zh) * 2009-07-10 2009-12-16 西北工业大学 基于端到端测量的网络拓扑结构构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202477A1 (en) * 2002-04-25 2003-10-30 Samsung Electronics Co., Ltd. Method for bluetooth on-demand routing and network formation, and communication method in bluetooth group ad hoc network
EP1389843A1 (en) * 2002-08-05 2004-02-18 Alcatel M:N path protection
CN101594677A (zh) * 2009-06-25 2009-12-02 北京航空航天大学 一种基于分簇的非规则Ad hoc网络节点自定位系统
CN101605064A (zh) * 2009-07-10 2009-12-16 西北工业大学 基于端到端测量的网络拓扑结构构建方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521609A (zh) * 2011-12-02 2012-06-27 湖南大学 基于分布式压缩传感的近红外与可见光图像人脸识别方法
CN103325061A (zh) * 2012-11-02 2013-09-25 中国人民解放军国防科学技术大学 一种社区发现方法和系统
CN103207884A (zh) * 2012-11-23 2013-07-17 浙江工业大学 一种加权网络间的权重迭代节点匹配方法
CN103207884B (zh) * 2012-11-23 2016-05-18 浙江工业大学 一种加权网络间的权重迭代节点匹配方法
TWI470448B (zh) * 2013-01-09 2015-01-21 Univ Nat Taiwan 針對物件之間轉移考慮時序關係的二分網路投影方法、產生物件熱門度指數的方法、估算轉移機率的方法以及未發生事件的連結預測方法
CN104484344A (zh) * 2014-11-27 2015-04-01 北京理工大学 一种社会网络中社团成员层次结构的探测方法
CN104484344B (zh) * 2014-11-27 2017-07-28 北京理工大学 一种社会网络中社团成员层次结构的探测方法
CN104731962B (zh) * 2015-04-03 2018-10-12 重庆邮电大学 一种社交网络中基于相似社团的好友推荐方法及系统
CN104731962A (zh) * 2015-04-03 2015-06-24 重庆邮电大学 一种社交网络中基于相似社团的好友推荐方法及系统
CN107885778A (zh) * 2017-10-12 2018-04-06 浙江工业大学 一种基于动态临近点谱聚类的个性化推荐方法
CN107885778B (zh) * 2017-10-12 2020-08-04 浙江工业大学 一种基于动态临近点谱聚类的个性化推荐方法
CN111684531A (zh) * 2018-01-22 2020-09-18 X开发有限责任公司 分析和优化代谢的方法
CN111684531B (zh) * 2018-01-22 2023-09-29 X开发有限责任公司 分析和优化代谢网络的方法
CN108648094A (zh) * 2018-05-08 2018-10-12 阿里巴巴集团控股有限公司 一种社区发现方法、装置以及设备
CN110310697A (zh) * 2019-06-19 2019-10-08 江南大学 一种动态残基相互作用网络的社团检测方法
CN110598128A (zh) * 2019-09-11 2019-12-20 西安电子科技大学 一种对抗女巫攻击的用于大规模网络的社团检测方法
CN112347246A (zh) * 2020-10-15 2021-02-09 中科曙光南京研究院有限公司 一种基于谱分解的自适应文档聚类方法及系统
CN112347246B (zh) * 2020-10-15 2024-04-02 中科曙光南京研究院有限公司 一种基于谱分解的自适应文档聚类方法及系统
CN113793643A (zh) * 2021-08-19 2021-12-14 天津科技大学 一种基于图论和贪婪算法挖掘组学数据的方法

Also Published As

Publication number Publication date
CN102148717B (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
CN102148717B (zh) 一种二分网络中社团检测方法及装置
Xuan et al. Subgraph networks with application to structural feature space expansion
Cao et al. Incorporating network structure with node contents for community detection on large networks using deep learning
CN103325061B (zh) 一种社区发现方法和系统
Tabrizi et al. Personalized pagerank clustering: A graph clustering algorithm based on random walks
Yang et al. Discovering communities from social networks: Methodologies and applications
Jiao et al. A novel next new point-of-interest recommendation system based on simulated user travel decision-making process
CN110532436A (zh) 基于社区结构的跨社交网络用户身份识别方法
CN107391542A (zh) 一种基于文件知识图谱的开源软件社区专家推荐方法
CN108009575A (zh) 一种用于复杂网络的社区发现方法
Li et al. Evolutionary community discovery in dynamic social networks via resistance distance
Chen et al. Attributed graph clustering with subspace stochastic block model
Li et al. Overlap community detection using spectral algorithm based on node convergence degree
Zhang et al. Algorithm analysis for big data in education based on depth learning
CN109949174A (zh) 一种异构社交网络用户实体锚链接识别方法
Wan et al. Identification of important nodes in multilayer heterogeneous networks incorporating multirelational information
Sun et al. A parallel self-organizing overlapping community detection algorithm based on swarm intelligence for large scale complex networks
Sheng et al. Community detection based on human social behavior
Wang et al. Sampling subgraph network with application to graph classification
Zhang et al. Trapping in scale-free networks with hierarchical organization of modularity
Li et al. Efficient community detection in heterogeneous social networks
Jiang et al. Dynamic community detection based on game theory in social networks
Xu et al. GripNet: Graph information propagation on supergraph for heterogeneous graphs
Lou et al. Finding communities in weighted networks through synchronization
Wang et al. Motif-based graph attentional neural network for web service recommendation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant