一种基于关系组合优化和种子扩张的多关系社区发现方法与流程

文档序号:11251789阅读:357来源:国知局
一种基于关系组合优化和种子扩张的多关系社区发现方法与流程

本发明属于社会网络及计算机应用技术领域,尤其涉及一种基于关系组合优化和种子扩张的多关系社区发现方法。



背景技术:

社会网络(socialnetwork)是由许多节点和连边构成的网状结构,节点可以对应现实生活中的人以及各种社会组织机构,节点之间的连边可以对应日常生活中的各种交往关系,比如人与人之间的朋友、家人、同学等社会关系,也可以是微信、电话、邮件等联络关系。社区发现是包括社会网络在内的复杂网络的一个重要研究方向,在电子商务、公共安全、生物学等领域都有着巨大的应用价值。社区是指网络中一些相互之间拥有较多共同特征,联系比较多的节点聚类。网络拓补结构具体表现为同一社区的节点之间联系比较紧密,而不属于同一社区的节点之间联系比较稀疏。社区发现是社会网络分析的一个基本任务,是对网络中存在的社区结构进行挖掘,研究网络的社区对理解整个网络的结构和功能具有至关重要的作用。一般对社会网络的研究分析大都是对网络中的一种关系进行研究,而现实生活中的社会网络个体之间都存在多种类型的关系,比如人与人之间存在着朋友、同学、家人等社会关系。而web2.0时代的到来更使人们之间存在的交流联系方式变得多种多样,除了传统的电话和短信,还有微信、微博、人人facebook、twitter、youtube等多种基于互联网的交流联系也在社会网络中普遍存在,甚至在同一种交流工具中也存在着多种交流方式,比如微博中人们之间可以通过评论、转发、点赞等多种渠道来产生交流。多关系的社会网络普遍存在于现实生活中。目前对社会网络的社区发现方法基本都是基于一种关系的研究,而由于社会个体之间的交流方式存在一定主观性,只采用一种关系不能充分掌握个体间的交流信息,很可能会因为信息不全面导致社区划分结果最终跟现实不对应。同时某种交流方式可能会因为更容易跟陌生人或平常不熟悉的人发生联系而产生较多社交噪音,这些噪音也会掩盖现实生活中真正的社区结构。现有的一部分多关系社区发现方法在对多关系网络进行社区发现时,将各种关系组成的网络都一视同仁,但实际多关系社会网络中,由于交流方式的不同,每一种关系的社交噪音是不一样的。这样的方法虽然可以使各关系之间的社区信息互相补充,但同时也会引入各社交关系的噪音,在有些社交关系噪音比较大的情况下有可能会造成综合考虑多种关系进行社区发现的结果反而不如只考虑单个关系进行社区发现的结果。

综上所述,现有技术存在的问题是:目前对社会网络的社区发现方法时忽略了各关系的差异性,将各个关系所带来的信息一视同仁,因此存在综合各关系网络的社区信息时也引入了各关系网络所携带的社交噪音,造成社区发现准确率不够高,某些关系噪音较大时甚至会造成综合考虑多种关系进行社区发现的结果反而不如只考虑单个关系进行社区发现的结果。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于关系组合优化和种子扩张的多关系社区发现方法。

本发明是这样实现的,一种基于关系组合优化和种子扩张的多关系社区发现方法,所述基于关系组合优化和种子扩张的多关系社区发现方法通过多目标优化优化网络中各种关系的权重配比将多关系网络融合成一个能有效综合各关系社区信息的同时噪音低的单关系网络,然后综合多关系网络中各关系的社区划分信息将在各个关系中都处于同一个社区的人群寻找出来,以这些人群组成的小社区作为种子社区,采用种子扩张策略对多关系社会网络进行社区挖掘,得到准确率更高的的社区结构划分;

所述权重配比优化子目标一采用模块度作为衡量结果社区结构强度和可靠性的指标,计算结果ca的模块度qa,模块度计算如下:

其中ai,j是整个网络的邻接矩阵,m是网络中包含的边的数目,ki和kj分别表示节点i和节点j的度数,δ(ci,cj)的取值取决于i和j是否处于同一个社区内,是的话δ(ci,cj)取值为,否则话其取值为0;

所述权重配比优化子目标二采用nmi作为社区结构信息相似性衡量标准,按如下计算:

