本发明属于复杂网络分析,特别涉及一种基于节点拓扑结构和语义属性的社团检测方法。
背景技术:
1、传统社团检测方法的主要问题在于,其是针对一般网络提出的,该网络不带有节点语义属性。这些方法可以有效地进行社团划分,但是其在划分一个节点的社团归属时并没有考虑节点的语义属性,导致其准确度不高,尤其无法将孤立节点准确地划分到合适的社团中。随着web 2.0等技术的广泛使用,越来越多的网络提供节点的语义属性,比如社交网络中个人的年龄和爱好等信息。因此,有必要结合网络拓扑结构和节点语义属性进行社团划分,进而提高社团检测的准确性。
技术实现思路
1、为了克服以上技术问题,本发明的目的在于一种基于节点拓扑结构和语义属性的社团检测方法,其不仅考虑了网络中节点的拓扑结构,而且还考虑到节点的语义属性,同时对于规模较小的社团进行节点重新分配和社团边界节点进行重新分配提高了网络社团检测的准确性。
2、为了实现上述目的,本发明采用的技术方案是:
3、步骤1:使用jaccard距离计算节点与节点邻居的拓扑结构相似度和语义属性相似度,使用α来衡量两者之间不同贡献得到节点综合相似度hs;jaccard距离为两个向量中元素的交集与并集之比;
4、步骤2:针对节点综合相似度hs计算节点中心性chs以及一阶、二阶邻域内的节点影响力si;
5、步骤3:基于节点影响力si进行社团标签传播,返回社团检测结果cdr1;
6、步骤4:对于规模较小的社团进行节点重新分配,返回社团检测结果cdr2;
7、步骤5:将社团边界节点进行重新分配,返回社团检测结果cdr3。
8、所述步骤1中计算节点综合相似度的过程步骤包括:
9、步骤1.1:使用jaccard距离计算节点拓扑结构相似度ts,其计算过程如下:
10、
11、其中,γ(v)′表示节点v的邻域节点集合,其包括节点v以及节点v的邻居节点集合。|γ(v)′∩γ(u)′|表示γ(v)′和γ(u)′并集中节点的个数,|γ(v)′∪γ(u′)|表示γ(v)′和γ(u)′交集中节点的个数;
12、步骤1.2:使用jaccard距离计算节点语义属性相似度as,其计算过程如下:
13、
14、其中,w(v)指代节点v的属性向量,|w(v)∩w(u)|指节点v和u的相同属性的数量,|w(v)∪w(u)|指节点v和u总共存在属性的数量;
15、步骤1.3:使用一个超级参数α灵活调整节点拓扑结构和语义属性对节点综合相似度hs的贡献,其计算过程如下:
16、
17、所述步骤2中计算节点中心性chs以及一阶、二阶邻域内的节点影响力si的过程步骤包括:
18、步骤2.1:定义一个节点v的信息量ni(v),其计算过程如下:
19、
20、步骤2.2:归一化一个节点v的中心性chs(v),其计算过程如下:
21、
22、步骤2.3:定义节点的一阶邻居对其的影响力,其计算过程如下:
23、
24、其中,v1表示节点v是节点u的一阶邻居,也即v1∈γ(u)。chs(v1)代表节点v1的中心性,hs(u,v)代表节点u和v之间的综合相似度,d(v1)为节点u的度;
25、步骤2.4:定义节点的二阶邻居对其的影响力,其计算过程如下:
26、
27、其中,v2表示节点v是节点u的二阶邻居,也即v2∈γ(v1)。
28、所述步骤3中,基于节点影响力si进行社团标签传播过程的步骤包括:
29、步骤3.1:计算每一个节点的中心性chs;
30、步骤3.2:迭代进行节点标签的改变,直到节点标签不再变化,其中更新节点标签的过程如下:
31、步骤3.2.1:创建节点标签信息字典;
32、步骤3.2.2:找到需要更新标签的节点一阶邻居集合;
33、步骤3.2.3:将节点一阶邻居对节点传播的信息保存到节点标签信息字典中;
34、步骤3.2.4:找到需要更新标签的节点二阶邻居集合;
35、步骤3.2.5:将节点二阶邻居对节点传播的信息保存到节点标签信息字典中;
36、步骤3.2.6:返回节点标签字典信息最大值对应的标签作为节点标签;
37、步骤3.3:返回社团检测结果cdr1。
38、所述步骤4中,对于规模较小的社团进行节点重新分配的步骤包括:
39、步骤4.1:找到节点个数小于设定阈值r的社团,将这些社团中节点取出,并删除这些社团;
40、步骤4.2:根据社团归属度指标ca将小规模社团中的节点重新分配社团,其中社团归属度指标ca计算公式如下:
41、
42、其中,hs(u,v)是节点u和v之间的综合相似度,|ci|是社团ci中节点的数量;
43、步骤4.3:返回社团检测结果cdr2。
44、所述步骤5中,将社团边界节点进行重新分配的步骤包括:
45、步骤5.1:找到各个社团的边界节点,其中社团ci边界节点的计算过程如下:
46、
47、步骤5.2:根据社团归属度指标将社团边界节点重新分配社团;
48、步骤5.3:返回社团检测结果cdr3。
49、本发明提供的有益效果。
50、本发明提供了一种基于节点拓扑结构和语义属性的社团检测方法。其首先通过计算节点综合相似度得到节点影响力,其次通过标签传播算法得到初始社团划分,最后,使用小规模社团重新分配以及社团边界节点重新检查提高了网络社团检测结果的准确性。此方法不仅可以用于网络的社团检测,同时可以用于推荐系统中。
1.一种基于节点拓扑结构和语义属性的社团检测方法,其特征在于,包括以下步骤;
2.根据权利要求1所述的一种基于节点拓扑结构和语义属性的社团检测方法,其特征在于,所述步骤1中,计算节点综合相似度的过程步骤包括:
3.根据权利要求1所述的一种基于节点拓扑结构和语义属性的社团检测方法,其特征在于,所述步骤2中,计算节点中心性chs以及一阶、二阶邻域内的节点影响力si的过程步骤包括:
4.根据权利要求1所述的一种基于节点拓扑结构和语义属性的社团检测方法,其特征在于,所述步骤3中,基于节点影响力si进行社团标签传播过程的步骤包括:
5.根据权利要求1所述的一种基于节点拓扑结构和语义属性的社团检测方法,其特征在于,所述步骤4中,对于规模较小的社团进行节点重新分配的步骤包括:
6.根据权利要求1所述的一种基于节点拓扑结构和语义属性的社团检测方法,其特征在于,所述步骤5中,将社团边界节点进行重新分配的步骤包括: