当前位置: 首页 > 专利查询>福州大学专利>正文

一种社会网络中的邻域跟随社区发现方法技术

技术编号:11603079 阅读:138 留言:0更新日期:2015-06-15 09:28
本发明专利技术涉及社会网络技术领域,特别是一种社会网络中的邻域跟随社区发现方法,包括以下步骤:步骤A:读取社会网络数据,构造以社会网络用户为节点,用户关系为边的社会网络图;步骤B:根据社会网络图,遍历社会网络图中的节点,确定节点间的跟随关系;步骤C:根据节点间的跟随关系,遍历社会网络图中的节点,将跟随同一节点的节点划分至同一社区,得到社会网络的社区结构。该方法可提高社区检测的精度和效率,且具有接近线性的时间复杂度,能够快速有效地挖掘社会网络中的社区结构,可应用于目标群体挖掘、精确营销等领域。

【技术实现步骤摘要】

本专利技术涉及社会网络
,特别是一种社会网络中的邻域跟随社区发现方法
技术介绍
从社会网络中检测社区结构是社会网络分析中的一项重要任务,无论是理论上还是实际应用中都具有十分重要的意义。通过挖掘网络中的社区结构,能够发现网络中隐含的组织结构信息、社会功能以及社区成员之间隐含的有趣属性,如共同爱好等。通过研究社会网络中社区之间、个体之间以及个体与社区之间的关系,可以挖掘出大量有价值的信息,可应用于许多领域。针对社区发现,已经出现了很多经典的方法。总体上,社区发现的经典方法包括基于图分割、层次聚类、模块度优化、标签传播、极大团、边图划分、种子节点扩展、模糊聚类的社区发现方法。KL方法是较早出现的一种社区发现方法,其优化目标为极小化社区间连接数目与社区内连接数目之差,并使用贪心策略寻找最优的社区划分。KL方法的主要缺点在于需要社区数和社区的平均规模作为算法的输入参数,且对输入参数很敏感,算法的时间复杂度也较高。GN是Girvan和Newman提出的基于边介数的分裂式层次聚类方法。由于边介数的计算代价较大,GN方法的时间复杂度达到O(m2n),其中m为边数,n为节点数,不适用于大规模网络。为解决大规模网络的应用问题,Newman等在GN的基础上提出了FN方法。FN方法提出了模块度作为网络划分质量的标准,设计了一种基于模块度的凝聚式层次聚类方法,其时间复杂度为O(mn)。模块度为研究人员提供了一种用于选择网络划分的目标函数,研究人员将贪心策略、模拟退火、极值优化、禁忌搜索、整数规划等多种优化策略应用于模块度优化,模块度优化是目前社区发现的主流方法,典型方法包括CNM、MSG-MV、GA、EO以及整数规划法,但是存在分辨率问题,难以发现小规模社区,而且由于模块度优化的搜索空间非常大,当应用于大规模网络时,方法的结果也变得很不可靠。基于信息传播的思想,Raghavan等提出了标签传播方法LPA,LPA考虑社会网络的结构特征和信息传播特性,通过基于局部搜索的标签更新,经迭代收敛后将具有相同标签的节点聚合到同一社区。LPA的最大优点在于无需参数,收敛速度快,具有线性时间复杂度O(m),适用于大规模社会网络;但由于标签更新规则的随机性,LPA的稳定性和精度较差。WH(Wu-Huberman)方法将复杂网络建模为电路系统,网络连接看作是具有电阻的线路,不同位置的网络节点具有不同电位势,通过启发式规则寻找最大位势差以区分不同的社区。WH方法具有近似线性的时间复杂度,但是需要社区数目和社区规模作为输入参数。Rosvall等提出了一种基于最小化随机游走平均编码长度模型的聚类方法InfoMap。InfoMap的优点是社区发现速度快、准确率高、无需社区数量作为输入参数,但是当社区结构趋向不清晰时,聚类效果下降明显。上述社区发现方法通常存在参数敏感或者时间复杂度高的问题,难以应用于大规模复杂网络的社区发现,综上,现有的社会网络社区发现方法从发现的社区结构质量以及时间效率上看都尚有很大的提升空间。面对大规模社交网络的场景,现有方法无论实在效果和效率上都难以满足要求。
技术实现思路
本专利技术的目的在于提供一种社会网络中的邻域跟随社区发现方法,该方法有利于提高社区检测的精度和效率。为实现上述目的,本专利技术的技术方案是:一种社会网络中的邻域跟随社区发现方法,包括以下步骤:步骤A:读取社会网络数据,构造以社会网络用户为节点,用户关系为边的社会网络图;步骤B:根据社会网络图,遍历社会网络图中的节点,将所有节点的角色初始化为未确定;步骤C:根据社会网络图,遍历社会网络图中的节点,确定节点间的跟随关系;步骤D:根据节点间的跟随关系,遍历社会网络图中的节点,将跟随同一节点的节点划分至同一社区。进一步地,所述步骤C中,确定节点间的跟随关系,包括以下步骤:步骤C1:对于所遍历的节点x,按照最可信赖邻域跟随规则选择节点k;步骤C2:设置节点x的社区跟随目标为节点k,并更新节点k的社区跟随者数量,即以节点k为社区跟随目标的节点数量;步骤C3:若节点x的角色尚未确定,则将节点x的角色设置为社区跟随者;步骤C4:判定节点k是否满足作为社区领导者的条件,如果满足,设置节点k的角色为社区领导者;反之设置节点k的角色为社区跟随者;步骤C5:重复步骤C1~C4,直到社会网络图中的所有节点均已遍历。进一步地,所述步骤C1中,采用的最可信赖邻域跟随规则为:获取节点x的邻域中社区跟随节点最多的节点作为节点x的社区跟随目标,定义为:其中followingx 表示节点x所选择的社区跟随目标,Neighborhood(x)表示节点x的邻域,定义为:其中N(x)为节点x的邻居节点集合,由与节点x有边相连的所有节点构成,定义为:其中V、E分别为社会网络图G的节点集合与边集合;fcj表示节点j的社区跟随节点数,即节点j的邻域中,以节点j为社区跟随目标的节点数量,定义为:其中followersj表示节点j的邻域中,以节点j为社区跟随目标的节点集合,即与节点j之间存在直接邻域跟随关系的节点集合,定义为:其中表示节点p与节点j之间存在直接邻域跟随关系,定义为:节点x的邻域包含节点本身,因此节点x的社区跟随目标可以是节点x本身;如节点x的邻域中有多个节点满足跟随节点数最多的条件,则从中选择度最大的节点作为节点x的社区跟随目标;如仍有多个节点满足度最大的条件,则从中随机选择一个节点作为节点x的跟随目标。进一步地,定义节点在社区中的两种角色:社区领导者和社区跟随者,社区由不同角色的节点以及节点间的跟随关系构成,一个社区由一个社区领导者节点和其余的社区跟随者节点构成,社区内的每个节点都直接或间接地跟随社区领导者节点,一个由社区领导者节点l表示的社区定义为:其中表示节点x与节点l之间存在直接邻域跟随关系,即节点x直接跟随社区领导者节点l,表示节点x与节点l之间存在间接邻域跟随关系,即节点x不属于l的邻域,但两个节点间存在中间节点,构成一个从x到l的跟随链:,即节点x间接跟随社区领导者节点l,记为;x=l表示由社区领导者节点l表示的社区包括社区领导者节点自身。进一步地,所述步骤B4中,判定节点k是否满足作为社区领导者的条件定义为:即给定参数r (0<r<1),当节点k的角色为社区跟随者时,若LQk ≥ r,则将节点k的角色设置为社区领导者;若节点k为社区领导者但LQk < r,则重新设置节点k的角色为社区跟随者;其中LQk表示节点k的领袖质量,为节点k的社区跟随节点数与节点k的社区跟随目标的社区跟随节点数的比值,以反映节点独立于其社区跟随目标的能力,定义为:其中fck为节点k的社区跟随节点数,为节点k的社区跟随目标的社区跟随节点数。进一步地,所述步骤D中,根据节点间的跟随关系得到网络社区,具体包括以下步骤:步骤D1:对于所遍历的节点x,寻找节点x所跟随的社区领导者节点l;步骤D2:本文档来自技高网
...
一种社会网络中的邻域跟随社区发现方法

