时间:2022年01月04日 分类:电子论文 次数:
摘要:目的图数据库作为存储网络数据的主流工具,在复杂网络分析中的研究与应用不断丰富,本文系统梳理了图数据库在复杂网络领域的应用进展和研究趋势。文献范围以WebofScience核心数据库、Scopus、CNKI数据库为检索中英文文献的来源,对15个图数据库相关网页、21个实践案例、14篇研究论文进行详细调研和综述。方法本文对比分析了国内外主流图数据库,尝试探讨最新的图数据库解决方案在复杂网络分析中应用,包括中心性、路径查找、链路预测、社区检测等在内的算法、图可视化、性能及应用实例。[结果]图数据库已经成为复杂网络分析与大数据挖掘重要的分析工具与研究手段,不仅是复杂网络分析一站式解决方案,还与图计算引擎等工具结合使用。[局限]图数据库应用场景非常多,本文未能完整覆盖,仅选取2-3个有代表性的案例进行阐述。[结论]图数据库对于查询、表示和挖掘网络数据效果显著,能较为直观分析和发现图结构中有意义的模式或结构,其对数据密集型的多维特征的呈现更接近现实,是未来挖掘隐含关系的重要工具。
关键词:知识图谱;图数据库;复杂网络
1引言
随着人工智能时代的到来,知识表示和推理已成为高质量决策过程中的一个重要环节,旨在为智能系统表示知识以解决更为复杂的任务[1]。知识图谱(KnowledgeGraph)作为一个知识数据库,代表了实体之间结构关系,其中蕴含的信息以能够产生知识的方式进行结构化[2],它已经成为大数据分析、语义网、自然语言处理(NLP)、自动问答、知识管理、链路预测等领域的交叉研究热点。
从通用知识图谱到领域知识图谱,知识图谱的有效性和普及性大大提升,对客观世界的描述也越来越深入、细化。作为非关系型数据库的典型代表,图数据库(Graphdatabase)既能够存储知识图谱中由概念、实体、关系和属性所构成的网络数据,还能够基于节点、关系、属性的数据结构进行基于图的数据存储、查询和挖掘,且已经产生了以图为中心的新型大数据技术栈[3]。因此,图数据库作为存储网络数据的主流工具之一,它在复杂网络分析中发挥着越来越重要的作用。
根据权威数据库研究网站DB-engines[4],图数据库自2013年以来一直是最受欢迎的数据库,在社交媒体、零售业、金融、汽车制造商、电信及酒店等许多领域得到应用,主要包括社交关系管理、实时推荐商品、风控、推动创新制造解决方案、管理网络控制访问以及复杂酒店库存管理等。与传统关系数据库二维表存储方式相比,图数据库的优势在于:(1)能够以图的形式存储实体及其连接[5],在节点和关系之间的查询更加简单快捷;(2)具备处理超过10GB大型异构数据集的能力,更丰富的数据与更高效的查询相结合[6];(3)最大限度地减少编码决策,可重复提取复杂结构信息;(4)有助于多模网络分析的推广[7],在映射真实实体和关系方面具有天然优势[8]。
目前,它已经在社交网络、生物医学网络、恐怖主义网络等高度关联、节点多类型的领域显示出广泛的应用潜力。近年来,随着一大批开源或商用的图数据库工具的涌现,集成了大量的数据挖掘算法与应用,主要包括中心性、路径查找、链接预测、社区检测和图可视化,有助于发现知识图谱中的潜在知识。本文首先对国内外主流图数据库进行调研梳理,聚焦比较图数据库应用中开发人员比较关心的查询语言、支持接口和集成算法,系统整理了图数据库在复杂网络分析中的主要算法和应用进展,以便为推动图数据库技术在复杂网络分析中的应用提供参考。
2国内外主流图数据库
通过对国内外图数据库进行调研,整理出当下主流的图数据库,如表2和表3所示,针对研究人员关心的查询语言、支持接口和集成算法等内容进行对比分析。
首先,国内图数据库的查询语言主要采用的是Gremlin或Cypher,同时这也是目前图数据库领域最流行的两种查询语言;除此之外,GeaBase提供了自研的查询语言,其语法是嵌套式“操作符+属性”结构,单独的操作符和属性构成一组独立的功能;NebulaGraph采用声明式图查询语言nGQL,这是为开发和运维人员设计的类SQL查询语言,易于学习,同时兼容OpenCypher。其次,在支持接口方面,部分开源图数据库给开发者提供了多种编程语言调用接口,如Python、Java、Go等,也有数据库并未指明支持的接口。第三,在集成算法方面,大多数图数据库都支持包括PageRank、中心性、社区检测等相关图算法,即使部分数据库的内置图算法种类较少,但其支持丰富的图算法扩展包,仍然可以满足研究人员的需求。
国外图数据库查询语言的种类较为丰富,除了被广范应用的Cypher和Gremlin外,Neptune和AllegroGraph还支持SPARQL查询语言,而TigerGraph和ArangoDB则在标准数据库查询语言SQL的基础上研发了其他的查询语言GSQL和AQL;目前,最独树一帜的是OrientDB,其支持广泛使用且易于理解的SQL语言查询功能。在支持接口方面,国外图数据库表现更为多样化,几乎都支持市面上主流编程语言的API调用。在集成算法方面,Neo4j和TigerGraph几乎涵盖了大多数图算法,AllegroGraph、JanusGraph和ArangoDB支持的图算法相对较少,且种类单一,OrientDB在这方面并不支持常见的图算法,只提供索引算法。
3图数据库在复杂网络分析中的主要算法及应用
复杂网络(ComplexNetwork)分析是将现实生活中的复杂关系进行抽象和挖掘的过程,许多现实网络(例如交通系统、社交网络、蛋白质结构等)都是以复杂网络形式存在[24]。近年来,复杂网络结构由于其强大的节点和连接的表达能力、高度复杂性的呈现能力受到众多关注和研究。
一方面,图数据库在分析复杂网络结构数据的时候具备天然的存储和计算优势,因此大部分图数据库都集成了复杂网络分析中的常见算法,另一方面,复杂网络分析需要图可视化技术进行结果呈现和分析解读,因此图数据库通过集成或在线等方式提供多种图布局解决方案。本文根据复杂网络领域中的中心性、路径查找、链接预测、社区检测和图可视化五大应用场景,综述了国内外主流图数据库在复杂网络分析领域的重要图算法及相关图布局。
3.1中心性
中心性(Centrality)是复杂网络研究中的重要问题之一,研究的是网络中不同节点的重要性,通常从节点在网络中的位置、可访问性和置信度等角度识别特定节点的角色和对网络的影响。中心性算法可分为两种:(1)基于相邻节点的重要性计算重要性,包括PageRank、ArticleRank、特征向量中心性(EigenvectorCentrality)等;(2)基于节点自身特征计算重要性,包括计算当前节点出入度数量、当前节点与其它节点之间的平均距离、当前节点出现在任意两个节点的最短路径中的次数三种方式,由此产生了度中心性(DegreeCentrality)、接近中心性(ClosenessCentrality)、中介中心性(BetweenCentrality)算法。图数据库中心性分析已经被用于识别保险/银行欺诈、分析药品处方模式、科技管理决策以及评估社交网络集群等。
国内应用场景出现在保险、科研管理等领域。周晓楠等(2020)[28]利用Neo4j分析寿险公司的保单信息、客户信息、保全信息和业务员信息等数据,以赔案号作为主键关联,通过逻辑回归(LogisticsRegression)和梯度提升决策树(GradientBoostingDecisionTree,GBDT)分别对内部和外部的欺诈概率进行预测和准确性对比,选用了度中心度、中介中心性、接近中心性、特征向量中心性等算法计算各赔案保单节点在赔案群中的重要程度,研究认为,图数据库分析能够较好地预测内部欺诈,中介中心性在预测模型中的表现最好。
王猛(2020)[29]提出利用图数据库HugeGraph以知识图谱形式构建面向科技与能力的关联分析系统,主要从行业成果、百度、百科等相关数据源中抽取和清洗数据,并包含了层次构建、关联分析和网络分析等流程,其中网络分析使用了多种中心性算法来发现在网络中起到核心作用的技术或指标。国外应用场景出现在社交网络、医疗和银行等领域。Kolomeets等(2019)[30]利用图数据库OrientDB分析了VKontakte社交网络,在评估社交群体的过程中,使用中心性算法度量图中的中心节点,使用PageRank或Laplacian矩阵确定最具影响力的意见领袖。
Giordani等(2020)[31]利用图数据库Neo4j展开对处方模式的监测性研究,以改善各级医疗机构的处方实践;该研究采集了意大利某地2000年1月至2018年10月所有使用医疗服务的患者病史数据,构建了包括患者、处方和医生的网络,通过中介中心性算法确认了处方中的抗生素在网络中的重要性。RichardHenderson(2020)[32]指出图数据库有助于分析在线支付活动的可疑模式等银行欺诈,与关系型数据库不同,图数据库一旦确定了目标账户和交易子集,就可以使用中心性和PageRank等复杂算法发现一些蛛丝马迹,自动停止可疑交易或者提示进一步开展人工调查。
国内应用场景出现在知识图谱、医学等领域。马雨萌(2019)[47]以构建中药活血化瘀领域专题知识库为例,对文献中实体、关系及属性进行解析、抽取与关联组织,将知识三元组通过Neo4j图数据库存储,实现了基于力导向布局的知识关联可视化,能够将匹配的知识实例及其来源文献信息进行可视化。马欢欢(2020)[48]以构建癫痫医学知识图谱为例,对3127份电子病历进行命名实体识别和关系抽取,利用Neo4j存储“疾病和诊断”等5大类实体和关系,并在Neo4j中对“癫痫”和“症状性癫痫”一层以内的关系进行可视化展示和简要分析,解读出相关的临床表现、检查方式和治疗措施。国外应用场景出现在生物医学、社交网络等。
Messina等(2018)[49]提出在线分析生物信息学资源的Web应用程序BioGraph,使用基于Neo4j开发的BioGraphDB作为图数据库,支持用户基于功能、基因、蛋白质和miRNA等实体关系构建自定义的复杂检索式,并使用Cytoscape.js生成针对检索结果的交互式图形,为用户提供动态可视化服务。Allen等(2019)[50]使用Neo4j对Twittertroll(网络喷语)数据集进行可视化分析,网络节点大小取决于PageRank分数,关系权重取决于转发次数,在最终的可视化图形中,可以清晰地发现数据集中存在三个社区,以及每个社区内最具影响力的Twittertroll账户。
4结语
在过去的几十年里,密集互连数据的爆炸式增长刺激了图数据库技术的研究、开发和应用。从早期的图模型到最近的原生图数据库,其应用已经涵盖了生物医学、金融保险、科研管理、社交网络、交通运输等各个行业的需求,其发展趋势越来越支持更自然的表示模型和更好的数据集成工作流、挖掘和分析。通过文献综述,本文讨论了最新的图数据库解决方案在复杂网络分析中的主流图数据库、算法/布局、性能以及应用实例。未来,图数据库在复杂网络分析中的研究趋势和特征将主要包括以下几个方面。
(1)图数据库已经成为复杂网络分析与大数据挖掘常用的分析工具手段。目前,复杂网络分析研究中应用最多的图数据库是Neo4j,这是由于Neo4j作为最主要的图数据库应用品牌,其社区版具备安装便利、操作简单、可视化功能强大和集成算法种类齐全等优点,其企业版也支持高可用集群部署,同时开发社区非常活跃,维护技术难度低,版本更新快,非常受国内外学者喜爱。
(2)图数据库可作为复杂网络分析一站式解决方案,涵盖了图存储、图计算和图可视化等各个环节。具体来说,在图存储环节,图数据库能够应用到知识图谱存储中,通过Cypher等类SQL语言解决数据查询问题,通过单机或分布式图数据库解决少量或海量数据存储问题;在图计算环节,图数据库内置算法能够解决的图数据挖掘应用场景,可以通过Cypher等类SQL语言调用算法进行分析,使用起来非常简便,这方面前文已经进行了详细阐述;在图可视化环节,Cypher、Gremlin等查询结果能够进行实时可视化,还能在线调整节点和关系的颜色和大小,并支持导出多种图片格式。
(3)图数据库与图计算引擎等工具结合使用,在图计算和图可视化方面也能发挥重要作用。虽然在图数据挖掘实践中,图数据库在图存储、图计算和图可视化三个环节中所起作用呈依次递减的态势,但图数据库是存储与查询图数据、导出子图数据等操作流程的基础工具。在图计算中,外部机器学习和深度学习算法能够利用图数据库作为数据存储、查询和导出的工具;在图可视化中,可以通过图数据库的Java和Python等驱动包进行访问,获取到JSON格式数据,并结合流行的JavaScript可视化工具,例如Echarts.js、D3.js、Cytoscape.js,通过弦图、网络图、树图、桑基图和平行坐标图等可视化方式为不同的情报分析任务场景呈现不同的可视化效果。
(4)图数据挖掘工具、算法、应用场景将不断拓展。目前,图数据库并不是图数据挖掘的唯一工具和手段,在知识图谱技术兴起的早期,Gephi等社交网络分析软件也能进行一些简单的图数据挖掘,例如中心性分析等。而包括图计算引擎、图表示学习、图机器学习和图神经网络在内的多种工具和方法也在飞速发展,例如,图计算引擎以Spark平台中的Graphx组件为代表,集成了PageRank和社区发现等算法;图神经网络工具以Pytorch的PyG组件,能够进行节点分类、链路预测、社区发现和图相似性检测等具体应用。总体上,图数据库对于查询、表示和挖掘数据效果显著,利用图算法和子图匹配查询可以直观分析和发现图结构中有意义的模式或结构;其次,图数据库更适合数据密集型的多维特征分析,其呈现方式更接近现实;此外,图数据库能够深度挖掘隐含关系,将是未来进一步拓展复杂网络分析的重要途径和工具。
参考文献:
[1]AlhussienI.,CambriaE,NengShengZ,Semanticallyenhancedmodelsforcommonsenseknowledgeacquisition[C],IEEEInternational.ConferenceDataMining.Work.,IEEE,2018:1014-1021.
[2]H.Paulheim.Knowledgegraphrefinement:asurveyofapproachesandevaluationmethods[J].SemanticWeb,2017,8(3):489-508.
[3]沈志宏,赵子豪,王海波.以图为中心的新型大数据技术栈研究[J].数据分析与知识发现,2020,4(7):50-65.(ShenZhihong,ZhaoZihao,WangHaibo.BigDataTechnologyStackShifting:FromSQLCentrictoGraphCentric[J].DataAnalysisandKnowledgeDiscovery,2020,4(7):50-65.)
[4]DBMSpopularitybrokendownbydatabasemodel.[EB/OL][2021-9-2].
[5]ŠestakM,HeričkoM,DružovecTW,etal.Applyingk-vertexcardinalityconstraintsonaNeo4jgraphdatabase[J].FutureGenerationComputerSystems,2021,115:459-474.
[6]Gutfraind,A.,GenkinM.Agraphdatabaseframeworkforconvertnetworkanalysis:AnapplicationtotheIslamicStatenetworkinEurope[J].SocialNetworks,2017,51:178-188,
作者:刘春江1,2,李姝影1,胡汗林3,方曙1,2