CN108898264A - 一种重叠社区集合质量度量指标的计算方法及装置 - Google Patents
一种重叠社区集合质量度量指标的计算方法及装置 Download PDFInfo
- Publication number
- CN108898264A CN108898264A CN201810386264.3A CN201810386264A CN108898264A CN 108898264 A CN108898264 A CN 108898264A CN 201810386264 A CN201810386264 A CN 201810386264A CN 108898264 A CN108898264 A CN 108898264A
- Authority
- CN
- China
- Prior art keywords
- community
- vertex
- diclist
- data set
- label
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims description 9
- 150000001875 compounds Chemical class 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims 1
- 238000013442 quality metrics Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (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指标:
该指标涉及的计算公式如下:
H(Xr)=h(a+b,n)+h(c+d,n)
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互补,即且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),其具体的计算公式如下:
将NMI_MAX定义为:
基于上述各度量指标的计算公式,提出本发明方法各个实施例。
第一实施例
现有计算重叠社区集合质量度量指标的计算方法有两种,包括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中的元素以及所述元素个数进行运算处理,得到计算各指标的所需数值。
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 true CN108898264A (zh) | 2018-11-27 |
CN108898264B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028481A (zh) * | 2023-03-30 | 2023-04-28 | 紫金诚征信有限公司 | 一种数据质量检测方法、装置、设备和存储介质 |
Citations (9)
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 | 福州大学 | 一种社交网络中的多标签传播重叠社区发现方法 |
US20140337356A1 (en) * | 2013-05-08 | 2014-11-13 | Yahoo! Inc. | Identifying Communities Within A Social Network Based on Information Propagation Data |
US20140351267A1 (en) * | 2013-05-24 | 2014-11-27 | Google Inc. | Overlapping Community Detection in Weighted Graphs |
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 | 西安电子科技大学 | 基于标签传播的可调节重叠社团发现方法 |
-
2018
- 2018-04-26 CN CN201810386264.3A patent/CN108898264B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929942A (zh) * | 2012-09-27 | 2013-02-13 | 福建师范大学 | 一种基于集成学习的社会网络重叠社区发现方法 |
CN103020267A (zh) * | 2012-12-26 | 2013-04-03 | 上海交通大学 | 基于三角簇多标签传播的复杂网络社区结构挖掘方法 |
US20140337356A1 (en) * | 2013-05-08 | 2014-11-13 | Yahoo! Inc. | Identifying Communities Within A Social Network Based on Information Propagation Data |
US20140351267A1 (en) * | 2013-05-24 | 2014-11-27 | Google Inc. | Overlapping Community Detection in Weighted Graphs |
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)
Title |
---|
YUHONG FENG 等: "A RESTful Web Service for Non-Overlapping Community Quality Assessment with MPI", 《INTERNATIONAL CONFERENCE ON WEB SERVICES》 * |
吴远诗: "面向负载均衡的并行分布式重叠社区质量指标计算的研究", 《中国优秀硕士学位论文全文数据库 基础科学辑》 * |
李金朋: "基于Hadoop平台的重叠社区发现算法研究", 《中国优秀硕士学位论文全文数据库 基础科学辑》 * |
董莹莹: "融入影响力的重叠社区发现算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028481A (zh) * | 2023-03-30 | 2023-04-28 | 紫金诚征信有限公司 | 一种数据质量检测方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108898264B (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104035954B (zh) | 一种基于Hadoop的套牌车识别方法 | |
CN108197532A (zh) | 人脸识别的方法、装置及计算机装置 | |
WO2021254027A1 (zh) | 一种可疑社团的识别方法、装置、存储介质和计算机设备 | |
WO2015165372A1 (en) | Method and apparatus for classifying object based on social networking service, and storage medium | |
CN110263009A (zh) | 日志分类规则的生成方法、装置、设备及可读存储介质 | |
CN105335496A (zh) | 基于余弦相似度文本挖掘算法的客服重复来电处理方法 | |
CN109117781A (zh) | 多属性识别模型的建立方法、装置及多属性识别方法 | |
CN108960434A (zh) | 基于机器学习模型解释来分析数据的方法及装置 | |
CN112711705B (zh) | 舆情数据处理方法、设备及存储介质 | |
CN113592019A (zh) | 基于多模型融合的故障检测方法、装置、设备及介质 | |
CN109684272A (zh) | 文档保存方法、系统及终端设备 | |
CN112380454A (zh) | 培训课程推荐方法、装置、设备及介质 | |
CN109272402A (zh) | 评分卡的建模方法、装置、计算机设备及存储介质 | |
CN111460315B (zh) | 社群画像构建方法、装置、设备及存储介质 | |
CN110347827A (zh) | 面向异构文本运维数据的事件提取方法 | |
CN114612194A (zh) | 产品推荐方法、装置、电子设备及存储介质 | |
CN113722484A (zh) | 基于深度学习的谣言检测方法、装置、设备及存储介质 | |
CN111126627A (zh) | 基于分离度指数的模型训练系统 | |
CN111651625A (zh) | 图像检索方法、装置、电子设备及存储介质 | |
CN112799868B (zh) | 一种根因确定方法、装置、计算机设备及存储介质 | |
CN108898264A (zh) | 一种重叠社区集合质量度量指标的计算方法及装置 | |
CN112214490A (zh) | 业务对象存储方法、装置和计算机可读存储介质 | |
CN108846543B (zh) | 一种非重叠社区集合质量度量指标的计算方法及装置 | |
CN114706927B (zh) | 基于人工智能的数据批量标注方法及相关设备 | |
CN105787101B (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 |