何 靜
(中核匯能有限公司,北京 100071)
在核電企業中,生產過程所產生的技術文檔是核電管理工作的核心,也是核電廠安全穩定運行的基礎。但是,核電企業中現有的文檔組織管理方式單一,在數據層面很少對核電文檔中蘊含的知識進行挖掘與深化,而在應用層面往往只支持傳統全文檢索式的查詢,文檔利用效率較低,文檔管理工作總體對核電業務活動的支撐力度還有待提升。因此,向下通過一系列信息抽取、知識融合等技術手段實現文檔的圖譜化組織與構建,形成核電文檔知識庫,向上通過自然語言處理、深度學習、自動推理等技術,構建基于知識庫的智能應用平臺,提供包括智能問答、主動推送、自動提醒等知識服務,提升文檔利用效率,進而幫助企業進行知識整合、人員培訓、輔助決策等,已經成為當前核電企業亟待研究的問題。
知識圖譜是結構化的語義知識庫,本質上是一種能夠表示實體之間關系的語義網絡,用于以符號形式描述物理世界中的概念及其相互聯系[1]。知識圖譜的數據是以三元組的方式進行組織,基本組成單位是“實體-關系-實體”三元組,以及實體及其相關屬性——值對,實體間通過關系相互聯結,構成網狀的知識結構[2]。
相對于本體、傳統的語義網絡而言,知識圖譜本質上是一種能夠表示實體之間關系的語義網絡,更強調對實體描述的覆蓋,其語義關系也更加復雜、全面[3]。因此,知識圖譜本質上可以看作是對人腦理解智能的一種模擬,當人們想到一個實體/概念時,腦海中將建立起與該實體/概念相關聯的一系列知識,而這種過程實質上就是知識圖譜的構建過程[4-5]。圖1 給出了知識圖譜的整體架構。

