社区发现方法技术

技术编号:6536340 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种社区发现方法,包括:在一个社会网络中,根据所要发现社区的规模范围划定一个搜索区域;在所述的搜索区域内根据节点的邻居节点数目做剪枝操作,将邻居节点数目小于所要发现的社区的紧密度的节点从社会网络中剪除;在经过剪枝操作的社会网络的剩余节点中选定一个节点,在该节点的邻居节点中搜索大小为|S|-1的社区,找到后将该节点与搜索到的大小为|S|-1的社区形成所要发现的社区,加到结果集中;其中,所述|S|表示期望发现的社区的大小;将所述搜索区域的左边界向左移动,然后在扩大后的搜索区域内重新执行前述步骤,直到搜索区域达到所要发现社区的规模的最小值。

【技术实现步骤摘要】

本专利技术涉及网络计算,特别涉及一种。
技术介绍
社会网络(Social Networking,简称SN)是一种用来表示社会中各个个体之间相互联系的关系网络。现实生活中广受欢迎的hcebook、Twitter等都可视为社会网络。社会网络可以用矩阵法或图示法加以表示。在图示法中,用图中的节点表示社会中的某一个体,用节点间的链接表示个体间的联系,用链接的大小表示个体间联系的紧密程度。社会网络中的个体与网络中其它个体之间的联系存在紧密与稀疏的差别,将社会网络中那些具有紧密联系的个体的集合称为社区。社会网络中的各个社区在诸如规模、密度等属性上有较大的差异,本申请中将那些在某一个或某些属性上与其他社区差别较大的社区称为典型社区,如一个社区在规模上大于其它社区,则该社区被认为是典型社区。从社会网络中找出典型社区(也被称为发现社区),特别是在大规模社会网络中找出典型社区, 对于社会网络的诸多应用(如广告定向投放、互联网舆情发现等)具有重要的意义。现有技术中已经存在从社会网络中发现社区的相关方法。例如,挖掘网络中频繁结构的方法。该类方法主要是在网络中通过搜索获得频繁子结构,所得到的频繁子结构通常用来发现一组具有固定通信行为的社区,或用于在生物信息学领域发现蛋白质的作用结构等。该类方法典型的有基于Apriori的方法和基于FP-Grow的方法。此类方法旨在发现结构固定且出现频率高的社区,但并不适合用来发现典型社区。又如,通过发现网络中符合某种条件的最大子结构(如完全图)来发现社区的方法。在图论中,确定是否有满足一个特定大小的完全子图或者挖掘最大的完全子图的问题早已在1972年就被证明为是21个NP完全问题之一(请参见参考文献1 “R.M.Karp. Reducibility among combinatorialproblems. Complexity of Computer Computations, 1972”),因此,此类方法具有运算复杂度高的缺陷,很难用该类方法在大规模网络中发现社区。又如,基于密度和熵的社会网络。该类方法主要是采用密度或熵的方法,采用连接矩阵或向量对网络进行建模,通过高维矩阵运算,发现网络中高密度的部分。该类方法可能会将社区聚焦于拥有大量邻居的Hub节点,或聚焦于连接密度大,权值高的网络部分,对网络的稀疏部分可能有所忽略,而且该类方法往往需要设置一个阈值,对密度或熵进行约束。由于此类方法仅针对连接密度这一特征进行发现,因此该类方法发现的社区主要集中在连接密度大的部分,忽略了密度小的部分。事实上在社会网络中,人人都会存在于一个特定的社区环境中,而密度稀疏的部分反而更有利于形成规模较大的社区。因此,该类方法也不太适合用来发现社区。再例如,基于内容约束的方法。该类方法主要是通过对网络上的附加信息(如网络链接携带的文本标签信息)进行分析,通过对节点的固有属性进行聚类,从而获得网络的社区信息。该方法要求数据集本身带有文本或标签内容标签,但由于隐私原因或数据本身的原因,很多数据集并不具备文本标签或内容标签,因此,此类方法的应用范围有限。总之,现有技术中虽然存在多种类型的从社会网络发现社区的方法,但这些方法在发现社区的过程中仅仅利用了社区的某一个属性,如密度或结构频繁度等,因此不适合从社会网络中发现典型社区,特别是在两个以上属性上具有典型性的社区。
技术实现思路
本专利技术的目的是克服现有技术中的不适合从社会网络中发现典型社区的缺陷,从而提供一种。为了实现上述目的,本专利技术提供了一种,包括步骤1)、在一个社会网络中,根据所要发现社区的规模范围划定一个搜索区域; 其中,所述搜索区域的左边界L为当前期望发现的最大社区的大小,上边界U为所述社会网U ,络中具有最多邻居的节点的邻居数,右边界为j + Ι,下边界为β (L-I);所述的β表示一个预先设定的比例;步骤2)、在所述的搜索区域内根据节点的邻居节点数目做剪枝操作,将邻居节点数目小于所要发现的社区的紧密度的节点从社会网络中剪除;步骤3)、在经过剪枝操作的社会网络的剩余节点中选定一个节点,在该节点的邻居节点中搜索大小为IShi的社区,找到后将该节点与搜索到的大小为IShi的社区形成所要发现的社区,加到结果集中;其中,所述|s|表示期望发现的社区的大小;步骤4)、将所述搜索区域的左边界向左移动,然后在扩大后的搜索区域内重新执行步骤2、和步骤幻,直到搜索区域达到所要发现社区的规模的最小值。上述技术方案中,所述的步骤幻包括步骤2-1)、在社会网络中选定一个未经处理的节点;步骤2-2)、判断所选定节点的节点度是否小于或等于β (| S卜1),如果是的话,将该节点从社会网络中删除,然后执行下一步,否则,重新执行步骤2-1),直到社会网络中的节点都已经被处理;步骤2-3)、判断所选定节点的邻居节点的节点度是否小于或等于β (|S卜1),如果是的话,将该节点从社会网络中删除,然后对被删除节点的邻居节点重复执行本步骤,直到完成对社会网络中所有节点的判断。上述技术方案中,所述的步骤幻包括步骤3-1)、在社会网络中选定一个未经处理的节点;步骤3-2)、在该节点的邻居节点中搜索大小为IShl的社区,若能找到,则将该节点与搜索到的大小为Ishi的社区形成所要发现的社区,并加到结果集中,如果不能找到, 重新执行步骤3-1);步骤3- 、在所选定节点的邻居节点中完成所有的社区搜索操作后,将该所选定节点从社会网络中删除,然后重新执行步骤3-1),直到完成对社会网络中所有节点的处理。上述技术方案中,在所述的步骤3-1)中,在选定未经处理的节点时,从所述社会网络中节点度最小的节点开始选择。上述技术方案中,所述的β值的大小在0到1之间。上述技术方案中,在所述的步骤4)中,将所述搜索区域的左边界向左移动时,移动的大小为1。本专利技术的优点在于1、本专利技术既能够发现连接紧密的社区,又能够发现大规模的社区。2、本专利技术在任何连接密度的网络上都能够发现社区。3、本专利技术由于由于采用了优选的剪枝策略,可以有效降低执行开销,从而可以在超大规模的网络上发现社区。附图说明图1为一个规模为6的β = 80%的社区的示意图;图2为宽度为3的Skyband的示意图;图3为用于说明紧密度和尺寸约束的示意图;图4为用于说明搜索空间的示意图;图5(a)-图5(c)为搜索区域变换的示意图;图6为本专利技术方法的流程图。具体实施例方式下面结合附图和具体实施方式对本专利技术予以说明。在对本专利技术方法做详细说明前,首先对本专利技术中的概念做统一说明,以便于理解。图本专利技术中的图用于表示社会网络,它采用G = (V,E,D)表示,其中V表示节点 ν的集合,即ν e V,E表示节点间的边(链接)e的集合,即e e E,D(e)是边e上的标注函数,代表边e所连接的两个节点U、ν在图上的距离。图中的距离并不仅仅局限于社会网络中的社会个体在地理上的距离,还可以用于表示社会个体(如人)间的关系紧密程度。例如,在通信网络中,可以用通信的频率来描述人与人关系,如果两人通信频繁,则认为他们关系紧密。节点度(degree)—个节点ν的节点度代表与节点ν直接连接的节点数量,即在G =(V,E,D)中,度为 I {u {u, v} e Ε} I,可表示为 d(v)。最近邻(Ne本文档来自技高网
...

【技术保护点】
1.一种社区发现方法,包括:步骤1)、在一个社会网络中,根据所要发现社区的规模范围划定一个搜索区域;其中,所述搜索区域的左边界L为当前期望发现的最大社区的大小,上边界U为所述社会网络中具有最多邻居的节点的邻居数,右边界为下边界为β(L-1);所述的β表示一个预先设定的比例;步骤2)、在所述的搜索区域内根据节点的邻居节点数目做剪枝操作,将邻居节点数目小于所要发现的社区的紧密度的节点从社会网络中剪除;步骤3)、在经过剪枝操作的社会网络的剩余节点中选定一个节点,在该节点的邻居节点中搜索大小为|S|-1的社区,找到后将该节点与搜索到的大小为|S|-1的社区形成所要发现的社区,加到结果集中;其中,所述|S|表示期望发现的社区的大小;步骤4)、将所述搜索区域的左边界向左移动,然后在扩大后的搜索区域内重新执行步骤2)和步骤3),直到搜索区域达到所要发现社区的规模的最小值。

【技术特征摘要】
1.一种社区发现方法,包括步骤1)、在一个社会网络中,根据所要发现社区的规模范围划定一个搜索区域;其中, 所述搜索区域的左边界L为当前期望发现的最大社区的大小,上边界U为所述社会网络中具有最多邻居的节点的邻居数,右边界为* + 1,下边界为β (L-I);所述的β表示一个预先设定的比例;步骤2)、在所述的搜索区域内根据节点的邻居节点数目做剪枝操作,将邻居节点数目小于所要发现的社区的紧密度的节点从社会网络中剪除;步骤幻、在经过剪枝操作的社会网络的剩余节点中选定一个节点,在该节点的邻居节点中搜索大小为I Shl的社区,找到后将该节点与搜索到的大小为I Shl的社区形成所要发现的社区,加到结果集中;其中,所述|s|表示期望发现的社区的大小;步骤4)、将所述搜索区域的左边界向左移动,然后在扩大后的搜索区域内重新执行步骤2)和步骤幻,直到搜索区域达到所要发现社区的规模的最小值。2.根据权利要求1所述的社区发现方法,其特征在于,所述的步骤2、包括 步骤2-1)、在社会网络中选定一个未经处理的节点;步骤2-2)、判断所选定节点的节点度是否小于或等于β (|S卜1),如果是的话,将该节点从社会网络中删除,然后执行下一步,否则,重新执行步...

【专利技术属性】
技术研发人员:韩毅李爱平贾焰韩伟红杨树强周斌
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43

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

1