孫 亮
(中石化石油工程建設有限公司,北京 100020)
近年來,隨著我國原油、天然氣管道建設進入快速發(fā)展期,對于先進穿越鉆機設備的需求也逐漸增加。穿越鉆機一次性工作周期長、穿越地質情況多變,且現場操作人員專業(yè)知識參差不齊、故障檢測手段有限,導致穿越鉆機在復雜施工過程中容易出現故障。這些故障信息、監(jiān)測信息和維修信息等數據之間相互關聯(lián),存在比較復雜的關系。如何將運行維護數據與過往故障數據以及穿越鉆機設備的相關文本手冊信息結合,實現對數據的有效管理和應用,有助于現場技術人員快速、全面地掌握故障的關鍵信息,及時為鉆機設備的故障處理提供相應的輔助決策[1],對穿越鉆機設備的運行維護和故障維修具有重要的意義[2]。
基于知識圖譜的穿越鉆機知識庫,通過對經驗領域、操作規(guī)范、規(guī)則進行知識建模,是實現知識驅動智能維護的重要手段之一[3-4]。本文針對穿越鉆機故障處理業(yè)務,設計鉆機故障領域知識圖譜的構建框架,通過對實際操作過程中各類規(guī)定、維修經驗進行知識抽取和融合,形成基于語義關系網絡的判斷方法,初步實現對穿越鉆機設備知識的有效管理和應用,同時為故障數據知識信息的獲取提供一種新的儲存、組織、管理和更新手段。
2012年,Google公司正式提出知識圖譜的概念,并作為搜索引擎以提升用戶查詢信息的準確率和質量。知識圖譜的實質是揭示現實世界中實體之間的語義關系網絡[5],可以對某一學科的未來發(fā)展進行評估描述,也可以挖掘相應實體概念關系,幫助決策者做出合理決策[6]。知識圖譜分為通識知識圖譜和領域知識圖譜。通識知識圖譜主要包括DBpedia和Wikidata[7]等,領域知識圖譜關注的則是某一領域的知識,主要集中在醫(yī)學、電影、英語領域,包括IMDB、SIDER等。
由于知識圖譜在知識融合方向上的優(yōu)勢,一些專家將其應用于故障診斷分析,借此提高故障診斷的效率,并對設備維護領域的知識圖譜進行了初步探索與應用。Lu等[5]研究了多源數據的工程機械設備故障領域的知識融合技術,提出一種基于數據驅動的知識圖迭代自動構建方法,并用于輔助故障檢修。劉瑞宏等[8]構建了電信領域的知識圖譜智能診斷系統(tǒng),實現了對零散的專家經驗、案例知識和故障數據的有效關聯(lián),并通過知識圖譜推理技術,輔助解決網絡運維領域的故障問題。李樂樂等[9]利用知識圖譜和SQLite數據庫構建了飛機維護維修知識庫,有效提高了維修信息的存儲和搜索能力。劉鑫[10]采用本體建模的方法,將知識圖譜用于故障診斷領域,結合Neo4j圖數據庫的可視化和SpringBoot編程,實現了故障信息動態(tài)檢索,提高了故障診斷知識的利用率和共享程度。趙倩[11]根據歷史數控設備故障知識的積累、組織和共享,提出了一種針對數控設備故障領域的垂直知識圖譜構建方法,用于輔助數控設備故障診斷。
上述學者均利用知識圖譜輔助故障診斷,為故障知識圖譜的構建與應用研究提供了理論基礎。然而,穿越鉆機設備規(guī)模龐大、結構復雜、涉及到的知識眾多,其設備應用場景較為特殊,國內對于穿越鉆機故障診斷還停留在經驗階段,大量故障數據難以得到有效利用,因穿越鉆機損壞而導致的施工延誤時有發(fā)生。使用知識圖譜將分散的知識關聯(lián)形成一個有機整體,打破數據的壁壘,充分地發(fā)揮領域故障數據價值,可為現場的維檢修人員提供知識支持和輔助決策,有助于及時恢復生產活動。
知識圖譜的構建方式通常分為自頂向下和自底向上兩種方式[12]。自頂向下是指先構建模式層,然后根據模式層指導實體和關系的抽取,適用于具有明確知識范圍的領域知識圖譜構建;而自底向上則是指從底層實體歸納出概念,然后逐漸往上抽象形成頂層概念,適用于知識覆蓋范圍較廣的通識知識圖譜。穿越鉆機故障知識庫基于具體業(yè)務邏輯和需求,用來解決行業(yè)領域存在的復雜問題,是典型的領域知識圖譜,因此采用自頂向下的知識圖譜構建方式。其框架包含數據層、知識圖譜構建層、信息檢索層3個層面,如圖1。
圖1 故障領域知識圖譜構建流程
數據層:以結構化數據、半結構化數據和非結構化數據作為數據源。結構化數據包括設備運行數據、設備維修數據、施工環(huán)境數據等可被計算機直接識別的數據信息。半結構化數據和非結構化數據包括設備操作規(guī)程、故障分析報告、故障處置預案、日常維護記錄等以文本為載體的數據,這類數據的形式具有一定的主觀性[13]。
知識圖譜構建層:借助于自然語言處理技術包括知識抽取、知識加工、知識融合技術,提取數據中的設備知識要素,并消除知識間存在的歧義,確保知識要素的質量。最終將抽取得到的知識要素整合、提煉、評估,導入到圖數據庫中實現知識的存儲與管理。
信息檢索層:通過構建好的知識圖譜,可實現故障知識的智能檢索和知識的可視化,為現場的鉆機運維人員提供輔助決策支持。
在知識圖譜中,本體建模是指對概念建模的規(guī)則,對客觀世界的抽象描述,是針對概念及概念間的聯(lián)系以形式化的方式給出的明確定義[14]。本體構建包括實體類型的確定和關系類型的確定。概念是指不同實體的類別,例如設備的部位、故障模式、維修數據和管理數據等;屬性則是實體所具有的屬性,是與其他實體區(qū)別的特征,不同的實體具有不同的特征,例如故障因素、故障名稱、故障類型等。概念與屬性如表1所示。
表1 穿越鉆機故障領域核心概念與屬性
關系反映的是兩個實體之間的聯(lián)系。故障領域知識圖譜不僅包括實體間屬性關系,還包括事件順承、條件因果關系[15]。研究已有的故障案例,對概念之間和概念與實體之間的關聯(lián)關系進行分析,形成穿越鉆機故障實體關系模型圖,如圖2。為直觀地理解概念間的關系,使用帶有箭頭指向的線表示關系,箭頭首端代表部分概念或動作的實施方,尾端代表整體概念或動作的承受方,箭頭中部的菱形圖案表示首尾實體間存在的關系,方形圖案代表概念,圓形圖案代表屬性,灰色圖案表示對應的知識要素未提取。
圖2 穿越鉆機故障知識圖譜實體關系模型
3.2.1 實體抽取
采用機器學習的方法,從數據源中自動或半自動地抽取實體。將原始數據中的部分數據標注作為訓練集用于訓練實體抽取模型。典型的實體抽取方法有隱馬爾可夫模型[16]和BiLSTM模型[17]。因BiLSTM模型對文字字符數據有較好的識別效果,故用于實體抽取,主要步驟有數據標注、模型訓練、測試和評估。
采用BMEO實體標注方法,向語料中的字符添加其所在的實體位置和實體類型。BMEO實體標注方法中B為Begin的縮寫,代表實體的首字符;M為Middle的縮寫,代表實體中間字符;E為End的縮寫,代表實體尾字符;O為Outside的縮寫,表示該字符不在實體中。完成實體標注后,以測試集數據作為輸入,訓練集標注結果作為標簽,訓練BiLSTM實體抽取模型。對訓練好的模型抽取剩余原始語料的實體,完成基于抽取模型的實體抽取。模型評價指標包括精確度P、召回率R、P和R的調和平均值F1值,其計算如公式(1)。
(1)
式中:TP——模型識別正確的實體個數;
FP——模型識別到不相關的實體個數;
FN——模型未識別到相關實體的個數。
將收集到的401篇事故案例按3∶1的比例分為標注語料和測試語料,測試語料中包含來源于失效模式與影響分析(Failure Mode and Effects Analysis,FMEA)數據和文獻書籍事故案例48篇。嵌入層的向量設置為256維,在Python 3.7.3環(huán)境的Anaconda平臺中Tensorflow1.2框架下搭建BiLSTM-CRF模型;算法優(yōu)化采用自適應時刻估計方法,使用交叉熵損失函數,學習率設為0.001。為避免過度學習出現過擬合現象,將Dropout設置為0.3。依據公式(1)對BiLSTM模型實體抽取的效果評價,結果如表2所示。
表2 實體抽取結果 %
從結果可以看出,評價指標值均在85%左右,基本符合實體抽取要求。FMEA文本格式較為規(guī)范,實體抽取效果要好于文獻書籍。通過對故障案例文獻書籍和FMEA數據進行實體抽取,共獲得安全管理類實體385個、設備設施類實體487個、管理類實體189個、標準規(guī)范279個、故障類實體264個、組織類實體545個、組織類實體654個、地點實體456個。
3.2.2 關系抽取
在知識圖譜中,實體通過關系連接解決實體間的語義連接問題。屬性是針對實體而言,用于描述實體的特征,如功率、實際輸出等。一般認為,屬性是實體與屬性值的一種關系,故采用關系抽取的方式實現屬性抽取。常用的抽取方法包括Convolutional Neural Network模型和基于依存句法分析的Bootstrapping算法。
本文采用Attention-based BiLSTM關系抽取模型[18],相比于傳統(tǒng)關系抽取算法,該模型可以在不使用詞性和最短路徑的情況下實現關系抽取。Attention-based BiLSTM關系抽取模型與BiLSTM命名實體識別模型抽取流程相同,但訓練和測試數據為BiLSTM模型抽取的數據,在數據劃分時仍按3∶1劃分為標注語料和測試語料。
Attention-based BiLSTM模型的搭建環(huán)境同實體抽取模型一致,其參數設置如下:BiLSTM隱含層單元個數為256,層數為2,Dropout為0.5,學習率為0.005,訓練批數為10。抽取評價指標精確度P、召回率R和F1值結果如表3所示。
表3 關系屬性抽取評價結果
從結果可以看出,模型抽取指標的精確度P、召回率R和F1值均在80%左右,抽取效果良好。因故障文本結構復雜,關系表述不明顯,導致其識別準確率較實體識別模型略低。
在完成實體和關系抽取后,所得到的數據不僅存在大量的、模糊冗余的信息,甚至存在沖突。通過知識融合和加工對實體和關系進行清洗和整合,確保知識的質量,并將其轉換為三元組的形式。圖數據庫的管理軟件中,Neo4j以其高性能、設計的靈活性和開發(fā)的靈敏性成為目前使用最廣的圖數據庫[19]。Neo4j采用節(jié)點-關系的數據存儲模式,以標簽區(qū)分節(jié)點和關系的所屬類別。本文以知識抽取獲得概念及關系類型作為數據庫中實體和類型標簽。
故障知識庫的應用體現在故障數據的標準化采集和故障維修診斷兩個方面。其一,以三元組的形式將故障信息存儲,通過特定的實體關系數據結構對新的故障數據進行采集,得到結構化數據。同時,可將采集到的故障數據轉化為結構化的故障知識,實現知識圖譜的知識更新。其二,結合故障診斷模型和歷史故障案例,輔助人工進行故障診斷并提供維修策略,同時可以厘清不同時間下的故障規(guī)律并對設備壽命和故障狀態(tài)進行預測,為維修人員制定維修計劃提供知識支持。此外,維修任務也是故障知識的積累過程,可為日后的維修工作提供支撐。
穿越鉆機故障知識庫管理工具的主要功能是對故障知識進行必要的數據管理和可視化,能夠更加方便和直觀地對故障知識庫進行管理,還可以為知識庫數據交互提供接口。故障知識檢索功能包含歷史故障分析數據、故障診斷的相關規(guī)則及故障處理的相關經驗,如圖3所示,可實現在線監(jiān)測設備的數據提取分析、警告信息提醒、輔助故障決策。
圖3 穿越鉆機故障知識庫管理軟件
點擊軟件界面的“顯示知識圖譜”,可將某次工程項目中出現的穿越鉆機故障演化路徑以知識圖譜的形式展開,如圖4所示。
圖4 某公司穿越鉆機故障知識圖譜
知識圖譜中包括現場故障處置情況、故障原因(直接原因和間接原因)、故障分析、現場設備參數、項目參與單位、整改意見、施工現場存在的問題7個部分,實體類型包括設備類、參與企業(yè)、故障位置、施工地點、故障影響、故障類型等,關系則涵蓋表2中的大部分關系。通過該軟件還可以提供故障鏈的展示,有助于分析故障的影響關系。鉆機參數節(jié)點和現場處置情況圖譜節(jié)點信息如圖5。
圖5 鉆機參數節(jié)點知識圖譜
基于管道工程中穿越鉆機設備的具體業(yè)務場景,結合知識圖譜的技術特點,提出了基于故障知識圖譜的穿越鉆機設備故障知識庫構建方法,可有效解決維修數據難以利用的困境,通過知識推理進一步挖掘故障規(guī)律,實現故障知識的可視化管理和應用。同時,將非結構化或半結構化的語義轉化為計算機更易理解和儲存的結構化文本,更好地實現人機交互。
穿越鉆機故障知識圖譜屬于特定領域知識圖譜,其實體定義、關系定義需要與專業(yè)知識、專業(yè)需求相吻合,其構建過程對專業(yè)知識要求較高。目前所構建的圖譜只包括淺層的語義關系,對于深層次的因果、轉折等邏輯關系考慮較少。因此,構建一個知識完備、推理合理的穿越鉆機故障知識圖譜系統(tǒng),還需要長期、持續(xù)研究。