時間: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