沈棟 王巧燕 陳波
隨著人們對掌握事物全貌和關聯(lián)性分析需求的日漸增長,知識圖譜在學術界與工業(yè)界掀起了一股研究與應用的熱潮。
知識圖譜是一個基于圖模型實現(xiàn)多源異構和互聯(lián)數(shù)據(jù)建模與應用的整體解決方案。遵循萬物互聯(lián)的理念,通過用頂點表示實體、邊表示關系,以符合人類認知的方式對現(xiàn)實世界進行概念建模,將人類世界爆發(fā)式增長的海量多源異構數(shù)據(jù)沉淀為知識,建立了各種知識服務,同時提供了基于圖技術的高鏈接關系挖掘和關聯(lián)性知識推理。
知識圖譜基本概念
知識圖譜。知識圖譜(KG,Knowledge Graph)是指用于提升搜索引擎性能的一個多源知識庫。相比于傳統(tǒng)知識庫,KG強調使用圖模型中的節(jié)點和邊來分別描述關聯(lián)知識的概念和關系,使得知識可以使用圖論、圖計算、圖學習等進行深度查詢、關系計算分析和鏈接預測。
通用知識圖譜與行業(yè)知識圖譜。繼KG概念被提出之后,世界各大互聯(lián)網(wǎng)公司紛紛布局了知識圖譜,主要應用于語義搜索、個性化推薦、智能問答和關系決策等領域。而隨著知識圖譜在行業(yè)應用的不斷探索落地,知識圖譜分化出通用知識圖譜和行業(yè)知識圖譜的概念。通用知識圖譜更類似于百科全書,面向全領域,比較著名的有Freebase、Wikidata、Yago、DBPedia等;行業(yè)知識圖譜面向特定領域,如金融、公安、電商等。兩者在構建流程和應用要點上存在較大差異,通用知識圖譜側重于圖譜的構建技術,是從海量非結構化數(shù)據(jù)中進行實體與關系的抽取、融合;行業(yè)知識圖譜則側重于圖譜的應用場景,是在知識圖譜之上應用知識計算與推理技術,進行業(yè)務場景的落地。
金融知識圖譜核心技術內容。作為行業(yè)知識圖譜,金融知識圖譜的核心技術在于圖引擎,圖引擎包含了圖存儲、圖計算、圖算法和圖可視化四個核心層級。圖存儲層實現(xiàn)了將數(shù)據(jù)以圖結構存儲于以圖模型指導設計的圖數(shù)據(jù)庫載體中,同時提供圖數(shù)據(jù)的增刪改查操作的能力,根據(jù)存儲方式不同,圖數(shù)據(jù)庫又可以劃分為原生圖和非原生圖;圖計算層將復雜而專業(yè)的圖的迭代式計算過程進行抽象并封裝成接口暴露給外部,使得圖的計算變得簡單易用;圖應用建模層承載了場景建模所需的基礎圖算法和在其基礎上構建的自定義模型;圖可視化層封裝了圖高效渲染和友好交互的技術框架。
知識圖譜存儲技術
知識圖譜面向海量的圖結構數(shù)據(jù),需要依賴于圖數(shù)據(jù)庫進行數(shù)據(jù)存儲,圖數(shù)據(jù)庫基于圖模型進行指導設計,根據(jù)存儲方式的不同又可分為原生圖(native)和非原生圖(no-native)。相比于傳統(tǒng)關系型數(shù)據(jù)庫,圖數(shù)據(jù)庫一是具有靈活的schema,支持多源異構的數(shù)據(jù)入圖;二是具有優(yōu)異的關聯(lián)分析性能,能夠支撐知識圖譜高效深度關系挖掘和模型分析的需求。
1.圖模型
圖模型是基于圖結構設計的概念模型,主要有資源描述框架(RDFs,Resource Description Frameworks)和屬性圖(LPGs,Labeled Property Graphs)兩種模型。RDFs是W3C制定的用于描述實體/資源的標準數(shù)據(jù)模型,由節(jié)點和弧組成,適用于離線分析,主要應用于語義網(wǎng)、文本處理與分析以及學術研究領域;屬性圖是為了解決互聯(lián)數(shù)據(jù)的高效查詢、使用和存儲問題而被定義的數(shù)據(jù)模型,由頂點、邊(Edge)、標簽、關系類型以及屬性組成,適用于在線查詢,相比于RDFs,屬性圖因為使用屬性折疊了大部分邊而獲得了較高的查詢性能,主要應用于工業(yè)實踐。目前主流的開源圖存儲多基于屬性圖模型,包括Neo4j(企業(yè)版于2018年11月已閉源)、TigerGragph、OrientDB、ArangoDB、Azure Cosmos DB等。
2.圖存儲方式
圖存儲方式是影響圖數(shù)據(jù)處理效率的關鍵因素之一,根據(jù)存儲設計是否為圖數(shù)據(jù)進行特定優(yōu)化,圖存儲被劃分為原生圖和非原生圖。原生圖的優(yōu)化設計實現(xiàn)了無鄰接索引(index-free adjacency),極大地提高了遍歷和更新性能,其優(yōu)化主要包含了三點:1)節(jié)點和關系以固定長度進行存儲;2)每個節(jié)點域包含了指向關系和屬性列表第一個元素的ID信息,實現(xiàn)了節(jié)點記錄的輕量級存儲;3)每個關系域包含了指向關系起點和終點的節(jié)點ID。主流開源圖存儲使用原生圖設計的相對較少,有Neo4j、TigerGraph等。非原生圖的存儲多依賴于已有的第三方存儲系統(tǒng)和索引系統(tǒng),如JanusGraph使用Hadoop進行圖處理分析,支持擴展Apache Cassandra、Apache HBase、Google Cloud BigTable等存儲系統(tǒng),和Elasticsearch、Apache Solr等索引系統(tǒng)。
3.圖數(shù)據(jù)庫
圖數(shù)據(jù)庫是基于圖模型實現(xiàn)數(shù)據(jù)創(chuàng)建、讀取、更新和刪除(CRUD)的實時數(shù)據(jù)庫管理系統(tǒng)。根據(jù)數(shù)據(jù)量級、存儲形式、處理和遍歷性能進行劃分,圖數(shù)據(jù)庫分為內存圖、磁盤圖、分布式圖三種類型,處理性能依次遞減,所能承載的數(shù)據(jù)量依次遞增。開源的圖數(shù)據(jù)庫中,內存圖如NetworkX、 iGraph,磁盤圖如Neo4j、 OrientDB,分布式圖如TigerGraph、JanusGraph和百度HugeGraph等。此外,國內各大互聯(lián)網(wǎng)公司也提供了非開源的分布式圖數(shù)據(jù)庫,如騰訊星圖、螞蟻金服Geabase等。國內主流知識圖譜廠商在圖數(shù)據(jù)庫上的選型不一,海致知識圖譜平臺和企業(yè)知識圖譜采用ArangoDB,邦盛關聯(lián)圖譜的圖存儲組件正在從Neo4j向JanusGraph遷移,明略的Scopa產(chǎn)品采用JanusGraph,騰訊的知識圖譜解決方案則使用了自研的分布式磁盤圖—星圖。同時,一是由于圖數(shù)據(jù)庫產(chǎn)品的百花齊放、各有千秋,二是由于行業(yè)內已經(jīng)沉淀了一部分開源圖數(shù)據(jù)庫的技術棧,客戶對廠商的圖數(shù)據(jù)庫有特定的要求,三是圖數(shù)據(jù)庫領域也在探索圖存儲設計的標準化,如封裝了基本圖操作和計算接口的開源框架TinkerPop,迫使各廠商逐漸開展了圖數(shù)據(jù)庫無關性的架構解耦工作。
金融知識圖譜計算框架
金融知識圖譜的計算主要是基于圖的計算,業(yè)內將圖的一系列操作進行了封裝,形成了統(tǒng)一的圖計算框架,通過接口抽象的方式,不僅使得高門檻的圖技術變得易用,還實現(xiàn)了圖存儲、圖計算和圖應用模塊的高內聚、低耦合設計。根據(jù)適用場景進行劃分,圖計算框架分為兩種,一種是提供圖增刪改查操作、面向少量圖數(shù)據(jù)離線分析的基本圖計算框架,另一種是面向海量、TB級圖數(shù)據(jù)離線分析挖掘的巨型圖處理框架。
1.基本圖計算框架
基本圖計算框架通常由圖數(shù)據(jù)庫進行實現(xiàn),實現(xiàn)同一套框架的圖數(shù)據(jù)可以相互替代,目前主流的Apache TinkerPop開源圖計算框架,提供了實時事務處理(OLAP)和離線數(shù)據(jù)分析(OLTP)的一套標準化抽象接口,以及“一次編寫、到處運行”和協(xié)調多機器圖遍歷能力的圖遍歷語言Gremlin。目前實現(xiàn)了TinkerPop接口的主流圖數(shù)據(jù)庫有Titan、OrientDB、Neo4j、JanusGraph等。
2.巨型圖處理框架
巨型圖處理框架多基于分布式圖進行設計,提供TB級數(shù)據(jù)的離線分析能力,而且相較于傳統(tǒng)的大數(shù)據(jù)框架設計,其綜合考慮了基于圖算法的迭代式計算的特殊性、圖數(shù)據(jù)結構的不均衡性等,面對圖計算問題具有更加高效的處理能力。巨型圖處理框架的核心技術內容包含了圖切分模型和圖計算模型,即存儲的分布式和計算的分布式。
圖的切分模型。圖切分是基于最小化通信、圖計算和存儲開銷的權衡對連通的圖數(shù)據(jù)進行分區(qū),是圖分布式處理的基礎。目前主流巨型圖的存儲模型有邊切分和點切分兩種存儲方式。兩種方式各有優(yōu)缺點,自2013年GraphLab2.0推出,將其存儲方式由邊切分變?yōu)辄c切分,且在性能上取得大提升,點切分策略逐漸被業(yè)界廣泛接受并使用,其原因可以概括為三點:一是點切分消耗存儲資源,邊切分消耗網(wǎng)絡資源,而存儲的成本小于內網(wǎng)通信資源擴展的成本;二是目前應用場景中,大多數(shù)網(wǎng)絡都是遵循冪律分布的“無尺度網(wǎng)絡”,即1%的節(jié)點占有了50%的邊,邊切分會使得鄰居多的點所相連的邊大多數(shù)都會被分配到不同的機器上,在信息同步時對內網(wǎng)帶寬造成巨大壓力;三是實際應用場景中,邊(關系)的數(shù)量往往比節(jié)點(實體)數(shù)量大很多,邊切分中,大多數(shù)邊會被打斷多副本保存,帶來存儲和計算上的不均衡。
圖的計算模型。基于圖的算法通常為迭代式計算,每一輪迭代中信息通過邊在節(jié)點間傳遞,參與計算的節(jié)點集不斷變化,直到算法收斂或達到一定的迭代次數(shù)。針對此,分布式圖計算模型基于超步迭代和柵欄同步的BSP模式進行設計,目前存在兩種比較成熟的圖計算模型:Pregel和GAS。
(1)Pregel模型由Google公司提出,借鑒了MapReduce的思想,采用了中心點編程(Vertex-centric Programming)的圖計算模式,讓用戶將復雜的迭代過程抽象為由一個頂點更新函數(shù)所實現(xiàn)的基于頂點的計算和基于邊的消息通信。
(2)GAS模型由GraphLab提出,將頂點操作抽象成Gather、Apply、Scatter這三個階段,Gather階段搜集所有計算節(jié)點圖數(shù)據(jù)中某個頂點的相鄰邊和頂點的數(shù)據(jù)進行計算,Apply階段將gather到的數(shù)據(jù)應用到計算節(jié)點上,Scatter階段將新的節(jié)點狀態(tài)廣播給鄰居節(jié)點。相比Pregel模型的消息通信范式的同步模式,GAS模型更偏向共享內存風格的異步模式。
圖計算框架概述。如表1所示,在眾多分布式圖處理框架中,綜合考慮處理性能、易用性和社區(qū)活躍度等,憑借著Spark一體化流水線處理的GraphX更具市場競爭優(yōu)勢。
金融知識圖譜應用建模方法
知識圖譜提供了一系列的圖分析方法,用于應用場景建模,如表2所示。作為人工智能(AI)技術的分支,知識圖譜的分析方法遵循過去50年領域形成的三大范式,分為邏輯規(guī)則、概率方法和深度學習三個層級。現(xiàn)階段,金融知識圖譜的應用分析主要以用于靜態(tài)分析的邏輯規(guī)則為主。
1.邏輯規(guī)則
業(yè)務規(guī)則。通過給實體、關系和屬性附加一定的常識或業(yè)務規(guī)則,再將這些規(guī)則映射成圖的邏輯,基于知識圖譜上的鏈式規(guī)則推導,實現(xiàn)關系驗證或實體查詢。
子圖結構?;诠?jié)點鄰居、路徑和其他節(jié)點中心性,查找滿足一定結構的子圖,如多節(jié)點共享的鄰居節(jié)點、強連通圖、緊密中心節(jié)點、中介節(jié)點等,或是更深層次地查詢符合特定模式的子圖,例如環(huán)型、分散匯聚型、火山型、黑洞型等。
2.概率方法
基于隨機游走理論。以PageRank算法為典型模型,通過均等概率在圖上有關系的節(jié)點上進行跳轉(游走),多次跳轉后達到算法收斂,將鏈接關系信息映射成到每個節(jié)點的概率分布,從而得到關鍵信息在圖上的分布,例如節(jié)點重要度排名、節(jié)點信任度排名、節(jié)點惡意指數(shù)分布。在PageRank基礎上,不同的應用場景變換出了不同鏈接分析算法:TrustRank從專家評估篩選出的可靠性高的種子集出發(fā),將其高信任等級向外鏈接傳播,且信任等級隨鏈接次數(shù)增多而降低,以此尋找到同樣可靠的節(jié)點;SibylRank根據(jù)虛假賬號與真實賬號鏈接的有限性,從真實賬號出發(fā)基于Early-Termination 隨機游走,讓信息阻斷在真實賬號所在群體,實現(xiàn)在線社交網(wǎng)絡虛假賬號檢測。
基于社交網(wǎng)絡理論。以LPA算法為基礎,通過鏈接關系將已標記節(jié)點的標簽傳播給未標記節(jié)點,最終形成統(tǒng)一標簽的“社區(qū)”結構,再基于社交網(wǎng)絡理論進行社區(qū)分析,如基于“Guilt-by-association”假設,一個社區(qū)的欺詐樣本占比很高,那這個社區(qū)的其他實體存在欺詐風險的可能性也會隨之提高。相關的算法有根據(jù)迭代形成的歷史標簽數(shù)進行策略更新的SLPA,考慮標簽傳播隨距離衰減進行策略更新的HANP,計算每個節(jié)點所屬標簽概率分布進行多社區(qū)劃分的BMLPA,基于模塊度計算的Fast Unfolding,基于Belonging Coefficient進行多社區(qū)劃分的COPRA等。其中,F(xiàn)ast Unfolding在各計算框架中的集成應用較為廣泛。
3.深度學習
結合深度學習對圖數(shù)據(jù)進行社區(qū)檢測、行為分析、節(jié)點分類、鏈路預測和聚類等。圖數(shù)據(jù)不同于用一維序列表示的聲音數(shù)據(jù)或二維矩陣表示的圖像數(shù)據(jù),由于沒有規(guī)則的空間結構(Non Euclidean Structure),傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(CNN)在處理時無法保持平移不變性。針對此,行業(yè)發(fā)展提供了兩種解決思路:一是通過圖嵌入(Graph Embedding)將離散化的圖結構(高維稠密的矩陣)映射為低微稠密向量,再輸入到機器學習模型;二是直接構建適用于圖學習的圖神經(jīng)網(wǎng)絡,可直接輸入圖進行深度學習。2018、2019年圖學習理論蓬勃發(fā)展,有關圖學習的論文如過江之鯽,相關的應用框架也逐漸開源,如阿里的Euler、谷歌的Neural Structured Learning(NSL)等。
知識圖譜可視化
知識圖譜可視化是對海量網(wǎng)絡數(shù)據(jù)進行高效而直觀地渲染,專業(yè)的圖可視化框架有KeyLines、Gephi、Linkurious、Cytoscape、Centrifuge,Tom Sawyer等,上述框架不僅針對圖數(shù)據(jù)渲染優(yōu)化了性能,還提供了一定的網(wǎng)絡分析能力。而我們所熟悉的主流的前端可視化框架,如D3、Echarts等也提供了對圖形數(shù)據(jù)可視化的支持,但對圖的適配性不及專業(yè)的框架。
金融知識圖譜應用難點與要點
1.金融知識圖譜的認知
知識圖譜在金融行業(yè)的應用仍處于初級階段。金融知識圖譜雖然已廣泛應用于風控、營銷、IT資產(chǎn)管理和數(shù)據(jù)管理等領域,但大部分是應用于簡單數(shù)據(jù)查詢和邏輯規(guī)則方式。在應用初級階段,金融知識圖譜發(fā)力的核心內容:一是將多源異構數(shù)據(jù)有機融合為一張關聯(lián)圖譜,二是將反映整體的網(wǎng)絡特征提煉到單個實體信息中,實現(xiàn)關系特征從無到有的跨越。
知識圖譜是一個可以廣泛應用的輔助工具。知識圖譜應用的廣泛性在于拓撲連接的廣泛性,任何事物都可以在賦范空間建立連接。同時,由于關聯(lián)分析在整個數(shù)據(jù)分析方案中的有限性,金融知識圖譜在應用過程中,往往作為一個輔助工具和其他技術結合使用,作為數(shù)據(jù)挖掘在關系維度的一個補充完善,對既有業(yè)務模型進行升級完善。
2.金融知識圖譜的應用挑戰(zhàn)
數(shù)據(jù)完整性面臨挑戰(zhàn)。知識圖譜面向關系密集型數(shù)據(jù),相較于其他數(shù)據(jù)挖掘技術更要求數(shù)據(jù)的完整性。若關聯(lián)關系數(shù)據(jù)不全或圖數(shù)據(jù)量過小,圖將無法連通而形成一個個孤立的子圖孤島,會導致信息無法傳播,基于此的關聯(lián)分析可能退化成毫無價值的應用。上述問題在業(yè)務數(shù)據(jù)體量較小的中小銀行中尤為凸顯。針對此,不僅要考慮數(shù)據(jù)的積累,也要優(yōu)化分析模型,減少數(shù)據(jù)完整性對分析結果的影響。
模型精準性需要關注。知識圖譜建模的精準性同時依賴于對模型的業(yè)務特征和技術方法的深刻理解和實踐經(jīng)驗,一是知識圖譜數(shù)據(jù)建模的模型,即如何定義知識本體,例如,在異構圖和同構圖的選擇上,是選擇構建全量數(shù)據(jù)的異構圖,還是針對特殊場景對實體和屬性進行簡化、對關系進行折疊的同構圖;在關系定義尤其是抽象關系定義上,如何在無限制的關系定義中概括出對應用有價值的關系,包括實體間的共同愛好、共同購買關系、在特殊時段的聯(lián)系、處理后獲得的某種特征上的相似性等;二是數(shù)據(jù)分析的模型,如何對業(yè)務邏輯進行概括并映射成圖能理解處理的模式,如擔保風險中的擔保鏈、擔保圈、平臺擔保,映射到圖分析中環(huán)形路徑查找、擔保社區(qū)發(fā)現(xiàn)和高維度節(jié)點算法等。
金融知識圖譜應用
目前銀行業(yè)內的知識圖譜技術主要應用于以下三大方面:
1.銀行數(shù)字化營銷
智能產(chǎn)品推薦:銀行面對的客戶數(shù)量眾多,千人千面,行為各異,要如何給客戶作精準的產(chǎn)品推薦是一大難題。而知識圖譜的構建過程,剛好可以把客戶各類數(shù)據(jù)有機整合在一起,并且通過產(chǎn)品的關聯(lián)分析和客群的關聯(lián)分析,就可以精準地對客戶進行產(chǎn)品推薦。另外,因為知識圖譜的運算速度非常之快,所以給客戶的推薦可以實時進行決策判斷,提升客戶體驗。
潛在客戶挖掘:通過關系梳理,知識圖譜可以識別同一類客戶,或者關聯(lián)類客戶,通過類似聚類分析的算法,我們可以將人工難以發(fā)現(xiàn)的潛在用戶發(fā)掘出來,一可以提高產(chǎn)品營銷成功率,二可以發(fā)現(xiàn)原來潛在的客戶為我所用。比如企業(yè)客戶的供應鏈,經(jīng)銷商,股東和其他關聯(lián)方,通過外部數(shù)據(jù)配合,做好企業(yè)信息的提取、整合和加工,形成知識圖譜中的相應節(jié)點,通過知識圖譜算法進行挖掘和推薦,從而形成有效的潛在商機,助力銀行客戶經(jīng)營轉型升級。
客戶關系梳理:銀行客戶營銷的前期工作,就是全面地了解客戶(KYC),過去沒有金融科技的幫助,KYC工作只能依賴于客戶經(jīng)理手工完成。如今,在金融科技的助力下,我們運用大數(shù)據(jù)和知識圖譜等技術,可以非常方便地梳理和展示企業(yè)的基本信息、關聯(lián)信息和行為信息等全貌,可以有效識別客戶的供應鏈、關聯(lián)關系、集團關系等信息,通過知識圖譜技術,可以識別任意多層關聯(lián)關系,把原來人工難以識別的隱密關聯(lián)信息都展示出來,極大程度解決了傳統(tǒng)人工KYC信息調查不全,信息失真等問題,使得銀企信息達到了充分對稱。
2.銀行風險控制管理
風險控制是銀行的重中之重,但是長期以來,在很多風控領域,一直沒有找到效果好、效率高的風控手段。隨著金融科技的發(fā)展,知識圖譜技術的進步,我們看到這些問題有望得到解決:
信用卡欺詐識別:應用知識圖譜技術,可以有效解決信用卡虛假申請、信用卡套現(xiàn)、信用卡申請分欺詐等難點痛點問題,助力信用卡業(yè)務更加健康的發(fā)展。
電子銀行反欺詐:在O2O的時代下,客戶辦理業(yè)務得到了前所未有的便利,但也隨之而來并且愈演愈烈的反欺詐問題,羊毛黨、職業(yè)欺詐團伙層出不窮,通過知識圖譜技術,可以有效解決電子渠道被薅羊毛、被惡意申請等問題,為電子銀行的發(fā)展保駕護航。
反洗錢:反洗錢需要對交易進行大量的決策分析和判斷,對實時性的要求也很高,除了事后的批量分析和報告外,加強事中的交易分析和阻斷也是未來的發(fā)展方向之一,通過知識圖譜技術,可以有效提升反洗錢交易判斷精準性,加快計算的速度,提升反洗錢的能效。
資金中介識別:通過知識圖譜對資金匯劃的數(shù)據(jù)分析,可以有效識別人工難以識別的資金中介,幫助業(yè)務部門做好排查,防范資金中介風險。
3.銀行數(shù)據(jù)資產(chǎn)管理
銀行的數(shù)據(jù)相互的關聯(lián)性非常緊密,我們通過知識圖譜,可以應用在數(shù)據(jù)血緣分析、數(shù)據(jù)標準遷移分析、統(tǒng)計指標口徑溯源分析、科技的CMDB等方面,幫助梳理數(shù)據(jù)間的關聯(lián)關系,厘清統(tǒng)計口徑的計算方法,讓數(shù)據(jù)“看得清來龍去脈、算的明統(tǒng)計口徑、查的到底層數(shù)據(jù)”,知識圖譜在數(shù)據(jù)資產(chǎn)管理上必將發(fā)揮更大的作用。
結語
可以預見在未來很長一段時間內,知識圖譜將成為大數(shù)據(jù)智能的前沿研究問題。學術界在持續(xù)地推進技術的研究與創(chuàng)新,工業(yè)界在積極地探索業(yè)務落地的場景。金融業(yè)要做好基礎平臺建設,把握技術發(fā)展動態(tài),從實際業(yè)務發(fā)展痛點出發(fā),用好知識圖譜這把利器。