知識圖譜的器與用(一):百萬級知識圖譜實時視覺化引擎

渊亭科技發表於2020-03-26

目錄:

一、什麼是視覺化?
二、知識圖譜視覺化
三、知識圖譜視覺化案例:Palantir
四、當前知識圖譜視覺化的難點和挑戰
五、DataExa-Kali百萬級知識圖譜實時視覺化引擎

一、 什麼是視覺化?

在計算機學科的分類中,利用人眼的感知能力對資料進行互動的可視表達以增強認知的技術,稱為視覺化。

它將大量的資料、資訊和知識轉化為一種人類的視覺形式(圖形、符號、顏色、紋理等),直觀、形象地表現、解釋、分析、模擬、發現或揭示隱藏在資料內部的特徵和規律,提高人類對事物的觀察、記憶和理解能力及整體概念的形成。廣義上的資料視覺化包括科學視覺化、資訊視覺化和知識視覺化

 (1) 科學視覺化是最早被提出的,其主要研究如何從三維資料體中提取有用的資訊並且顯示出,如建築學、氣象學、醫學或生物學的各種系統,強調的是體積,表面,照明源的真實渲染。目的是以圖形方式說明科學資料,使科學家能夠從中理解,說明和收集洞察力。 

(2) 資訊視覺化研究的是抽象的、非結構化資料的互動式視覺表示,我們熟悉的柱狀圖、趨勢圖、流程圖、樹狀圖等都屬於資訊視覺化。其與與科學視覺化的不同在於,科學視覺化處理的資料具有天然幾何結構(如磁感線、流體分佈等),資訊視覺化處理的資料具有抽象資料結構(如文字、圖表、軟體、複雜系統等)。

(3) 知識視覺化是在科學視覺化和資訊視覺化基礎上發展起來的新興研究領域,指對於資料和知識進行視覺化方式的展示,包括圖示視覺化、散點視覺化、圖譜視覺化、地圖視覺化等。除了傳達事實資訊之外,知識視覺化的目標還在於傳輸人類的知識,並幫助他人正確地重構、記憶和應用知識。

二、知識圖譜視覺化

知識圖譜是一種基於圖的資料結構,它將各類資訊、資料和連結關係聚合為知識, 是大資料環境下知識的有效組織方法。

引入人類的知識是人工智慧的重要研究方向之一,知識圖譜作為一種結構化的人類知識,同時受到了學術界和工業界人士的極大關注。

知識圖譜的器與用(一):百萬級知識圖譜實時視覺化引擎

在2019 年 8 月 6 日 Gartner 釋出《2019 新興技術成熟度》中,我們可以看到Knowledge Graph與Graph Anlytics。處於創新觸發期與期望膨脹期交界處的知識圖譜,毫無疑問是當今最火的技術之一。

在過去幾十年間, 國內外的研究者在知識圖譜視覺化方面做了大量的研究工作, 大體可以分為以下3個方面:

(1) 知識圖譜的可視表達:知識圖譜的概念由Google公司於2012年提出, 在之前, 就已經存在大量視覺化方法, 主要關注知識圖譜中不同型別資訊的可視表達設計,按照視覺化佈局與視覺編碼方式可將知識圖譜視覺化表達歸類空間填充、節點連結圖、熱圖、鄰接矩陣、熱圖、縮排列表和尤拉圖表等。

(2) 大規模知識圖譜的視覺化方法:2018 年, Gómez-Romero 等針對大規模知識圖譜的視覺化及可視分析問題,將過程分為了5個階段: 資料檢索、圖構建、度量計算、佈局和渲染。

知識圖譜的器與用(一):百萬級知識圖譜實時視覺化引擎

異質網路視覺化及分析一般步驟

(3) 知識圖譜的可視分析方法:孤立、靜態的視覺化圖表無法滿足日益複雜的資料分析需求。針對不同的分析任務, 國內外研究者提出了多種基於查詢、過濾、多檢視聯動等互動環境下的可視分析方法。知識圖譜可視分析任務總結為: 知識推理可視分析、知識補全/去噪可視分析、異常檢測可視分析三大類。

三、視覺化案例:Palantir

在圖視覺化與圖分析分析領域,國內外已經有不少商業化產品。我們以在分析領域著稱的Palantir在軍事國防領域的知識圖譜視覺化為例,來說明覆雜的關係網路視覺化分析。

