[发明专利]基于动力距离更新的社区检测方法在审
申请号: | 201711403013.3 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108280771A | 公开(公告)日: | 2018-07-13 |
发明(设计)人: | 黄健斌;边青全;周瑜 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06Q50/00 | 分类号: | G06Q50/00 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 社会网络 社区 检测 距离合并 初始化 条边 分裂 准确度 层次聚类 动力距离 检测结果 距离更新 相邻节点 动力学 更新 构建 合并 返回 融合 | ||
1.一种基于动力同步距离更新的社区检测方法,其特征在于,该方法将每次迭代过程中每条边的距离与社会网络的拓扑结构计算得到的值,作为下次迭代每条边的距离,属于同一社区的节点之间边的距离会动态缩短,不属于同一社区的节点之间边的距离会动态增长,该方法包括如下步骤:
(1)构建社会网络:
(1a)将社交关系中的每一个用户作为社会网络中的一个对应节点,并赋予一个唯一的节点标号;
(1b)将社交关系中两个用户之间的关系作为社会网络中对应的边,从而构建出社会网络中节点与节点之间连接的拓扑结构;
(2)初始化社会网络中的社区:
将社会网络中的每个节点初始化为一个对应的社区,并且将节点标号作为社区标号;
(3)初始化社会网络中相邻节点之间边的距离:
根据社会网络中的拓扑结构,使用Jaccard距离计算公式,计算社会网络中每条边的距离,将计算的结果作为社会网络中每条边的初始距离;
(4)合并与分裂社区:
(4a)将社会网络中的所有距离不大于0的边的两个端点所在的社区合并为一个社区;
(4b)将社会网络中所有距离不小于1的边的两个端点所在的社区分裂开来;
(5)更新社会网络中每条边的距离:
(5a)对于社会网络中距离介于0到1之间的每一条边,将与其相邻的所有节点分成三类集合;
(5b)根据当前迭代过程中每条边的距离,分别计算每类集合分别对每条边距离产生的影响;
(5c)将三类集合分别对每条边距离产生的影响与当前迭代过程中每条边的距离相加,用相加后的结果更新每条边的距离;
(6)判断社会网络中每条边的距离是否全部更新为0或者1,若是,则执行步骤(7);否则,执行步骤(4);
(7)确定最终社区:
求社会网路中所有距离为0的边所构成的最大联通分量,将每一个最大联通分量作为一个最终的社区。
2.根据权利要求1所述的基于动力同步距离更新的社区检测方法,其特征在于,步骤(3)中所述的Jaccard距离计算公式如下:
其中,d(x,y)表示社会网络中第x个节点与其相邻的第y个节点所构成边的距离;N(x)表示由社会网络中第x个节点与第x个节点相邻的所有节点构成的集合;N(y)表示由社会网络中第y个节点与第y个节点相邻的所有节点构成的集合;∩表示求交集操作;∪表示求并集操作;| |表示求集合中元素的个数操作。
3.根据权利要求1所述的基于动力同步距离更新的社区检测方法,其特征在于,步骤(4a)中所述的将社会网络中的所有距离不大于0的边的两个端点所在的社区合并为一个社区是指,将所有位于上述边的两个端点所在社区之间的边的距离置为0,将所含节点个数较少的社区内的节点社区标号改为所含节点个数较多的社区内的节点社区标号,以此合并两个社区为同一个社区。
4.根据权利要求1所述的基于动力同步距离更新的社区检测方法,其特征在于,步骤(4b)中所述的将社会网络中所有距离不小于1的边的两个端点所在的社区分裂开来是指,将所有位于上述边的两个端点所在社区之间的边的距离置为1。
5.根据权利要求1所述的基于动力同步距离更新的社区检测方法,其特征在于,步骤(5a)中所述的三类集合是指,直接邻居集合,公共邻居集合,独家邻居集合三类集合;其中,
所述的直接邻居集合是指社会网络中每一条边的两个端点构成的集合;
所述的公共邻居集合是指同时与社会网络中每一条边的两个端点都相邻的所有节点构成的集合;
所述的独家邻居集合是指与社会网络中每一条边的两个端点中的一个端点相邻,但与另一个不相邻的所有节点构成的集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711403013.3/1.html,转载请声明来源钻瓜专利网。