欒瑞鵬
(91550部隊 大連 116023)
當前,全面推動軍事裝備大數據建設,已成為軍地各方的共識。裝備試驗鑒定,是檢驗武器裝備技術、戰術性能進行全面考核并獨立作出評價結論的綜合性活動[1]。試驗鑒定在裝備全壽命周期中處于承上啟下的關鍵地位,試驗場在試驗鑒定過程中產生了內容豐富、體量龐大的試驗數據;裝備列裝部隊后,以部隊為主體的各類訓練工作,尤其是近年來的大型演訓活動,同樣產生了大量數據[2]。從數據體量和作用范圍看,裝備試驗與訓練數據,是裝備全壽命周期的數據主體。試驗與訓練數據的關聯整合,對在役考核等試驗鑒定工作,對效能評估、戰法研究、作戰能力提升等演訓相關工作,以及面向全壽命周期的裝備管理工作,都有著重要意義[3]。
本文從飛行器試驗訓練工作實踐出發,分析了當前飛行器試驗數據與訓練數據關聯整合的難點,將知識圖譜理論與技術引入關聯整合研究,針對性地提出了一種基于知識圖譜的飛行器試訓數據關聯整合方法,為型號裝備試訓數據融合提供了一條便捷有效的技術路徑。
飛行器試驗數據、訓練數據關聯整合的難點,源自飛行器試驗工作與結合飛行器的訓練工作之間的差別。二者之間最為顯著的差別是試驗與訓練的目標不同,裝備試驗的目標,是考核武器裝備相關性能、效能指標,強調確定輸入、有限狀態;結合裝備的訓練工作目標,是鞏固和提升部隊戰斗力,發現作戰方面的問題短板,其作用范圍是“人+裝備”,強調體系、強調對抗、強調“背靠背”。不同工作目標,帶來了環境構設、組織實施、測試采集等一系列差別,這些差別最終都會體現在數據上,導致試訓數據關聯整合困難。具體表現在兩個方面。
一是數據結構方面。為開展相關型號飛行器試驗工作,試驗場通過多年建設,一般擁有以高精度測控系統為代表的試驗條件體系,通過試驗專用裝備獲取全面數據,歷來是試驗關注的重點。由于試驗專用裝備精密性、數字化、網絡化特點,飛行器試驗數據多以觀測數據,即結構化數據為主,附加一定的半結構數據(如圖像等)。而飛行器訓練數據,由于目標、對象、范圍、采集裝備的不同,數據多為錄取數據,特別是一線部隊關鍵數據,多數要通過“采集表”完成采集,即飛行器訓練數據的主體,是“數據采集表”為代表的非結構化錄取數據。
二是數據場景方面。飛行器是飛行器試驗工作的核心,由于其考核性特點,其輸入往往采用預先裝訂的方式,強調確定環境、有限狀態,作戰平臺直接參與較少,同時,試驗有階段性,同步伴隨著飛行器技術狀態的變更,需要恢復相應的數據場景,數據才具備關聯的可能性。結合飛行器的訓練工作,特別是演訓工作,是偵察預警、作戰平臺、飛行器等多種類裝備在指揮鏈路下的體系運用,飛行器只是其中的一個環節,其與訓練的體系運用之間,是“部分”和“整體”的關系。對數據場景恢復的要求更高,如果不能恢復從指揮所到發射臺的整個數據鏈路,而單獨提取飛行器數據,如同脫離“整體”描述“部分”,往往導致只見樹木不見森林,數據本身也容易“碎片化”,很難發揮應有作用。
綜上,飛行器試訓數據關聯整合難點,在于非結構為主體的混合結構數據管理以及數據場景的恢復。傳統的基于關系型數據庫開發管理系統的方式,處理優勢在于結構化數據,難以在非結構數據建模、數據場景恢復方面發揮作用。需要新技術手段的支持。
知識圖譜是結構化的語義知識庫,用于以符號形式描述物理世界中的概念及其相互關系[4]。其基本組成單位是“實體-關系-實體”三元組,以及“實體-屬性”值對,實體間通過關系相互聯結,構成網狀的知識結構[5]。知識圖譜技術廣泛應用于搜索引擎、智能問答、數據挖掘等領域,涌現出DB-pedia[6]、Freebase[7]等著名通用領域知識庫,以及中醫[8]、金融[9]等垂直領域知識圖譜,并在故障分析[10]、公安警務[11]等方面發揮了實際作用,是公認的人工智能技術重要基石[12]。由于試驗鑒定領域的特殊性,知識圖譜服務于試驗數據管理的相關研究較為匱乏。
知識圖譜技術源自語義網,以實體和關系描述語義,語義本身就是非結構的,故知識圖譜在非結構數據以及混合結構數據的描述方面,有著天然優勢。同時,知識圖譜的底層是圖結構,圖結構在數據追溯、鏈路關聯等方面,得到廣泛研究和大量應用[13]。
知識圖譜的數據存儲,常采用Neo4j數據庫[14]。Neo4j是一款基于Java開發的開源NoSQL圖數據庫,Neo4j完全支持ACID事務,具有良好的穩定性和可靠性,由于其Java內核,可以部署在多種平臺上,具有高性能、可定制、可視化、易于開發測試等優點,自2007年發布至今,已在各領域得到廣泛應用,是目前最流行的圖數據庫。
知識圖譜的上述特點,使其特別適用于非結構為主體的混合結構數據管理以及總體數據場景的恢復工作,可為試訓數據關聯整合工作提供有力技術支持。
傳統的知識圖譜建模方式,包括本體構建、信息抽取、知識融合等過程[5]。飛行器試驗與訓練具有高度復雜性,覆蓋試驗訓練的本體構建,在成本和時間方面代價太大;同時,飛行器試訓數據關聯整合是復雜的系統工程,本方法的功能定位,是數據的頂層引導,故簡化了構建流程,采用屬性圖模式的知識圖譜描述方式,由領域專家人工定義實體集與關系集,以自動抽取加人工干預的方式構建,方法流程如下。
Step1:對飛行器試驗、訓練數據進行全面解析,解析粒度均為數據文件級;
Step2:定義關聯數據模型Ga={Es,Ex,Ra};
Step3:定義試驗實體類型集Es={Es1,Es2,…Esn},n為實體類型數量;
Step4:定義訓練實體類型集Ex={Ex1,Ex2,…Esm},m為實體類型數量;
Step5:定義關系集Ra={R1,R2,…Rt},t為關系類型數量;
Step6:以自動抽取加人工干預的方式,對關聯數據模型Gs={Es,Ex,Ra}進行實例化;
Step7:將實例化后的三元組列表,導入Neo4j數據庫。
根據飛行器試驗與訓練的工作特點,以及試驗、訓練數據特點,由領域專家設計相應的試驗訓練實體類型。由于篇幅限制,這里僅列出六類試驗實體,“數據文件、試驗情況、被試裝備、發射情況、試驗條件”,組成試驗實體類型集,Es={Esjwj,Esyqk,Ebszb,Efsqk,Edytnl,Esytj};七類訓練實體,即“訓練數據文件、任務情況、環境條件、飛行器情況、平臺、指控武控系統、戰果情況”,組成訓練實體類型集,Ex={Exlsjwj,Erwqk,Ehjtj,Ewqxtqk,Ehjtj,Ept,Ezkwkqk,Ezgqk}。通過實體類型指導具體實體的實例化,不同試驗、訓練實體類型與對應屬性如表1、表2所示。