Palantir是矽谷最神祕的大資料獨角獸企業,最初服務於FBI、CIA等政府機構,而後向金融機構延伸。

Palantir研發的大資料平臺產品實際上是一種人和機器高效結合的資料分析平臺,通過圖(graphs)、地圖(maps)、統計(statistics)、集合(set theory)等來分析結構或非結構化資料。

在軍事國防領域,視覺化的核心目標是將多個軍事情報領域的海量資料進行融合和關聯分析,轉化為可操作的決策指揮能力。其中,多領域海量資料的整合和融合是關鍵問題,包括非結構化和結構化資料流,如連結圖,電子表格,電話,文件,網路資料,感測器資料,甚至動態視訊、影像等。

Palantir將多方孤立的資料來源無縫整合同步和進行分析模型協同(包括各類資料模型、安全模型和本體物件的管理),其全量資料分析和知識管理能跟蹤每一個資料和模型的讀,寫和編輯、儲存,以積累戰場空間的決策知識。基於通用的大資料融合和視覺化分析平臺,使指揮人員和排程人員能在單一系統內解決所有問題:包括敵人的活動情報分析(情報報告,事件行為等),關聯分析(背景、關聯、跟蹤、反應等)和預判決策等。
知識圖譜的器與用(一):百萬級知識圖譜實時視覺化引擎

美國國防部的聯席分析功能介面,對其艦船、飛機、情報文字和相關戰場環境資源做了融合和關聯,在統一檢視裡面進行管控,技術實現上把上述資源對映為各類事件、實體、物件及其關係。

知識圖譜的器與用(一):百萬級知識圖譜實時視覺化引擎
阿富汗戰場的融合分析功能介面,對各個區域的各類事件(武裝襲擊、爆炸、綁架等)進行了大規模關聯分析,通過大規模資料視覺化鑽取和查詢,可以找出事件之間的因果關係鏈。

四、難點和挑戰

由於知識圖譜的規模日益擴大, 一體化可視佈局整個圖譜變得困難。同時, 知識圖譜存在多層次結構和連結關係複雜的特徵, 如何利用視覺化,表達知識圖譜中的語義關係、網路結構, 以良好的佈局幫助使用者快速探索和分析知識圖譜中的資料,成為大規模知識圖譜視覺化的難點和挑戰。

難點一:渲染大量的節點和邊

舉個例子,我們知道播放一個1080P的電影就足以使很多效能一般的電腦卡頓,卡頓的原因是畫面複雜,畫素點多。1080*1920=2073600 也就2百來萬的畫素, 換句話說,如果數量增加到200萬個節點,畫面就滿屏了。以上說的只是畫素點,實際上知識圖譜的節點是個圈,且畫面上還有邊, 複雜量級更高。

隨著知識圖譜規模的迅速增長,在有限空間顯示器上視覺化整個知識圖譜或大量資訊變得困難,容易造成視覺混亂使使用者無法快速聚焦有用資訊,而且大規模圖的繪製效率較低,影響人機互動流暢性。

除了畫面畫素外,海量渲染的複雜性還體現在儲存和表示方面。一個節點表示如果我們需要幾個Byte, 加上邊和相關的屬性就會把資料撐爆掉, 如果對資料介面有設計經驗的工程師就會知道, 一個十幾萬條記錄的json資料也是能把瀏覽器給炸掉的。

除此之外,海量的節點除了畫素和儲存尺寸的問題外還有事件繫結、位置計算、互動拾取更新等複雜問題。 

難點二:快速且優美的佈局海量節點

還是以螢幕舉例: 如果一個節點用6*6這麼小的尺寸來說,1080*1920的螢幕鋪滿能擺57600個節點,若有10萬個節點加上點邊那必然是麻團的樣子。 

在這一問題上,通常使用節點連結圖並結合經典力導向佈局演算法或彈性佈局演算法對知識圖譜進行視覺化。彈性佈局演算法能夠拉近彼此語義相近的節點,對於較小量的圖譜來說能夠解決, 但面對複雜的海量節點, 節點和連結的絕對數量使得傳統方法視覺化佈局視覺混亂,且佈局計算異常耗時。