其中混淆矩阵h的行代表真实的社区划分结果,h的列代表划分算法画出来的社区结果。ca和cb分别代表a,b两个结果包含的社区个数,hij代表应该在社区i中却出现在社区j中的节点个数,hi.和h.j分别代表第i行和第j列的社区的节点数之和,n是整个网络中所含的节点数目;当nmi=1时,代表a和b两个结果的社区结构完全相同,nmi=0,时代表完全不一样;

所述种子扩张策略选取节点数最多的社区si作为种子社区;计算种子社区si与其余候选种子社区以及剩余节点的相似度,计算式子如下:

u和v分别是社区si,sj中的节点,ni和nj分别是两个社区中节点的数量,是节点编号集合。

进一步,所述基于关系组合优化和种子扩张的多关系社区发现方法包括以下步骤:

1)将多关系网络的各关系直接按照相同比例来配置权重把多关系网络合并成一个带权的单关系网络a;

2)采用一种单关系的社区划分方法对网络a进行社区划分,所得的社区划分结果记为ca,接着采用一种衡量社区发现结果可靠性及结构强度的指标对结果ca进行衡量,衡量出的值记为qa;

3)以各关系的权重配比作为决策变量,采用一种多目标优化方法同时对下列两个子目标进行优化来获得一组最优决策变量集;

优化子目标一:新的权重配比合并成的单关系网络b与网络a的社区划分结果的结构衡量指标差值尽可能大;

优化子目标二:新的权重配比合并成的单关系网络b与网络a的社区划分结果所显示的社区结构信息相似性尽可能大。

4)在步骤3)获得的最优决策变量集中选择使子目标一最大的权重配比将多关系网络融合成单关系网络m,并采用一种单关系社区发现方法对m进行社区发现,将所获社区个数记为k;

5)采用一种单关系社区发现方法分别对每个关系组成的网络进行社区划分;

6)设置迭代标志l=0,对步骤5)各关系社区发现的结果进行统计,将在所有关系中都处于一个社区的节点作为种子社区放入种子社区集合cl中;

7)通过单关系网络m通过一种相似度计算方法来计算网络中各节点之间的相似度;

8)若l=0,令l=l+1,集合cl=cl-1,进行下一步;若l>0,检测集合cl与cl-1是否一样,是则转步骤11),否则令l=l+1,集合cl=cl-1进行下一步;

9)将种子社区候选集合cl中的尚未参与过合并的社区按照社区包含的节点数量从大到小进行排序,选取排序最高的社区si作为种子社区;

10)通过步骤7)计算出来的相似度计算种子社区si与其余候选种子社区以及剩余节点的相似度记为sim;

11)选取与si相似度超过设定阈值β的社区和节点放入候选区,通过一种局部适应度计算方法计算si当前适应度f以及候选区各社区的当前适应度fh,然后分别计算候选合并区的社区和节点与si合并后的适应度值记为fnew,接着计算fnew相对于si原来的适应度f的增长率vs以及候选社区适应度fnew的增长率vh;

12)在vs和vh都大于增长率阈值δ的前提下,选使vs+vh最大的候选社区sj与si合并成一个新社区,更新si和种子社区集合cl,返回步骤10);若没有符合条件的,则检查集合cl中现有社区是否都已是合并过的,否的话返回步骤9),是的话将集合cl中所有社区的合并记录清零,返回步骤8);

13)检查网络中社区数目,若小于等与k,则输出结果,程序结束,输出集合cl;若大于k,则执行如下消除策略;以包含节点数目最多的前k个社区为目标,依次计算剩余社区及节点与他们的相似度,将剩余社区和节点归并入跟他们相似度最高的前k个社区,更新集合cl,最后输出社区集合cl作为最终划分结果。

进一步,采用单关系社区发现算法bgll分别对四个关系组成的网络进行社区划分,统计划分结果根据式子得到亲密度矩阵i,其中iij为节点i,j在矩阵中对应的值,n为维度的总数这里是4,m表示第几个维度,cm(i,j)表示两点在m维度是否被划分在同一社区,若两点在第m个维度被划为同一社区则cm(i,j)值1,否则的话为0;遍历矩阵i,将所有值小于4的数全部设置为零,得到区域矩阵f;对矩阵f进行深度优先遍历,得到其所有的连通子区域,将子区域节点数目超过1的区域存入候选种子社区集合cl,l=0。

进一步,通过单关系网络m来计算网络中各节点之间的相似度sim:

其中k表示i,j被划为相同社区的维度个数,n=4,δ增益因子为1,w(i,j)时节点i和节点j的连接边权重,com(i,j)两个节点邻居节点交集,n(i,j)是两个节点的邻居节点并集。

进一步,选取与si相似度超过设定阈值γ=1的社区和节点放入候选区,计算si当前适应度f以及候选区各社区的当前适应度fh,计算公式如下:

其中式子的是社区内部边的权重之和的两倍,是与社区外部边的权重之和,α为调控社区规模大小的参数,取值设为一;

然后分别计算候选合并区的社区和节点与si合并后的适应度值记为,然后计算fnew相对于si原来的适应度f的增长率vs以及候选社区适应度fh的增长率vh;

在vs和vh都大于增长率阈值δ=0.1的前提下,选取vs+vh最大的那个社区与si合并成一个新社区,更新si和种子社区集合cl;若没有符合条件的,则检查集合cl中现有社区是否都已是合并过的;是的话将集合cl中所有社区的合并记录清零;

检查社区数目,若小于等与k,则输出结果,程序结束,输出集合cl;若大于k,则以包含节点数目最多的前k个社区为目标,依次计算剩余社区与他们的相似度,将剩余社区和节点归并入跟他们相似度最高的前k个社区,更新集合cl,最后输出社区集合cl作为最终划分结果。

本发明的另一目的在于提供一种应用所述基于关系组合优化和种子扩张的多关系社区发现方法的社会网络。

本发明的另一目的在于提供一种应用所述基于关系组合优化和种子扩张的多关系社区发现方法的计算机。

本发明的优点及积极效果为:

1.本发明对多关系网络中的各种关系通过权重配比来进行组合优化,能够在综合各关系网络有效信息的同时更好地克服不同关系网络带来的社交噪音,在各关系噪音较大时,依然能够获得比较准确的社区划分结果。本发明通过综合多关系网络中各关系的社区划分信息将在各个关系中都处于同一个社区的人群寻找出来,这些非常固定的社交圈子一般都处于所在社区的核心位置,以他们作为种子社区进行扩张更有利于发现出多关系网络中隐含的真实社区。人工网络实验表明,本发明的社区发现结果有的准确性比传统方法平均提高了越9%,具体效果见图4。在各关系携带的噪音比例差距高达50%的恶劣情况下,传统多关系方法受噪音影响社区发现结果准确性降低到71%已不如单独采用噪音最小的关系的82%,而这种情况下本发明的准确性为86.3%,具体效果见图5。

附图说明

图1是本发明实施例提供的基于关系组合优化和种子扩张的多关系社区发现方法流程图。

图2是本发明实施例提供的基于关系组合优化和种子扩张的多关系社区发现实现流程图。

图3是本发明实施例提供的的结果与只采用一种关系进行社区发现的结果对比示意图。

图4是本发明实施例提供的与传统多关系社区发现方法pmm在不同噪音下的结果对比示意图。

图5是本发明实施例提供的本发明具体效果示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理作详细的描述。

本发明实施例提供的基于关系组合优化和种子扩张的多关系社区发现方法通过优化网络中各种关系的权重配比将多关系网络融合成一个能有效综合各关系社区信息的同时噪音低的单关系网络,然后综合多关系网络中各关系的社区划分信息将在各个关系中都处于同一个社区的人群寻找出来,以这些人群组成的小社区作为种子社区,采用一种种子扩张策略对多关系社会网络进行社区挖掘,从而得到准确率更高的的社区结构划分。

如图1所示,本发明实施例提供的基于关系组合优化和种子扩张的多关系社区发现方法包括以下步骤:

s101:将多关系网络的各关系直接按照1:1比例来配置权重将多关系网络合并成一个带权重的单关系网络;

s102:采用一种单关系社区划分算法对该网络进行社区划分,采用某种衡量指标计算划分结果社区结构强度;

s103:采用一种多目标进化算法对各维度关系的权重组合配比进行优化优化目标一为的新权重合并成的网络的社区划分结果与最开始1:1合并成的网络社区划分结果的社区结构强度指标之差尽可能大;优化目标二采用一种指标衡量二者社区划分结果相似度,使相似度尽可能高;

s104:用优化后的权重配比将多关系网络转化成单关系网络;

s105:采用一种单关系社区发现算法分别对每个关系组成的网络进行社区划分,统计关系社区发现的结果,将在所有关系中都处于一个社区的节点作为候选种子社区;

s106:通过所选用的社区相似度函数和局部适应度函数在种子社区和剩余节点间进行合并;

s107:合并结束后检测社区数目决定是否使用消除策略,输出最终社区划分结果。

本发明实施例提供的基于关系组合优化和种子扩张的多关系社区发现方法具体包括以下步骤:

1)将多关系网络的各关系直接按照相同比例来配置权重把多关系网络合并成一个带权的单关系网络a。

2)采用一种单关系的社区划分方法对网络a进行社区划分,所得的社区划分结果记为ca,接着采用一种衡量社区发现结果可靠性及结构强度的指标对结果ca进行衡量,衡量出的值记为qa。

3)以各关系的权重配比作为决策变量,采用一种多目标优化方法同时对下列两个子目标进行优化来获得一组最优决策变量集;

优化子目标一:新的权重配比合并成的单关系网络b与网络a的社区划分结果的结构衡量指标差值尽可能大;

优化子目标二:新的权重配比合并成的单关系网络b与网络a的社区划分结果所显示的社区结构信息相似性尽可能大,二者社区结构信息相似性可以用一些常用的指标,比如标准化互信息nmi。

4)在步骤3)获得的最优决策变量集中选择使子目标一最大的权重配比将多关系网络融合成单关系网络m,并采用一种单关系社区发现方法对m进行社区发现,将所获社区个数记为k。

5)采用一种单关系社区发现方法分别对每个关系组成的网络进行社区划分。

6)设置迭代标志l=0,对步骤5)各关系社区发现的结果进行统计,将在所有关系中都处于一个社区的节点作为种子社区放入种子社区集合cl中。

7)通过单关系网络m通过一种相似度计算方法来计算网络中各节点之间的相似度。

8)若l=0,令l=l+1,集合cl=cl-1,进行下一步;若l>0,检测集合cl与cl-1是否一样,是则转步骤11),否则令l=l+1,集合cl=cl-1进行下一步。

9)将种子社区候选集合cl中的尚未参与过合并的社区按照社区包含的节点数量从大到小进行排序,选取排序最高的社区si作为种子社区。

10)通过步骤7)计算出来的相似度计算种子社区si与其余候选种子社区以及剩余节点的相似度记为sim。

11)选取与si相似度超过设定阈值β的社区和节点放入候选区,通过一种局部适应度计算方法计算si当前适应度f以及候选区各社区的当前适应度fh,然后分别计算候选合并区的社区和节点与si合并后的适应度值记为fnew,接着计算fnew相对于si原来的适应度f的增长率vs以及候选社区适应度fnew的增长率vh。

12)在vs和vh都大于增长率阈值δ的前提下,选使vs+vh最大的候选社区sj与si合并成一个新社区,更新si和种子社区集合cl,返回步骤10);若没有符合条件的,则检查集合cl中现有社区是否都已是合并过的,否的话返回步骤9),是的话将集合cl中所有社区的合并记录清零,返回步骤8)。

13)检查网络中社区数目,若小于等与k,则输出结果,程序结束,输出集合cl;若大于k,则执行如下消除策略;

以包含节点数目最多的前k个社区为目标,依次计算剩余社区及节点与他们的相似度,将剩余社区和节点归并入跟他们相似度最高的前k个社区,更新集合cl,最后输出社区集合cl作为最终划分结果。

下面结合附图对本发明的应用原理作进一步的描述。

本发明实施例提供的基于关系组合优化和种子扩张的多关系社区发现方法包括以下步骤:

步骤一:输入多关系网络,并将各关系网络处理成邻接矩阵,输入相似度阈值σ=1及增长率阈值β=0.1;

采用的多关系网络为人工生成网络,人造网络的大小为350个节点,包含三个社区,每个社区分别包括50,100和200个节点。节点之间存在四个维度的关系,即节点间存在着四种连接方式。同一社区间的节点以概率u进行连接,不属于同一社区的节点间的连接概率根据维度变化,即不同关系下的不同社区间节点的连接概率v不同。同时向网络中加入了噪声,噪声产生的方法是网络中所有节点之间以概率r进行随机连接。

步骤二:将多关系网络的四个关系直接按照1:1比例来配置权重将多关系网络合并成一个带权重的单关系网络a,本发明实施例选用单关系的社区划分算法bgll对网络a进行社区划分,所得的社区划分结果记为ca,本发明实施例采用模块度作为衡量结果社区结构强度和可靠性的指标,计算结果ca的模块度qa,模块度计算如下:

其中ai,j是整个网络的邻接矩阵,m是网络中包含的边的数目,ki和kj分别表示节点i和节点j的度数,δ(ci,cj)的取值取决于i和j是否处于同一个社区内,是的话δ(ci,cj)取值为,否则话其取值为0。

步骤三:以各关系的权重配比作为决策变量,采用一种多目标优化方法同时对下列两个子目标进行优化来获得一组最优决策变量集;

优化子目标一:新的权重配比合并成的单关系网络b与网络a的社区划分结果的模块度差值尽可能大,优化子目标二:新的权重配比合并成的单关系网络b与网络a的社区划分结果所显示的社区结构信息相似性尽可能大,本实施案例使用标准化互信息nmi,按如下计算:

其中混淆矩阵h的行代表真实的社区划分结果,h的列代表划分算法画出来的社区结果。ca和cb分别代表a,b两个结果包含的社区个数,hij代表应该在社区i中却出现在社区j中的节点个数,hi.和h.j分别代表第i行和第j列的社区的节点数之和,n是整个网络中所含的节点数目。当nmi=1时,代表a和b两个结果的社区结构完全相同,nmi=0,时代表完全不一样。多目标遗传算法初始种群大小为50,交叉概率0.8,变异概率0.2,迭代次数300,编码方式为实数编码。

步骤四:在步骤三获得的最优解集中选择使模块度值最大的解作为最终解,根据最终解给出的权重配比将多关系网络合并成单关系网络m,并采用一种单关系社区发现算法对m进行社区发现,将所获社区个数记为k,这里k=3。

步骤五:采用单关系社区发现算法bgll分别对四个关系组成的网络进行社区划分,统计划分结果根据式子得到亲密度矩阵i,其中iij为节点i,j在矩阵中对应的值,n为维度的总数这里是4,m表示第几个维度,cm(i,j)表示两点在m维度是否被划分在同一社区,若两点在第m个维度被划为同一社区则cm(i,j)值1,否则的话为0;遍历矩阵i,将所有值小于4的数全部设置为零,得到区域矩阵f;对矩阵f进行深度优先遍历,得到其所有的连通子区域,将子区域节点数目超过1的区域存入候选种子社区集合cl,l=0。

步骤六:通过单关系网络m来计算网络中各节点之间的相似度sim:

其中k表示i,j被划为相同社区的维度个数,n=4,δ增益因子为1,w(i,j)时节点i和节点j的连接边权重,com(i,j)两个节点邻居节点交集,n(i,j)是两个节点的邻居节点并集。

步骤七:若l=0,令l=l+1,集合cl=cl-1,进行下一步;否的话检测集合cl与cl-1是否一样,是的话转步骤十一,否则,令l=l+1,集合cl=cl-1进行下一步。

步骤八:将种子社区候选集合cl中的尚未参与过合并的社区按照社区包含的节点个数多少排序,选取节点数最多的社区si作为种子社区。

步骤九:计算种子社区si与其余候选种子社区以及剩余节点的相似度,计算式子如下:

u和v分别是社区si,sj中的节点,ni和nj分别是两个社区中节点的数量,是节点编号集合。

步骤十:选取与si相似度超过设定阈值γ=1的社区和节点放入候选区,计算si当前适应度f以及候选区各社区的当前适应度fh,计算公式如下:

其中式子的是社区内部边的权重之和的两倍,是与社区外部边的权重之和,α为调控社区规模大小的参数,这里取值设为一;

然后分别计算候选合并区的社区和节点与si合并后的适应度值记为,然后计算fnew相对于si原来的适应度f的增长率vs以及候选社区适应度fh的增长率vh。

步骤十一:在vs和vh都大于增长率阈值δ=0.1的前提下,选取vs+vh最大的那个社区与si合并成一个新社区,更新si和种子社区集合cl,返回步骤十;若没有符合条件的,则检查集合cl中现有社区是否都已是合并过的,否的话返回步骤九,是的话将集合cl中所有社区的合并记录清零,返回步骤八。

步骤十二:检查社区数目,若小于等与k,则输出结果,程序结束,输出集合cl;若大于k,则以包含节点数目最多的前k个社区为目标,依次计算剩余社区与他们的相似度,将剩余社区和节点归并入跟他们相似度最高的前k个社区,更新集合cl,最后输出社区集合cl作为最终划分结果。

下面结合仿真对本发明的应用效果作详细的描述。

仿真一为本发明实施案例中u=0.5,噪声r=0.1的情况下本发明与只采用一种关系用bgll算法进行社区发现的结果对比,采用nmi值来验证实验结果与真实社区结构的相似度,见图3。可以看出采用多种关系进行社区发现的结果优于只采用一种关系的结果。

仿真二为本发明实施案例中不断加大噪声时(从0.1增加到0.4,每次增加0.05),本发明的检测结果与传统的pmm方法的对比,见图4。可以看出本发明的方法的抗噪音效果比较强。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1