一种社交网络中的多标签传播重叠社区发现方法
【专利摘要】本发明涉及社交网络【技术领域】,特别是一种社交网络中的多标签传播重叠社区发现方法,包括如下步骤:读取社交网络数据,构造以社交网络用户为节点,用户关系为边的社交网络图;根据社交网络图,进行社交网络的初步社区划分,采用综合考虑节点中心度以及标签度分布约束的标签传播方法进行社区发现,获得非重叠社区结构;根据获得的非重叠社区结构以及节点在所属社区的中心度值,标记节点所属的层级;根据节点所属层级,计算不同层级节点之间的标签传播增益,并利用多标签传播进行重叠节点挖掘,得到社交网络的重叠社区结构。该方法可有效挖掘社交网络中的重叠社区结构,有利于提高社区检测的精度和效率,可应用于目标群体挖掘、精确营销等领域。
【专利说明】—种社交网络中的多标签传播重叠社区发现方法
【技术领域】
[0001]本发明涉及社交网络【技术领域】,特别是一种社交网络中的多标签传播重叠社区发现方法。
【背景技术】
[0002]从社会网络中检测社区结构是社会网络分析中的一项重要任务,无论是理论上还是实际应用中都具有十分重要的意义。通过挖掘网络中的社区结构,能够发现网络中隐含的组织结构信息、社会功能以及社区成员之间隐含的有趣属性,如共同爱好等。通过研究社会网络中社区之间、个体之间以及个体与社区之间的关系,可以挖掘出大量有价值的信息,可应用于许多领域。
[0003]针对社区发现,已经出现了很多经典的方法。2002年Girvan和Newman基于边介数,提出GN方法,并最早提出模块度Q值作为网络社区划分结果好坏的指标。总体上,社区发现的经典方法包括模块度优化算法、谱分析法、信息论方法以及标签传播方法等。在上述方法中,节点只能属于一个社区,但是真实的社会网络的社区往往是相互重叠的,即允许节点属于多个社区,如在一个社交网站上,一个用户会拥有多个朋友圈;科研工作者的研究领域经常存在交叉;在生物系统中,一种蛋白质通常存在于多种复合物。Palla,G.等基于CPM(Clique Percolation Method)思想,提出用于重叠社区发现的CFinder方法。方法将社区定义为相互连通的k-派系构成的集合,归属于多个k-派系社区的节点即为社区间的重叠节点,之后通过节点社区归属情况输出重叠社区,该方法适用于社区内聚强的网络,难以应用在情况复杂的大规模复杂网络。Ahn等基于边划分的思想,将原始网络中的边映射成新的网络的节点,再利用非重叠社区发现方法划分转换后的网络,则原始网络中连接不同社区的边的节点即为重叠节点。Lancichinetti等利用局部优化及拓展的方法,随机选取种子节点集合,种子节点根据局部优化策略不断向外扩张,直至获得评价函数最大的社区,但是方法对优化函数以及种子节点的选择敏感且算法时间复杂度在最坏情况下为0(n2)。考虑到节点与社区之间的隶属度,Zhang等利用谱分析法将图映射到低维的欧几里得空间,利用模糊C均值聚类进行重叠社区发现,该方法需要每个节点的隶属向量的维数做为算法参数。
[0004]上述重叠社区发现算法通常存在参数敏感或者时间复杂度高的问题,难以应用于大规模复杂网络的社区发现,Raghavan等提出标签传播方法用于社区发现,该算法具有线性时间复杂度,但是只能用于非重叠社区发现。LPA的一些扩展方法如COPRA、SLPA, MLPA等允许一个节点拥有多个标签,可用于重叠社区发现,但是上述方法的鲁棒性有待提高,当网络的社区结构不明显或社区之间的重叠程度较高时,社区挖掘精度大大降低
综上,现有的社会网络社区发现方法从发现的社区结构质量以及时间效率上看都尚有很大的提升空间。面对大规模社交网络的场景,现有方法无论实在效果和效率上都难以满足要求。
【发明内容】
[0005]本发明的目的在于提供一种社交网络中的多标签传播重叠社区发现方法,该方法有利于提闻社区检测的精度和效率。
[0006]为实现上述目的,本发明的技术方案是:一种社交网络中的多标签传播重叠社区发现方法,包括以下步骤:
步骤A:读取社交网络数据,构造以社交网络用户为节点,用户关系为边的社交网络
图;
步骤B:初步社区划分:根据社交网络图,采用综合考虑节点中心度以及标签度分布约束的标签传播方法进行社区发现,获得非重叠社区结构;
步骤C:节点层级标记:根据初步社区划分获得的非重叠社区结构以及节点在所属社区的中心度值,标记节点所属的层级;
步骤D:重叠社区细化:根据节点所属的层级,计算不同层级节点之间的标签传播增益,并利用多标签传播进行重叠节点挖掘,得到社交网络的重叠社区结构。
[0007]进一步地,所述步骤B中,社交网络的初步社区划分具体包括以下步骤:
步骤B1:根据社交网络图,进行节点标签初始化,为社交网络图中的每个节点分配一个全局唯一的标签号;
步骤B2:根据标签更新规则,对社交网络图中的每个节点进行标签更新,同时根据邻居节点信息更新节点的中心度值,反复迭代,直到满足迭代终止条件;
步骤B3:根据迭代终止时节点所分配的标签,将具有相同标签的节点归属到同一社区,输出非重叠社区结构。
[0008]进一步地,所述步骤B2中,综合考虑了节点中心度与标签度分布差异约束条件,进行标签更新,标签更新规则为:
【权利要求】
1.一种社交网络中的多标签传播重叠社区发现方法,其特征在于,所述方法包括以下步骤: 步骤A:读取社交网络数据,构造以社交网络用户为节点,用户关系为边的社交网络图; 步骤B:初步社区划分:根据社交网络图,采用综合考虑节点中心度以及标签度分布约束的标签传播方法进行社区发现,获得非重叠社区结构; 步骤C:节点层级标记:根据初步社区划分获得的非重叠社区结构以及节点在所属社区的中心度值,标记节点所属的层级; 步骤D:重叠社区细化:根据节点所属的层级,计算不同层级节点之间的标签传播增益,并利用多标签传播进行重叠节点挖掘,得到社交网络的重叠社区结构。
2.根据权利要求1所述的一种社交网络中的多标签传播重叠社区发现方法,其特征在于,所述步骤B中,社交网络的初步社区划分具体包括以下步骤: 步骤B1:根据社交网络图,进行节点标签初始化,为社交网络图中的每个节点分配一个全局唯一的标签号; 步骤B2:根据标签更新规则,对社交网络图中的每个节点进行标签更新,同时根据邻居节点信息更新节点的中心度值,反复迭代,直到满足迭代终止条件; 步骤B3:根据迭代终止时节点所分配的标签,将具有相同标签的节点归属到同一社区,输出非重叠社区结构。
3.根据权利要求2所述的一种社交网络中的多标签传播重叠社区发现方法,其特征在于,所述步骤B2中,综合考虑了节点中心度与标签度分布差异约束条件,进行标签更新,标签更新规则为:
4.根据权利要求2所述的一种社交网络中的多标签重叠社区发现方法,其特征在于,所述步骤C中,所述节点的层级定义为两级:核心层级与边界层级,用于层级划分的方法包括显式层级划分和模糊层级划分; 显式层级划分的节点层级映射函数定义为:
5.根据权利要求2所述的一种社交网络中的多标签重叠社区发现方法,其特征在于,所述步骤D中,重叠社区细化具体包括以下步骤: 步骤Dl:标签初始化:每个节点的标签集合初始化为步骤B3迭代终止时所分配的唯一标签,同时设置该标签的隶属度为I ; 步骤D2:按照随机顺序遍历社交网络中各节点,对每个节点K,遍历其邻居节点集合中的各节点,根据邻居节点的标签集合,按照标签集合更新规则,更新节点r的标签集合;步骤D3:根据节点的标签集合中标签个数是否超过阈值,过滤与归一化节点的标签集合; 步骤D4:判断是否满足迭代条件,若满足迭代条件,则终止迭代,否则返回步骤D2执行; 步骤D5:后处理:根据节点的标签集合输出社交网络的重叠社区结构。
6.根据权利要求5所述的一种社交网络中的多标签重叠社区发现方法,其特征在于,所述步骤D2中,采用的标签集合更新规则为:随机获取还未更新标签的节点^遍历该节点的邻居节点集合Ar(K),假定邻居节点u的标签集合为labelset (u),则节点^的标签集合labelset {v)更新为邻居节点的标签集合的并集,定义为:
7.根据权利要求5所述的一种社交网络中的多标签重叠社区发现方法,其特征在于,所述步骤D3中,标签集合的过滤规则为:若节点r的标签集合中的标签个数超过给定的阈值^?/忍,则保留隶属度最大的前个标签;若节点r的标签集合labelset {.V)中的标签个数未超过给定的阈值',则保留所有标签;标签集合过滤后,对节点r保留下来的标签进行隶属度归一化,保证保留下来的标签的隶属度之和为I。
8.根据权利要求5所述的一种社交网络中的多标签重叠社区发现方法,其特征在于,所述步骤D4中,迭代终止条件为社交网络中的标签数目不再发生变化终止迭代。
【文档编号】G06F17/30GK103729475SQ201410034425
【公开日】2014年4月16日 申请日期:2014年1月24日 优先权日:2014年1月24日
【发明者】陈羽中, 陈国龙, 郭文忠, 施松 申请人:福州大学