一种主题社区识别算法制造技术

技术编号:17780957 阅读:37 留言:0更新日期:2018-04-22 10:09
本发明专利技术提供了一种主题社区识别算法,对于一个给定的主题,考虑一个博客和另一个博客之间的联系次数,得到博客关系图;然后从博客关系图中选取主题质量分最高的专家博客组成的边作为种子边;再以种子边的两个顶点作为社区的初始成员,从这两个顶点相邻的顶点开始,依次判断剩余顶点是否满足加入社区的条件,候选集中如果只有一个顶点满足条件,那么就把这个顶点加入到社区;如果有多个顶点满足条件,就根据顶点到社区的连接数量的平均数,选择平均数最大的那个顶点加入社区,如此得到最终的主题社区。本发明专利技术提供的算法能够更快、更加集中地识别到主题更加明确、成员构成更加纯粹、质量更加高的主题社区。

【技术实现步骤摘要】
一种主题社区识别算法
本专利技术涉及一种主题社区识别算法,属于计算机科学

技术介绍
在给定主题的情况下,如何通过博客本身的博文、评论以及他人对本博客的评论等博客的各种元素来寻找关于这个给定主题的专家博客是一个重要的课题。有时候,单纯的寻找某个主题的专家博客还不能满足人们的需要。虽然很多专家博客识别算法尽可能地考虑由博客之间的交互来判断一个博客是否专家,但是仍然不能避免在同一个主题上的各个专家能够有比较多的交互,在这种情况下,这个读者如果分别阅读了这几个相对来说互相独立的专家的博客,得到的信息可能就是比较零散的,没有连贯性。用户有可能会去寻找跨界的专家,那么这就带来了一个社区重叠的问题。在早期的社会网络的研究中,通常进行社区识别时是不考虑社区重叠的,一个节点只能属于一个社区,不过随着研究的深入,人们越来越发现社区的重叠在现实生活中具有很重要的现实意义。比如,一个人可能会同时属于朋友圈、同事圈、亲人圈等多个社区中,那么这个人对于这几种社区来说就是一个重叠的节点。由于主题专家很多时候并不一定只涉及一个主题,因此对于重叠社区的研究是研究主题社区的一个重要方面。研究者们对重叠社区的识别采用了不同种类的方法,目前主要有:本地扩展与优化方法(LocalExpansionandOptimization)[参见:Lancichinetti,Andrea,SantoFortunato,andJánosKertész.DetectingtheOverlappingandHierarchicalCommunityStructureinComplexNetworks.NewJournalofPhysics,2009],线图和链接划分方法(LineGraphandLinkPartitioning)[参见:Havemann,F.,Heinz,M.Struck,A.,andGlaser,J.IdentificationofOverlappingCommunitiesandTheirHierarchybyLocallyCalculatingCommunity-changingResolutionLevels.J.Stat.Mech.2011.],团过滤算法(CliquePercolationMethod)[参见:Padrol-Sureda,A.,Perarnau-Llobet,G.,Pfeifle,J.,andMunts-Mulero.Over-LappingCommunitySearchforSocialNetworks.InProc.ICDE.992-995.2010],模糊方法(FuzzyDetection)[参见:Shen,H.,Cheng,X.,andGuo,J.QuantifyingandIddentifyingtheOverlappingCommunityStructureinNetworks.J.Stat.Mech.2009.]等。本地扩展与优化算法通常是根据一个函数来判断社区的质量,在保证社区质量的前提下,不断寻找适合加入的顶点,并形成最终的社区。应用本地扩展与优化算法寻找重叠社区的方法主要有:LFM算法[参见:Evans,T.Lambiotte,R.LineGraphsofWeightedNetworksforOverlappingCommunities.Eur.Phys.2009.],MONC算法[参见:Evans,T.S.CliqueGraphsandOverlappingCommunities.JournalofStatisticalMechanics:TheoryandExperiment2010.12(2010):P12037.],OCA算法[参见:Nicosia,V.,Mangioni,G.,Carchiolo,V.,andMalgeri,M.ExtendingtheDefinitionofModularitytoDirectedGraphswithOverlappingCommunities.J.Stat.Mech.,03024.2009]等。其他的这类算法还有:OCA算法[参见:Palla,Gergely,ImreDerényi,IllésFarkas,andTamásVicsek.UncoveringtheOverlappingCommunityStructureofComplexNetworksinNatureandSociety.Nature435,no.7043(2005):814-818.],EAGLE算法[参见:Lee,Conrad,FergalReid,AaronMcDaid,andNeilHurley.DetectingHighlyOverlappingCommunityStructurebyGreedyCliqueExpansion.arXivpreprintarXiv:1002.18272010.]等。OCA算法通过把图的顶点映射到多维向量,然后以向量间的欧拉距离作为FitnessFunction,通过增添或者减少顶点使得FitnessFunction增长,最终获取重叠社区;EAGLE算法同时也属于一种团过滤算法,因为对于本地扩展与优化算法而言,初始种子的选择很重要,因此,EAGLE算法首先找出图中的极大clique来作为种子社区,这样就保证了初始种子的质量,通过合并相似的社区来进行社区的扩展。Kumar社区识别算法是常用的一种重叠社区识别算法,具体如下:对于一个已经指定的特定主题,其已经得到了各个博客关于考察主题的质量分,所以博客的评论或者博文本身等基于博客内容的元素在这里已经不是考虑的重点,因此为了简单起见,仅仅考虑一个博客和另一个博客之间的联系次数,也即评论与被评论的动作发生的次数,就可以得到如图1中所示的无向博客关系图(基于寻找专家博客社区的目的,这里并不考虑联系的主动性与被动性,只考虑他们之间是否进行了一次“会晤”,因此用无向图来表示)。图1中,连线边上的数字表示联系次数,如博客b1和博客b2之间在所考虑的时间段内发生的评论与被评论的次数为5次。首先,随机地从博客关系图中选取一条边作为种子边,然后以该边的两个顶点作为社区的初始成员,从这两个顶点相邻的顶点开始,依次判断剩余顶点是否满足加入社区的条件(见表1),逐渐扩展社区,直到没有顶点可以加入时,输出这个社区。然后对剩余顶点按照同样的方法进行判断,直到剩余顶点集合为空。表1给出了社区扩展过程中顶点可以加入社区的条件。第一行size表示当前社区尺寸,第二行linknum表示候选顶点和社区成员之间的连接数目。表1社区扩展条件例如,考虑图1,如果当前社区C={b1,b4},那么对于图1中的其他三个顶点,有:b2的邻接点集和C的交集Adjs(b2)∩C={b1},那么degreeVtoC(b2)=1;b3的邻接点集和C的交集Adjs(b3)∩C={b4},那么degreeVtoC(b3)=1;b5的邻接点集和C的交集Adjs(b5)∩C={b1,b4},那么degreeVtoC(b5)=2;其中,degreeVtoC()表示社区外的点到社区C的连接数量。那么,可以加入到C的顶点就是b5,因为对应的社区的s本文档来自技高网...
一种主题社区识别算法

【技术保护点】
一种主题社区识别算法,其特征在于,步骤为:步骤1:对于一个给定的主题,考虑一个博客和另一个博客之间的联系次数,得到博客关系图;步骤2:从博客关系图中选取主题质量分最高的专家博客组成的边作为种子边;步骤3:以种子边的两个顶点作为社区的初始成员,从这两个顶点相邻的顶点开始,依次判断剩余顶点是否满足加入社区的条件,所述加入社区的条件如下:设t=|max(QS)‑c|,其中c为设定的常数,max(QS)为候选集中顶点的最大主题质量分值,候选集为关于给定主题质量分的顶点集合;对于候选顶点bi,如果QS(bi)>=t,则把候选顶点bi加入候选集,QS(bi)表示博客bi关于给定主题的主题质量分;此时,候选集中如果只有一个顶点,那么就把这个顶点加入到社区;如果有多个顶点,就根据顶点到社区的连接数量的平均数,选择平均数最大的那个顶点加入社区,如此得到最终的主题社区。

【技术特征摘要】
1.一种主题社区识别算法,其特征在于,步骤为:步骤1:对于一个给定的主题,考虑一个博客和另一个博客之间的联系次数,得到博客关系图;步骤2:从博客关系图中选取主题质量分最高的专家博客组成的边作为种子边;步骤3:以种子边的两个顶点作为社区的初始成员,从这两个顶点相邻的顶点开始,依次判断剩余顶点是否满足加入社区的条件,所述加入社区的条件如下:设t=|max(QS)-c|,其中c为设定的常数,max(QS)为候选集中顶点的最大主题质量分值,候选集为关于给定主题质量分的顶点集合;对于候选顶点bi,如果QS(bi)>=t,则把候选顶点bi加入候选集,QS(bi)表示博客bi关于给定主题的主题质量分;此时,候选集中如果只有一个顶点,那么就把这个顶点加入到社区;如果有多个顶点,就根据顶点到社区的连接数量的平均数,选择平均数最大的那个顶点加入社区,如此...

【专利技术属性】
技术研发人员:李宇佳
申请(专利权)人:上海电机学院
类型:发明
国别省市:上海,31

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

1