馮俊池, 安豐亮, 尹黨輝
(軍事科學院系統工程研究院后勤科學與技術研究所, 北京 100071)
近年來,隨著數據的重要性與日俱增,各領域數據量迅速增長,如何有效利用數據、實現數據到知識的轉化,成為研究熱點。傳統關系型數據庫存在字段多、關聯復雜、查詢困難和呈現方式不直觀等缺點,而知識圖譜具備注重語義表達、機器可理解、關聯清晰、結構靈活、查詢高效和可視化程度高等優勢,通過語義網絡對現實世界的事物及其相互關系進行形式化地描述,將結構化、非結構化多源異構信息孤島集成,提升應用效能,實現數據增值[1]。
國防交通業務領域涉及規劃計劃、交通工程設施、運載工具、國防運輸、交通保障、物資儲備等多方面[2],領域范圍廣、數據來源多、形式復雜。借助知識圖譜的優勢,實現分散孤立的數據到聚合關聯的知識轉化,可以深化數據資源利用,更好地為國防交通業務提供支撐保障。
隨著國防交通信息化及大數據建設的發展,鐵路、公路、水路、航空、通信、郵政等各行業信息系統越來越多,數據資源日益豐富,在數據處理利用方面面臨更大的挑戰。主要包括以下幾個方面:
(1)數據組織處理難。國防交通業務領域數據從內容上,包括但不限于相對規范的業務表格數據,通知、批復、報告等文件數據,位置、軌跡等地理信息數據,圖片、視頻等多媒體數據;從來源上,包括業務信息系統、電子文件、網頁資源及外部信息系統等;從形式上,包括數據庫、文本、圖片、視頻、文件、超鏈接等多種形式;從類型上,涵蓋結構化數據、非結構化數據及半結構化數據。數據資源具有典型的大數據特色[3],形式、來源復雜多樣,質量水平參差不齊,有效組織形成體系比較困難。
(2)數據關聯融合難。國防交通業務范圍廣,彼此之間關聯關系復雜,機構、人員、運力、設施設備、地理位置等對象之間彼此均相互關聯,例如特定路段的轉彎半徑會限制運輸車輛通行,從而影響特定裝備的運輸路線。如何將數據有機整合實現關聯搜索查詢存在困難。
(3)數據挖掘利用難。數據存儲以傳統數據庫形式為主,且大量數據以文檔等非結構化形式存在,呈現方式不直觀、數據分析困難,無法有效利用。
通過采用知識圖譜技術,可整合大量分散孤立的異構數據,將國防交通領域的業務數據庫結構化數據以及文件、圖像、視頻等半結構化、非結構化數據進行融合,并根據真實世界的實體、屬性、關系進行建模,建立語義層面關聯;在搜索查詢中識別搜索內容為知識圖譜中的實體,并根據實體的類別、關系及相關性等信息找到關聯的實體,實現精確化及關聯查詢;通過以人類認知為基礎的可視化技術,以圖形方式清晰高效地展現數據,支持開展交互探索式分析,深化數據資源挖掘利用。
從內容與適用范圍角度,知識圖譜主要包括通用知識圖譜和領域(行業)知識圖譜二類。通用知識圖譜注重廣度,面向全領域;而領域知識圖譜則面向特定領域,注重深度,通常涵蓋更細粒度的知識,且對質量有著更為苛刻的要求,在構建過程中專家參與的程度較高,計算操作和應用較通用知識圖譜也相對復雜。針對國防交通業務領域建立的知識圖譜則是典型的領域知識圖譜,其整體框架如圖1所示,主要包括知識來源、知識表示、知識獲取、知識融合、知識存儲和知識應用6個層次。

圖1 國防交通領域知識圖譜整體框架
針對來源不同、接入方式不同的異構數據進行統一的集成與管理[4],為后續數據處理提供統一入口。首先通過數據接入接口,針對不同格式、結構、規范、來源的數據進行數據匯聚;然后開展初步數據清洗,主要針對一些特定的常用字段類型設定規則,如時間、標準代碼等,對將要進行存儲的數據進行預處理;最后根據數據資源分類體系進行數據存儲,并為后續數據向知識的轉化提供數據訪問接口。
知識表示將國防交通業務相關概念進行形式化表示,為數據建立統一標準,形成領域知識圖譜的概念層。以國防交通業務頂層為例,國防交通主要活動可分為國防交通規劃、國防交通工程設施、民用運載工具、國防交通物資儲備、國防運輸和國防交通保障;行業領域可分為鐵路、公路、水路、航空、管道和郵政;涉及單位主要包括國防交通主管機構、有關軍事機關、政府交通主管部門和交通企業事業單位等。以具體業務運載工具管理中的船舶為例,其屬性包括船舶類型、船舶名稱、唯一識別號、載重等,與之相關聯的包括管理使用單位、建造單位等。
知識獲取是將數據轉化為知識即建立知識圖譜數據層的主要過程,將較低語義層次、多種采集和描述規格、質量參差不齊的數據處理為高語義層次、規范統一、高質量的數據。主要通過數據抽取轉換、機器學習、深度學習等技術,將數據轉換為實體、屬性以及實體間相互關系的三元組,如國防交通專業保障隊伍實體,包括人員數量、裝備數量、所在位置等屬性,其與國防交通工程設施存在保障與被保障的關系。
知識融合指融合來自不同數據源的關于同一個實體或概念的描述信息,實現多源數據下知識的整合和消歧。通過知識抽取得到的國防交通領域實體、屬性等內容來自不同數據源,其中包含大量的冗余和錯誤信息,如業務系統中的交通設施等數據和外部來源中的數據會存在重復和分歧,同一設施之間也未關聯,形成的知識子圖互相獨立,缺乏層次性和邏輯性,需要經過清理和整合匯聚形成知識圖譜。
國防交通領域知識圖譜由互相關聯的實體形成的圖結構組成,采用圖數據庫Neo4j作為知識存儲的主要數據庫,可以簡單快速地檢索難以在關系數據庫系統中建模的復雜層次結構,具有嵌入式、高性能、輕量級等優勢。此外,業務過程中產生的文檔數據可采用MongoDB文檔型數據庫存儲,交通工程設施、運載工具、交通保障任務等相關圖片、視頻非結構化數據則依賴HDFS存儲,通過知識圖譜實體屬性中的鏈接形式實現訪問。關系數據庫主要用于支撐知識圖譜平臺軟件的運行,以及存儲概念和實體的基本信息等相對固定的數據。
知識應用層對軟件系統或用戶提供知識圖譜應用接口,包括語義搜索、查詢推薦、智能問答、數據分析、圖譜可視化等。用戶可使用圖形界面訪問相應功能,精確查詢相關業務知識,獲取國防交通保障所需資源,并根據業務之間關聯以圖形化方式跳轉瀏覽相關內容,以可視化分析手段實現資源與需求匹配。同時,借助提供的應用訪問接口API,相關軟件系統可快速集成圖譜所提供的功能,從而利用領域知識提升業務保障支撐能力。
知識圖譜構建從數據源開始,包括領域本體創建、知識獲取、知識融合、知識存儲、圖譜繪制等步驟,如圖2所示。原始數據通過人工及自動化方式建立領域本體,在知識獲取階段將數據轉換為三元組形式,經過融合及存儲,形成知識圖譜;圖譜繪制階段將知識以圖的形式表示,以實體作為節點、關系作為邊,可視化展現實體及關系。

圖2 國防交通領域知識圖譜構建流程
領域本體描述國防交通領域內實體概念及相互關系,作為知識圖譜的概念層,明確知識結構,避免構建過程中出現過多冗余和錯誤。本體構建中涉及的相關概念有:類、對象、屬性,屬性又分為對象屬性和數據屬性。類代表了個體的集合,與面向對象設計中的概念相似,類通過由父類和子類構成的結構層次圖表達。對象(實體)則是類的實例,對應著現實世界事物。屬性具有指定的域和范圍,并將其關聯,對應到三元組即是<域,屬性,范圍>。對象屬性表達類之間的關聯關系,域和范圍均為類,如管理屬性,涉及交通工程設施和單位兩個類,代表交通工程設施由單位管理的關系。數據屬性表達某個類所具有的屬性及值,范圍一般為值域,如車輛的長度屬性,范圍則為一定區間的正整數。
本體構建主要有兩種方法:一是利用現有文獻和領域專家的背景知識用手動方式創建概念和關聯形成數據模式;二是基于行業標準進行轉換或者從現有的高質量行業數據源中進行映射[5]。針對國防交通領域知識圖譜本體,采取兩者結合的方式,針對頂層概念,在領域專家的幫助下,基于領域概念知識,通過人工建模的方法構建;針對數據規范化程度較高的具體業務對象,通過數據庫表結構映射到類和屬性,以自動化或半自動化方式構建本體。
本體構建可采用本體構建工具Protégé輔助進行[6],如圖3所示,其中展示了國防交通領域部分頂層概念,包括國防交通規劃、交通工程設施、民用運載工具、單位和機構、國防交通儲備物資等。其中,交通工程設施包括國防交通工程設施和其他交通工程設施2個子類,相關屬性有管理單位、地點位置、設施類型、保障能力,管理單位為對象屬性,與單位和機構相關聯;單位和機構則包括國防交通主管機構、有關軍事機關、政府交通主管部門和交通企業事業單位等子類;國防交通物資儲備相關屬性則包括管理單位、物資類型、物資名稱、儲備地點、技術參數、數量等。

圖3 國防交通領域本體編輯
針對結構化數據,以關系數據庫表中的船舶基本信息為例,通過自動提取數據結構,以表的主題作為類,與外表關聯字段作為對象屬性,其他字段作為數據屬性,依據字段數據類型確定屬性值域范圍,構建船舶本體如圖4所示。

