社区相似度计算方法与社会网络合作模式发现方法

文档序号:6335421阅读:1130来源:国知局
专利名称:社区相似度计算方法与社会网络合作模式发现方法
技术领域
本发明涉及网络模式挖掘,特别涉及一种社会网络合作模式发现方法。
背景技术
社会网络(Social Networking,简称SN)是一种用来表示社会中各个个体之间相互联系的关系网络,如学术合作网络、在线交友网络等。现实生活中广受欢迎Whcebook、 Twitter等都可视为社会网络。社会网络可以用矩阵法或图示法加以表示。在图示法中,用图中的节点表示社会中的某一个体,用节点间的链接表示个体间的联系,用链接的大小表示个体间联系的紧密程度。社会网络中的个体与网络中其它个体之间的联系存在紧密与稀疏的差别,将社会网络中那些具有紧密联系的个体的集合称为社区。社区往往体现出多种多样的合作模式。 所述的合作模式被认为是一种常常固定出现的组合,它可以被提炼出来供研究者进行规律分析。例如,在学术合作网络中,用户往往希望了解具有一定影响力的作者之间的合作规律以及他们领导组织学术团队的组织结构,从而可以起到定位学术前沿、并组织引导自己的团队的作用;在在线交友网络中,用户往往发现个别话题总是能够获得快速传播,研究信息流动和特定的网络结构的关系可以在商业情报分析、产品推广、垃圾广告检测方面起到重要的作用;在蛋白质相互作用的网络结构中,研究者总是能够发现某些类型的蛋白质能够迅速结合,研究这种结合和其结构网络的关系可以帮助发现各种蛋白质中有效成分的结合规律,从而有效提升研究水平。从社区中提炼出所述合作模式的过程被称为模式挖掘。社区上的模式挖掘是近年来的研究热点之一,面向无标度图的频繁模式挖掘是其中的一个主要方向。在无标度图上实现的频繁模式挖掘方法的主要思想是给定一个支持度阈值,将社会网络中发现的频繁程度不低于这个阈值的频繁的子图作为挖掘出来的模式。与在事务性数据上的频繁模式挖掘方法类似,现有技术中主流的社区频繁模式挖掘方法也可以概括为基于Apriori算法的方法和基于I^attern-Growth的方法。但与事务性数据不同的是,社区频繁模式挖掘方法中用于表示社会网络的图结构的立体性给计算带来了新的挑战。例如,基于Apriori算法的方法中,图模式候选集的生成不但需要考虑节点的扩展,还需要同时考虑边的扩展,这样所带来的组合爆炸问题十分明显。伊利诺伊香槟分校的 Yan,Han等人在02年提出了一种基于I^attern-Growth的频繁模式挖掘算法gSpan,为了避免发现重复的结构,其给出了一种右路优先的遍历策略;该方法仅仅使用频繁度作为衡量模式好与坏的唯一标准,没有考虑频繁模式挖掘中的其他代表性因素,因此会影响挖掘结果的准确性。在前述的频繁模式挖掘思想下,人们通常使用能否符合给定的同构映射来判断两个子图是否相等。但在现实世界里,社会网络的链接上往往携带有丰富的信息,因此结构相同的子图并不意味着相同的合作模式,这就给图的挖掘算法带来了更多的困难。例如, 在学术合作网络中,一个连接形式完全相同的子图,如完全图Clique,可能代表成员社会地位对等的工作组,但也可能是少数重要影响力的作者领导的一个学术团体。在这种情况下,图中节点与边的权重信息和标注信息往往有助于对图中重要节点进行识别,并作为衡量子图相似性的一个参考。在参考文献1 “L. Page,S. Brin, R. Motwani, and Τ. Winograd. The pagerank citation ranking :Bringing order to the web. 1998,,禾口参考文献 2 "J. Kleinberg,R. Kumar,P. Raghavan, S. Rajagopalan,and A. Tomkins. The web as a graph Measurements,models,and methods. Computing and Combinatorics,pages 1-17,1999” 所提到的方法中,对图的链接关系的结构加以提炼,并将这种结构带来的信息传递效应转化为节点的重要性指标,这种指标也可以作为衡量不同社区节点间相似度的标准。然而,由于图结构的复杂性,往往该类计算的开销与节点规模和边密度呈指数级规模增长,算法的伸缩性不强,很难应用到大规模的网络结构中。此外,基于支持度阈值的频繁模式挖掘算法也存在应用上的局限性。在某些社会网络中,带有某些典型特征的合作模式往往并不很常见。例如,在学术网络中,某些知名学者间的合作模式并不频繁出现;在在线交友网站或微博客的网站中,由名人效应带来的聚集群体在数量上也会比一般的讨论区少很多。支持度阈值设置过高往往会导致算法忽略网络中的一些特定结构,而支持度阈值设置过低又会带来性能问题。本领域技术人员很难设定一个合适的支持度阈值。

发明内容
本发明的目的是克服现有的频繁模式挖掘方法在应用上的局限性,从而提供了一种社区相似度计算方法,包括步骤1)、将待计算相似度的第一社区与第二社区分别用第一图与第二图表示,其中,所述第一图与所述第二图中的节点上标注有用来表示该节点所对应的社区中个体的权威性的节点权威性值,所述节点之间的边上标注有用来表示该边所连接的两节点之间某一类型信息的边标注值;步骤i)、将所述第一图与所述第二图中的各个节点分别按照所述节点权威性值进行降序排列;步骤;3)、为步骤2~)所得到的第一图与第二图计算相似值,进而得到所述第一图与所述第二图所代表的社区的相似程度。上述技术方案中,在所述的步骤1)和步骤2、之间还包括步骤a)、比较所述第一图与第二图的节点数目,为节点数较少的图添加空节点,确保两个图有相同的节点数量;步骤b)、在所添加的空节点之间以及所述空节点与原有节点之间添加虚拟边,使得所述第一图与第二图成为完全图;所述虚拟边的边标注值为0。上述技术方案中,在所述的步骤3)中,所述相似值为余弦相似值;计算余弦相似值的公式为Ζ^Λ) = "(Χ^(Ζ〈/“《),/“《)〉) + (1-灼 cos(z〈4CS;),/£(实)〉)其中,ZO表示向量间的夹角;β表示加权因子,S1'代表在添加虚拟边后成为完全图的第一图,实代表在添加虚拟边后成为完全图的第二图,1V(SD表示 < 的节点权重向量, 1E(SD表示《中的边权重向量。
本发明还提供了一种从社会网络中查找合作模式的方法,包括步骤1)、从用于表示社会网络的图中找出所有用于表示社区的子图,将这些子图所代表的社区存入一个集合中;步骤2)、从步骤1)所找出的社区的集合中,提取一个社区,将该社区作为模式库中的第一个合作模式;步骤幻、从步骤1)所找出的社区的集合中继续提取一个新的社区,根据所述的社区相似度计算方法对该新的社区与所述模式库中的已有合作模式进行相似度计算,根据相似度计算结果将该新的社区与已有合作模式合并或者作为一种新的合作模式添加到所述模式库中;步骤4)、判断所述社区的集合中的社区是否已经被提取完,如果有尚未处理的新的社区,重新执行步骤3),否则,结束操作,输出模式库中的所有合作模式。上述技术方案中,在所述的步骤1)中还包括将从用于表示社会网络的图中所找出的所有社区的显著性与一预先设定的显著性指标进行比较,将显著性小于该显著性指标的社区作为非重要社区从所述社区的集合中剔除。上述技术方案中,在所述的步骤幻中,所述的根据相似度计算结果将该新的社区与已有合作模式合并或者作为一种新的合作模式添加到所述模式库中包括所述相似度计算结果大于一设定的相似度阈值,将所述新的社区与已有合作模式
口井O上述技术方案中,在所述的步骤幻中,所述的根据相似度计算结果将该新的社区与已有合作模式合并或者作为一种新的合作模式添加到所述模式库中还包括所述相似度计算结果小于或等于一设定的相似度阈值,将所述新的社区作为一种新的合作模式添加到所述模式库中。本发明的优点在于本发明在发现合作模式的过程中,不仅仅考虑了结构特征,也考虑了节点的权威性分布(即重要节点需在相似的结构中处于相似的社会地位),使得所发现的合作模式更具有代表性。


图1 (a)为一个实施例中所涉及的一个子图的示意图;图1 (b)为一个实施例中所涉及的另一个子图的示意图;图2为描述了在本发明的一个实验中,一个数据集中节点度分布的情况;图3为在本发明的一个实验中,相似度阈值α与最终发现模式数量的关系示意图;图4为对应于图3的相似度阈值α设置生成的模式数量规模和运行时间的关系示意图;图5为相似度阈值α和运行时间的关系示意图;图6中为根据实验结果所得到的点/边加权因子β与模式库规模的关系图;图7为本发明方法在一个实施例中的流程图。
具体实施例方式下面结合附图和具体实施方式
对本发明加以说明。在对本发明方法做详细说明前,首先对本发明中所涉及的相关概念加以定义。1、社会网络的表示方法在现实生活中,存在多种类型的社会网络,如在线交友网站、学术合作网络、通信网络、生物蛋白质相互作用网络等,这些网络虽然形式多样,但都可以通过公知的统计或测量的方法模型化为距离加权图。在本发明中可以采用如下的四元组来表示图形化后的社会网络G = (V,E,£,W)。其中,ν e V表示个体和个体集,个体间的关系由无向边e= {u,v} eE 表示,E代表边(链接)的集合;£(▽)用来表示节点ν上的标注函数,通常表示节点ν在整个图中的权威性,它是一个数值型变量,可以通过某些统计数据(如在博客网络中的发帖量) 或由结构运算产生的变量(如节点ν的I^geRank值)获取;W⑷是边e = {u, ν}上的标注函数,代表边e两端的节点U、ν在图上的距离,该函数的值可以表示物理距离上的远近、 社会关系的强弱、相互通信的频率等多种类型的信息,其值的大小通常通过公知的统计方法或测量方法获得。2、社区的表示方法由于社区是社会网络的一个组成部分,因此可以适用导出子图anduced Subgraph)来定义图G上的社区C,在这一定义过程中要求用来表示社区C的子图的连接关系和全图的连接关系一致。在对本发明方法的以下描述中,出于叙述简单的考虑,以无向加权图为例来表示社区,但本领域技术人员应当了解,本发明方法通过简单变换也可以直接应用到用有向加权图表示的社区中。3、如何定义社区的重要性在真实世界中,往往那些具有显著性特征的社区被认为是重要的,值得关注的。例如,在学术合作网络中,合作产生论文数较多的群体;在Web结构中,点击率高的网页集合和链接结构;在在线社会网络服务中,能够快速发布信息的节点群等。在本发明中,使用目标函数和显著性特征来定义社区的重要性,即给定一个显著性函数和一个显著性阈值 δ,对于一个社区C,如果:F(C) 2 δ,则C是一个重要社区。F(C)在不同的社会网络中可以表达不同的意义,例如在学术合作网络中,表达一个群体合作论文的总数;在Ρ2Ρ网络中,可以表达某个群体中内联流量等。4、合作模式的表示方法合作模式可以用一个加权的子图P = (V,Ε,£,W)表示,其中,V⑵表示其节点集, E(P)表示其边集,£, W分别是节点和边的标注函数。合作模式是用于表示社会网络的图的子图的一种抽象。5、模式对社区的描述能力一个合作模式能否代表一个社区需要有一个衡量标准。在本发明中定义一种相似度函数来表达合作模式对社区的描述能力。当一个合作模式和一个社区的相似度达到一定标准时,就认为这种合作模式可以代表该类型的社区。对于模式对社区的描述能力可以做以下定义定义α -描述对于一个社区C和一个模式P,desc (P — C)表示P对C的描述能力;给定一个描述度阈值α,如果desc (P —C) ^ α,就说模式P对社区C满足α -描述要求。 6、合作模式与社区的相似性度量方法与有关的相似性度量函数
从前面的描述可以知道,在本发明中,无论是合作模式还是社区,都可以用图来表示,因此合作模式与社区的相似性度量问题也就会演变成对用来表示社会网络的大规模图 G中的两个子图S1和&之间的相似性度量问题。在现有技术中,要衡量两个图的相似度存在多种方法,如计算图编辑距离(Graph Edit Distance)的方法,或者通过计算两个图的公共结构来衡量两图的相似程度。但这些方法不仅有计算开销大的问题,而且在相似性度量上也存在局限性。在本发明中,在度量相似性时不仅要考虑图结构间的相似性,也要考虑图中个体权威性和个体间连接关系紧密度分布上的相似性。因此,本发明采用了基于余弦相似度的相似度度量方法。下面对这一方法的具体实现加以说明。在衡量图S1和&的相似度时,首先将S1和&中的节点根据节点的权威性标注进行降序排列,如图1中所示的顺时针方向,其目的是要给图中的节点做一个全局遍历序,以确保不同图中具有相当社会地位的节点能够被在同一级别上进行结构比较。也就是说,两个相似的社区首先要保证权重和结构的一致性。例如,在交友网络中,星形和雪花型是常见的组织结构,如果要认定两个星形结构的社区是一致的,那么需要首先保证其对应重要节点处在两个结构的同一相对位置(如中心)。对于两个社区中节点数量不对等的情况,S卩Is1I Φ |&|,为了方便表示,将会在社区所对应的图中添加空节点,以确保两个图有相同的节点数量。在两个图中节点数量相同的前提下,可以采用余弦相似度来衡量两社区间节点权威性分布的差别和边权重的差别。 如图1(a)、(b)所示,将图1(a)中的子图用&表示,将图1(b)中的子图用&表示,由于& 中的节点数目少于S1中的节点数目,因此在图1(b)中添加一个空节点。此外还要在这两个图中为节点间不存在连接之处添加权重为零的虚拟边(在图中用虚线表示)。通过上述操作,S1和&就被扩充成为两个节点数量完全相等的完全图<和劣。在完成对社区所对应图的上述操作后,就可以用相似性度量函数来衡量两个社区的相似程度。假
权利要求
1.一种社区相似度计算方法,包括步骤1)、将待计算相似度的第一社区与第二社区分别用第一图与第二图表示,其中,所述第一图与所述第二图中的节点上标注有用来表示该节点所对应的社区中个体的权威性的节点权威性值,所述节点之间的边上标注有用来表示该边所连接的两节点之间某一类型信息的边标注值;步骤2·)、将所述第一图与所述第二图中的各个节点分别按照所述节点权威性值进行降序排列;步骤幻、为步骤2~)所得到的第一图与第二图计算相似值,进而得到所述第一图与所述第二图所代表的社区的相似程度。
2.根据权利要求1所述的社区相似度计算方法,其特征在于,在所述的步骤1)和步骤 2)之间还包括步骤a)、比较所述第一图与第二图的节点数目,为节点数较少的图添加空节点,确保两个图有相同的节点数量;步骤b)、在所添加的空节点之间以及所述空节点与原有节点之间添加虚拟边,使得所述第一图与第二图成为完全图;所述虚拟边的边标注值为0。
3.根据权利要求1或2所述的社区相似度计算方法,其特征在于,在所述的步骤3)中, 所述相似值为余弦相似值;计算余弦相似值的公式为
4.一种从社会网络中查找合作模式的方法,包括步骤1)、从用于表示社会网络的图中找出所有用于表示社区的子图,将这些子图所代表的社区存入一个集合中;步骤2)、从步骤1)所找出的社区的集合中,提取一个社区,将该社区作为模式库中的第一个合作模式;步骤幻、从步骤1)所找出的社区的集合中继续提取一个新的社区,根据权利要求1-3 之一所述的社区相似度计算方法对该新的社区与所述模式库中的已有合作模式进行相似度计算,根据相似度计算结果将该新的社区与已有合作模式合并或者作为一种新的合作模式添加到所述模式库中;步骤4)、判断所述社区的集合中的社区是否已经被提取完,如果有尚未处理的新的社区,重新执行步骤3),否则,结束操作,输出模式库中的所有合作模式。
5.根据权利要求4所述的从社会网络中查找合作模式的方法,其特征在于,在所述的步骤1)中还包括将从用于表示社会网络的图中所找出的所有社区的显著性与一预先设定的显著性指标进行比较,将显著性小于该显著性指标的社区作为非重要社区从所述社区的集合中剔除。
6.根据权利要求4或5所述的从社会网络中查找合作模式的方法,其特征在于,在所述的步骤3)中,所述的根据相似度计算结果将该新的社区与已有合作模式合并或者作为一种新的合作模式添加到所述模式库中包括所述相似度计算结果大于一设定的相似度阈值,将所述新的社区与已有合作模式合并。
7.根据权利要求4或5所述的从社会网络中查找合作模式的方法,其特征在于,在所述的步骤3)中,所述的根据相似度计算结果将该新的社区与已有合作模式合并或者作为一种新的合作模式添加到所述模式库中还包括所述相似度计算结果小于或等于一设定的相似度阈值,将所述新的社区作为一种新的合作模式添加到所述模式库中。
全文摘要
本发明提供一种用于计算社区之间相似度的方法,包括将待计算相似度的第一社区与第二社区分别用第一图与第二图表示;将所述第一图与所述第二图中的各个节点分别按照所述节点权威性值进行降序排列;为第一图与第二图计算相似值,进而得到所述第一图与所述第二图所代表的社区的相似程度。本发明还提供了一种从社会网络中查找合作模式的方法。本发明在发现合作模式的过程中,不仅仅考虑了结构特征,也考虑了节点的权威性分布,使得所发现的合作模式更具有代表性。
文档编号G06F17/30GK102456062SQ201010535509
公开日2012年5月16日 申请日期2010年11月4日 优先权日2010年11月4日
发明者周斌, 方滨兴, 李爱平, 杨树强, 贾焰, 韩伟红, 韩毅 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1