【技术保护点】
一种社会网络中的邻域跟随社区发现方法,其特征在于,包括以下步骤:步骤A:读取社会网络数据,构造以社会网络用户为节点,用户关系为边的社会网络图;步骤B:根据社会网络图,遍历社会网络图中的节点,将所有节点的角色初始化为未确定;步骤C:根据社会网络图,遍历社会网络图中的节点,确定节点间的跟随关系;步骤D:根据节点间的跟随关系,遍历社会网络图中的节点,将跟随同一节点的节点划分至同一社区。

【技术特征摘要】
1.一种社会网络中的邻域跟随社区发现方法,其特征在于,包括以下步骤:
步骤A:读取社会网络数据,构造以社会网络用户为节点,用户关系为边的社会网络图;
步骤B:根据社会网络图,遍历社会网络图中的节点,将所有节点的角色初始化为未确定;
步骤C:根据社会网络图,遍历社会网络图中的节点,确定节点间的跟随关系;
步骤D:根据节点间的跟随关系,遍历社会网络图中的节点,将跟随同一节点的节点划分至同一社区。
2.根据权利要求1所述的一种社会网络中的邻域跟随社区发现方法,其特征在于,所述步骤C中,确定节点间的跟随关系,包括以下步骤:
步骤C1:对于所遍历的节点x,按照最可信赖邻域跟随规则选择节点k;
步骤C2:设置节点x的社区跟随目标为节点k,并更新节点k的社区跟随者数量,即以节点k为社区跟随目标的节点数量;
步骤C3:若节点x的角色尚未确定,则将节点x的角色设置为社区跟随者;
步骤C4:判定节点k是否满足作为社区领导者的条件,如果满足,设置节点k的角色为社区领导者;反之设置节点k的角色为社区跟随者;
步骤C5:重复步骤C1~C4,直到社会网络图中的所有节点均已遍历。
3.根据权利要求2所述的一种社会网络中的邻域跟随社区发现方法,其特征在于,所述步骤C1中,采用的最可信赖邻域跟随规则为:获取节点x的邻域中社区跟随节点最多的节点作为节点x的社区跟随目标,定义为:
其中followingx 表示节点x所选择的社区跟随目标,Neighborhood(x)表示节点x的邻域,定义为:
其中N(x)为节点x的邻居节点集合,由与节点x有边相连的所有节点构成,定义为:
其中V、E分别为社会网络图G的节点集合与边集合;
fcj表示节点j的社区跟随节点数,即节点j的邻域中,以节点j为社区跟随目标的节点数量,定义为:
其中followersj表示节点j的邻域中,以节点j为社区跟随目标的节点集合,即与节点j之间存在直接邻域跟随关系的节点集合,定义为:
其中表示节点p与节点j之间存在直接邻域跟随关系,定义为:
节点x的邻域包含节点本身,因此节点x的社区跟随目标可以是节点x本身;如节点x的邻域中有多个节点满足跟随节点数最多的条件,则从中选择度最大的节点作为节点x的社区跟随目标;如仍有多个节点满足度最大的条件,则从中随机选择一个节点作为节点x的跟随目标。
4.根据权利要求3所述的一种社会网络中的邻域跟随社区发现方法,其特征在于,定义节点在...

【专利技术属性】
技术研发人员:陈羽中牛玉贞郭文忠施松
申请(专利权)人:福州大学
类型:发明
国别省市:福建;35

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

1