CN112464040A - 图结构识别方法、电子设备及计算机可读存储介质 - Google Patents

图结构识别方法、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN112464040A
CN112464040A CN202011311726.9A CN202011311726A CN112464040A CN 112464040 A CN112464040 A CN 112464040A CN 202011311726 A CN202011311726 A CN 202011311726A CN 112464040 A CN112464040 A CN 112464040A
Authority
CN
China
Prior art keywords
graph structure
community
network
edge
modularity
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
Application number
CN202011311726.9A
Other languages
English (en)
Other versions
CN112464040B (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 University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202011311726.9A priority Critical patent/CN112464040B/zh
Publication of CN112464040A publication Critical patent/CN112464040A/zh
Application granted granted Critical
Publication of CN112464040B publication Critical patent/CN112464040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种图结构识别方法、电子设备及计算机可读存储介质,其中,该图结构识别方法包括:计算得到网络图结构中每条边的最短路径和相应介数数值;按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度;获得所有所述网络图结构的基于信息熵的模块度中的最大模块度;根据所述最大模块度得到所述网络图结构的社团划分结果,并根据所述社团划分结果得到所述网络图结构的社团识别结果,并可对划分结果进行可视化。通过上述方案提高划分精度并降低时间复杂度。

Description

图结构识别方法、电子设备及计算机可读存储介质
技术领域
本发明涉及数据挖掘技术领域,尤其涉及一种图结构识别方法、电子设备及计算机可读存储介质。
背景技术
网络图结构的社团划分方法主要分为基于启发式思想的划分方法和基于优化的划分方法。
典型的启发式划分算法有最大流社团算法(maximum flow community,MFC)、超链接主题推导搜索算法(hyperlink induced topic search,HITS)、Newman算法(girvannewman,GN)、派系过滤算法(clique percolation method,CPM)和查找抽取算法(findingand extracting communities,FEC)等。其中,GN算法的时间复杂度太高,是边的条数的三次方,其以划分过程中Q值(模块度值)达到最大时对应的划分结果作为最终社团划分结果,但是得到的划分结果有时与真实的社团网络差别较大,其划分精度需进一步提高。这类算法共同特点是,基于某些直观的假设来设计算法,对于大部分网络,能够快速找到最优解或者近似最优解,但无法从理论上严格保证对任何输入网络都能找到令人满意的解。
基于优化的划分方法主要分为谱方法和局部搜索方法。谱方法中的规范截方法(normal cut,N-Cut)和平均截方法(average cut,A-Cut)具有严密的数学理论,但是针对复杂网络的社团划分,谱方法不具备自动识别网络社团总数的能力而且现实世界中的复杂网络往往包含多个网络社团。谱方法的递归二分策略不能保证得到的网络划分是最优的多网络社团结构。局部搜索方法主要基于目标函数、候选解的搜索策略和最优解的搜索策略,通过判断目标函数的某些局部最优值来选取相应的搜索策略。代表性的局部搜索算法有Kernighan算法(kernighan lin,KL)、快速Newman算法(fast GN)和Guimera算法(guimeraamaral,GA)。其中,KL算法局限性在于它需要先验知识(如社团的个数或社团的平均规模),并且该算法对初始解异常敏感,不好的初始解将导致收敛速度慢和最终解差。FastGN算法在社团规模较大时准确不高,GA算法时间复杂度太高,需要的计算时间比较长。
另外,目前网络图结构分析工具主要有ArnetMiner、Gephi、Keylines、GraphX、Baidu Echarts和Google chart。
其中,ArnetMiner工具是一个科研合作网的专家检索系统,其可以通过图的格式展示作者资料的检索,包括科研领域的合作关系,可以很好的找出领域专家,但是该工具偏重于对单个作者信息的检索和挖掘,只集成了部分的挖掘算法。此外,网络图结构展示工具Gephi可以支持动态和分层图的交互可视化与探测,它给用户提供了布局算法,包括基于力的算法和多层次算法。Keylines是一个Java工具包,能够用一个快速、简单的方法创建自定义网络的可视化。GraphX是一种开源的图形可视化软件,是Apache Spark引擎的一部分,有定制特殊功能的空间,它默认支持内置的布局算法、高级图形边缘和顶点功能,此外,GraphX还包括对所有控件的可视化预览功能。Baidu Echarts和Google chart都可以通过Java Script的方式让用户自行输入TXT或者Excel格式的数据,形成图形的可视化。
但是,这些工具不能对社团进行可视化展示,也不能提供社团中节点的相关信息。而且,上述对图结构社团划分方法的精度尚需进一步提高,时间复杂度尚需进一步降低。
发明内容
有鉴于此,本发明实施例提供了一种图结构识别方法、电子设备及计算机可读存储介质,以提高划分精度并降低时间复杂度。
为了达到上述目的,本发明采用以下方案实现:
根据本发明实施例的一个方面,提供了一种图结构识别方法,包括:
计算得到网络图结构中每条边的最短路径和相应介数数值;
按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度;
获得所有所述网络图结构的基于信息熵的模块度中的最大模块度;
根据所述最大模块度得到所述网络图结构的社团划分结果,并根据所述社团划分结果得到所述网络图结构的社团识别结果。
在一些实施例中,计算得到网络图结构中每条边的最短路径和相应介数数值之前,所述的图结构识别方法,还包括:
读入以图形式表示的网络的点对形式文件;
根据所述点对形式文件,先构建各边,再根据构建的各边构建局部连接图,再根据构建的局部连接图进行整体连接,得到网络图结构。
在一些实施例中,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,包括:
对所述网络图结构的各边按介数数值大小进行顺序排序,并将顺序排序后的各边存储至设定数组;
从所述设定数组中依次读取介数数值最大的边,并在每次读取介数数值最大的边后,依次删除所述网络图结构中相应的边和所述设定数组中相应的边的信息,以及计算依次删除相应的边后所述网络图结构的基于信息熵的模块度,直到所述设定数组中的所有边均被读取。
在一些实施例中,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,包括:
按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构中非连接部分图结构的基于信息熵的模块度;
对所有非连接部分图结构的基于信息熵的模块度求和,得到删除每条边后所述网络图结构的基于信息熵的模块度。
在一些实施例中,网络图结构的模块度表示为:
Figure BDA0002790024040000031
其中,Q(H(X))表示网络图结构的模块度,H(X)表示Q(H(X))是基于信息熵的模块度;m表示网络图结构被划分的社团的个数;
Figure BDA0002790024040000032
表示社团Cj的聚集熵,其中,ni表示社团Cj内的节点个数,
Figure BDA0002790024040000033
表示社团Cj内的每个节点Vi的度,
Figure BDA0002790024040000034
表示节点Vi属于该社团Cj的概率,
Figure BDA0002790024040000035
等于社团Cj内的节点总数除以网络图结构的节点总数N;
Figure BDA0002790024040000041
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,lij表示社团Ci和社团Cj之间的连接边数;
或者,
网络图结构中每个非连接部分图结构的模块度表示为:
Figure BDA0002790024040000042
其中,Q(H(x))表示非连接部分图结构的模块度,H(x)表示Q(H(x))是基于信息熵的模块度;m表示非连接部分图结构被划分的社团的个数;
Figure BDA0002790024040000043
表示社团Cj的聚集熵,其中,ni表示社团Cj内的节点个数,
Figure BDA0002790024040000044
表示社团Cj内的每个节点Vi的度,
Figure BDA0002790024040000045
表示节点Vi属于该社团Cj的概率,
Figure BDA0002790024040000046
等于社团Cj内的节点总数除以非连接部分图结构的节点总数N;
Figure BDA0002790024040000047
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,lij表示社团Ci和社团Cj之间的连接边数。
在一些实施例中,0.8≤α≤0.9。
在一些实施例中,所述的图结构识别方法还包括:
以可视化方式显示所述网络图结构中的各节点、各边及社团划分结果中的各社团,或者同时在所述网络图结构上显示各边的介数数值、基于信息熵的节点熵、及涂色方式表示的社团划分结果中的各社团中的至少一个。
在一些实施例中,所述的图结构识别方法还包括:
接收针对所述网络图结构中的节点、边或社团的点击指令,根据所述点击指令突出显示所针对的节点、边或社团;和/或
接收针对所述网络图结构的拖拽指令,根据所述拖拽指令改变所述网络结构的显示位置;和/或
接收针对所述网络图结构的展示角度变化指令,根据所述展示角度变化指令并基于Spring力导引算法、FR力导引算法或辐射布局算法改变所述网络结构的显示角度。
根据本发明实施例的一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
根据本发明实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
本发明实施例的图结构识别方法、电子设备及计算机可读存储介质,能够提高划分精度并降低时间复杂度,进一步,能够实现划分结果的可视化展示。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的图结构识别方法的流程示意图;
图2是本发明一实施例中复杂网络社团间联系的抽象模型示意图;
图3是本发明一实施例的可视化展示框图结构示意图;
图4是利用本发明一实施例中的可视化展示方法展示社团划分结果的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
首先,对本文可能涉及的术语作如下解释:
信息熵:熵在信息论中可以用来表示信源的平均不定度,可以用公式
Figure BDA0002790024040000051
表示信源所含的信息熵,其中,H(X)表示熵,n表示信源的符号数量,C为常数,Pi表示信源取第i个符号的概率,lb表示取对数。通常而言,网络图结构的划分识别中,主要计算任务包括社团图结构的正确划分和识别。在划分时存在无限多组解,需要重点解决的问题就是各个节点属于某个社团的“最合理”分布。基于最大信息熵原理,在复杂网络结构给定的情况下,复杂网络的信息熵可以达到某个极大值的分布,趋近一个极值。
Q值:即,模块度值,可以用于衡量网络图结构的划分结果的好坏,模块度值的公式可表示为:
Figure BDA0002790024040000061
其中,k表示网络社团个数,m表示网络连接总数,mi表示社团i内的连接总数,di表示社团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,对所有非连接部分图结构的基于信息熵的模块度求和,得到删除每条边后所述网络图结构的基于信息熵的模块度。
例如,计算整个网络的模块度,网络图结构的模块度可以表示为:
Figure BDA0002790024040000081
其中,Q(H(X))表示网络图结构的模块度,H(X)表示Q(H(X))是基于信息熵的模块度;m表示网络图结构被划分的社团的个数;
Figure BDA0002790024040000082
表示社团Cj的聚集熵,其中,ni表示社团Cj内的节点个数,
Figure BDA0002790024040000083
表示社团Cj内的每个节点Vi的度,
Figure BDA0002790024040000084
表示节点Vi属于该社团Cj的概率,
Figure BDA0002790024040000085
等于社团Cj内的节点总数除以网络图结构的节点总数N;
Figure BDA0002790024040000086
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,lij表示社团Ci和社团Cj之间的连接边数。其中,α的取值范围例如可以表示为0.8≤α≤0.9,以此可以获得较好的调整效果。另外,其中的X可以表示整个网络结构图。
类似地,可以计算网络图结构中非连接部分图结构的模块度。例如,网络图结构中每个非连接部分图结构的模块度可表示为:
Figure BDA0002790024040000087
其中,Q(H(x))表示非连接部分图结构的模块度,H(x)表示Q(H(x))是基于信息熵的模块度;m表示非连接部分图结构被划分的社团的个数;
Figure BDA0002790024040000088
表示社团Cj的聚集熵,其中,ni表示社团Cj内的节点个数,
Figure BDA0002790024040000089
表示社团Cj内的每个节点Vi的度,
Figure BDA00027900240400000810
表示节点Vi属于该社团Cj的概率,
Figure BDA00027900240400000811
等于社团Cj内的节点总数除以非连接部分图结构的节点总数N;
Figure BDA00027900240400000812
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,lij表示社团Ci和社团Cj之间的连接边数。其中,α的取值范围例如可以表示为0.8≤α≤0.9,以此可以获得较好的调整效果。另外,其中的x可以表示整个网络结构图。例如,如有r个非连接部分图结构,则整个网络的模块度可以表示为
Figure BDA0002790024040000091
上述例子中,整个网络图结构或其中的非连接部分图结构的模块度,通过聚集熵描述了社团内部信息的影响因素,其中通过节点的度描述了节点的影响因素;通过联系熵描述了社团间信息的影响因素;联系熵中除以二,避免了社团间联系信息的重复,最终从聚集熵减去联系熵得到的模块度考虑的信息更准确。此外,通过在联系熵中设置了调节系数,能够在网络密度程度不同时,调节联系熵的影响程度。
在其他实施例中,不排除在上述网络图结构的模块度或网络图结构中每个非连接部分图结构的模块度的计算公式中不设置社团间的联系熵的调节系数。
步骤S130:获得所有所述网络图结构的基于信息熵的模块度中的最大模块度。
步骤S140:根据所述最大模块度得到所述网络图结构的社团划分结果,并根据所述社团划分结果得到所述网络图结构的社团识别结果。
上述步骤S130和步骤S140中,每次删除网络图结构的一条边后,网络图结构中的连接情况会发生变化,删除边前后的模块度可能不同。基于最大信息熵原理,在网络结构给定的情况下,网络的信息熵可以趋近一个极值,通过找到基于信息熵的模块度的最大值,可以找到社团划分的最合理分布。上述步骤S140中,得到社团划分结果后,就可以得知各节点属于哪个社团,从而得到社团识别结果。例如,可以将本实施例的方法应用到客户关系管理系统(CRM)中,进行客户群体划分与不同群体的营销策略制定,以及区分同一类社交网络用户中的不同属性小群体。
为了直观展示网络图结构的社团划分,可以对网络图结构和社团划分结果进行可视化显示。
示例性地,图1所示的方法,还可包括步骤:S160,以可视化方式显示所述网络图结构中的各节点、各边及社团划分结果中的各社团,或者同时在所述网络图结构上显示各边的介数数值、基于信息熵的节点熵、及涂色方式表示的社团划分结果中的各社团中的至少一个。
其中,可以在边的附近显示相应的介数数值;可以点击边或光标划过边的情况下才显示相应介数数值。可以以半透明颜色填充的方式对划分出的各社团对应的区域涂色,不同社团可以使用相同或不同颜色涂色;其他实施例中,可以以线条方式圈定各社团。可以在节点附近显示相应的基于信息熵的节点熵,节点熵例如可表示为
Figure BDA0002790024040000101
其中,ki表示节点的度,PCm表示节点属于该社团Cm的概率,
Figure BDA0002790024040000102
等于社团Cm内的节点总数除以非连接部分图结构的节点总数N,其中,社团Cm可以是最终划分结果中节点所属的社团;可以在点击节点或光标划过节点附近一定范围时显示相应的节点熵。
该实施例中,通过可视化,不仅显示网络结构图的节点和边,还显示划分得到的社团,能够直观可视化展示网络图结构的社团划分结果。而且,同时可以可视化展示划分结果中的数据信息,例如,边的介数数值、基于信息熵的节点熵等,提供了节点的特征计算结果。而且,社团还可以涂色的方式进行显示,可视化展示效果更好。如此一来,能够克服现有技术中,无法专门进行社团可视化展示,也不能提供社团中节点的特征计算结果的缺点。
进一步的实施例中,可以对展示的网络图结构进行某些操作。示例性地,上述实施例的图结构识别方法还可包括步骤: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可定义为:
Figure BDA0002790024040000121
其中,a中的每个分量ai={1,2,…,m}表示网络的每个节点分属于某个社团,其中i是1至n的整数;社团矩阵M=M(X,a)表示由划分产生的m个社团,lii表示社团i(拥有ni个节点)内部的边数,lij表示社团i和j之间的连接边数。
为了找到社团结构最明显的社团划分,需要计算所有可能的划分为m个社团的划分方式,而每种划分结果都与网络X的信息熵紧密相关。首先将复杂网络中每个节点的重要度Vi定义为该节点的度与网络中所有节点度的比值,可表示为:
Figure BDA0002790024040000131
其中,N为网络中节点的数目,节点的度越大,则该节点越重要,所以每个节点的信息熵与该节点度ki成正比,与网络的总度数成反比。依据熵公式
Figure BDA0002790024040000132
的定义,将Pi表示为节点Nodei可能划分到某个社团m的概率,然后将每个节点的熵求和即为整个网络X的熵。因此依据公式(2)和(3),每个节点的熵定义可以为:
Figure BDA0002790024040000133
其中,P(xm)是节点i被划分到社团m的概率,
Figure BDA0002790024040000134
是社团Cm的节点数占整个网络X中总节点数的比例。如果整个网络的社团结构越明显,则公式(4)的数值越大,物理意义为社团内连接越稠密,社团间连接越稀疏。当计算社团间连接时,将社团抽象为点,社团i和j间的边数抽象为节点i和j间边的度数。如图2所示,将(a)图所示网络图结构抽象为(b)图所示网络图结构,在(b)图中,抽象得到例如三个社团结构。
此时,可将社团抽象为节点,则社团间联系的熵定义可为:
Figure BDA0002790024040000135
由于式(5)发生在两个社团之间,(5)式的数值越大,则不同社团间的连接越稠密,从逻辑上来说影响整个网络X的社团结构,应该减去。所以,综合式(4)和(5),形成如下基于信息熵的模块度定义:
Figure BDA0002790024040000141
其中,kVi为节点Vi的度,
Figure BDA0002790024040000142
表示此时整个图划分为m个社团,然后整个图的信息熵模块度变为每个社团内部的“聚集熵”减去社团间的“联系熵”(公式(5)),每个社团的内部“聚集熵”为
Figure BDA0002790024040000143
即该社团内部每个节点产生的“聚集熵”求和,假设该社团Cj内部有ni个节点那么每个节点产生的“聚集熵”为该节点的度
Figure BDA0002790024040000144
(即社团Cj内部节点Vi的度
Figure BDA0002790024040000145
)乘以该节点属于社团Cj的概率(该概率为社团Cj中的节点总数除以网络节点总数N)。
Figure BDA0002790024040000146
中的i和j表示社团间的“联系熵”来自两个不同的社团Ci和Cj
其中,式(6)中
Figure BDA0002790024040000147
是节点i所属社团Cj内部的信息熵,从图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、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种图结构识别方法,其特征在于,包括:
计算得到网络图结构中每条边的最短路径和相应介数数值;
按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度;
获得所有所述网络图结构的基于信息熵的模块度中的最大模块度;
根据所述最大模块度得到所述网络图结构的社团划分结果,并根据所述社团划分结果得到所述网络图结构的社团识别结果。
2.如权利要求1所述的图结构识别方法,其特征在于,计算得到网络图结构中每条边的最短路径和相应介数数值之前,还包括:
读入以图形式表示的网络的点对形式文件;
根据所述点对形式文件,先构建各边,再根据构建的各边构建局部连接图,再根据构建的局部连接图进行整体连接,得到网络图结构。
3.如权利要求1所述的图结构识别方法,其特征在于,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,包括:
对所述网络图结构的各边按介数数值大小进行顺序排序,并将顺序排序后的各边存储至设定数组;
从所述设定数组中依次读取介数数值最大的边,并在每次读取介数数值最大的边后,依次删除所述网络图结构中相应的边和所述设定数组中相应的边的信息,以及计算依次删除相应的边后所述网络图结构的基于信息熵的模块度,直到所述设定数组中的所有边均被读取。
4.如权利要求1所述的图结构识别方法,其特征在于,按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构的基于信息熵的模块度,包括:
按介数数值从大到小的顺序依次删除所述网络图结构中的每条边,并计算删除每条边后所述网络图结构中非连接部分图结构的基于信息熵的模块度;
对所有非连接部分图结构的基于信息熵的模块度求和,得到删除每条边后所述网络图结构的基于信息熵的模块度。
5.如权利要求4所述的图结构识别方法,其特征在于,
网络图结构的模块度表示为:
Figure FDA0002790024030000021
其中,Q(H(X))表示网络图结构的模块度,H(X)表示Q(H(X))是基于信息熵的模块度;m表示网络图结构被划分的社团的个数;
Figure FDA0002790024030000022
表示社团Cj的聚集熵,其中,ni表示社团Cj内的节点个数,
Figure FDA0002790024030000023
表示社团Cj内的每个节点Vi的度,
Figure FDA0002790024030000024
表示节点Vi属于该社团Cj的概率,
Figure FDA0002790024030000025
等于社团Cj内的节点总数除以网络图结构的节点总数N;
Figure FDA0002790024030000026
表示社团间的联系熵,其中,a表示社团间的联系熵的调节系数,lij表示社团Ci和社团Cj之间的连接边数;
或者,
网络图结构中每个非连接部分图结构的模块度表示为:
Figure FDA0002790024030000027
其中,Q(H(x))表示非连接部分图结构的模块度,H(x)表示Q(H(x))是基于信息熵的模块度;m表示非连接部分图结构被划分的社团的个数;
Figure FDA0002790024030000028
表示社团Cj的聚集熵,其中,ni表示社团Cj内的节点个数,
Figure FDA0002790024030000029
表示社团Cj内的每个节点Vi的度,
Figure FDA00027900240300000210
表示节点Vi属于该社团Cj的概率,
Figure FDA00027900240300000211
等于社团Cj内的节点总数除以非连接部分图结构的节点总数N;
Figure FDA00027900240300000212
表示社团间的联系熵,其中,α表示社团间的联系熵的调节系数,lij表示社团Ci和社团Cj之间的连接边数。
6.如权利要求5所述的图结构识别方法,其特征在于,0.8≤α≤0.9。
7.如权利要求1所述的图结构识别方法,其特征在于,还包括:
以可视化方式显示所述网络图结构中的各节点、各边及社团划分结果中的各社团,或者同时在所述网络图结构上显示各边的介数数值、基于信息熵的节点熵、及涂色方式表示的社团划分结果中的各社团中的至少一个。
8.如权利要求7所述的图结构识别方法,其特征在于,还包括:
接收针对所述网络图结构中的节点、边或社团的点击指令,根据所述点击指令突出显示所针对的节点、边或社团;和/或
接收针对所述网络图结构的拖拽指令,根据所述拖拽指令改变所述网络结构的显示位置;和/或
接收针对所述网络图结构的展示角度变化指令,根据所述展示角度变化指令并基于Spring力导引算法、FR力导引算法或辐射布局算法改变所述网络结构的显示角度。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一项所述方法的步骤。
CN202011311726.9A 2020-11-20 2020-11-20 图结构识别、可视化展示及显示操作方法及装置 Active CN112464040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011311726.9A CN112464040B (zh) 2020-11-20 2020-11-20 图结构识别、可视化展示及显示操作方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011311726.9A CN112464040B (zh) 2020-11-20 2020-11-20 图结构识别、可视化展示及显示操作方法及装置

Publications (2)

Publication Number Publication Date
CN112464040A true CN112464040A (zh) 2021-03-09
CN112464040B CN112464040B (zh) 2022-05-13

Family

ID=74798341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011311726.9A Active CN112464040B (zh) 2020-11-20 2020-11-20 图结构识别、可视化展示及显示操作方法及装置

Country Status (1)

Country Link
CN (1) CN112464040B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048436A (zh) * 2022-06-01 2022-09-13 优米互动(北京)科技有限公司 基于可视图原理的高维金融时间序列的阶段划分方法
CN117609870A (zh) * 2024-01-23 2024-02-27 北京燧原智能科技有限公司 结构识别模型训练、模型结构识别方法、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084358A1 (en) * 2005-05-10 2012-04-05 Netseer, Inc. Methods and apparatus for distributed community finding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084358A1 (en) * 2005-05-10 2012-04-05 Netseer, Inc. Methods and apparatus for distributed community finding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
戴爱明等: "一个基于中心度的社团结构发现新算法", 《计算机应用研究》 *
邓小龙等: "基于信息熵的复杂网络社团划分建模和验证", 《计算机研究与发展》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048436A (zh) * 2022-06-01 2022-09-13 优米互动(北京)科技有限公司 基于可视图原理的高维金融时间序列的阶段划分方法
CN117609870A (zh) * 2024-01-23 2024-02-27 北京燧原智能科技有限公司 结构识别模型训练、模型结构识别方法、设备及介质
CN117609870B (zh) * 2024-01-23 2024-04-23 北京燧原智能科技有限公司 结构识别模型训练、模型结构识别方法、设备及介质

Also Published As

Publication number Publication date
CN112464040B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
US10713258B2 (en) Systems and methods for visualizing and manipulating graph databases
Bremer et al. Interactive exploration and analysis of large-scale simulations using topology-based data segmentation
Bajaj et al. The contour spectrum
US7707533B2 (en) Data-mining-based knowledge extraction and visualization of analog/mixed-signal/custom digital circuit design flow
CN112464040B (zh) 图结构识别、可视化展示及显示操作方法及装置
CN111090712A (zh) 一种数据处理方法、装置、设备及计算机存储介质
EP3561688A1 (en) Hierarchical tree data structures and uses thereof
CN110162577B (zh) 企业族谱的可视化展现方法、设备以及系统
EP4148593A1 (en) Methods and systems for extracting and visualizing patterns in large-scale data sets
CN113191486B (zh) 基于参数服务器架构的图数据与参数数据的混合划分方法
CN112561031A (zh) 基于人工智能的模型搜索方法、装置及电子设备
CN114943013A (zh) 一种效能评估方法、系统、计算设备以及存储介质
CN115994718A (zh) 一种通用训练评估系统
CN114239237A (zh) 一种支持数字孪生的配电网仿真场景生成系统与方法
CN109255004A (zh) 面向地理空间数据的精度保证的在线交互式可视化方法
Taghavi et al. Visualization of multi-objective design space exploration for embedded systems
Błaszczak-Bąk et al. Reduction of measurement data before Digital Terrain Model generation vs. DTM generalisation
CN115659900A (zh) 用于呈现集成电路版图的方法、设备和介质
Piotrowski et al. Enhanced interactive parallel coordinates using machine learning and uncertainty propagation for engineering design
CN113568987A (zh) 知识图谱嵌入模型的训练方法、装置、计算机设备
CN110225006B (zh) 网络安全数据可视化方法、控制器和介质
Mascarenhas et al. Isocontour based visualization of time-varying scalar fields
CN113051816A (zh) 一种大气污染管控方案优化方法
CN114971231B (zh) 业务决策模型的生成方法、装置、计算机设备及存储介质
CN113946582B (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Deng Xiaolong

Inventor after: Lu Yueming

Inventor after: Mo Qinchu

Inventor after: Han Daoqi

Inventor after: Nie Zixiang

Inventor after: Guo Zhixin

Inventor before: Deng Xiaolong

Inventor before: Lu Yueming

Inventor before: Han Daoqi

Inventor before: Nie Zixiang

Inventor before: Mo Qinchu

Inventor before: Guo Zhixin

GR01 Patent grant
GR01 Patent grant