圖4 船舶本體
知識獲取過程依據本體,將數據轉換處理形成三元組。處理的關鍵內容是“實體—關系—實體”和“實體—屬性—值”三元組的構建。根據知識來源的不同,分為數據抽取轉換、包裝器適配、自然語言處理三種方式。
3.2.1 數據抽取轉換
針對國防交通領域已有業務信息系統或引接外部信息系統中的關系型數據,可通過基于規則的數據抽取轉換實現數據記錄到實體、實體間關系及實體屬性的映射,從關系表中快速提取信息。以3.1節中的船舶基本信息表為例,根據建立的船舶本體模型,可將指定字段的數據內容與本體自動對應提取,并生成三元組。
3.2.2 包裝器適配
針對相關行業外部資源和業務網站中的HTML、XML等半結構化數據,其內容格式相對固定,可使用包裝器適配方法,針對同一類模板設計實現數據提取工具,實現數據的自動提取。
3.2.3 自然語言處理
從業務工作中產生的大量文本等非結構化數據中獲取知識則包括命名實體識別、關系抽取、屬性抽取等過程,其中涉及分詞、詞性標注、語義解析、語義角色標注、語義相似度計算等自然語言處理技術,主要采用機器學習、深度學習等方法實現。
知識融合主要包括實體對齊、實體鏈接、屬性融合、值規范化等。實體對齊識別不同來源、語義相同的實體并進行合并,例如根據船舶名稱或唯一識別號,將戰略投送支援隊伍中的船舶與船舶基本信息表中的船舶進行一一對應,實現邏輯關聯。實體鏈接則將文本中抽取得到的實體對象,鏈接到知識庫中已有的對應實體。屬性融合識別同一屬性的不同描述,如船舶總長和船舶長度,并進行合并。值規范化針對不同來源、不同格式的數據值或者不同的描述形式,進行統一規范。
知識圖譜形成后,隨著新數據的不斷出現,需要獲取新知識融合到原有圖譜中,即對知識進行迭代更新。知識更新包括概念層更新和數據層更新,主要采用增量更新的方式,以當前的新增數據作為輸入,向現有的知識圖譜中添加新增知識,相對于全面更新對于資源消耗更少,更新所需的時間更短。
通過將業務實體有機關聯,知識圖譜可以提高用戶搜索的深度和廣度,展現更加詳細全面的信息。例如在查詢某一道路的基本信息時,根據轉彎半徑屬性,可查看受其影響無法通行的車輛類別,并通過車輛運輸裝備情況了解哪些裝備無法通行此路段,此外還可以瀏覽查看通行受限時相關處理措施等業務知識內容;在針對港口設施信息的查詢中,不僅能查詢到指定港口設施的屬性信息,還可以通過關聯關系展現管理單位、周邊進出道路、保障力量分布、船舶停靠情況、視頻多媒體資料等相關內容,使用戶獲取信息路徑更短,更有助于發現有用信息。
領域知識圖譜將國防交通各業務及外部資源相關知識深度關聯,融合各方面要素信息,通過語義鏈接實現對業務的智能理解,從知識體系中系統挖掘關鍵內容,提高分析的精確度和可行性。如針對交通保障任務需求,根據數據資源和業務規則相關知識,可以輔助分析所需保障人員、物資、車輛、設施設備等方面要求,供業務人員參考。
通過實現基于知識圖譜的業務智能問答,可將用戶的問題理解轉化為對知識圖譜的查詢,提供用戶所關心的問題答案,提高準確率。以查詢內容為“XX型裝備運輸保障”為例,通過問題識別進行深層次的知識挖掘與提煉,反饋該型裝備性能參數、運輸要求、對人員車輛需求以及相關保障方案、歷史案例等數據,如加上任務地域等詳細信息,則會進一步聚焦包括道路情況、周邊可利用資源等內容,為實際保障業務提供智能輔助。
知識圖譜提供了圖形化的數據表示形式,分類整理的結構化知識符合人類認知,更易于業務人員理解和選擇需求目標,并可在總體全局和具體對象視角切換,同時支持以交互探索式分析方式進一步挖掘、搜索,通過業務對象實體之間的關聯,挖掘隱含知識。以查看儲備倉庫實體數據為例,業務人員以可視化方式瀏覽其地理位置、人員情況、交通情況、物資儲備等信息,并可查看全部倉庫總體情況、關聯對比其他類似倉庫,有助于從倉庫布局、儲備物資類別及數質量分布等角度發現存在的問題,從而從現有知識中發掘新的關注點來改進提升業務。
知識圖譜技術實現由數據到知識的轉化,能夠有效利用數據資源,提升業務智能決策水平,在國防交通領域具有重要價值。本文提出的框架及構建流程方法可為國防交通領域知識圖譜建設提供參考。下一步將針對其中涉及的文本數據實體識別等關鍵技術點開展深入研究,提高知識圖譜構建效率和準確性。