難點三:富客戶端帶來的前端計算效能壓力

富客戶端的優點是具備豐富的使用者介面和智慧的資料模型,但受IE執行方式限制,對使用者硬體或系統要求高。

一是大規模視覺化渲染時的資料量極大,當對資料進行篩選過濾加工時,如果不注重記憶體使用的變數型別、變數回收等,會使記憶體暴增乃至瀏覽器內容溢位。

二是大規模視覺化渲染時,每一幀畫面的計算量都極大,極度依賴CPU,CPU的使用率極高時,會使瀏覽器進入假死狀態,導致操作不流暢或者程式崩潰。另外引入WebGL時,利用擅長圖形處理的GPU進行圖形計算,大規模視覺化渲染時,高使用率的GPU會使瀏覽器無響應。

難點四:資料的篩選過濾、定位拾取與組合等互動處理

在一堆海量資料的圖譜裡,並非所有資訊都對使用者有用,資訊過多會讓使用者感到困惑, 資訊少會導致分析不出有用的結果,所以,在顯示網路資訊和設計使用者互動時平衡複雜性與表達很重要。 

知識圖譜本質上是異質網路的一種,相比同質網路, 異質網路包含更豐富的結構資訊和語義資訊, 這也就決定了異質網路可視分析更關注分析過程中對節點和鏈路上語義資訊的理解, 使用者更希望通過檢索, 多檢視聯動等互動手段, 更準確、直觀地展示使用者所需的知識。視覺化分析系統需要經過精巧的演算法、高效的篩選、精準的定位,配合以舒適的操作體驗才能使使用者便捷地得到需要的目標資料。

五、DataExa-Kali

DataExa-Kali是淵亭自主研發的知識圖譜實時視覺化引擎,是淵亭科技知識圖譜(DataExa-Sati)產品的基礎組成。

相比Palantir Gotham的視覺化引擎,DataExa-Kali具備以下優勢:

(1)更實用Gotham是C/S架構,C/S架構分發部署相對繁瑣,同時對客戶端有不少限制和要求,在團隊協作上也比較麻煩。DataExa-Kali引擎是B/S架構,客戶端軟體主要是瀏覽器,只要是符合規範的瀏覽器皆可以正常執行引擎,相容性、適配性、跨平臺性強;
(2)更高效:DataExa-Kali具備豐富的互動操作,路徑分析、群體分析、統計分析、中心度分析、關係分析等大類裡包含了400餘項視覺化操作,挖掘資料價值的能力大大加強;
(3)更美觀:Gotham更像是胖客戶端時代的產品,風格一直沿用到現在,極具有上個世紀的介面風格。DataExa-Kali引擎的美觀和色彩搭配與時俱進,節點顏色和介面配色不僅有經典款,也有根據色彩學和視覺學,加入了流行色的極具科學感的主題;
(4)效能更強:Gotham只能渲染數千節點,而DataExa-Kali引擎在上萬級數量的節點渲染下還能保證幀率穩定不掉幀不卡頓,動畫也流暢;
(5)超強的適配性:DataExa-Kali引擎擁有大量的場景引擎,除了Gotham有的平面地圖,組織架構,時序分析外,DataExa-Kali還包括三維地圖、模擬模擬、兵棋棋盤、金融走勢等。

針對大規模節點的渲染,DataExa-Kali設計充分壓榨了瀏覽器的渲染效能,使其渲染效果達到最佳狀態,渲染過程中流暢、不卡頓、不掉幀,畫質細膩。對節點的操作過程中,動畫流暢,幀率穩定,在百萬級節點上仍然高效渲染。

知識圖譜的器與用(一):百萬級知識圖譜實時視覺化引擎

知識圖譜的器與用(一):百萬級知識圖譜實時視覺化引擎

【渲染效果圖】

佈局處理上,DataExa-Kali具備易用性、可解釋性的多種佈局演算法,能夠適應不同的佈局需求。其中有機佈局演算法解決了海量資料快速佈局的問題,同時保證了節點排布合理,通過平滑動畫技術使得動畫過渡完美,運動流暢。DataExa-Kali內建的拾取演算法和狀態管理,使得對圖資料的操作和對節點的拾取十分容易,快速檢索、過濾,精準拾取。還有配套的功能強大的擴充選單和皮膚,使使用者可以輕鬆的進行下一步工作。

DataExa-Kali核心技術及元件:

  • 微觀粒子系統

粒子系統表示三維計算機圖形學中模擬一些特定的模糊現象的技術,而這些現象用其它傳統的渲染技術難以實現真實感的物理運動規律。典型的粒子系統更新迴圈可以劃分為兩個不同的階段:引數更新/模擬階段以及渲染階段。每個迴圈執行每一幀動畫。

在對於WebGL的使用上,通常是通過Three.js、Babylonjs提供的API來驅動。為了圖形的渲染效果更好,DataExa-Kali引擎在常規的粒子系統上引入了:
1、GLSL(OpenGL著色語言),為了更加細粒度控制幾何體的頂點以繪製出3D表面網格和控制畫素的顏色;
2、SDF(Signed-distance-field:有向距離場),空間檢測,用於渲染字型,碰撞檢測等。

  • GPU加速

GPU從設計之初,得益於其特殊的架構,使其一般執行平行計算的任務。GPU不同於CPU,它使用了大量的執行單元,任務可以細化成小計算來分配到執行單元,並可以輕鬆的載入並行處理,然而CPU那樣的單執行緒處理不能滿足並行需要。運用GPU強大的並行能力可以為我們的科學計算的速度帶來顯著提高。

DataExa-Kali利用GPU加速了2D/3D渲染和資料編碼解碼及傳輸,以後者為例,引擎使用了流式和漸進式方法,可以隱藏延遲並改善互動性,從而改善使用者體驗,同時解碼完全在GPU上執行。這不僅可以通過減少客戶端上的解碼時間來提高效能,而且僅需要更少的CPU-GPU頻寬。

  • 微觀粒子系統多執行緒Worker

多執行緒Worker創造多執行緒環境,允許主執行緒建立Worker執行緒,將一些任務分配給後者執行。在主執行緒執行的同時,Worker執行緒在後臺執行,兩者互不干擾。等到Worker 執行緒完成計算任務,再把結果返回給主執行緒。這樣的好處是,一些計算密集型或高延遲的任務,被Worker執行緒負擔了,主執行緒(通常負責 UI 互動)就會很流暢,不會被阻塞或拖慢。

多執行緒Worker和主執行緒之間提供二進位制通道加速資訊共享, 多執行緒 Worker是一個非常好的計算優化手段, 通過這一技術方法能很大程度提高瀏覽器的平行計算效率。Worker執行緒一旦新建成功,就會始終執行,不會被主執行緒上的活動打斷, 有利於隨時響應主執行緒的通訊。
 
DataExa Worker佈局演算法開闢了獨立的執行緒, 並採用了二進位制共享通道,高效佈局演算法減少了物件拆裝箱,大大的提升了佈局效能, 同時也在多耗時的情況下不打斷使用者的操作。

  • 常規圖譜視覺化元件

DataExa-Kali引擎內建400餘項視覺化互動操作,以群體分析為例,我們可以進行標籤傳播、強連通分量操作。

  • 組織架構外掛

組織架構通常用於分析軍事組織,反動組織等。

  • 平面地圖外掛

平面地圖可以用新增外掛的方式,載入不同底圖平臺的底圖,如百度地圖、高德地圖、騰訊地圖。

  • 三維地圖外掛

三維地圖外掛用於表示三維地理資訊,常用於軍事地理空間分析。

  • 兵棋推演外掛

模擬戰場環境進行戰略、戰術模擬演練,對戰場環境下各類資源和事件總體態勢進行分析,幫助實現作戰打擊鏈的全域性決策支援。

  • VR外掛

利用WebVR和WebGL,把圖形視覺化如VR般,在瀏覽器裡虛擬化。

科技在發展,技術在革新,隨著5G、WebVR的逐步普及,知識圖譜視覺化技術也將有新的發展。

比如當前4G網路應用在WebVR上會帶來大約70ms的時延,這個時延會導致體驗者存在眩暈感,而5G資料傳輸的延遲可達到毫秒級,可以有效解決資料時延帶來的眩暈感,有助於WebVR的大規模應用。同時 WebVR技術將帶來 3D 圖譜的視覺化需求,讓使用者對海量資料身臨其境、觸手可及。

相關文章