表1 試驗實體類型與屬性表

表2 訓練實體類型與屬性表
實體間的關系是知識圖譜模型結構的重要組成,在圖譜功能發揮方面起到關鍵作用,關系由頭實體、尾實體、關系屬性組成,是有方向的邊,可描述為ri={ehead,eend,ratrr1,rattr2,…},如圖1所示。

圖1 關系示例
關系將飛行器試驗實體集與訓練實體集“鏈接”為一個整體,進而實現關聯整合。根據飛行器試驗、訓練數據特點,設計“輸入、輸出、包含、鄰進(鄰接遞進)、鄰接、時序、調用、演變、關聯、依據、記錄”十一類關系(由于篇幅限制,暫不列出相關屬性)。
下面以Neo4j數據庫為存儲環境,結合簡單示例,說明知識圖譜的“實體與關系”結構,對試訓數據關聯的支撐作用。如圖2所示,某型飛行器執行xx試驗任務,發射“xx01”、“xx02”兩飛行器,武控系統產生“發射參數”裝訂文件,通過數據處理,計算獲得兩飛行器的“軌跡數據”文件;該型飛行器在xx訓練任務中發射“xs08”、“xs09”兩飛行器,武控系統生成“發射參數”文件,并獲得兩枚彈的軌跡數據文件。四飛行器屬于相同“技術狀態”,故軌跡數據之間,通過“xx技術狀態”實體實現關聯,而該型號其他試驗中如“xx03”飛行器,屬于不同技術狀態,與訓練沒有關聯關系,在圖譜中呈現不聯通狀態;“xx01”、“xx02”飛行器屬于雙發齊射,故其“發射參數”文件存在相互關聯,試驗中的“xx02”發射參數中“xx參數”與訓練中的“xs09”發射參數一致,故二者存在關聯(“xx參數”為關聯屬性)。

圖2 基于知識圖譜的試訓數據關聯示例
飛行器試、訓數據體量龐大,試訓數據之間的廣域關聯以及數據場景的恢復,往往會產生大量的關聯計算操作,這是試訓數據關聯整合必須考慮并解決的問題。而知識圖譜在數據關聯方面的計算效率,相比關系型數據庫有著非常強的優勢。知識圖譜存儲于Neo4j圖數據庫中,圖數據庫中的每個節點都維護與它相臨節點的引用,因此,每個節點都相當于與其相鄰節點的微索引,這種方式的顯著優點是,查詢時間和圖的整體規模無關,只與它附近節點的數量成正比。在關系數據庫中,使用全局索引連接各個節點,這些索引對每個遍歷都會增加中間層,因此會導致非常大的計算成本。
以如下場景為例,比較說明知識圖譜的關聯計算效率。“某飛行器試驗中的雙發齊射任務,在演訓中哪些平臺也執行了該飛行器的雙發齊射?進一步關聯,執行了雙發齊射的某平臺,還執行了哪些任務?”對于該關聯場景,如果在關系數據庫下實現,如關聯訓練中執行雙發任務的平臺,要執行鄰接表的索引查詢,時間成本為O(log(n)),n為索引表長度。該復雜度還是可以接受的,但若繼續關聯執行了雙發齊射的某平臺,還執行了哪些任務,則需要遍歷整個索引,時間復雜度為O(n),如果平臺數量為m(m遠小于n),則總的時間復雜度為O(mnlog(n))。

圖3 關系型數據庫計算效率示例
同樣場景下使用知識圖譜進行關聯。知識圖譜中每個實體節點都直接或間接指向其相鄰節點的指針。要關聯訓練中執行雙發任務的平臺,只需要在關系鏈表中遍歷,每次的遍歷成本僅為O(1)。若繼續關聯執行了雙發齊射的某平臺,還執行了哪些任務,時間復雜度也僅為O(m),其中m遠小于n,相比于關系數據模型,知識圖譜在數據關聯追溯的計算效率方面,占有絕對的優勢。

圖4 基于Neo4j的知識圖譜計算效率示例
本文提出了一種基于知識圖譜的飛行器試訓數據關聯整合方法,該方法通過實體、關系描述與提取,建立了覆蓋飛行器試訓數據的知識圖譜,實現了復雜結構數據的管理以及數據場景恢復,在廣域數據關聯的計算效率方面,相比關系數據庫模型具有明顯優勢。需要指出的是,飛行器試訓數據關聯整合是復雜的系統工程,任何一種技術方法,都不可能完成全部任務,本文提出的方法,適用于“數據文件”這種粗粒度的關聯與場景恢復,數據元素粒度的關聯整合,是未來的研究重點。