圖1 知識圖譜整體架構
在核電企業中,工程建設和運行維修過程所產生的技術文檔是核電運維人員利用的重要資源,也是核電廠安全、合規、穩定運行的基礎。對技術文檔中知識的掌握程度直接決定了一名核電工作人員是否具備承當相應任務的資格。但核電企業中現有的文檔組織管理方式單一,在數據層面很少對核電文檔中蘊含的知識進行挖掘與深化,而在應用層面往往只支持傳統全文檢索式的查詢,文檔利用效率較低,文檔管理工作總體對核電業務活動的支撐力度還有待提升。
當前,公司文檔工作所涉及的文檔管理對象已經具有較高的數字化水平,但其數據化與知識化的程度還有所欠缺。核電企業在生產運行過程中形成的大量結構化數據、半結構化版式文檔及非結構化數據沒有形成知識三元組數據,難以實現高效化知識抽取,無法為核電技術文檔知識化利用提供基礎。
當前,公司內部知識以離散的文本化存儲,未形成連續集中的圖譜化存儲。同時,自然語言處理中的實體識別、關系抽取等應用技術的缺失,難以識別和發現文本中新的屬性和關系、與已有的知識建立關聯,未能形成靈活、高效、可擴展的核電文檔專屬領域下的知識挖掘技術體系,難以支撐不同場景下知識利用的需求。
公司傳統的文檔業務服務缺乏及時性與精準性。當前的文檔應用平臺難以識別文檔利用人員的自然語言問句、解析出用戶的查詢意圖、記錄用戶檢索行為,無法實現查詢推薦及主動推送等智能服務,導致文檔管理部門對企業業務活動的支撐力度不足。
核電站從建設到生產中產生的文檔數量眾多,文檔管理信息化程度較高。按雙機組計算,預計在機組商運前將形成約250萬份電子文件。典型的核電技術文檔主要包括運行規程、維修規程、運行技術規格書、操縱員試題、操作單、報警卡、事故規程等。這類文件有著較為固定的文檔結構,一般以word和pdf形式存在,以表格和條目型文字為主。針對此類文件,典型的應用模式如下。
(1)智能問答。通過建立核電技術文件的知識圖譜作為底層數據資源建立智能化的交互式問答應用,支持用戶以自然語言問句的形式跟智能平臺進行對話交互,系統自動將自然語言問句轉換成圖譜上的查詢語句并從知識圖譜中找到答案,然后以自然語言形式進行輸出并返回給用戶,在給出答案的同時還能給出相應的依據,幫助技術人員學習鞏固,輔助運行決策。
(2)智能搜索。根據用戶的檢索記錄和交互行為,動態生成和改進用戶畫像,實現更具有針對性的查詢推薦服務。將用戶提交的歷史查詢作為上下文信息,通過對其歷史查詢進行建模,通過用戶興趣自動識別、內容的語義理解、智能信息化過濾,推送與之相關的候選查詢內容。與傳統搜索引擎需要用戶自主尋找符合需要的答案不同,智能搜索免去了用戶選擇環節,以自然語言搜索的形式給出答案,而不是網頁鏈接。伴隨著答案的同時提供可視化的邏輯圖譜及參考鏈接。
(3)系統畫像。核電技術知識圖譜的內容核心是系統邏輯和設備本身。以核電站的各類系統、子系統、設備、部件等具體業務對象為核心建立知識圖譜,提供豐富的多維鏈接和數據集成,方便用戶建立設備或系統的整體視野,提供更為直觀便捷的系統或設備利用渠道。
針對非結構化的word文件,尚不存在通過通用的工具對文檔進行解析的方法。一般的解決思路是將word文檔中各類型的元素提取出來,并分類保存,形成一個ZIP壓縮文件,壓縮文件的主體內容是XML(可擴展標記語言)文件,以XML嵌套HTML(超文本標記語言),這種方式的好處是可以通過HTML形式將數據渲染在PC上。采用正則表達式和規則匹配結構化word內容,結構化后的數據以目錄視圖展現,除支持段落編輯外,還支持按標題編輯,也支持使用富文本編輯框。結構化后的程序元素直接存入關系型數據庫,滿足程序元素的深度利用,以及查詢統計分析等后續應用。
命名實體識別(NER)是自然語言處理(NLP)領域的重要基礎任務,也是知識圖譜構建中不能避免的環節,它的效果好壞直接影響到后面問答體系的構建和圖譜的準確性,是非結構化文件轉向結構化的基礎工作。通常需要通過數據預處理對公開的或者私有的數據語料進行處理并通過序列計算得到抽取的命名實體,這個實體與能夠通過業務規則明確的實體信息進行融合更新,形成的實體庫可以提供給知識圖譜、實體分類等進行應用[6]。目前主流的NER技術均基于文本詞向量表示后疊加神經網絡技術來提取特征。
信息抽取即從自然語言文本中,抽取出特定的事件或事實信息,幫助我們將海量內容自動分類、提取和重構。 這些信息通常包括實體(entity)、關系(relation)、事件(event)。信息抽取是把文本里包含的信息進行結構化處理,變成表格一樣的組織形式。抽取系統的輸入信息是原始文本,輸出的是固定格式的信息點。信息點從各種各樣的文檔中被抽取出來,然后以統一的形式集成在一起。這就是信息抽取的主要任務。信息以統一的形式集成在一起的好處是方便檢查和比較。信息抽取涉及的關鍵技術包括實體抽取、關系抽取和屬性抽取。
關系抽取是從非結構化文本中識別出實體之間的語義關系并形成關系網絡的過程,目標是建立起三元組。相比一般的實體關系抽取,核電技術文檔語料庫的建設復雜,不僅需要大量的人力和物力投入,而且對參與人員的專業背景要求高,如果采用類似brat的標注工具通過人工標注數據盡管能將部分數據作為訓練數據,但是依賴手工提取特征的方法提取關系會帶來較大的工作量,總體投入資源是無法接受的。因此,有必要選擇采用深度學習方法進行關系的抽取。目前,已有的基于深度學習的關系抽取方法主要包括流水線(Pipelined Method) 方法和聯合抽取方法[7]兩大類。流水線方法將識別實體和關系抽取作為兩個分離的過程進行處理,兩者不會相互影響;但關系抽取在實體抽取結果的基礎上進行,因此關系抽取的結果也依賴于實體抽取的結果。聯合抽取方法將實體抽取和關系抽取相結合,輸入一個句子,通過實體識別和關系抽取聯合模型,直接得到有關系的實體三元組。這種方法可以克服上面流水線方法的缺點。
知識融合就是在不同的數據集中找出同一個實體的描述記錄,目的是對不同數據源中的信息進行整合,消除概念的歧義,剔除冗余和錯誤概念,從而確保知識的質量。知識融合主要包括兩個部分:實體鏈接和知識合并。在知識融合環境主要關注的是實體對齊,將具有相同含義的實體進行等價處理,確保兩個具有相同語義的實體在不同的圖譜結構中只出現一次。例如“乏燃料水池冷卻系統”與“2FAK”實際表示的是相同的電站系統。通過知識融合進行實體的融合和消歧,能夠有效提升知識利用的效果。常用的知識融合方法包括快速相似度計算、基于規則等方法。
知識存儲的目標是實現從上述過程中形成的知識的存儲以及實現在面向上層知識圖譜數據查詢、推理、計算等利用過程的高速存取。圖數據庫管理系統和RDF存儲系統使用圖數據模型,可直接用于知識圖譜的存儲。選擇知識存儲方式,需要根據具體的數據規模及應用場景選擇合適的存儲方式。一般從是否支持數據分布存儲、是否有開源產品、知識建模管理能力、查詢語言表達豐富性、支持的數據規模等維度對知識圖譜存儲的性能進行評價。
圖譜構建完成后,應提供兩方面的API(應用程序編程接口)服務,一是針對圖數據庫本身的,包括查詢接口、新增接口、修改接口。查詢接口用于圖數據庫的檢索。檢索的參數包括實體、屬性和邊。根據實體名稱檢索時,如不指定深度,則將默認返回該實體及其屬性和深度為1的關聯實體及其屬性。根據實體屬性檢索時,將返回符合該屬性的所有實體及其屬性。根據邊檢索時,將返回符合的邊以及邊兩端的實體及其屬性。新增接口主要用于實體的新增、實體屬性的新增和實體與實體之間的邊的新增。其中,新增實體時可以指定該實體的屬性。修改接口主要用于實體的名稱修改、實體屬性的修改和實體與實體間邊的修改。二是針對問答功能,提供初始化問答接口、問答接口、問答記錄接口。初始化問答接口用于發起問答,接口的入參為用戶ID。調用該接口后系統會生成一個本輪對話的ID,隨后的問答調用都需要傳入該ID。問答接口的請求內容是用戶想要提出的問題,接口的響應是系統得到的問題的答案,同時支持自定義是否返回系統在查找答案的過程中出現的引用和實體關系。引用的內容包含依據文件、段落和章節具體內容。實體關系的內容包括實體列表和關系列表。問答記錄接口可以根據用戶指定的查詢參數查詢問答的記錄,記錄中包含問題、答案及可選的引用和實體關系。系統給出問題的答案后需要用戶對此次的回答做評價或反饋。
在核電技術知識圖譜建立完成后,支持各類技術問題的解答,例如問題“1號發電機的容量有多大?”,系統反饋“1111MVA”,并同時返回“答案來源:SOP-1-MKA00-001”。
基于上述構建過程,形成核電技術知識圖譜,實現核電技術知識的語義檢索、知識庫管理等功能。支持智能搜索,可檢索的技術文件包括文本、表格、圖片、標簽內容、長文本檢索等,實現了支持邊搜索邊推薦,支持語義搜索、結構化查詢、圖譜問答等多種方式的查詢功能,支持根據用戶的反饋動態調整搜索結果。實現智能提示、相關文檔推薦。根據使用人員的自然語言問句,分析出用戶的查詢意圖,再根據查詢意圖從知識庫中精準定位,將自然語言形式的答案抽取出來推送給用戶,同時給出知識來源與依據,再利用技術平臺記錄用戶檢索行為,參照用戶畫像及用戶行為分析等方式進行核電文檔的主動推送、智能推薦。
知識圖譜能夠實現核電文檔檢索效率與利用水平的提升,能夠為工程建設和生產運營人員提供自動問答、查詢推薦、主動推送等知識服務,充分發揮文檔管理對企業業務活動的支撐作用,提高企業內部的知識利用效率。
隨著信息化與數字化建設的展開與NLP技術的進步,知識圖譜不再局限于網絡百科式的搜索,其衍生出了大數據知識圖譜與行業知識圖譜等多種產品類型,產品專業化與場景化的趨勢日漸明顯。比如核電企業中,檢修與缺陷排查耗時費力,未來可以將設備知識、檢修知識、處室職能等多個維度的知識關聯起來,從多維度去分析問題,建立快速響應機制。在設備發生故障時,知識圖譜可以快速找到解決方案。