发明内容
有鉴于此,本发明实施例提供了一种图结构识别方法、电子设备及计算机可读存储介质,以提高划分精度并降低时间复杂度。
为了达到上述目的,本发明采用以下方案实现:
根据本发明实施例的一个方面,提供了一种图结构识别方法,包括:
计算得到网络图结构中每条边的最短路径和相应介数数值;
按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度;
获得所有所述网络图结构的基于信息熵的模块度中的最大模块度;
根据所述最大模块度得到所述网络图结构的社团划分结果,并根据所述社团划分结果得到所述网络图结构的社团识别结果。
在一些实施例中,计算得到网络图结构中每条边的最短路径和相应介数数值之前,所述的图结构识别方法,还包括:
读入以图形式表示的网络的点对形式文件;
根据所述点对形式文件,先构建各边,再根据构建的各边构建局部连接图,再根据构建的局部连接图进行整体连接,得到网络图结构。
在一些实施例中,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,包括:
对所述网络图结构的各边按介数数值大小进行顺序排序,并将顺序排序后的各边存储至设定数组;
从所述设定数组中依次读取介数数值最大的边,并在每次读取介数数值最大的边后,依次删除所述网络图结构中相应的边和所述设定数组中相应的边的信息,以及计算依次删除相应的边后所述网络图结构的基于信息熵的模块度,直到所述设定数组中的所有边均被读取。
在一些实施例中,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,包括:
按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构中非连接部分图结构的基于信息熵的模块度;
对所有非连接部分图结构的基于信息熵的模块度求和,得到删除每条边后所述网络图结构的基于信息熵的模块度。
在一些实施例中,网络图结构的模块度表示为:
其中,Q(H(X))表示网络图结构的模块度,H(X)表示Q(H(X))是基于信息熵的模块度;m表示网络图结构被划分的社团的个数;
表示社团C
j的聚集熵,其中,n
i表示社团C
j内的节点个数,
表示社团C
j内的每个节点Vi的度,
表示节点Vi属于该社团C
j的概率,
等于社团C
j内的节点总数除以网络图结构的节点总数N;
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,l
ij表示社团C
i和社团C
j之间的连接边数;
或者,
网络图结构中每个非连接部分图结构的模块度表示为:
其中,Q(H(x))表示非连接部分图结构的模块度,H(x)表示Q(H(x))是基于信息熵的模块度;m表示非连接部分图结构被划分的社团的个数;
表示社团C
j的聚集熵,其中,n
i表示社团C
j内的节点个数,
表示社团C
j内的每个节点Vi的度,
表示节点Vi属于该社团C
j的概率,
等于社团C
j内的节点总数除以非连接部分图结构的节点总数N;
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,l
ij表示社团C
i和社团C
j之间的连接边数。
在一些实施例中,0.8≤α≤0.9。
在一些实施例中,所述的图结构识别方法还包括:
以可视化方式显示所述网络图结构中的各节点、各边及社团划分结果中的各社团,或者同时在所述网络图结构上显示各边的介数数值、基于信息熵的节点熵、及涂色方式表示的社团划分结果中的各社团中的至少一个。
在一些实施例中,所述的图结构识别方法还包括:
接收针对所述网络图结构中的节点、边或社团的点击指令,根据所述点击指令突出显示所针对的节点、边或社团;和/或
接收针对所述网络图结构的拖拽指令,根据所述拖拽指令改变所述网络结构的显示位置;和/或
接收针对所述网络图结构的展示角度变化指令,根据所述展示角度变化指令并基于Spring力导引算法、FR力导引算法或辐射布局算法改变所述网络结构的显示角度。
根据本发明实施例的一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
根据本发明实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
本发明实施例的图结构识别方法、电子设备及计算机可读存储介质,能够提高划分精度并降低时间复杂度,进一步,能够实现划分结果的可视化展示。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
首先,对本文可能涉及的术语作如下解释:
信息熵:熵在信息论中可以用来表示信源的平均不定度,可以用公式
表示信源所含的信息熵,其中,H(X)表示熵,n表示信源的符号数量,C为常数,P
i表示信源取第i个符号的概率,lb表示取对数。通常而言,网络图结构的划分识别中,主要计算任务包括社团图结构的正确划分和识别。在划分时存在无限多组解,需要重点解决的问题就是各个节点属于某个社团的“最合理”分布。基于最大信息熵原理,在复杂网络结构给定的情况下,复杂网络的信息熵可以达到某个极大值的分布,趋近一个极值。
Q值:即,模块度值,可以用于衡量网络图结构的划分结果的好坏,模块度值的公式可表示为:
其中,k表示网络社团个数,m表示网络连接总数,m
i表示社团i内的连接总数,d
i表示社团i内节点度之和。
图结构识别:网络的图结构又叫社团结构(community structure),该结构具有同社团内节点相互连接密集、异社团间节点相互连接稀疏的特点,而图结构的识别方法旨在揭示出网络中真实存在的社团结构。
可视化展现:原始数据转换为可视化元素后,利用形象直观的表现形式来显示复杂的资源内容,比如,利用各种图形的形式来进行展现。
为了提高图结构的社团划分精度不高,降低算法时间复杂度较高,提供了一种图结构识别方法。
图1是本发明一实施例的图结构识别方法的流程示意图。如图1所示,一些实施例的图结构识别方法,可包括以下步骤S110~步骤S140。
下面将对步骤S110至步骤S140的具体实施方式进行详细说明。
步骤S110:计算得到网络图结构中每条边的最短路径和相应介数数值。
该步骤S110中,该网络可以是一个复杂网络。该网络图结构可以是预先构建得到,或者可以是需要图结构识别时构建得到。网络图结构中可以包括任意两个节点连接构成的条边。每条边的最短路径可以是连接两节点的最短路径对应的边。该介数(或称为中介度)是边对应的介数,反映边在整个网络中的作用和影响力。可以利用现有方法计算网络图结构中边的最短路径和相应介数数值。
具体实施时,计算得到网络图结构中每条边的最短路径和相应介数数值之前,可以先得到网络的图结构。示例性地,上述步骤S110之前,图1所示的图结构识别方法还可包括步骤:S151,读入以图形式表示的网络的点对形式文件;S152,根据所述点对形式文件,先构建各边,再根据构建的各边构建局部连接图,再根据构建的局部连接图进行整体连接,得到网络图结构。该步骤S151中,可以通过执行程序读入点对形式文件。该步骤S152中,先构建局部连接图,再将各局部连接图连接起来构成一个整体,可以提高构建网络图结构的效率。
步骤S120:按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度。
该步骤S120中,通过在前述步骤S110中计算出所有边的介数数值,然后再在此按介数数值大小顺序以此删除边并计算模块度,如此一来,各边的介数数值可以仅计算一遍,以此不仅可以减少计算量,而且可以在每删除一条边后各边的介数数值排序可以具有较好的一致性。此外,基于信息熵的模块度是从信息论或深层次概率理论出发得到,实验结果证实,基于该种模块度得到的划分结果的精度较高。
在一些实施例中,具体实施时,可以先对按边的介数数值进行排序,再依次删除边。示例性地,上述步骤S120,即,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,具体可包括步骤:S1211,对所述网络图结构的各边按介数数值大小进行顺序排序,并将顺序排序后的各边存储至设定数组;S1212,从所述设定数组中依次读取介数数值最大的边,并在每次读取介数数值最大的边后,依次删除所述网络图结构中相应的边和所述设定数组中相应的边的信息,以及计算依次删除相应的边后所述网络图结构的基于信息熵的模块度,直到所述设定数组中的所有边均被读取。上述步骤S1211,可以对各边的介数数值按照从大到小的顺序进行排序,当然不排除可以按照从小到大的顺序进行排序。可以将边的介数数值存到上述设定数组中,以此认为将边存到设定数据中;或者,可以将边的标识和相应的介数数值对应存储到上述设定数组中。
其实施例中,不排除可以先找到所有介数数值中的最大值,删除相应边,然后找到剩余边的介数数值中的最大值,以此类推,直到网络图结构所有边被删除。
在一些实施例中,删除网络图结构的某条边后,网络图结构中可能出现不连接的多个部分的图结构,在此情况下,可以先计算各非连接部分图结构的模块度,再对这些部分的模块度求和。示例性地,上述步骤S120,即,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,具体可包括步骤:S1221,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构中非连接部分图结构的基于信息熵的模块度;S1222,对所有非连接部分图结构的基于信息熵的模块度求和,得到删除每条边后所述网络图结构的基于信息熵的模块度。
例如,计算整个网络的模块度,网络图结构的模块度可以表示为:
其中,Q(H(X))表示网络图结构的模块度,H(X)表示Q(H(X))是基于信息熵的模块度;m表示网络图结构被划分的社团的个数;
表示社团C
j的聚集熵,其中,n
i表示社团C
j内的节点个数,
表示社团C
j内的每个节点Vi的度,
表示节点Vi属于该社团C
j的概率,
等于社团C
j内的节点总数除以网络图结构的节点总数N;
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,l
ij表示社团C
i和社团C
j之间的连接边数。其中,α的取值范围例如可以表示为0.8≤α≤0.9,以此可以获得较好的调整效果。另外,其中的X可以表示整个网络结构图。
类似地,可以计算网络图结构中非连接部分图结构的模块度。例如,网络图结构中每个非连接部分图结构的模块度可表示为:
其中,Q(H(x))表示非连接部分图结构的模块度,H(x)表示Q(H(x))是基于信息熵的模块度;m表示非连接部分图结构被划分的社团的个数;
表示社团C
j的聚集熵,其中,n
i表示社团C
j内的节点个数,
表示社团C
j内的每个节点Vi的度,
表示节点Vi属于该社团C
j的概率,
等于社团C
j内的节点总数除以非连接部分图结构的节点总数N;
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,l
ij表示社团C
i和社团C
j之间的连接边数。其中,α的取值范围例如可以表示为0.8≤α≤0.9,以此可以获得较好的调整效果。另外,其中的x可以表示整个网络结构图。例如,如有r个非连接部分图结构,则整个网络的模块度可以表示为
上述例子中,整个网络图结构或其中的非连接部分图结构的模块度,通过聚集熵描述了社团内部信息的影响因素,其中通过节点的度描述了节点的影响因素;通过联系熵描述了社团间信息的影响因素;联系熵中除以二,避免了社团间联系信息的重复,最终从聚集熵减去联系熵得到的模块度考虑的信息更准确。此外,通过在联系熵中设置了调节系数,能够在网络密度程度不同时,调节联系熵的影响程度。
在其他实施例中,不排除在上述网络图结构的模块度或网络图结构中每个非连接部分图结构的模块度的计算公式中不设置社团间的联系熵的调节系数。
步骤S130:获得所有所述网络图结构的基于信息熵的模块度中的最大模块度。
步骤S140:根据所述最大模块度得到所述网络图结构的社团划分结果,并根据所述社团划分结果得到所述网络图结构的社团识别结果。
上述步骤S130和步骤S140中,每次删除网络图结构的一条边后,网络图结构中的连接情况会发生变化,删除边前后的模块度可能不同。基于最大信息熵原理,在网络结构给定的情况下,网络的信息熵可以趋近一个极值,通过找到基于信息熵的模块度的最大值,可以找到社团划分的最合理分布。上述步骤S140中,得到社团划分结果后,就可以得知各节点属于哪个社团,从而得到社团识别结果。例如,可以将本实施例的方法应用到客户关系管理系统(CRM)中,进行客户群体划分与不同群体的营销策略制定,以及区分同一类社交网络用户中的不同属性小群体。
为了直观展示网络图结构的社团划分,可以对网络图结构和社团划分结果进行可视化显示。
示例性地,图1所示的方法,还可包括步骤:S160,以可视化方式显示所述网络图结构中的各节点、各边及社团划分结果中的各社团,或者同时在所述网络图结构上显示各边的介数数值、基于信息熵的节点熵、及涂色方式表示的社团划分结果中的各社团中的至少一个。
其中,可以在边的附近显示相应的介数数值;可以点击边或光标划过边的情况下才显示相应介数数值。可以以半透明颜色填充的方式对划分出的各社团对应的区域涂色,不同社团可以使用相同或不同颜色涂色;其他实施例中,可以以线条方式圈定各社团。可以在节点附近显示相应的基于信息熵的节点熵,节点熵例如可表示为
其中,k
i表示节点的度,P
Cm表示节点属于该社团C
m的概率,
等于社团C
m内的节点总数除以非连接部分图结构的节点总数N,其中,社团C
m可以是最终划分结果中节点所属的社团;可以在点击节点或光标划过节点附近一定范围时显示相应的节点熵。
该实施例中,通过可视化,不仅显示网络结构图的节点和边,还显示划分得到的社团,能够直观可视化展示网络图结构的社团划分结果。而且,同时可以可视化展示划分结果中的数据信息,例如,边的介数数值、基于信息熵的节点熵等,提供了节点的特征计算结果。而且,社团还可以涂色的方式进行显示,可视化展示效果更好。如此一来,能够克服现有技术中,无法专门进行社团可视化展示,也不能提供社团中节点的特征计算结果的缺点。
进一步的实施例中,可以对展示的网络图结构进行某些操作。示例性地,上述实施例的图结构识别方法还可包括步骤:S171,接收针对所述网络图结构中的节点、边或社团的点击指令,根据所述点击指令突出显示所针对的节点、边或社团;和/或,S172,接收针对所述网络图结构的拖拽指令,根据所述拖拽指令改变所述网络结构的显示位置;和/或,S173,接收针对所述网络图结构的展示角度变化指令,根据所述展示角度变化指令并基于Spring力导引算法、FR力导引算法或辐射布局算法改变所述网络结构的显示角度。其中,该些实施例中,可以执行上述步骤S171~S173中的至少一个。通过上述步骤S171、S172、S173,可以对社团划分结果进行更丰富地展示。
上述各实施例的图结构识别方法中,对步骤S110至步骤S140的具体实施方式或替代实施方式进行了具体说明。总结而言,根据基于信息熵的模块度寻找网络图结构的最合理社团划分结果,能够从信息论或者深层次概率理论的角度深挖图结构社团划分中的信息,从而所得社团划分结果可具有较高精度。通过根据删除边前计算得到的所有边的介数数值按顺序删除边,不用每次重新计算边的介数数值,降低了时间复杂度,可以降低划分结果与真实社团网络差异,可以适用于复杂网络,而且边的介数数值大小顺序的稳定性。进一步,通过可视化显示社团划分结果中的边、节点、社团等,可以直观可视化展示社团划分结果。
另外,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
为使本领域技术人员更容易地了解本发明,下面将以具体实施例说明本发明的实施方式。
具体实施时,基于信息熵的图结构社团识别方法可以包括社团划分算法的实现过程和对应的图结构社团识别结果可视化展现过程。
首先,社团划分算法中,可以将基于信息熵的模块度作为社团划分效果好坏的参照尺度。可以通过对没有重叠节点的复杂网络进行社团划分,即通过计算对网络进行切边,并计算切边前后的模块度数值来判断是否达到最佳社团划分。具体地,每切掉一条边,都计算由此产生的整个网络基于信息熵的模块度数值,直到所有的边被切掉后的模块度计算完毕,然后在每次切边得到的模块度数值中找到最大值,针对这个最大值得到相应的社团划分,作为最佳社团划分。
基于信息熵的图结构社团划分算法可包括以下过程:
S1:输入,以图Graph(E,V)形式表示复杂网络的点对形式的文件File-input;
S2:输出,图Graph(E,V)中存在最大的基于信息熵的Q值(即Q(H),或称为模块度值)的社团结构Ti(社团划分结果);
S3:算法头为:
1)通过程序读入以图Graph(E,V)形式表示的复杂网络的点对形式的文件File-input;
2)依据读入文件File-input构建图Graph(E,V)中的各边,先构建局部连接图,然后再整体连接为全图;
3)利用Floyd算法计算出任一两节点间的最短路径,得到相应两节点间的边,并计算每条边的Betweenness(介数或中介度)数值;
4)将计算得到每条边的Betweenness数值存储在数组Betweens[i]中,按照降序排列;
5)利用For循环-循环(嵌套的For循环)删除每一条具有较大Betweenness数值的边的过程可如下:
For i=0 to |E|-1 do(依照降序顺序从数组Betweens[i]中依次取出Betweenness数值最大的边);
从图Graph(E,V)中删除边i,对应的,即从数组Betweens[|E|-1]中删除元素Betweens[i];
计算每一次去掉某条边Betweens[i]后,整个图中这时所有的非连接社团,以及每个社团的信息熵模块度,其间,可以为每个节点标注一个社团标识号,以实现基于信息熵的Q值计算;
每次切掉某条边i后,计算图中各非连接部分的模块度数值Q(H(X))并求和,得到整个图的模块度数值Q(H(X))[i];
判断是否满足Q(H(X))[i]>Q(H(X))[i-1],若是。则令MaxQ(H)=Q(H(X))[i],如此一来,经过依次对比,获得每次删除Betweens[i]的过程中获得的最大的全图信息熵模块度数值MaxQ(H);
End for-For循环的结尾;
6)向主程序返回探索所得的最大的全图信息熵模块度数值;
7)依据最终获得的最终的最大全图信息熵模块度数值,获得对应的全图社团划分结果;
8)返回最佳社团划分结果。
其中,上述模块度数值可以是基于信息熵的模块度。基于信息熵的模块度是从信息论或者深层次概率理论的角度深挖图结构社团划分中的信息并推到得到的,具体推导方法可包括以下过程:
进行建模研究,假设复杂网络X最终会划分为m个图结构社团,社团划分的描述信息Y可定义为:
其中,a中的每个分量ai={1,2,…,m}表示网络的每个节点分属于某个社团,其中i是1至n的整数;社团矩阵M=M(X,a)表示由划分产生的m个社团,lii表示社团i(拥有ni个节点)内部的边数,lij表示社团i和j之间的连接边数。
为了找到社团结构最明显的社团划分,需要计算所有可能的划分为m个社团的划分方式,而每种划分结果都与网络X的信息熵紧密相关。首先将复杂网络中每个节点的重要度Vi定义为该节点的度与网络中所有节点度的比值,可表示为:
其中,N为网络中节点的数目,节点的度越大,则该节点越重要,所以每个节点的信息熵与该节点度k
i成正比,与网络的总度数成反比。依据熵公式
的定义,将P
i表示为节点Node
i可能划分到某个社团m的概率,然后将每个节点的熵求和即为整个网络X的熵。因此依据公式(2)和(3),每个节点的熵定义可以为:
其中,P(x
m)是节点i被划分到社团m的概率,
是社团C
m的节点数占整个网络X中总节点数的比例。如果整个网络的社团结构越明显,则公式(4)的数值越大,物理意义为社团内连接越稠密,社团间连接越稀疏。当计算社团间连接时,将社团抽象为点,社团i和j间的边数抽象为节点i和j间边的度数。如图2所示,将(a)图所示网络图结构抽象为(b)图所示网络图结构,在(b)图中,抽象得到例如三个社团结构。
此时,可将社团抽象为节点,则社团间联系的熵定义可为:
由于式(5)发生在两个社团之间,(5)式的数值越大,则不同社团间的连接越稠密,从逻辑上来说影响整个网络X的社团结构,应该减去。所以,综合式(4)和(5),形成如下基于信息熵的模块度定义:
其中,k
Vi为节点Vi的度,
表示此时整个图划分为m个社团,然后整个图的信息熵模块度变为每个社团内部的“聚集熵”减去社团间的“联系熵”(公式(5)),每个社团的内部“聚集熵”为
即该社团内部每个节点产生的“聚集熵”求和,假设该社团C
j内部有n
i个节点那么每个节点产生的“聚集熵”为该节点的度
(即社团C
j内部节点Vi的度
)乘以该节点属于社团C
j的概率(该概率为社团C
j中的节点总数除以网络节点总数N)。
中的i和j表示社团间的“联系熵”来自两个不同的社团C
i和C
j。
其中,式(6)中
是节点i所属社团C
j内部的信息熵,从图2可以发现,社团间的联系抽象成社团间的一条边,分属于两个社团,在这两个不同的社团中都会被计算一次,因此在每个社团中计算时只取其数值的二分之一,以此可以避免重复减社团间的联系因素。同时针对不同的网络的密集程度,可以构建了社团间熵的调节系数α,用于调节网络密度不同时,社团间熵核减项对于公式(6)中Q(H(X))的影响程度。更具体地,依据实验的经验值,调节系数0.8≤α≤0.9时,调整效果较好。
再者,可以基于Java语言对应的图结构社团识别结果可视化展现实施方法。实现基础的图节点类、图边结构类、图中边结构的中介度类(可以利用Floyd算法对全图所有边进行遍历)、基于信息熵的节点熵结构类、实现可视化展示中所需的Frame框架类、可视化展示中所需各种操作响应类(点击、拖拽、展示角度变化)、图结构社团划分结果区分涂色类、图结构社团划分结果展示所需的Spring力导引算法、FR力导引算法、辐射布局算法。
图3是本发明一实施例的可视化展示框图结构示意图。参见图3,网络图结构的可视化展示方法主要由以下关键模块:输入输出模块、网络图构建模块、社团划分算法模块、网络图展示模块、布局算法模块。其中,输入输出模块可用于完成符合格式的网络图结构数据的读取和展示,以及计算结果的输出。网络图构架模块可用于则基于输入输出模块读入的网络数据形成网络数据所需的点、边、社团等网络要素,社团划分算法模块可用于集成基于信息熵的社团划分算法和其他一种或多种(如,三种)的经典社团划分算法。网络图展示模块和布局算法模块可用于对网络的最终展示提供可交互的实时分析手段。图4是利用本发明一实施例中的可视化展示方法展示社团划分结果的示意图,如图4所示,其中(a)图所示网络,经过社团划分,进行可视化展示可如图4中的(b)所示,不同社团可利用不同颜色涂色(可以是不同彩色,图中未示出)。
本实施例,可通过为每个节点标注一个社团标识号来实现社团划分,然后通过构建合适的基于信息熵的模块度函数来判断模块度达到极值时的社团划分是否是最佳划分。具体地,从信息论或者深层次概率理论角度出发深挖图结构社团划分方法的一些信息学本质原理,理论推到得到基于信息熵的模块度计算方式,得到的划分结果与真实的社团网络差别较小,提高了划分精度较高,克服了现有图结构社团划分方法中存在的精度不高、算法时间复杂度较高等问题。而且,实现了比较直观的图结构社团划分,并提供了对应的可视化展现方法,能够直观的从网络可视化或者其他多种可视化方式的角度,对图结构社团划分结果进行展示,从而实现了图结构社团划分结果的便捷、形象、方便地展示,克服了现有方法不够直观的问题。进一步,可以实现对图结构上可视化展示内容进行操作响应(如点击、拖拽、展示角度变化)、图结构社团划分结果区分涂色、图结构社团划分结果展示所需算法(如的Spring力导引算法、FR力导引算法、辐射布局算法)。
综上所述,本发明实施例的图结构识别方法、电子设备及计算机可读存储介质,能够提高划分精度并降低时间复杂度,进一步,能够实现划分结果的可视化展示。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。