CN111159577B - 一种社群划分方法、装置、存储介质及电子装置 - Google Patents

一种社群划分方法、装置、存储介质及电子装置 Download PDF

Info

Publication number
CN111159577B
CN111159577B CN201911419710.7A CN201911419710A CN111159577B CN 111159577 B CN111159577 B CN 111159577B CN 201911419710 A CN201911419710 A CN 201911419710A CN 111159577 B CN111159577 B CN 111159577B
Authority
CN
China
Prior art keywords
communities
community
community set
node
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911419710.7A
Other languages
English (en)
Other versions
CN111159577A (zh
Inventor
姜旭
李嘉琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Mininglamp Software System Co ltd
Original Assignee
Beijing Mininglamp Software System Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Mininglamp Software System Co ltd filed Critical Beijing Mininglamp Software System Co ltd
Priority to CN201911419710.7A priority Critical patent/CN111159577B/zh
Publication of CN111159577A publication Critical patent/CN111159577A/zh
Application granted granted Critical
Publication of CN111159577B publication Critical patent/CN111159577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种社群划分方法、装置、存储介质及电子装置,该方法包括:将关系数据处理为图结构数据;统计该图结构数据的联通性,将该图结构数据划分为第一社群集合;在该第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将该图结构数据划分为第二社群集合;对该第二社群集合中的社群进行中心度计算,确定该第二社群集合中社群的中心点;和/或,在该第一数量大于或等于该预先设置的社群数量的情况下,对该第一社群集合中的社群进行中心度计算,确定该第一社群集合中社群的中心点,可以解决相关技术中通过GN算法划分社群存在时间复杂度太高,且不知道最后会有多少社群的问题,提高了社群划分的准确性。

Description

一种社群划分方法、装置、存储介质及电子装置
技术领域
本发明涉及信息技术领域,具体而言,涉及一种社群划分方法、装置、存储介质及电子装置。
背景技术
社群是由无数群成员构成的,而社群的KOL就是这些社群成员的连接点,这个群体往往拥有非常广阔的人脉,大家对他们通常会比较服气。社群管理者可以通过找出这些KOL,让他们定时通过文字或是直播的方式分享一些经验和内容,这样的话在提升了社群活跃度的同时,还能够让社群的价值进一步提升。
社区发现用来发现网络中的社区结构,也可以看作是一种聚类算法。
现有的划分方法,过于依赖人的主观判断,不能及时动态的反映社群的发展情况和动态结构。
在现有的实际运作过程中,主要通过以下两种方法划分社群:
1、图分割法
图分割方法大多是基于迭代二分法的,基本思想是将图分割成两个子图,然后迭代,最后得出要求的子图数。经典的算法有Kernighan-Lin算法和谱二分算法。
K-L(Kernighan-Lin)算法是一种将已知网络划分为已知大小的两个社区的二分方法,它是一种贪婪算法。它的主要思想是为网络划分定义了一个函数增益Q,Q表示的是社区内部的边数与社区之间的边数之差,根据这个方法找出使增益函数Q的值成为最大值的划分社区的方法。具体策略是,将社区结构中的结点移动到其他的社区结构中或者交换不同社区结构中的结点。从初始解开始搜索,直到从当前的解出发找不到更优的候选解,然后停止。
谱二分算法,当网络中存在两个社区结构时,就能够根据非零特征值所对应的特征向量中的元素值进行结点划分。把所有正元素对应的那些结点划分为同一个社区结构,而所有负元素对应的结点划分为另外一个社区结构。谱二分算法利用的是Laplace矩阵的特征值和特征向量的性质来做社区划分。Laplace矩阵的第二小特征值λ2的值越小,划分的效果就越好。所以谱二分法使用Laplace矩阵的第二小特征值来划分社区。
上述的图分割法存在以下缺点:K-L算法的缺陷是必须先指定了两个子图的大小,不然不会得到正确的结果,实际应用意义不大;谱平分法一次只能划分2个社区,如果需要划分多个,需要执行多次;如果只需要划分两个社区,谱平分法的效率比较高,但是要划分多个社区的时候,效率就不高了。
2、GN算法
在一个网络之中,通过社区内部的边的最短路径相对较少,而通过社区之间的边的最短路径的数目则相对较多。下图中展示了变得强度以及边介数在现实网络中的分布情况。GN算法是一个基于删除边的算法,本质是基于聚类中的分裂思想,在原理上是使用边介数作为相似度的度量方法。在GN算法中,每次都会选择边介数高的边删除,进而网络分裂速度远快于随机删除边时的网络分裂。
GN算法的步骤如下:计算每一条边的边介数;删除边界数最大的边;重新计算网络中剩下的边的边阶数;重复上述步骤,直到网络中的任一顶点作为一个社区为止。
GN算法存在以下缺点:不知道最后会有多少个社区;在计算边介数的时候可能会有很对重复计算最短路径的情况,时间复杂度太高;GN算法不能判断算法终止位置。
针对相关技术中如何对文本中具有一定关联的两个以上关键词进行关联标注的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种社群划分方法、装置、存储介质及电子装置,以至少解决相关技术中如何对文本中具有一定关联的两个以上关键词进行关联标注的问题。
根据本发明的一个实施例,提供了一种社群划分方法,包括:
将关系数据处理为图结构数据;
统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点。
可选地,通过标签传播算法LPA将所述图结构数据划分为第二社群集合包括:
为所述图结构数据中每个节点配置一个标签;
对所述每个节点执行以下步骤,对于执行以下步骤的节点称为当前节点:
重复统计所述当前节点的邻居节点的标签,将出现次数最多的邻居节点的标签更新所述当前节点的标签,直到所述当前节点的标签为邻居节点的标签中出现次数最多或最多的之一;
将具有相同标签的节点划分到同一个社群中,得到所述多个第二社群。
可选地,将出现次数最多的邻居节点的标签更新所述当前节点的标签包括:
在出现次数最多的邻居节点的标签为多个的情况下,从出现次数最多的多个邻居节点的标签中随机选择一个邻居节点的标签确定为所述当前节点的标签。
可选地,为所述图结构数据中的每个节点配置一个标签包括:
将所述图结构数据中每个节点的节点标识ID配置为所述每个节点的标签ID。
可选地,在通过标签传播算法LPA将所述图结构数据划分为第二社群集合之后,所述方法还包括:
组合所述第二社群集合的社群中包含社群中所有节点的所有边,重新构建第三社群集合,其中,所述第三社群集合包括第三数量的社群;
对所述第三社群集合中的社群进行连通性分析,保留节点数量最多的社群,得到第四社群集合,并将出所述第四社群集合的社群的节点之外的其他节点的标签清零,其中,所述第四社群集合包括第四数量的社群;
对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点包括:
对所述第四社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点。
可选地,在对所述第三社群集合中的社群进行连通性分析,保留节点数量最多的社群,得到第四社群集合之后,所述方法还包括:
对所述第四社群集合中的社群进行社群亲密度检测,统计所述第四社群集合的社群中具有标签的节点数量;
判断所述第三社群集合社群的节点数量是否大于或等于预定阈值;
在判断结果为是的情况下,将所述第四社群集合的社群中所述节点数量大于或等于所述预定阈值的社群中所有节点的标签清零;
统计所有节点的标签信息,对所有未设置标签的节点通过标签传播算法LPA重新进行社群划分。
可选地,将所述关系数据处理为所述图结构数据包括:
获取所述关系数据中包含源节点与目标节点之间的边数据的集合,其中,所述边数据包括源节点的属性、目标节点的属性以及源节点与目标节点之间的边的属性;
根据所述边数据的集合构建所述图结构数据。
根据本发明的另一个实施例,还提供了一种社群划分装置,包括:
处理模块,用于将关系数据处理为图结构数据;
第一划分模块,用于统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
第二划分模块,用于在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
确定模块,用于在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点。
可选地,所述第二划分模块包括:
配置子模块,用于为所述图结构数据中每个节点配置一个标签;
执行子模块,用于对所述每个节点执行以下步骤,对于执行以下步骤的节点称为当前节点:
更新单元,用于重复统计所述当前节点的邻居节点的标签,将出现次数最多的邻居节点的标签更新所述当前节点的标签,直到所述当前节点的标签为邻居节点的标签中出现次数最多或最多的之一;
划分单元,用于将具有相同标签的节点划分到同一个社群中,得到所述多个第二社群。
可选地,所述更新单元,还用于
在出现次数最多的邻居节点的标签为多个的情况下,从出现次数最多的多个邻居节点的标签中随机选择一个邻居节点的标签确定为所述当前节点的标签。
可选地,所述配置子模块,还用于
将所述图结构数据中每个节点的节点标识ID配置为所述每个节点的标签ID。
可选地,所述装置还包括:
构建模块,用于组合所述第二社群集合的社群中包含社群中所有节点的所有边,重新构建第三社群集合,其中,所述第三社群集合包括第三数量的社群;
分析模块,用于对所述第三社群集合中的社群进行连通性分析,保留节点数量最多的社群,得到第四社群集合,并将出所述第四社群集合的社群的节点之外的其他节点的标签清零,其中,所述第四社群集合包括第四数量的社群;
所述确定模块,还用于对所述第四社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点。
可选地,所述装置还包括:
检测模块,用于对所述第四社群集合中的社群进行社群亲密度检测,统计所述第四社群集合的社群中具有标签的节点数量;
判断模块,用于判断所述第三社群集合社群的节点数量是否大于或等于预定阈值;
清零模块,用于在判断结果为是的情况下,将所述第四社群集合的社群中所述节点数量大于或等于所述预定阈值的社群中所有节点的标签清零;
第三划分模块,用于统计所有节点的标签信息,对所有未设置标签的节点通过标签传播算法LPA重新进行社群划分。
可选地,所述处理模块包括:
获取子模块,用于获取所述关系数据中包含源节点与目标节点之间的边数据的集合,其中,所述边数据包括源节点的属性、目标节点的属性以及源节点与目标节点之间的边的属性;
构建子模块,用于根据所述边数据的集合构建所述图结构数据。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,将输入数据处理为图结构数据的粉丝关注数据,在进行聚类分析之前,首先进行数据处理,将粉丝关注数据处理为包含点,边的图结构数据;然后使用图算法中的联通图算法,基于关注关系进行连通图子图划分,得到社群的初步划分,即联通子社群;接着使用无监督算法LPA,对划分好的联通子图进一步划分,得到社群的最终划分;最后使用图算法中的中心度算法查找每个社群的KOL即社群的中心点,生成每个KOL的社交社群网络,可以解决相关技术中通过GN算法划分社群存在时间复杂度太高,且不知道最后会有多少社群的问题,提高了社群划分的准确性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种社群划分方法的移动终端的硬件结构框图;
图2是根据本发明实施例的社群划分方法的流程图;
图3是根据本发明实施例的社群出现标签互换的示意图;
图4是根据本发明实施例的社群划分装置的框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种社群划分方法的移动终端的硬件结构框图,如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的报文接收方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
基于上述的移动终端,本实施例提供了一种社群划分方法,图2是根据本发明实施例的社群划分方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,将关系数据处理为图结构数据;
进一步的,获取所述关系数据中包含源节点与目标节点之间的边数据的集合,其中,所述边数据包括源节点的属性、目标节点的属性以及源节点与目标节点之间的边的属性;根据所述边数据的集合构建所述图结构数据。
可选的,还可以对关系数据进行剔除噪音处理,之后将关系数据处理为包括源节点、目标节点及边的图网络,即图结构数据。
步骤S204,统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
步骤S206,在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
步骤S208,在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点。
通过上述步骤S202至S208,可以解决相关技术中通过GN算法划分社群存在时间复杂度太高,且不知道最后会有多少社群的问题,提高了社群划分的准确性。
本发明实施例中,上述步骤S206具体可以包括:
S2061,为所述图结构数据中每个节点配置一个标签;
进一步的,将所述图结构数据中每个节点的节点标识ID配置为所述每个节点的标签ID。
S2062,对所述每个节点执行以下步骤,对于执行以下步骤的节点称为当前节点:
重复统计所述当前节点的邻居节点的标签,将出现次数最多的邻居节点的标签更新所述当前节点的标签,直到所述当前节点的标签为邻居节点的标签中出现次数最多或最多的之一;进一步的,将出现次数最多的邻居节点的标签更新所述当前节点的标签包括:在出现次数最多的邻居节点的标签为多个的情况下,从出现次数最多的多个邻居节点的标签中随机选择一个邻居节点的标签确定为所述当前节点的标签。
将具有相同标签的节点划分到同一个社群中,得到所述多个第二社群。
本发明实施例中,在通过标签传播算法LPA将所述图结构数据划分为第二社群集合之后,组合所述第二社群集合的社群中包含社群中所有节点的所有边,重新构建第三社群集合,其中,所述第三社群集合包括第三数量的社群;对所述第三社群集合中的社群进行连通性分析,保留节点数量最多的社群,得到第四社群集合,并将出所述第四社群集合的社群的节点之外的其他节点的标签清零,其中,所述第四社群集合包括第四数量的社群;
对应的,上述步骤S208可以包括:对所述第四社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点。
本发明实施例中,在对所述第三社群集合中的社群进行连通性分析,保留节点数量最多的社群,得到第四社群集合之后,对所述第四社群集合中的社群进行社群亲密度检测,统计所述第四社群集合的社群中具有标签的节点数量;判断所述第三社群集合社群的节点数量是否大于或等于预定阈值;在判断结果为是的情况下,将所述第四社群集合的社群中所述节点数量大于或等于所述预定阈值的社群中所有节点的标签清零;统计所有节点的标签信息,对所有未设置标签的节点通过标签传播算法LPA重新进行社群划分。
本发明实施例利用图挖掘中的非监督学习方法,根据关注关系进行社群发现检测及划分。依赖的输入数据是提前处理为图结构数据的粉丝关注数据。在进行聚类分析之前,首先进行数据处理,将粉丝关注数据处理为包含点,边的图结构数据;然后使用图算法中的联通图算法,基于关注关系进行连通图子图划分,得到社群的初步划分,即联通子社群;接着使用无监督算法LPA,对划分好的联通子图进一步划分,得到社群的最终划分;最后使用图算法中的中心度算法查找每个社群的KOL即子图的中心点,生成每个KOL的社交社群网络。具体包括如下步骤:
处理数据,剔除噪音,将数据处理为点,边数,生成图网络。
将关系数据处理为图数据中的边数据,存储格式为:源点ID,目的点ID,边属性信息。根据边数据集合使用图算法构建图,统计图信息,点数,边数,中心度,添加点属性信息。
初步划分,使用常见图的联通图检测算法,将整个图网络划分为若干子图,即联通子社群。
对上述生成的图进行分析,使用联通图算法,统计图中联通性。连通分量或并查集算法都是找到相互连接的结点集,或者称之为岛,而在这个集合中的所有点都是可以相互连通的。在图论中,无向图的连通分量(或者仅分量)是一个子图,其中此子图任何两个顶点通过路径相互连接。如果图中连通子图个数大于所需社群个数,则只需要根据联通算法划分社群即可。因为图网络都有一个共同的特征即社群结构,也就是连通和分组,社群划分本质上即是社群内部彼此紧密链接,社群之间关系微弱。如果图中联通子图个数少于所需社群个数,只是用联通算法划分就会出现一定的问题,需要使用特殊的社群检测算法进一步的划分社群。
进一步划分,使用LPA聚类算法,逐步分析每个联通子社群,进一步划分,得到最终的社群。
社群识别算法在一个全连通的图上运行,效果并不会很好。因为大多数据结点都是紧密连接的,他们是属于一个社群的。在这些的图上运行算法,最终结果就是:得到一个覆盖图大部分区域的大社群和一些边边角角小社群。因此可以忽略上述联通图的划分思想,对现有的图网络,直接使无监督算法进行社群划分,同时可以使用相似性阈值来进行调控,将大于某个值的关系保留,而小于此值的关系将会剔除。这里采用的是LPA聚类算法,其过程为:
标签传播算法是由每个结点使用其唯一标识作为标签,然后根据大多数邻居结点的标签为基础进行标签传播,每个结点再从他的邻居结点身上取出现次数最多的标签加到自己身上。标签传播算法LPA算法的具体步骤是这样:结点X有一些邻居结点,且每个邻居结点都有一个标签,标明他们所属的社群。然后网络中的每个结点都选择加入其大多数邻居所属的那个社群,同时再随机的断开一些连接。在开始时,每个节点都用唯一标签进行初始化,然后这些标签开始在网络中进行传播,传播的每一步,每个结点都会根据邻居标签的情况更新自己的标签,随着标签的传播,最终连接紧密的结点集合将会达成一个共识,而他们身上的标签也将不再发生变化。
构造图网络graph。为graph中的每个顶点,分配一个唯一的label。一般可以考虑用node的ID当成它的label ID;
开始计算每个node新的label。规则是,统计node周围所有邻居的label,出现次数最多的label将被设置成这个node的新label;
如果邻居中出现次数最多的label有多个,那么随机的选择其中的一个label(例如在起始计算中,因为每个node的label都是唯一的,所以每个node周围所有的label出现次数都是1,这时候相当于随机的选择一个邻居的label作为自己的label);
计算所有node之后,判断是否达到了终止条件,如果没有,回到第2步继续计算;
经过几次迭代,到达终止条件,算法完成。现在图中,具有相同label的node属于同一个community。
算法终止条件:它要求所有的node都满足:
node的label一定是它的邻居label中出现次数最多的(或最多的之一),这意味着,每个node的邻居中,和它处于同一个community的数量一定大于等于处于其它community的数量。
社群分析处理,图3是根据本发明实施例的社群出现标签互换的示意图,如图3所示,当社群中存在明显彼此独立的二分图时,使用LPA算法统计的社群会出现标签互换现象,会造成“互换社区”的问题。
因此使用LPA算法进行多次迭代后,需要对划分的社群进一步优化处理。对划分的每一个社群进行分析:
将包含该社群点的所有边组合起来,重新构建新的社群子图。
对新的社群子图进行连通性分析,只保留点数最多的联通子图,其他点标签清零。
按照上述步骤重复遍历每一个划分好的社群,并且进行社群亲密度检测,统计新的社群中已经具有标签的点数,当点数达到某阈值时,将此社群所有点清零。
统计所有点信息,对所有未设置标签的点重新进行社群检测。
最终划分的社群,社群内部紧密联系,社群之间会存在微弱的连接。
对每个社群进行统计,使用图算法中的中心度算法,得到每个社群子图的中心点,即社群中KOL。
对划分好的社群根据中心度计算,根据中心度权值,统计每个社群的中心点。然后根据以下步骤实现KOL推荐功能:
在所划分的社群中,可以根据相应的账号搜索社群,同样可以根据社群号搜索出该社群所有的账号;
在同一社群中,可以根据一个账号扩展出其所有关注以及被关注的账号;
在同一社群中,根据一个账号可以扩展出与其被共同粉丝关注的其他账户;
在同一社群中,根据被关注的人数进行排名,获取前N个KOL列表。
本发明实施例,基于关系数据,将关系数据处理为图结构数据,结合图论中联通图概念与图挖掘中的非监督学习方法,根据关注关系进行社群发现检测且根据图中心算法推荐子图中的中心点。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
本发明实施例,还提供了一种社群划分装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的社群划分装置的框图,如图4所示,包括:
处理模块42,用于将关系数据处理为图结构数据;
第一划分模块44,用于统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
第二划分模块46,用于在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
确定模块48,用于在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点。
可选地,所述第二划分模块46包括:
配置子模块,用于为所述图结构数据中每个节点配置一个标签;
执行子模块,用于对所述每个节点执行以下步骤,对于执行以下步骤的节点称为当前节点:
更新单元,用于重复统计所述当前节点的邻居节点的标签,将出现次数最多的邻居节点的标签更新所述当前节点的标签,直到所述当前节点的标签为邻居节点的标签中出现次数最多或最多的之一;
划分单元,用于将具有相同标签的节点划分到同一个社群中,得到所述多个第二社群。
可选地,所述更新单元,还用于
在出现次数最多的邻居节点的标签为多个的情况下,从出现次数最多的多个邻居节点的标签中随机选择一个邻居节点的标签确定为所述当前节点的标签。
可选地,所述配置子模块,还用于
将所述图结构数据中每个节点的节点标识ID配置为所述每个节点的标签ID。
可选地,所述装置还包括:
构建模块,用于组合所述第二社群集合的社群中包含社群中所有节点的所有边,重新构建第三社群集合,其中,所述第三社群集合包括第三数量的社群;
分析模块,用于对所述第三社群集合中的社群进行连通性分析,保留节点数量最多的社群,得到第四社群集合,并将出所述第四社群集合的社群的节点之外的其他节点的标签清零,其中,所述第四社群集合包括第四数量的社群;
所述确定模块48,还用于对所述第四社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点。
可选地,所述装置还包括:
检测模块,用于对所述第四社群集合中的社群进行社群亲密度检测,统计所述第四社群集合的社群中具有标签的节点数量;
判断模块,用于判断所述第三社群集合社群的节点数量是否大于或等于预定阈值;
清零模块,用于在判断结果为是的情况下,将所述第四社群集合的社群中所述节点数量大于或等于所述预定阈值的社群中所有节点的标签清零;
第三划分模块,用于统计所有节点的标签信息,对所有未设置标签的节点通过标签传播算法LPA重新进行社群划分。
可选地,所述处理模块42包括:
获取子模块,用于获取所述关系数据中包含源节点与目标节点之间的边数据的集合,其中,所述边数据包括源节点的属性、目标节点的属性以及源节点与目标节点之间的边的属性;
构建子模块,用于根据所述边数据的集合构建所述图结构数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S11,将关系数据处理为图结构数据;
S12,统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
S13,在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
S14,在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S11,将关系数据处理为图结构数据;
S12,统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
S13,在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
S14,在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种社群划分方法,其特征在于,包括:
将关系数据处理为图结构数据,包括:获取所述关系数据中包含源节点与目标节点之间的边数据的集合,其中,所述边数据包括源节点的属性、目标节点的属性以及源节点与目标节点之间的边的属性;根据所述边数据的集合构建所述图结构数据;所述关系数据包括粉丝关注数据;
统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点;
组合所述第二社群集合的社群中包含社群中所有节点的所有边,重新构建第三社群集合,其中,所述第三社群集合包括第三数量的社群;
对所述第三社群集合中的社群进行联通性分析,保留节点数量最多的社群,得到第四社群集合,并将除所述第四社群集合的社群的节点之外的其他节点的标签清零,其中,所述第四社群集合包括第四数量的社群;
对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点包括:
对所述第四社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点。
2.根据权利要求1所述的方法,其特征在于,通过标签传播算法LPA将所述图结构数据划分为第二社群集合包括:
为所述图结构数据中每个节点配置一个标签;
对所述每个节点执行以下步骤,对于执行以下步骤的节点称为当前节点:
重复统计所述当前节点的邻居节点的标签,将出现次数最多的邻居节点的标签更新所述当前节点的标签,直到所述当前节点的标签为邻居节点的标签中出现次数最多或最多的之一;
将具有相同标签的节点划分到同一个社群中,得到所述多个第二社群。
3.根据权利要求2所述的方法,其特征在于,将出现次数最多的邻居节点的标签更新所述当前节点的标签包括:
在出现次数最多的邻居节点的标签为多个的情况下,从出现次数最多的多个邻居节点的标签中随机选择一个邻居节点的标签确定为所述当前节点的标签。
4.根据权利要求2所述的方法,其特征在于,为所述图结构数据中的每个节点配置一个标签包括:
将所述图结构数据中每个节点的节点标识ID配置为所述每个节点的标签ID。
5.根据权利要求1所述的方法,其特征在于,在对所述第三社群集合中的社群进行联通性分析,保留节点数量最多的社群,得到第四社群集合之后,所述方法还包括:
对所述第四社群集合中的社群进行社群亲密度检测,统计所述第四社群集合的社群中具有标签的节点数量;
判断所述第三社群集合社群的节点数量是否大于或等于预定阈值;
在判断结果为是的情况下,将所述第四社群集合的社群中所述节点数量大于或等于所述预定阈值的社群中所有节点的标签清零;
统计所有节点的标签信息,对所有未设置标签的节点通过标签传播算法LPA重新进行社群划分。
6.一种社群划分装置,其特征在于,包括:
处理模块,用于将关系数据处理为图结构数据;所述关系数据包括粉丝关注数据;
第一划分模块,用于统计所述图结构数据的联通性,将所述图结构数据划分为第一社群集合,其中,所述第一社群集合包括第一数量的社群;
第二划分模块,用于在所述第一数量小于预先设置的社群数量的情况下,通过标签传播算法LPA将所述图结构数据划分为第二社群集合,其中,所述第二社群集合包括第二数量的社群,所述第二数量大于或等于所述预先设置的社群数量;对所述第二社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;和/或,
确定模块,用于在所述第一数量大于或等于所述预先设置的社群数量的情况下,对所述第一社群集合中的社群进行中心度计算,确定所述第一社群集合中社群的中心点;
构建模块,用于组合所述第二社群集合的社群中包含社群中所有节点的所有边,重新构建第三社群集合,其中,所述第三社群集合包括第三数量的社群;
分析模块,用于对所述第三社群集合中的社群进行联通性分析,保留节点数量最多的社群,得到第四社群集合,并将除所述第四社群集合的社群的节点之外的其他节点的标签清零,其中,所述第四社群集合包括第四数量的社群;
所述确定模块,还用于对所述第四社群集合中的社群进行中心度计算,确定所述第二社群集合中社群的中心点;
其中,处理模块包括:
获取子模块,用于获取所述关系数据中包含源节点与目标节点之间的边数据的集合,其中,所述边数据包括源节点的属性、目标节点的属性以及源节点与目标节点之间的边的属性;
构建子模块,用于根据所述边数据的集合构建所述图结构数据。
7.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序, 其中,所述计算机程序被设置为运行时执行所述权利要求1至5中任一项所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5中任一项所述的方法。
CN201911419710.7A 2019-12-31 2019-12-31 一种社群划分方法、装置、存储介质及电子装置 Active CN111159577B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911419710.7A CN111159577B (zh) 2019-12-31 2019-12-31 一种社群划分方法、装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911419710.7A CN111159577B (zh) 2019-12-31 2019-12-31 一种社群划分方法、装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN111159577A CN111159577A (zh) 2020-05-15
CN111159577B true CN111159577B (zh) 2024-02-27

Family

ID=70560444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911419710.7A Active CN111159577B (zh) 2019-12-31 2019-12-31 一种社群划分方法、装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN111159577B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513426B (zh) * 2022-03-02 2023-09-15 郑州轻工业大学 基于节点相似度和影响力的ccn社区划分方法
CN114638007B (zh) * 2022-05-10 2022-08-23 富算科技(上海)有限公司 基于图数据的社群关系的确定方法及系统、设备及介质
CN115118693A (zh) * 2022-06-28 2022-09-27 平安银行股份有限公司 群组成员的数据处理方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413029A (zh) * 2012-01-05 2012-04-11 西安电子科技大学 基于分解的局部搜索多目标复杂动态网络社区划分方法
CN103455610A (zh) * 2013-09-01 2013-12-18 西安电子科技大学 基于多目标密母计算的网络社区检测方法
CN105335438A (zh) * 2014-08-11 2016-02-17 天津科技大学 一种基于局部最短回路的社会网络群体划分方法
CN108376371A (zh) * 2018-02-02 2018-08-07 众安信息技术服务有限公司 一种基于社交网络的互联网保险营销方法和系统
CN109829337A (zh) * 2019-03-07 2019-05-31 广东工业大学 一种社会网络隐私保护的方法、系统及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990209B2 (en) * 2012-09-06 2015-03-24 International Business Machines Corporation Distributed scalable clustering and community detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102413029A (zh) * 2012-01-05 2012-04-11 西安电子科技大学 基于分解的局部搜索多目标复杂动态网络社区划分方法
CN103455610A (zh) * 2013-09-01 2013-12-18 西安电子科技大学 基于多目标密母计算的网络社区检测方法
CN105335438A (zh) * 2014-08-11 2016-02-17 天津科技大学 一种基于局部最短回路的社会网络群体划分方法
CN108376371A (zh) * 2018-02-02 2018-08-07 众安信息技术服务有限公司 一种基于社交网络的互联网保险营销方法和系统
CN109829337A (zh) * 2019-03-07 2019-05-31 广东工业大学 一种社会网络隐私保护的方法、系统及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种面向社区发现的高鲁棒性标签传播算法;郑少强;赵中英;冯慧子;李超;;小型微型计算机系统(08);全文 *
并行社区发现算法的可扩展性研究;刘强;贾焰;方滨兴;周斌;胡;黄九鸣;;通信学报(04);全文 *

Also Published As

Publication number Publication date
CN111159577A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111159577B (zh) 一种社群划分方法、装置、存储介质及电子装置
CN110543586B (zh) 多重用户身份融合方法、装置、设备及存储介质
CN111062467B (zh) 一种应用于ai异构编译器的自动切分神经网络子图方法
CN108388642B (zh) 一种子图查询方法、装置及计算机可读存储介质
JP6608972B2 (ja) ソーシャルネットワークに基づいてグループを探索する方法、デバイス、サーバ及び記憶媒体
US10262077B2 (en) Systems and methods for pattern matching and relationship discovery
CN102388595A (zh) Vpc迁移中的资源匹配方法及装置
CN107240029B (zh) 一种数据处理方法及装置
CN110224859B (zh) 用于识别团伙的方法和系统
CN112667860A (zh) 一种子图匹配方法、装置、设备及存储介质
CN110428386B (zh) 地图网格合并方法、装置、存储介质、电子装置
CN113259176B (zh) 一种告警事件分析方法和装置
CN114265927A (zh) 数据查询方法及装置、存储介质及电子装置
CN112559631A (zh) 分布式图数据库的数据处理方法、装置以及电子设备
CN114610825A (zh) 关联网格集的确认方法、装置、电子设备及存储介质
CN113868434A (zh) 图数据库的数据处理方法、设备和存储介质
CN114218265A (zh) 离线模型的处理方法、装置、存储介质和处理器
CN115470236A (zh) 一种多子图匹配方法、装置及设备
CN112639761B (zh) 一种为数据建立索引的方法以及装置
CN113761293A (zh) 图数据强连通分量挖掘方法、装置、设备及存储介质
CN116226082A (zh) 数据库模型的生成方法、装置、存储介质及电子设备
CN115796228A (zh) 算子融合方法、装置、设备以及存储介质
CN115048529A (zh) 一种路径处理方法、装置、存储介质及电子设备
CN113691403A (zh) 拓扑节点配置方法、相关装置及计算机程序产品
CN110751204A (zh) 数据融合的方法及装置、存储介质和电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant