CN108898264B - 一种重叠社区集合质量度量指标的计算方法及装置 - Google Patents

一种重叠社区集合质量度量指标的计算方法及装置 Download PDF

Info

Publication number
CN108898264B
CN108898264B CN201810386264.3A CN201810386264A CN108898264B CN 108898264 B CN108898264 B CN 108898264B CN 201810386264 A CN201810386264 A CN 201810386264A CN 108898264 B CN108898264 B CN 108898264B
Authority
CN
China
Prior art keywords
community
diclist
index
data set
tag data
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
CN201810386264.3A
Other languages
English (en)
Other versions
CN108898264A (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.)
Shenzhen University
Original Assignee
Shenzhen University
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 Shenzhen University filed Critical Shenzhen University
Priority to CN201810386264.3A priority Critical patent/CN108898264B/zh
Publication of CN108898264A publication Critical patent/CN108898264A/zh
Application granted granted Critical
Publication of CN108898264B publication Critical patent/CN108898264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • 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

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种重叠社区集合质量度量指标计算方法、装置,通过获取社区集合X、Y中各社区中的元素得到顶点集合V,分别遍历社区集合X、Y,记录各顶点vi在社区集合X、Y中全部所属社区的标签,得到标签集合ListXid[i]、ListYid[i],并构建各顶点的社区标签笛卡尔乘积数据集DicList[i],最后得到社区标签数据集合ListXid,之后基于贪心算法和负载均衡,将ListXid集合中的元素切分并分发至各个进程,由各进程运算处理得到计算各指标的所需数值,最后合并各指标相关数值至单一进程进行运算,得到关于社区集合X、Y的度量指标。该方法采用并行分布式计算框架MPICH并利用计数相同社区标签对来加速社区集合质量度量指标的运算速度,同时通过该重叠社区集合质量度量指标计算方法可同时计算出质量度量指标,适用于大规模重叠社区集合质量度量指标的计算。

Description

一种重叠社区集合质量度量指标的计算方法及装置
技术领域
本发明属于计算机技术领域,尤其涉及一种重叠社区集合质量度量指标计算方法及装置。
背景技术
一般情况下,社交网络图可以抽象为节点和边构成的集合,其中节点表示网络中的个体,而边表示个体与个体之间的某种关联关系。社交网络图具有社区结构,其中,社区是由网络图中紧密连接节点构成,社区之间则通过稀疏的节点进行连接。社区发现即为对一个网络进行社区结构的刻画和划分,社区发现的结果则被称为社区集合。若社区集合中的节点仅属于一个社区,则该社区集合则被称为非重叠社区集合,否则被称为重叠社区集合。需要理解的是,通过不同的社区发现算法产生的社区集合是不同的,获知某一算法得到的社区集合与标准社区集合之间相似性或差异性,可通过计算相应的社区集合质量度量指标进行度量。对于重叠社区集合,可以通过Measures based on Mutual Information(基于交互信息的度量)这类指标进行度量,在现有的算法中,仅能通过串行算法计算得到该类度量指标。但是随着经济的快速发展和互联网2.0的到来,网络规模不断的增长,社区集合的规模也随之增长,通过串行算法计算得到的度量指标已经不适用于度量现有的大规模社区集合,因此,提供一种适用于大规模社区集合的度量指标计算方法是亟需解决的。
发明内容
本发明的主要目的在于提供一种重叠社区集合质量度量指标计算方法及装置,旨在解决现有算法不适用于大规模社区集合质量度量指标计算的技术问题。
本发明提供的一种重叠社区集合质量度量指标计算方法包括:
步骤1、获取社区集合X={X1,X2,...XK}、Y={Y1,Y2,...YK'},及包含社区集合X、Y中各社区的顶点集合V={v1,v2,...vn};所述K、K'、n分别表示社区集合X、Y以及顶点集合V中的元素个数;
步骤2、根据所述顶点集合V={v1,v2,...vn}中的每个顶点vi,分别遍历社区集合X={X1,X2,...XK}、Y={Y1,Y2,...YK'}中的各社区,记录各顶点vi在社区集合X、Y中所属社区的标签,得到标签集合ListXid[i]、ListYid[i],i为大于0小于n的整数;
步骤3、根据DicList[i]=ListXid[i]×ListYid[i],构建对应于每个顶点vi的社区标签笛卡尔乘积数据集DicList[i];
步骤4、按照元素类型(key,value),将各顶点vi对应的((DicList[i][j].1,0),DicList[i][j].2)、((DicList[i][j].2,1),DicList[i][j].1)元素添加至社区标签数据集合LidList,所述key为(key,value)类型的复合key;所述j为社区标签笛卡尔乘积数据集DicList[i]中元素的标签;
步骤5、基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程;由各进程根据分发得到的元素进行运算处理,得到计算各指标的所需数值;
步骤6、将所述各进程的所述各指标相关数值发送至单一进程,由所述单一进程进行运算,输出所述社区集合X、Y的度量指标。
可选的,在步骤5中,所述基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程的步骤包括:
构建各进程对应的新建社区标签数据集合NewLidList;
基于贪心算法和负载均衡,将所述社区标签数据集合LidList进行划分至各进程对应的新建社区标签数据集合NewLidList。
可选的,在步骤5中,所述由各进程根据分发得到的元素进行运算处理,得到计算各指标的所需数值的步骤包括:
将所述新建社区标签数据集合NewLidList中的各元素对key按字典序排序,并统计同一key中,不同value出现的次数;
根据所述新建社区标签数据集合NewLidList中的元素以及所述元素个数进行运算处理,得到计算各指标的所需数值。
进一步地,本发明还提供了一种社区集合质量度量指标计算装置,所述社区集合质量度量指标计算装置包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的社区集合质量度量指标计算程序,所述社区集合质量度量指标计算程序包括:
获取模块,用于获取社区集合X={X1,X2,...,XK}、Y={Y1,Y2,...,YK'},及包含社区集合X、Y中各社区的顶点的集合V={v1,v2,...,vn};所述K、K'、n分别表示社区集合X、Y以及顶点集合V中的元素个数;
处理模块,用于根据所述顶点集合V={v1,v2,...,vn}中的每个顶点vi,分别遍历社区集合X={X1,X2,...,XK}、Y={Y1,Y2,...,YK'}中的各社区,记录各顶点vi在社区集合X、Y中所属社区的标签,得到标签集合ListXid[i]、ListYid[i],i为大于0小于n的整数;
构建模块,用于根据DicList[i]=ListXid[i]×ListYid[i],构建对应于每个顶点vi的社区标签笛卡尔乘积数据集DicList[i];
添加模块,用于按照元素类型(key,value),将各顶点vi对应的((DicList[i][j].1,0),DicList[i][j].2)、((DicList[i][j].2,1),DicList[i][j].1)元素添加至社区标签数据集合LidList,所述key为(key,value)类型的复合key;
分发模块,用于基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程;
运算模块,用于将所述各进程的所述各指标相关数值发送至单一进程,由所述单一进程进行运算,输出所述社区集合X、Y的度量指标。
可选的,分发模块还用于构建各进程对应的新建社区标签数据集合NewLidList;
基于贪心算法和负载均衡,将所述社区标签数据集合LidList进行划分至各进程对应的新建社区标签数据集合NewLidList。
可选的,分发模块还用于将所述新建社区标签数据集合NewLidList中的各元素对key按字典序排序,并统计同一key中,不同value出现的次数;
根据所述新建社区标签数据集合NewLidList中的元素以及所述元素个数进行运算处理,得到计算各指标的所需数值。
有益效果
本发明提供一种重叠社区集合质量度量指标计算方法、装置,通过获取社区集合X、Y中各社区中的元素得到顶点集合V,根据顶点集合V中各顶点vi,分别遍历社区集合X、Y,记录各顶点vi在社区集合X、Y中所属社区的标签,得到标签集合ListXid[i]、ListYid[i],并构建社区标签笛卡尔乘积数据集DicList[i],之后基于贪心算法和负载均衡,将DicList[i]集合中的元素切分并分发至各个进程,由各进程运算处理得到计算各指标的所需数值,最后合并各指标相关数值至单一进程进行运算,得到关于社区集合X、Y的度量指标。由于该社区集合质量度量指标计算方法采用并行算法,从而可加速社区集合质量度量指标的运算速度,同时通过该社区集合质量度量指标计算方法计算出的重叠社区集合质量度量指标更加丰富,从而适用于大规模社区集合质量度量指标的计算。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明实施例提供的重叠社区集合质量度量指标计算方法流程图;
图2为本发明实施例提供的重叠社区集合质量度量指标计算方法与现有度量指标计算方法,在不同数据上NMI_MAX指标运行时间的比较示意图;
图3为本发明实施例提供的重叠社区集合质量度量指标计算装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在介绍本发明社区集合质量度量指标的计算方法之前,先在此对各个指标进行介绍:需要理解的是,社区集合的度量指标分为非重叠社区集合质量度量指标和重叠社区集合质量度量指标,其中,非重叠社区集合质量度量指标分为Measures based on CountingPairs,Measures based on Cluster Matching和Measures based on MutualInformation三类,重叠社区集合质量度量指标则只有Measures based on MutualInformation一类,下面将对重叠社区集合质量度量指标的度量指标进行介绍:
需要理解的是,社区集合X={X1,X2,...,XK}、Y={Y1,Y2,...,YK'}中的元素Xk、Yk'分别表示社区集合X、Y中的各个社区,其中K、K'分别表示社区集合X、Y中元素的个数,即社区的个数。集合社区集合X、Y中各个社区的顶点vi可以得到顶点集合,以V={v1,v2,...,vn}表示,其中n表示顶点集合V中元素的个数,即顶点的个数,i为大于0小于n的整数。
对于重叠社区集合的度量,有两个基于NMI的指标,NMI_LFK和NMI_MAX,具体的:
1.1、NMI_LFK指标:
Figure BDA0001642309420000051
该指标涉及的计算公式如下:
Figure BDA0001642309420000052
Figure BDA0001642309420000061
Figure BDA0001642309420000062
H(Xr)=h(a+b,n)+h(c+d,n)
Figure BDA0001642309420000063
a=|V-(Xr∪Ys)|
b=|Ys-Xr|
c=|Xr-Ys|
d=|Xr∩Ys|
需要理解的是,如果社区Xr和Ys完全一样,则H(Xr,Ys)=H(Ys),此时H(Xr|Ys)=0;如果社区Xr和Ys互补,即
Figure BDA0001642309420000067
且Xr∪Ys=V,此时也存在H(Xr|Ys)=0。为了避免这种情况,重新定义条件熵H*(Xr|Ys),条件熵H*(Xr|Ys)越小,表示社区Xr和Ys与接近。进一步的,将社区集合Y中与社区Xr最接近的条件熵定义为H(Xr|Y)。
1.2、NMI_MAX指标:
对NMI_LFK指标进行改造,具体包括:定义社区集合的条件熵而无需归一化,定义社区集合的熵H(X)以及社区集合X和Y之间的互信息I(X:Y),其具体的计算公式如下:
Figure BDA0001642309420000064
Figure BDA0001642309420000065
将NMI_MAX定义为:
Figure BDA0001642309420000066
基于上述各度量指标的计算公式,提出本发明方法各个实施例。
第一实施例
现有计算重叠社区集合质量度量指标的计算方法有两种,包括mutul3(NMI_LFK提出者设计的算法)和onmi(NMI_MAX提出者设计的算法),mutul3可计算NMI_LFK,onmi可同时计算NMI_LFK和NMI_MAX。但是这些算法均是串行计算。基于此,本发明新提出了一种重叠社区集合质量度量指标的计算方法MPI-POCMC(MPI-Parallel Overlapping CommunityMetric Computation,基于MPI标准的并行社区度量计算),该算法是并行分布式框架的算法,相比现有的算法,本发明的计算方法速度更快。
本发明第一实施例所提供非重叠社区集合质量度量指标的计算方法的流程图可参见图1,具体包括:
步骤1、获取社区集合X={X1,X2,...XK}、Y={Y1,Y2,...YK'},及包含社区集合X、Y中各社区的顶点集合V={v1,v2,...vn};所述K、K'、n分别表示社区集合X、Y以及顶点集合V中的元素个数。
需要理解的是,社区集合的数据是以文件存储的,因此在获取到社区集合后,可以直接获取到社区集合中,各社区的顶点,因此可以直接获取到顶点集合V。在该步骤中,所述K、K'、n分别表示社区集合X、Y以及顶点集合V中的元素个数。
步骤2、根据所述顶点集合V={v1,v2,...vn}中的每个顶点vi,分别遍历社区集合X={X1,X2,...XK}、Y={Y1,Y2,...YK'}中的各社区,记录各顶点vi在社区集合X、Y中所属社区的标签,得到标签集合ListXid[i]、ListYid[i],i为大于0小于n的整数。
由于社区集合X、Y是重叠社区集合,即一个顶点不只属于一个社区,因此一个顶点在将会出现在社区集合中的多个社区中,该顶点在社区集合X、Y中所属社区的标签不仅有一个而为多个,对应于该顶点在社区集合X、Y中所属社区的标签,将得到标签集合ListXid[i]、ListYid[i]。
步骤3、根据DicList[i]=ListXid[i]×ListYid[i],构建对应于每个顶点vi的社区标签笛卡尔乘积数据集DicList[i]。
在此举例说明步骤3,若步骤2中得到顶点v0的标签集合分别为ListRid[0]={1,2},ListSid[0]={1},则根据DicList[i]=ListXid[i]×ListYid[i],将得到顶点v0的社区标签笛卡尔乘积数据集DicList[0]={(1,1),(2,1)}。
步骤4、按照元素类型(key,value),将各顶点vi对应的((DicList[i][j].1,0),DicList[i][j].2)、((DicList[i][j].2,1),DicList[i][j].1)元素添加至社区标签数据集合LidList,所述key为(key,value)类型的复合key;所述j为社区标签笛卡尔乘积数据集DicList[i]中元素的标签。
需要理解的是,j为社区标签笛卡尔乘积数据集DicList[i]中元素的标签,由于社区标签数据集合LidList的元素类型为(key,value),因此将DicList[i][j].1、DicList[i][j].2分别表示DicList[i]集合中,第j个元素的key值和value值。承接上列,顶点v0对应的社区标签数据集合LidList={((1,0),1),((1,1),1),((2,0),1),((1,1),2)}。
步骤5、基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程;由各进程根据分发得到的元素进行运算处理,得到计算各指标的所需数值。
具体的,该步骤5中,基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程的步骤包括:
构建各进程对应的新建社区标签数据集合NewLidList;
基于贪心算法和负载均衡,将所述社区标签数据集合LidList进行划分至各进程对应的新建社区标签数据集合NewLidList。
其中,步骤5由各进程根据分发得到的元素进行运算处理,得到计算各指标的所需数值的步骤包括:
将所述新建社区标签数据集合NewLidList中的各元素对key按字典序排序,并统计同一key中,不同value出现的次数;
根据所述新建社区标签数据集合NewLidList中的元素以及所述次数进行运算处理,得到计算各指标的所需数值。
可以理解的是,在MPICH编程模型中,一个算法程序拥有多个进程,每个进程可以独立的处理数据。在本实施例中步骤5切分及分发的过程为:算法程序中的各进程构建其NewLidList,并独立的通过Network File System(NFS,网络文件系统)读取LidList中所有的元素,之后各进程判断LidList中的元素是否符合贪心算法和负载平衡规则,将符合的元素加入进程的NewLidList中。每个进程将NewLidList中的各个元素对key按字典序降序排序,并计数相同元素的个数,并进一步的对NewLidList中的元素以及计算得到的相同元素的个数进行运算处理,得到计算各指标的所需数值。
一般情况下字典序指按照字母顺序,或者数值小大顺序进行排列,本发明实施例中所述的字典序为数字小大顺序进行排序。社区标签数据集合LidList中的元素类型为(key,value),因此此处的对key按字典序降序排序的含义为:将元素的key值按照数值小大顺序进行降序排列。需要注意的是,社区标签数据集合LidList中元素类型的key为(key,value)类型的复合key,在排序时是依次对复合key,即(key,value)中的key、value进行排序。
在排序之后,统计具有相同复合key的元素的个数,最后根据NewLidList中的元素以及元素个数进行运算处理,得到计算各指标的所需数值。该处计算得到计算各指标的所需数值的算法可根据现有的计算算法计算得到,在此不再赘述。需要理解的是,该处的各指标相关数值表示一个进程根据NewLidList中的元素而计算得到的多个指标相关数值,该处的指标相关数值表示计算度量指标所需要的数值
步骤6、将所述各进程的所述各指标相关数值发送至单一进程,由所述单一进程进行运算,输出所述社区集合X、Y的度量指标。
通过步骤5的计算,各个进程将能计算出多个指标相关数值,此时将各进程计算得到计算各指标的所需数值发送至单一进程,最后由单一进程按照预定算法进行计算,得到社区集合X、Y的度量指标。
参见图2,图2展示了本发明实施例提出的算法与现有算法mpi-dcs和onmi,mutual3在不同重叠社区数据集上计算得到NMI度量指标的比较,纵坐标是对数标度(logscale),横坐标表示不同非重叠社区数据集,包括:
DBLP:数据库系统与逻辑编程数据集。
Amazon:亚马逊数据集。
Youtube:Youtube数据集。
Wiki:多人协作的写作系统数据集。
Orkut:社交服务网络数据集。
需要理解的是,图2中的红叉表示该算法在在对应的数据集下,无法在10000秒以内计算出结果。由图2中可知本文提出的算法效果显著,在所有的数据集下都比其他算法要快。
第二实施例
本发明所提供的第一种重叠社区集合质量度量指标计算装置可参见图3所示,其包括处理器301、存储器302及通信总线303,其中:
通信总线303用于实现处理器301和存储器302之间的连接通信;
处理器301用于执行存储器302中存储的社区集合质量度量指标计算程序,所述社区集合质量度量指标计算程序包括:
获取模块,用于获取社区集合X={X1,X2,...,XK}、Y={Y1,Y2,...,YK'},及包含社区集合X、Y中各社区的顶点集合V={v1,v2,...,vn};所述K、K'、n分别表示社区集合X、Y以及顶点集合V中的元素个数;
处理模块,用于根据所述顶点集合V={v1,v2,...,vn}中的每个顶点vi,分别遍历社区集合X={X1,X2,...,XK}、Y={Y1,Y2,...,YK'}中的各社区,记录各顶点vi在社区集合X、Y中所属社区的标签,得到标签集合ListXid[i]、ListYid[i],i为大于0小于n的整数;
构建模块,用于根据DicList[i]=ListXid[i]×ListYid[i],构建对应于每个顶点vi的社区标签笛卡尔乘积数据集DicList[i]
添加模块,用于按照元素类型(key,value),将各顶点vi对应的((DicList[i][j].1,0),DicList[i][j].2)、((DicList[i][j].2,1),DicList[i][j].1)元素添加至社区标签数据集合LidList,所述key为(key,value)类型的复合key;所述j为社区标签笛卡尔乘积数据集DicList[i]中元素的标签;
分发模块,用于基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程;
运算模块,用于将所述各进程的所述各指标相关数值发送至单一进程,由所述单一进程进行运算,输出所述社区集合X、Y的度量指标。
分发模块还用于构建各进程对应的新建社区标签数据集合NewLidList;基于贪心算法和负载均衡,将所述社区标签数据集合LidList进行划分至各进程对应的新建社区标签数据集合NewLidList。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (6)

1.一种重叠社区集合质量度量指标的计算方法,其特征在于,该方法包括以下步骤:
步骤1、获取社区集合X={X1,X2,...XK}、Y={Y1,Y2,...YK'},及包含社区集合X、Y中各社区的顶点集合V={v1,v2,...vn};所述K、K'、n分别表示社区集合X、Y以及顶点集合V中的元素个数;
步骤2、根据所述顶点集合V={v1,v2,...vn}中的每个顶点vi,分别遍历社区集合X={X1,X2,...XK}、Y={Y1,Y2,...YK'}中的各社区,记录各顶点vi在社区集合X、Y中所属社区的标签,得到标签集合ListXid[i]、ListYid[i],i为大于0小于n的整数;
步骤3、根据DicList[i]=ListXid[i]×ListYid[i],构建对应于每个顶点vi的社区标签笛卡尔乘积数据集DicList[i];
步骤4、按照元素类型(key,value),将各顶点vi对应的((DicList[i][j].1,0),DicList[i][j].2)、((DicList[i][j].2,1),DicList[i][j].1)元素添加至社区标签数据集合LidList,所述key为(key,value)类型的复合key;所述j为社区标签笛卡尔乘积数据集DicList[i]中元素的标签;
步骤5、基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程;由各进程根据分发得到的元素进行运算处理,得到计算各指标的所需数值;
步骤6、将所述各进程的所述各指标相关数值发送至单一进程,由所述单一进程进行运算,输出所述社区集合X、Y的度量指标。
2.如权利要求1所述的重叠社区集合质量度量指标的计算方法,其特征在于,在步骤5中,所述基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程的步骤包括:
构建各进程对应的新建社区标签数据集合NewLidList;
基于贪心算法和负载均衡,将所述社区标签数据集合LidList进行划分至各进程对应的新建社区标签数据集合NewLidList。
3.如权利要求2所述的重叠社区集合质量度量指标的计算方法,其特征在于,在步骤5中,所述由各进程根据分发得到的元素进行运算处理,得到计算各指标的所需数值的步骤包括:
将所述新建社区标签数据集合NewLidList中的各元素对key按字典序排序,并统计同一key中,不同value出现的次数;
根据所述新建社区标签数据集合NewLidList中的元素以及所述元素个数进行运算处理,得到计算各指标的所需数值。
4.一种重叠社区集合质量度量指标计算装置,其特征在于,所述社区集合质量度量指标计算装置包括处理器,存储器及通信总线;
所述通信总线用于实现所述处理器和所述存储器之间的连接通信;
所述处理器用于执行所述存储器中存储的重叠社区集合质量度量指标计算程序,所述重叠社区集合质量度量指标计算程序包括:
获取模块,用于获取社区集合X={X1,X2,...,XK}、Y={Y1,Y2,...,YK'},及包含社区集合X、Y中各社区的顶点集合V={v1,v2,...,vn};所述K、K'、n分别表示社区集合X、Y以及顶点集合V中的元素个数;
处理模块,用于根据所述顶点集合V={v1,v2,...,vn}中的每个顶点vi,分别遍历社区集合X={X1,X2,...,XK}、Y={Y1,Y2,...,YK'}中的各社区,记录各顶点vi在社区集合X、Y中所属社区的标签,得到标签集合ListXid[i]、ListYid[i],i为大于0小于n的整数;
构建模块,用于根据DicList[i]=ListXid[i]×ListYid[i],构建对应于每个顶点vi的社区标签笛卡尔乘积数据集DicList[i];
添加模块,用于按照元素类型(key,value),将各顶点vi对应的((DicList[i][j].1,0),DicList[i][j].2)、((DicList[i][j].2,1),DicList[i][j].1)元素添加至社区标签数据集合LidList,所述key为(key,value)类型的复合key;
分发模块,用于基于贪心算法和负载均衡,对所述社区标签数据集合LidList进行切分,并将切分得到的元素分发至多个进程;
运算模块,用于将所述各进程的所述各指标相关数值发送至单一进程,由所述单一进程进行运算,输出所述社区集合X、Y的度量指标。
5.如权利要求4所述的重叠社区集合质量度量指标计算装置,其特征在于,所述分发模块还用于构建各进程对应的新建社区标签数据集合NewLidList;
基于贪心算法和负载均衡,将所述社区标签数据集合LidList进行划分至各进程对应的新建社区标签数据集合NewLidList。
6.如权利要求5所述的重叠社区集合质量度量指标计算装置,其特征在于,所述分发模块还用于将所述新建社区标签数据集合NewLidList中的各元素对key按字典序排序,并统计同一key中,不同value出现的次数;
根据所述新建社区标签数据集合NewLidList中的元素以及所述元素个数进行运算处理,得到计算各指标的所需数值。
CN201810386264.3A 2018-04-26 2018-04-26 一种重叠社区集合质量度量指标的计算方法及装置 Active CN108898264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810386264.3A CN108898264B (zh) 2018-04-26 2018-04-26 一种重叠社区集合质量度量指标的计算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810386264.3A CN108898264B (zh) 2018-04-26 2018-04-26 一种重叠社区集合质量度量指标的计算方法及装置

Publications (2)

Publication Number Publication Date
CN108898264A CN108898264A (zh) 2018-11-27
CN108898264B true CN108898264B (zh) 2021-10-29

Family

ID=64342450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810386264.3A Active CN108898264B (zh) 2018-04-26 2018-04-26 一种重叠社区集合质量度量指标的计算方法及装置

Country Status (1)

Country Link
CN (1) CN108898264B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028481B (zh) * 2023-03-30 2023-06-27 紫金诚征信有限公司 一种数据质量检测方法、装置、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929942A (zh) * 2012-09-27 2013-02-13 福建师范大学 一种基于集成学习的社会网络重叠社区发现方法
CN103020267A (zh) * 2012-12-26 2013-04-03 上海交通大学 基于三角簇多标签传播的复杂网络社区结构挖掘方法
CN103729475A (zh) * 2014-01-24 2014-04-16 福州大学 一种社交网络中的多标签传播重叠社区发现方法
CN104199852A (zh) * 2014-08-12 2014-12-10 上海交通大学 基于节点隶属度的标签传播社团结构挖掘方法
CN105069039A (zh) * 2015-07-22 2015-11-18 山东大学 一种基于spark平台的内存迭代的重叠社区并行发现方法
CN105631748A (zh) * 2015-12-21 2016-06-01 西北工业大学 一种基于并行标签传播的异构网络社区发现方法
CN107392784A (zh) * 2017-08-02 2017-11-24 西安电子科技大学 基于标签传播的可调节重叠社团发现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342854B2 (en) * 2013-05-08 2016-05-17 Yahoo! Inc. Identifying communities within a social network based on information propagation data
WO2014190265A1 (en) * 2013-05-24 2014-11-27 Google Inc. Community detection in weighted graphs

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929942A (zh) * 2012-09-27 2013-02-13 福建师范大学 一种基于集成学习的社会网络重叠社区发现方法
CN103020267A (zh) * 2012-12-26 2013-04-03 上海交通大学 基于三角簇多标签传播的复杂网络社区结构挖掘方法
CN103729475A (zh) * 2014-01-24 2014-04-16 福州大学 一种社交网络中的多标签传播重叠社区发现方法
CN104199852A (zh) * 2014-08-12 2014-12-10 上海交通大学 基于节点隶属度的标签传播社团结构挖掘方法
CN105069039A (zh) * 2015-07-22 2015-11-18 山东大学 一种基于spark平台的内存迭代的重叠社区并行发现方法
CN105631748A (zh) * 2015-12-21 2016-06-01 西北工业大学 一种基于并行标签传播的异构网络社区发现方法
CN107392784A (zh) * 2017-08-02 2017-11-24 西安电子科技大学 基于标签传播的可调节重叠社团发现方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A RESTful Web Service for Non-Overlapping Community Quality Assessment with MPI;Yuhong Feng 等;《International Conference on Web Services》;20180619;第280-294页 *
基于Hadoop平台的重叠社区发现算法研究;李金朋;《中国优秀硕士学位论文全文数据库 基础科学辑》;20141015(第10(2014)期);第A002-86页 *
融入影响力的重叠社区发现算法研究;董莹莹;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140215(第02(2014)期);第I138-5页 *
面向负载均衡的并行分布式重叠社区质量指标计算的研究;吴远诗;《中国优秀硕士学位论文全文数据库 基础科学辑》;20200915(第09(2020)期);第A002-21页 *

Also Published As

Publication number Publication date
CN108898264A (zh) 2018-11-27

Similar Documents

Publication Publication Date Title
Meng et al. A fast approach to attribute reduction in incomplete decision systems with tolerance relation-based rough sets
CN110674407B (zh) 基于图卷积神经网络的混合推荐方法
CN113946461A (zh) 一种故障根因分析的方法及装置
CN106294762B (zh) 一种基于学习的实体识别方法
EP4009590A1 (en) Traffic abnormality detection method, and model training method and apparatus
CN103810288A (zh) 基于聚类算法对异构社会网络进行社区检测的方法
US11841839B1 (en) Preprocessing and imputing method for structural data
CN108960434A (zh) 基于机器学习模型解释来分析数据的方法及装置
CN111259933B (zh) 基于分布式并行决策树的高维特征数据分类方法及系统
CN110751027B (zh) 一种基于深度多示例学习的行人重识别方法
CN108549692A (zh) Spark框架下的稀疏多元逻辑回归模型对文本情感分类的方法
CN111460315B (zh) 社群画像构建方法、装置、设备及存储介质
CN109447110A (zh) 综合邻居标签相关性特征和样本特征的多标签分类的方法
CN104835174B (zh) 基于超图模式搜索的鲁棒模型拟合方法
CN117131449A (zh) 面向数据治理的具有传播学习能力的异常识别方法及系统
CN104965846B (zh) MapReduce平台上的虚拟人建立方法
CN108898264B (zh) 一种重叠社区集合质量度量指标的计算方法及装置
CN110347827A (zh) 面向异构文本运维数据的事件提取方法
CN108846543B (zh) 一种非重叠社区集合质量度量指标的计算方法及装置
CN110807159A (zh) 数据标记方法、装置、存储介质及电子设备
CN108874974A (zh) 基于频繁词集的并行化话题跟踪方法
CN113888265A (zh) 产品推荐方法、装置、设备及计算机可读存储介质
CN112308419A (zh) 数据处理方法、装置、设备及计算机存储介质
WO2022227213A1 (zh) 行业推荐方法、装置、计算机设备及存储介质
CN106934489B (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