CN110719224B - 一种基于标签传播的拓扑势社区检测方法 - Google Patents
一种基于标签传播的拓扑势社区检测方法 Download PDFInfo
- Publication number
- CN110719224B CN110719224B CN201910917913.2A CN201910917913A CN110719224B CN 110719224 B CN110719224 B CN 110719224B CN 201910917913 A CN201910917913 A CN 201910917913A CN 110719224 B CN110719224 B CN 110719224B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- community
- subgroup
- communities
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于标签传播的拓扑势社区检测方法,具体按照以下步骤实施:步骤1,根据节点间的链接属性和节点的信息属性,利用标签传播的思想,计算节点间的链接权重R;步骤2,将链接权重加入拓扑势域公式中,计算每个节点的拓扑势值;步骤3,利用每个节点拓扑势值进行社区划分,以局部最高拓扑势值的节点作为社区的核心节点,从核心节点出发进行社区的划分;步骤4,对划分好的子群社区根据核心节点间的距离以及属性特征,将子群社区进行合并。本发明的目的是提供一种基于标签传播的拓扑势社区检测方法,解决了现有技术中存在的社区划分数量过多、社区包含节点过少的问题。
Description
技术领域
本发明属于网络数据处理方法技术领域,具体为涉及一种基于标签传播的拓扑势社区检测方法。
背景技术
在现实世界中,很多复杂的***都可以抽象为一个复杂网络,如计算机网络、信息网络、社会网络和生物网络等。由此,社区检测问题对于研究复杂网络以及我们生活有着重要的意义。通常来说,社区检测就是将链接最为紧密的节点划分为同一个社区。通过社区检测可以帮助我们更好的了解整个社交网络,进而更好的利用资源。而且实际上例如Facebook这类朋友关系的社交网络上,利用社区检测我们可以进行朋友推荐。另外我们也可以用社区检测对具有链接关系并且同兴趣的用户进行兴趣推送。甚至我们也可以用于交通网络中分析交通对城市功能社区(商业区、居民区、学校等)分布之间的关系。
目前,社区检测的方法被提出很多,基于图分割的社区检测是需要提前定义分割社区的个数和社区的体积,通过最小化社区间的链接边的数量实现社区划分,如Kemighan-Lin方法和谱划分方法。基于聚类的社区检测是通过节点间的关系利用聚类的思想将其进行社区检测,如GN方法、Newman贪心方法和k-means方法等。基于模块度最大化的社区检测是利用模块度获取最优的网络社区划分,如Louvain方法。基于非负矩阵的社区检测是利用非负矩阵的思想将节点的链接矩阵进行分解得到节点社区归属矩阵,如SACluster方法和BAGC方法和LANMF方法。基于标签的社区检测方法是每个节点随机生成标签,然后逐轮刷新所有节点的标签,直到所有节点的标签不再发生变化为止,如SLPA方法、CORP方法和LPPB方法等。而基于拓扑势域的社区检测是利用节点的链接信息构造拓扑势场,在拓扑势场里进行社区的划分。很多研究人员也根据拓扑势原理提出了很多改进方法。如DOCET方法就是在山谷结构的拓扑势场下基于节点位置的分析。但是DOCET方法在实验过程中发现,虽然模块度值高,但是社区的划分数量大。而且社区网络越来越复杂,真实数据集出现了很多少量节点为一组与大社区孤立的情况。利用拓扑势原理进行社区划分,会造成很多3、4节点孤立为一个社区的现象出现,这种孤立社区的出现为现实的推送,社区的扩展问题等带来影响。
发明内容
本发明的目的是提供一种基于标签传播的拓扑势社区检测方法,解决了现有技术中存在的社区划分数量过多、社区包含节点过少的问题。
本发明所采用的技术方案是,一种基于标签传播的拓扑势社区检测方法,具体按照以下步骤实施:
步骤1,根据节点间的链接属性和节点的信息属性,利用标签传播的思想,计算节点间的链接权重R;
步骤2,将步骤1得到的链接权重加入拓扑势域公式中,计算每个节点的拓扑势值;
步骤3,利用步骤2计算的每个节点拓扑势值进行社区划分,以局部最高拓扑势值的节点作为社区的核心节点,从核心节点出发进行社区的划分;
步骤4,对步骤3划分好的子群社区根据核心节点间的距离以及属性特征,将子群社区进行合并。
本发明的特征还在于,
步骤1具体为:
步骤1.1,利用LeaderRank算法计算网络G=(V,E)中每个节点的LR值,
其中,aji表示节点vj到节点vi是否有链接,有为1,无为0;表示节点vj的出度个数,N表示节点的总个数,LRi(t)表示vi节点在t时刻的得分,LRi(t+1)表示vi节点在t+1时刻的得分,LRi(tc)表示tc时刻节点vi的得分,g为LeaderRank算法中引入的背景节点,LRg(tc)为节点g在tc时刻的得分,LRi表示vi节点最终的得分;
步骤1.2,设传播特性为k,计算标签从节点vj到节点vi的传播特性度量值ki←j,
其中,LRi表示vi节点最终的得分,LRj表示vj节点最终的得分;
步骤1.3,计算节点间的标签传播概率,即就是边的权值,节点vj到节点vi的标签传播概率P(i←j)为:
P(i←j)=Si,j×ki←j×δ(i,j)
其中,Si,j为节点vi和vj的相似性度量,ki←j为标签从节点vj到节点vi的传播特性度量,δ(i,j)为邻接矩阵;
节点j到节点i的标签传播概率体现了标签从节点j传播到节点i的能力,即就是节点j到节点i的有向边的权值,即节点间的链接权重,即Rij=P(j←i)。
步骤2中每个节点的拓扑势值计算公式如下:
其中,n为节点数,dij表示节点vi与节点vj之间的网络距离或跳数,σ为影响因子,用于控制每个节点的影响范围,m(j)表示节点vj的质量,用来描述每个节点的固有属性,P(j→i)为标签从节点vj传播到节点vi的概率,rij为节点vi和节点vj的环境影响因子。
步骤3具体为:
步骤3.1,将每个节点与其邻居节点的拓扑势值作比较,将拓扑势局部最大值的节点作为子群社区的核心节点;
步骤3.2,将步骤3.1确定的核心节点的邻居节点进行节点的划分,划分为该子群的重叠节点、内部节点、边缘节点;
步骤3.3,对所有内部节点的邻居节点进行节点的划分;
步骤3.4,重复步骤3.3,直到内部节点的所有邻居节点都被划分或不满足重叠节点、内部节点、边缘节点的定义为止,完成社区的划分。
步骤3.1的核心节点确定方法为:
在一个社交网络G=(V,E)中,存在节点vi,其邻居节点的集合为Ni,若φ(i)>φ(j),则节点vi是拓扑势域的局部最高点,拓扑势局部的最高点,也就是当前子群社区的核心节点,即节点vi为子群社区的核心节点。
重叠节点的确定方法为:
内部节点的确定方法为:
在一个社交网络G=(V,E)中,某节点vi的邻居节点为Ni,内部节点满足下面任意一种情况成立:
(2)如果φ(vi)<φ(vj)并且节点vi处在两个同核心节点的社区的山谷的位置,这该节点是社区的内部节点。
边缘节点的确定方法为:
在一个社交网络G=(V,E)中,某节点vi的邻居节点为Ni,Coverlap是重叠节点的集合,Cno-overlap是不重叠节点的集合;
(1)如果vi∈Coverlap,则节点vi是边缘节点;
步骤4具体为:
步骤4.1,计算核心节点间的距离
在子群社区划分中,拓扑势值为局部最大值的节点核心节点视为山峰节点,而一个山峰节点对应一个社区;
(1)若两个子群社区不重叠但边缘节点相连接
当两个子群社区没有重叠节点,但它们之间的边缘节点是相互连接的时,选取边缘节点到到其自身归属的子群社区的核心节点的最短距离为两个子群社区不重叠但边缘节点相连接的距离CCD;
(2)若子群社区不重叠并且边缘节点相也不连接
采用边缘节点探测方法进行计算不重叠且边缘节点不相连的两个子群社区的核心节点间的距离,具体为:利用当前子群社区的边缘节点,根据设置的步长向子群社区外部进行跳转,每当跳到下一个节点,首先判断当前节点是否归属于其他子群社区,若是,根据跳转的步长已及初始节点和当前节点的信息计算两个社区的距离,若否,跳转到下一个节点,跳转即在原步长的基础上加上跳转步长,其中,探测的步长设置为当前边缘节点到达子群社区核心节点的欧式距离的1/2;
(3)若子群社区间重叠,则根据子群社区间的重叠节点到达核心节点的距离进行加和,最终取其最短的路径长度作为两个子群社区核心节点间的距离;
对于子群社区间的距离的计算,首先分别对上述三种情况进行处理和计算得到社区的最短距离,然后将三种情况的结果进行比较取其最小值,最终得到相近两两社区的最短距离,即核心节点间的距离;
步骤4.2,子群社区合并
在子群社区划分后,需要将子群社区根据稀疏分布情况进行划分,若和其他社区之间没有连接关系则为稀疏子群社区,所以子群社区合并分为邻子群社区合并和稀疏子群社区合并两种:
(1)相邻子群社区合并
相邻的两个社区之间核心节点的最短路径存放在CCD中,计算d=max(CCD),设置为合并参数取值0-1,为合并距离,当时,将两个社区进行合并,随机将两个子群社区中的一个核心节点设置为合并后社区的核心节点,其中CCDij为相邻的两个社区核心节点i和j之间的最短路径;
(2)稀疏子群社区合并
稀疏子群社区为和其他社区之间没有连接关系的子群社区,因此稀疏的子群社区通过其核心节点的信息属性进行合并,即心节点所具有的所有属性信息进行合并,将核心节点的信息属性相同的稀疏子群社区合并成为一个大社区。
本发明的有益效果是:本发明一种基于标签传播的拓扑势社区检测方法同时引入了节点的链接信息和属性信息构造节点间的属性特征,使得社区的划分更符合现实场景的需要,不在是单一的考虑链接信息或者属性信息,采用核心节点间的距离以及属性特征进行社区合并,解决了采用局部最高拓扑势的节点作为社区的核心节点进行社区的划分而导致划分的社区数量过多,社区包含节点过少等问题,并且还保证了社区划分的质量。
附图说明
图1是本发明两个子群社区不重叠但边缘节点相连接的示意图;
图2是本发明两个子群社区不重叠并且边缘节点相也不连接的示意图;
图3是本发明两个子群社区间重叠的示意图;
图4是citeseer数据集的节点分布图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于标签传播的拓扑势社区检测方法,具体按照以下步骤实施:
步骤1,根据节点间的链接属性和节点的信息属性,利用标签传播的思想,计算节点间的链接权重R;具体为:
步骤1.1,LeaderRank方法提到社交网络不是一个强连通图,所以引入一个背景节点g(Ground Node),与其他节点相互连接,使社交网络变成一个强连通图;
利用LeaderRank算法计算网络G=(V,E)中每个节点的LR值,
其中,aji表示节点vj到节点vi是否有链接,有为1,无为0;表示节点vj的出度个数,N表示节点的总个数,LRi(t)表示vi节点在t时刻的得分,LRi(t+1)表示vi节点在t+1时刻的得分,LRi(tc)表示tc时刻节点vi的得分,g为LeaderRank算法中引入的背景节点,LRg(tc)为节点g在tc时刻的得分,LRi表示vi节点最终的得分;
步骤1.2,设传播特性为k,计算标签从节点vj到节点vi的传播特性度量值ki←j,
其中,LRi表示vi节点最终的得分,LRj表示vj节点最终的得分;
步骤1.3,计算节点间的标签传播概率,即就是边的权值,节点vj到节点vi的标签传播概率P(i←j)为:
P(i←j)=Si,j×ki←j×δ(i,j)
其中,Si,j为节点vi和vj的相似性度量,ki←j为标签从节点vj到节点vi的传播特性度量,δ(i,j)为邻接矩阵;
节点j到节点i的标签传播概率体现了标签从节点j传播到节点i的能力,即就是节点j到节点i的有向边的权值,即节点间的链接权重,即Rij=P(j←i)。
步骤2,拓扑势方法利用的是链接关系构造拓扑势场,没有考虑过结节间的属性关系;社区的定义是将具有链接紧密程度的节点化为一个社区,但是结节间的属性关系同样会影响到社区划分的质量和现实场景的应用;
由此,改变拓扑势的公式,利用节点间的属性关系和链接关系构造节点间拓扑势的环境影响因子rij,也就是节点i和节点j之间的拓扑势会受到环境影响因子影响,改变后拓扑势的公式如下所示;
将步骤1得到的链接权重加入拓扑势域公式中,计算每个节点的拓扑势值,公式如下:
其中,n为节点数,dij表示节点vi与节点vj之间的网络距离或跳数,σ为影响因子,用于控制每个节点的影响范围,m(j)表示节点vj的质量,用来描述每个节点的固有属性,P(j→i)为标签从节点vj传播到节点vi的概率,rij为节点vi和节点vj的环境影响因子。
步骤3,利用步骤2计算的每个节点拓扑势值进行社区划分,以局部最高拓扑势值的节点作为社区的核心节点,从核心节点出发进行社区的划分,具体为:
步骤3.1,将每个节点与其邻居节点的拓扑势值作比较,将拓扑势局部最大值的节点作为子群社区的核心节点;其中,核心节点确定方法为:
通过节点拓扑势的计算,将网络的链接结构转变成山脉形状的拓扑势场,社区的划分就如同山的划分,每一座山都有山峰、山谷和斜坡,对应社区的核心节点、重叠节点以及内部节点,社区的划分就如同山范围的划分,从山峰出发自上而下。
在一个社交网络G=(V,E)中,存在节点vi,其邻居节点的集合为Ni,若φ(i)>φ(j),则节点vi是拓扑势域的局部最高点,拓扑势局部的最高点,也就是当前子群社区的核心节点,即节点vi为子群社区的核心节点;
通过上述的定义,可以看出核心节点是局部最高点,也就是山峰节点。如果根据当前的核心节点进行社区划分,将会影响社区划分的质量和数量。由此,当前通过核心节点划分的社区被称为子群社区,后续需要进一步处理。拓扑势局部的最高点,也就是当前子群社区的核心节点;
步骤3.2,将步骤3.1确定的核心节点的邻居节点进行节点的划分,划分为该子群的重叠节点、内部节点、边缘节点;
其中,重叠节点的确定方法为:
山谷节点不一定是重叠节点,如果山谷节点刚好位于相同核心节点的社区之间,那么山谷节点就直接归属于它邻居节点所在的社区,由此,山谷节点vi处在两个不同核心节点的社区之间,才能被称为重叠节点;
内部节点的确定方法为:
在一个社交网络G=(V,E)中,某节点vi的邻居节点为Ni,内部节点满足下面任意一种情况成立:
(2)如果φ(vi)<φ(vj)并且节点vi处在两个同核心节点的社区的山谷的位置,这该节点是社区的内部节点;
内部节点分为两种情况,第一种情况可以根据节点处于斜坡位置直接判断该节点为内部节点。而第二种情况比较复杂,需要对山谷的节点进行判断。由于社区的划分不是一个并行的过程,所以当碰到山谷位置的节点时需要该节点的邻居节点社区已经划分完毕才能进行判断该节点是内部节点还是重叠节点。在社区划分的最后需要再对标记为山谷的节点进行再一次的判断处理;
边缘节点的确定方法为:
在一个社交网络G=(V,E)中,某节点vi的邻居节点为Ni,Coverlap是重叠节点的集合,Cno-overlap是不重叠节点的集合;
(1)如果vi∈Coverlap,则节点vi是边缘节点;
边缘节点可以是社区的内部节点也可以是社区的重叠节点,每个节点vi都记录它到它归属社区的核心节点的最短距离NCDi;理论上而言,大部分的边缘节点距离核心节点的距离最远,但是它却是相近两两社区的沟通桥梁;即根据边缘节点可获取到相近两两社区的核心节点距离;
步骤3.3,对所有内部节点的邻居节点进行节点的划分;
步骤3.4,重复步骤3.3,直到内部节点的所有邻居节点都被划分或不满足重叠节点、内部节点、边缘节点的定义为止,完成社区的划分。
步骤4,对步骤3划分好的子群社区根据核心节点间的距离以及属性特征,将子群社区进行合并;
在子群社区划分中,拓扑势值为局部最大值的节点视为山峰节点,而一个上峰节点对应一个社区,但是子群社区划分中存在两种情况。第一种情况:如果社交网络数据集节点链接稀疏、节点度数相似,很容易导致划分出的社区数量过多,社区包含节点过少等问题,从而影响到社区的划分质量和现实的应用。所以将根据山峰节点之间的距离对子群社区之间的合并做出决策。第二种情况:划分出的社区没有路径联系到对方,也就是存在孤立的子群社区。这种孤立的子群社区不能通过核心节点间的距离关系进行合并,因此提出了一个规范,将孤立的子群社区进行合并,从而降低社区的数量。
具体为:
步骤4.1,计算核心节点间的距离
在子群社区划分中,拓扑势值为局部最大值的节点核心节点视为山峰节点,而一个山峰节点对应一个社区;
(1)若两个子群社区不重叠但边缘节点相连接,如图1所示
当两个子群社区没有重叠节点,但它们之间的边缘节点是相互连接的时,在这种情况下,由于每个边缘节点都存储了到达它自身归属的子群社区的最短距离NCD,可以利用边缘节点进行信息交互,得到两个子群社区的核心节点之间的距离,但是,边缘节点它自身归属的子群社区的核心节点的距离不一定相同,需要将选取其中最短的距离为两个子群社区不重叠但边缘节点相连接的距离CCD;
(2)若子群社区不重叠并且边缘节点相也不连接,如图2所示
子群社区的划分是根据节点的拓扑势值由高到低进行的,但是一旦碰到当前划分的节点其拓普势值为局部最低点的时候,也就是划分到山谷节点时,就结束当前子群社区的划分。通过这种方法划分出的子群社区其实会存在两个子群社区之间距离很近,但是由于它们的山谷节点中间连接节点的拓普势值相同,也就是两个子群社区之间的山谷区域是一块“小平原”。子群社区的划分只到达了这块“小平原”的边缘上节点上,所以不重叠且边缘节点不相连的两个子群社区可能其核心节点间的距离非常近。
采用边缘节点探测方法进行计算不重叠且边缘节点不相连的两个子群社区的核心节点间的距离,具体为:利用当前子群社区的边缘节点,根据设置的步长向子群社区外部进行跳转,每当跳到下一个节点,首先判断当前节点是否归属于其他子群社区,若是,根据跳转的步长已及初始节点和当前节点的信息计算两个社区的距离,若否,跳转到下一个节点,跳转即在原步长的基础上加上跳转步长;由于数据集的节点数量多,节点关系复杂,不能预测是否能找到距离最近的子群社区,所以在做边缘探测的时候,设置的探测的步长,其步长的值设置为当前边缘节点到达子群社区核心节点的欧式距离的1/2。
(3)若子群社区间重叠,如图3所示,则根据子群社区间的重叠节点到达核心节点的距离进行加和,最终取其最短的路径长度作为两个子群社区核心节点间的距离;
对于子群社区间的距离的计算,首先分别对上述三种情况进行处理和计算得到社区的最短距离,然后将三种情况的结果进行比较取其最小值,最终得到相近两两社区的最短距离,即核心节点间的距离;
步骤4.2,子群社区合并
在子群社区划分后,需要将子群社区根据稀疏分布情况进行划分,若和其他社区之间没有连接关系则为稀疏子群社区,所以子群社区合并分为邻子群社区合并和稀疏子群社区合并两种:
(1)相邻子群社区合并
相邻的两个社区之间核心节点的最短路径存放在CCD中,计算d=max(CCD),设置为合并参数取值0-1,为合并距离,当时,将两个社区进行合并,随机将两个子群社区中的一个核心节点设置为合并后社区的核心节点,其中CCDij为相邻的两个社区核心节点i和j之间的最短路径;
(2)稀疏子群社区合并
稀疏子群社区为和其他社区之间没有连接关系的子群社区,如图4所示,因此稀疏的子群社区通过其核心节点的信息属性进行合并,即心节点所具有的所有属性信息进行合并,将核心节点的信息属性相同的稀疏子群社区合并成为一个大社区。
本发明一种基于标签传播的拓扑势社区检测方法,在构造节点链接权重时,利用标签传播方法同时引入了节点的链接信息和属性信息,从而有效地发现成员链接紧密且属性高度相同的社区,解决了现有的复杂网络社区挖掘方法单一地利用节点的链接信息或属性信息的问题。通过采用社区间的核心节点间的距离以及属性特征进行社区合并,解决由于采用局部最高拓扑势的节点作为社区的核心节点进行社区的划分而导致划分出的社区数量过多,社区包含节点过少等问题。
为了验证方法的有效性,选择了3个同时拥有链接和属性的社区网络数据集(Citeseer dataset,,Cora dataset,WebKB dataset)和5个无属性的社交网络数据集(facebook_combined dataset,email-Eu-core dataset,p2p-Gnutella06 dataset,CA-GrQc dataset,hep-th datase)进行实验;
为了评价改进的算法,实验采用改进的模块度、信息熵Entropy、社区重叠度Overlap和综合指标F作为评估指标来观测算法对社区划分的质量。
本发明的方法中,合并参数决定了子群社区的社区合并结果,故需要对合并参数进行实验来确定合并参数的取值,将合并参数的值设置为0.2、0.5、0.8和1,得到实验结果:从社区数方面看,随着合并参数的增加,社区数量随之降低,然而,在不同的数据集中,不同参数变化对评估指标有不同的影响,最终从综合指标分析发现,在citeseer数据集和在cora数据集中参数设置为0.2时综合指标最高,但是在WebKB数据集中合并参数设置为0.5时综合指标最高,由此可以看出本发明的方法所用的合并参数取值在[0.2,0.5]之间最为合适。
在有属性数据集实验中,将子群社区的划分与合并进行详细的分析。为了更好的展示本算法的优越性,将本文提出的算法其他多种算法进行实验对比,通过实验分析,本文提出的方法比其它6个算法具有一定的优势,在无属性数据集的实验中,也能够发现本算法在无属性数据集中也具有一定的优势。
Claims (2)
1.一种基于标签传播的拓扑势社区检测方法,其特征在于,具体按照以下步骤实施:
步骤1,根据节点间的链接属性和节点的信息属性,利用标签传播的思想,计算节点间的链接权重R;
步骤2,将步骤1得到的链接权重加入拓扑势域公式中,计算每个节点的拓扑势值;
步骤3,利用步骤2计算的每个节点拓扑势值进行社区划分,以局部最高拓扑势值的节点作为社区的核心节点,从核心节点出发进行社区的划分;
步骤4,对步骤3划分好的子群社区根据核心节点间的距离以及属性特征,将子群社区进行合并;
所述步骤1具体为:
步骤1.1,利用LeaderRank算法计算网络G=(V,E)中每个节点的LR值,
其中,aji表示节点vj到节点vi是否有链接,有为1,无为0;表示节点vj的出度个数,N表示节点的总个数,LRi(t)表示vi节点在t时刻的得分,LRi(t+1)表示vi节点在t+1时刻的得分,LRi(tc)表示tc时刻节点vi的得分,g为LeaderRank算法中引入的背景节点,LRg(tc)为节点g在tc时刻的得分,LRi表示vi节点最终的得分;
步骤1.2,设传播特性为k,计算标签从节点vj到节点vi的传播特性度量值ki←j,
其中,LRi表示vi节点最终的得分,LRj表示vj节点最终的得分;
步骤1.3,计算节点间的标签传播概率,即就是边的权值,节点vj到节点vi的标签传播概率P(i←j)为:
P(i←j)=Si,j×ki←j×δ(i,j)
其中,Si,j为节点vi和vj的相似性度量,ki←j为标签从节点vj到节点vi的传播特性度量,δ(i,j)为邻接矩阵;
节点j到节点i的标签传播概率体现了标签从节点j传播到节点i的能力,即就是节点j到节点i的有向边的权值,即节点间的链接权重,即Rij=P(j←i);
所述步骤2中每个节点的拓扑势值计算公式如下:
其中,n为节点数,dij表示节点vi与节点vj之间的网络距离或跳数,σ为影响因子,用于控制每个节点的影响范围,m(j)表示节点vj的质量,用来描述每个节点的固有属性,P(j→i)为标签从节点vj传播到节点vi的概率,rij为节点vi和节点vj的环境影响因子;
所述步骤3具体为:
步骤3.1,将每个节点与其邻居节点的拓扑势值作比较,将拓扑势局部最大值的节点作为子群社区的核心节点;
步骤3.2,将步骤3.1确定的核心节点的邻居节点进行节点的划分,划分为该子群的重叠节点、内部节点、边缘节点;
步骤3.3,对所有内部节点的邻居节点进行节点的划分;
步骤3.4,重复步骤3.3,直到内部节点的所有邻居节点都被划分或不满足重叠节点、内部节点、边缘节点的定义为止,完成社区的划分;
所述步骤3.1的核心节点确定方法为:
在一个社交网络G=(V,E)中,存在节点vi,其邻居节点的集合为Ni,若φ(i)>φ(j),则节点vi是拓扑势域的局部最高点,拓扑势局部的最高点,也就是当前子群社区的核心节点,即节点vi为子群社区的核心节点;
所述重叠节点的确定方法为:
所述边缘节点的确定方法为:
在一个社交网络G=(V,E)中,某节点vi的邻居节点为Ni,Coverlap是重叠节点的集合,Cno-overlap是不重叠节点的集合;
(1)如果vi∈Coverlap,则节点vi是边缘节点;
所述步骤4具体为:
步骤4.1,计算核心节点间的距离
在子群社区划分中,拓扑势值为局部最大值的节点核心节点视为山峰节点,而一个山峰节点对应一个社区;
(1)若两个子群社区不重叠但边缘节点相连接
当两个子群社区没有重叠节点,但它们之间的边缘节点是相互连接的时,选取边缘节点到到其自身归属的子群社区的核心节点的最短距离为两个子群社区不重叠但边缘节点相连接的距离CCD;
(2)若子群社区不重叠并且边缘节点相也不连接
采用边缘节点探测方法进行计算不重叠且边缘节点不相连的两个子群社区的核心节点间的距离,具体为:利用当前子群社区的边缘节点,根据设置的步长向子群社区外部进行跳转,每当跳到下一个节点,首先判断当前节点是否归属于其他子群社区,若是,根据跳转的步长已及初始节点和当前节点的信息计算两个社区的距离,若否,跳转到下一个节点,跳转即在原步长的基础上加上跳转步长,其中,探测的步长设置为当前边缘节点到达子群社区核心节点的欧式距离的1/2;
(3)若子群社区间重叠,则根据子群社区间的重叠节点到达核心节点的距离进行加和,最终取其最短的路径长度作为两个子群社区核心节点间的距离;
对于子群社区间的距离的计算,首先分别对上述三种情况进行处理和计算得到社区的最短距离,然后将三种情况的结果进行比较取其最小值,最终得到相近两两社区的最短距离,即核心节点间的距离;
步骤4.2,子群社区合并
在子群社区划分后,需要将子群社区根据稀疏分布情况进行划分,若和其他社区之间没有连接关系则为稀疏子群社区,所以子群社区合并分为邻子群社区合并和稀疏子群社区合并两种:
(1)相邻子群社区合并
相邻的两个社区之间核心节点的最短路径存放在CCD中,计算d=max(CCD),设置为合并参数取值0-1,为合并距离,当时,将两个社区进行合并,随机将两个子群社区中的一个核心节点设置为合并后社区的核心节点,其中CCDij为相邻的两个社区核心节点i和j之间的最短路径;
(2)稀疏子群社区合并
稀疏子群社区为和其他社区之间没有连接关系的子群社区,因此稀疏的子群社区通过其核心节点的信息属性进行合并,即核心节点所具有的所有属性信息进行合并,将核心节点的信息属性相同的稀疏子群社区合并成为一个大社区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910917913.2A CN110719224B (zh) | 2019-09-26 | 2019-09-26 | 一种基于标签传播的拓扑势社区检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910917913.2A CN110719224B (zh) | 2019-09-26 | 2019-09-26 | 一种基于标签传播的拓扑势社区检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110719224A CN110719224A (zh) | 2020-01-21 |
CN110719224B true CN110719224B (zh) | 2021-08-06 |
Family
ID=69210925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910917913.2A Active CN110719224B (zh) | 2019-09-26 | 2019-09-26 | 一种基于标签传播的拓扑势社区检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110719224B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552797B (zh) * | 2020-04-30 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 名称预测模型的训练方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678669A (zh) * | 2013-12-25 | 2014-03-26 | 福州大学 | 一种社交网络中的社区影响力评估***及方法 |
CN103888541A (zh) * | 2014-04-01 | 2014-06-25 | 中国矿业大学 | 一种融合拓扑势和谱聚类的社区发现方法及*** |
CN106991614A (zh) * | 2017-03-02 | 2017-07-28 | 南京信息工程大学 | Spark下基于标签传播的并行重叠社区发现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500168B (zh) * | 2013-09-02 | 2017-03-15 | 中国矿业大学 | 一种基于拓扑势的重叠复杂网络社区发现方法及*** |
CN106708953A (zh) * | 2016-11-28 | 2017-05-24 | 西安电子科技大学 | 基于离散粒子群优化的局部社区检测协同过滤推荐方法 |
-
2019
- 2019-09-26 CN CN201910917913.2A patent/CN110719224B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678669A (zh) * | 2013-12-25 | 2014-03-26 | 福州大学 | 一种社交网络中的社区影响力评估***及方法 |
CN103888541A (zh) * | 2014-04-01 | 2014-06-25 | 中国矿业大学 | 一种融合拓扑势和谱聚类的社区发现方法及*** |
CN106991614A (zh) * | 2017-03-02 | 2017-07-28 | 南京信息工程大学 | Spark下基于标签传播的并行重叠社区发现方法 |
Non-Patent Citations (2)
Title |
---|
Overlapping community detection based on node location analysis;W. Zhi-Xiao, L. Ze-chao, D. Xiao-fang, and T. Jin-hui;《Knowle dge-Base d Systems》;20160514;第1-11页 * |
Q. Li, T. Zhou, L. Lü, and D. Chen.Identifying influential spreaders by.《Physica A 》.2014, * |
Also Published As
Publication number | Publication date |
---|---|
CN110719224A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Extracting urban functional regions from points of interest and human activities on location‐based social networks | |
Nettleton | Data mining of social networks represented as graphs | |
Li et al. | Multiple location profiling for users and relationships from social network and content | |
CN103795613B (zh) | 一种在线社交网络中朋友关系预测的方法 | |
Kaple et al. | Viral marketing for smart cities: Influencers in social network communities | |
Ferrara et al. | The role of strong and weak ties in Facebook: a community structure perspective | |
Taha | Disjoint community detection in networks based on the relative association of members | |
Maiya et al. | Expansion and search in networks | |
CN110719224B (zh) | 一种基于标签传播的拓扑势社区检测方法 | |
Jia et al. | HeDAN: Heterogeneous diffusion attention network for popularity prediction of online content | |
Kaveh et al. | Defining and measuring probabilistic ego networks | |
Ma et al. | Path-based estimation for link prediction | |
Wang et al. | Detecting overlapping communities in location-based social networks | |
Li et al. | Dynamic trustworthiness overlapping community discovery in mobile internet of things | |
CN112380455A (zh) | 基于反溯源安全受控入网通道的境内外互联网数据定向隐蔽采集方法 | |
CN115455302A (zh) | 一种基于优化图注意网络的知识图谱推荐方法 | |
Liu et al. | Community discovery in weighted networks based on the similarity of common neighbors | |
Muhuri et al. | An edge contribution-based approach to identify influential nodes from online social networks | |
Bhat et al. | A density-based approach for mining overlapping communities from social network interactions | |
Iqbal et al. | Association rule analysis-based identification of influential users in the social media | |
Liu | [Retracted] Group Relationship Mining of College Students Based on Predictive Social Network | |
Xue et al. | KMUL: a user identity linkage method across social networks based on spatiotemporal data | |
Yang et al. | Community detection method based on user influence probability and similarity | |
Chen et al. | Improved Affinity Propagation Clustering for Business Districts Mining | |
Zhubing et al. | An overview on overlapping community detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |