在社会网络中实现社区发现的方法

文档序号:6552812阅读:597来源:国知局
专利名称:在社会网络中实现社区发现的方法
技术领域
本发明涉及数据挖掘领域,特别涉及在社会网络中实现社区发现的方法。
背景技术
社会网络(Social Networking,简称SN)是一种用来表示社会中各个个体之间相互联系的关系网络。近年来,社会网络在研究上获得了广泛的关注,度分布分析、个体排名、 社区发现、模式发现等都是对社会网络的典型应用。在过去的许多研究中,许多学者关注于挖掘和分析社会网络个体的重要性和影响力。例如,搜索引擎分析Web的链接结构,并计算网页的重要性,期望为用户提供最符合需要的搜索结果;在学术合作网络中,人们期望通过对合作结构和主题进行层次分析,从而发现合作模式和重要学者;在在线社交网站中,广告商期望针对讨论话题对个体进行重要程度和个人兴趣进行分类,从而进行精准的商业推广。在社会网络中,个体的重要性和影响力往往与个体在网络中所处的位置有密切的联系,如在在线交友网站中,对于拥有较多的社会关系的个体(表现为网络中心及桥梁节点),往往可以比普通人受到更多的关注,其重要性和影响力显然更高。对个体在网络中所处位置的研究实质上是对网络中个体与个体间依赖关系的研究,因此,对社会网络中节点间依赖关系的挖掘和分析对研究个体在社会网络中的重要性和影响力起着十分重要的作用。目前专门针对社会网络中节点间依赖关系的挖掘和分析的研究工作还不多见,已知的一种受到广泛关注的方法是分析网络结构,从而对个体的重要性进行指标衡量。此类方法中最为著名的例子之一要数上世纪末提出的随机游走模型和I^ageRank模型(请
JC^sk 1 "L. Page et al. The pagerank citation ranking -Bringing order to the web. Technical report, Stanford University,1998”)。此类模型的主要思想是将用户浏览网页的行为模型化为在网页链接结构中根据链接方向进行随机前进,并具有一定的概率随机跳转到其他页面。由于网络的链接疏密程度和复杂网络中呈现的小世界模型,每个页面在随机游走模型下获得访问的概率也不尽相同,这种概率也被称为I^ageRank。 I^ageRank将链接关系的结构提炼,把这种结构带来的信息传递效应转化为节点的重要性指标,与之类似的方法还有康奈尔大学的Jon Kleinberg等提出的HITS模型等(请参见参考文献 2 "J. M. Kleinberg. Authoritative sources in a hyper linked environment. In SODA' 98”)。I^geRank根据其所在网络特点和分析目标的不同,也产生了一些变种,例如, 判断节点间距离的RWRS以及结合话题主题的随机游走等。上述方法主要根据节点受访的概率对节点的重要性进行衡量,在社会网络中越容易被遍历到的节点,其重要程度就越高。 但由随机游走模型和I^geRank模型计算出的节点的重要性并不全面,例如,它不能反映节点在社会网络中的“不可或缺性”。一些节点在社会网络中可能很容易被访问到,但如果这些结点被删除,可能对社会网络中其它节点的影响有限,这类节点的不可或缺性就较低。相反的,另一些节点在社会网络中被访问的概率较低,但一旦被删除,对社会网络中其它节点的影响严重,这类节点的不可或缺性就较高。现有技术中就缺少对所述“不可或缺性”进行衡量与计算的相关方法。

发明内容
本发明的目的是克服现有技术中缺乏对节点的不可或缺性进行衡量与计算的方法,从而提供一种能够对节点的不可或缺性加以衡量与计算的方法。为了实现上述目的,本发明提供了一种在社会网络中实现社区发现的方法,包括步骤1)、对一社会网络中的任一节点,计算所述社会网络中的其他节点对该节点的依赖性,找出依赖性最大的k个节点作为该任一节点的k近邻;步骤2、、从所述社会网络中选取一个未经处理的节点,然后执行下一步,直到所述社会网络中的节点都已经被处理;步骤3)、判断所述未经处理的节点的k个最依赖的节点是否满足k社区要求,如果满足,输出该社区后重新执行步骤2、,如果不满足,从所述未经处理的节点的k个最依赖的节点所组成的集合中选取一个子集,对该子集继续做是否满足k社区要求的判断,直到找出满足k社区要求的社区或者所有子集都已经被尝试过,然后重新执行步骤2)。上述技术方案中,在所述的步骤1)中,所述的计算所述社会网络中的其他节点对该节点的依赖性包括步骤1-1)、对于每个节点V e V(G),计算W(^G);其中,G表示图,c/Z(v,G)表示节点V在网络G下的重要性取值;步骤1-2)、断开节点u的链接生成Gu,并计算c/z(v, Gu);步骤1-3)、计算节点ν对节点u的依赖函数cbp (ν — U);
权利要求
1.一种在社会网络中实现社区发现的方法,包括步骤1)、对一社会网络中的任一节点,计算所述社会网络中的其他节点对该节点的依赖性,找出依赖性最大的k个节点作为该任一节点的k近邻;步骤2、、从所述社会网络中选取一个未经处理的节点,然后执行下一步,直到所述社会网络中的节点都已经被处理;步骤3)、判断所述未经处理的节点的k个最依赖的节点是否满足k社区要求,如果满足,输出该社区后重新执行步骤幻,如果不满足,从所述未经处理的节点的k个最依赖的节点所组成的集合中选取一个子集,对该子集继续做是否满足k社区要求的判断,直到找出满足k社区要求的社区或者所有子集都已经被尝试过,然后重新执行步骤2)。
2.根据权利要求1所述的在社会网络中实现社区发现的方法,其特征在于,在所述的步骤1)中,所述的计算所述社会网络中的其他节点对该节点的依赖性包括步骤1-1)、对于每个节点ν e V(G),计算c/Z(v,G);其中,G表示图,d(v,G)表示节点 ν在网络G下的重要性取值;步骤1-2)、断开节点u的链接生成Gu,并计算Gu); 步骤1-3)、计算节点ν对节点u的依赖函数cbp (v - u);
3.根据权利要求2所述的在社会网络中实现社区发现的方法,其特征在于,所述的计算所述社会网络中的其他节点对该节点的依赖性还包括步骤1-4)、计算节点支持力,根据所述节点支持力的大小判断其他节点对该节点的依赖性;节点u的所述节点支持力的定义如下
4.根据权利要求1所述的在社会网络中实现社区发现的方法,其特征在于,所述的k社区要求包括将所述未经处理的节点的k个最依赖的节点依次判断是否为所述未经处理的节点的k近邻,当所有k个最依赖的节点都是k近邻时,即被认为是k社区。
全文摘要
本发明提供一种在社会网络中实现社区发现的方法,包括对一社会网络中的任一节点,计算所述社会网络中的其他节点对该节点的依赖性,找出依赖性最大的k个节点作为该任一节点的k近邻;从所述社会网络中选取一个未经处理的节点,然后执行下一步,直到所述社会网络中的节点都已经被处理;判断所述未经处理的节点的k个最依赖的节点是否满足k社区要求,如果满足,输出该社区后重新执行前一步骤,如果不满足,从所述未经处理的节点的k个最依赖的节点所组成的集合中选取一个子集,对该子集继续做是否满足k社区要求的判断,直到找出满足k社区要求的社区或者所有子集都已经被尝试过,然后重新执行前一步骤。
文档编号G06F17/30GK102456064SQ20111010349
公开日2012年5月16日 申请日期2011年4月25日 优先权日2011年4月25日
发明者丁兆云, 周斌, 张鲁民, 方滨兴, 李爱平, 杨树强, 贾焰, 邓镭, 韩伟红, 韩毅 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1