【技术实现步骤摘要】
社区划分方法、装置、计算设备及存储介质
本申请涉及数据挖掘
,尤其涉及社区划分方法、装置、计算设备及存储介质。
技术介绍
随着互联网的发展,用户可以利用各种多媒体应用(例如,即时通讯应用、社交应用、短视频应用等等)发布和浏览多媒体内容。这里,发布多媒体内容的主体标识(例如为网络标识、终端设备标识、个人登录账号、公众号等等)急剧增长。与多媒体内容有关的主体标识可以形成一个网络结构。各个主体标识可以认为是网络结构中顶点。为了挖掘网络结构中顶点之间的关联关系,现有方案可以采用各种社区发现算法对网络中顶点进行社区划分。然而,现有的方案在面对海量的顶点数据时,处理效率有待提高。
技术实现思路
本申请提出了一种社区划分方案,能够提高社区划分速度。根据本申请一方面,提供一种社区划分方法,包括:获取第一有权无向图,其中,所述第一有权无向图用于描述由边连接顶点而形成的网络结构,所述第一有权无向图中每条边的权重值用于描述每条边连接的两个顶点之间的相似度,所述第一有权无向图中不同顶点属于不同的社区;将所述第一有权无向图划分为多个第一子图,其中,每个第一子图用于描述所述网络结构的局部结构;对各第一子图中顶点进行合并,并将合并后生成的多个子图作为所述第一有权无向图的多个第二子图;迭代执行如下操作,直到所述第一有权无向图的多个第二子图的顶点总数不超过数量阈值:对执行本次迭代操作之前得到的最新的多个第二子图进行分组,将各分组中的多个第二子图合并为与各分组对应的一个第三子图;和对各第三子图中顶点执行社区合并操作得到与各第三子图对应的一个第四子图;将各第四子图中任意社区内的所有顶点合并为 ...
【技术保护点】
1.一种社区划分方法,其特征在于,所述方法包括:获取第一有权无向图,其中,所述第一有权无向图用于描述由边连接顶点而形成的网络结构,所述第一有权无向图中每条边的权重值用于描述每条边连接的两个顶点之间的相似度,所述第一有权无向图中不同顶点属于不同的社区;将所述第一有权无向图划分为多个第一子图,其中,每个第一子图用于描述所述网络结构的局部结构;对各第一子图中顶点进行合并,并将合并后生成的多个子图作为所述第一有权无向图的多个第二子图;迭代执行如下操作,直到所述第一有权无向图的多个第二子图的顶点总数不超过数量阈值:对执行本次迭代操作之前得到的最新的多个第二子图进行分组,将各分组中的多个第二子图合并为与各分组对应的一个第三子图;和对各第三子图中顶点执行社区合并操作得到与各第三子图对应的一个第四子图;将各第四子图中任意社区内的所有顶点合并为一个新的顶点,将顶点合并后生成的多个子图作为所述第一有权无向图最新的多个第二子图;合并所述迭代操作生成的多个第二子图,得到第二有权无向图;以及对所述第二有权无向图进行社区划分。
【技术特征摘要】
1.一种社区划分方法,其特征在于,所述方法包括:获取第一有权无向图,其中,所述第一有权无向图用于描述由边连接顶点而形成的网络结构,所述第一有权无向图中每条边的权重值用于描述每条边连接的两个顶点之间的相似度,所述第一有权无向图中不同顶点属于不同的社区;将所述第一有权无向图划分为多个第一子图,其中,每个第一子图用于描述所述网络结构的局部结构;对各第一子图中顶点进行合并,并将合并后生成的多个子图作为所述第一有权无向图的多个第二子图;迭代执行如下操作,直到所述第一有权无向图的多个第二子图的顶点总数不超过数量阈值:对执行本次迭代操作之前得到的最新的多个第二子图进行分组,将各分组中的多个第二子图合并为与各分组对应的一个第三子图;和对各第三子图中顶点执行社区合并操作得到与各第三子图对应的一个第四子图;将各第四子图中任意社区内的所有顶点合并为一个新的顶点,将顶点合并后生成的多个子图作为所述第一有权无向图最新的多个第二子图;合并所述迭代操作生成的多个第二子图,得到第二有权无向图;以及对所述第二有权无向图进行社区划分。2.如权利要求1所述的方法,其中,所述将所述第一有权无向图划分为多个第一子图,包括:计算所述第一有权无向图中各顶点的标识除以分区阈值的余数;将所述第一有权无向图中同余数的顶点划分到同一个第一子图中。3.如权利要求1所述的方法,其中,所述对各第一子图中顶点进行合并,并将合并后生成的多个子图作为所述第一有权无向图的多个第二子图,包括:将所述多个第一子图分配到多个计算设备中;在各计算设备中,基于快速展开方式,对各计算设备分配到的第一子图中顶点进行合并;将所述合并后生成的多个子图作为所述第一有权无向图的多个第二子图。4.如权利要求1所述的方法,其中,所述对各第一子图中顶点进行合并,并将合并后生成的多个子图作为所述第一有权无向图的多个第二子图,包括:对于所述多个第一子图中任一个第一子图,对该第一子图中顶点执行社区合并操作,最大化该第一子图的模块度;对于完成所述社区合并操作的所述多个第一子图,将各第一子图中任意社区内的所有顶点合并为一个新的顶点,将合并顶点后生成的多个子图作为所述多个第二子图。5.如权利要求4所述的方法,其中,所述对于所述多个第一子图中任一个第一子图,对该第一子图中顶点执行社区合并操作,最大化该第一子图的模块度,包括:对于该第一子图中任一个允许访问的顶点,确定加入该顶点的社区能增加该第一子图的模块度的允许访问的邻接顶点;将确定的所述邻接顶点加入到该顶点的社区,并将确定的所述邻接顶点设置为不允许访问。6.如权利要求5所述的方法,其中,所述对于该第一子图中任一个允许访问的顶点,确定加入该顶点的社区能增加该第一子图的模块度的允许访问的邻接顶点,包括:对于所述顶点的任一允许访问的邻接顶点,计算在将该邻接顶点加入到所述顶点的社区之后,所述第一子图的模块度与加入到所述顶点的社区之前的所述第一子图的模块度的差值;在所述差值为正时,确定该邻接顶点在加入到所述顶点的社区时能增加所述第一子图的模块度。7.如权利要求4所述的方法,其中,所述对于完成所述社区合并操作的所述多个第一子图,将各第一子图中任意社区内的所有顶点合并为一个新的顶点,将合并顶点后生成的多个子图作为所述多个第二子图,包括:对各第一子图中任意两个社区,计算所述任意两个社区之间连接的边的权重和;对于所述任意两个社区,在各社区...
【专利技术属性】
技术研发人员:彭颖鸿,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。