郭 恒 黎 榮 張海柱 魏永杰 戴鉞濱
西南交通大學機械工程學院,成都,610031
維修性設計是貫穿產品設計全過程的重要組成部分。我國高速列車體量大、品種多,在長達30年的運行周期里,會經受復雜的作用關系、地理氣候及運用工況的考驗,極易誘發各類故障,威脅運行安全[1],因此需要制定復雜的計劃修、狀態修及事后修等運行保障計劃以保證列車運行安全。自2007年實施第六次鐵路大提速以來,我國高速列車經過引進、消化、吸收、再創新,形成了CRH1、CRH2等系列產品并 逐步走到世界前列。但一方面由于設計時缺乏可信的維修性設計知識支持,另一方面高速列車運行、維修數據積累不足,且缺乏合理的運維知識沉淀形式,造成現階段高速列車產品生命周期設計研發要素考慮不全面,難以為高速列車維修性設計提供“數據+模型+知識”[2],因此,將高速列車設計、故障、維修知識融合關聯,使產品數據中的隱性知識顯性化、數據知識標準化[3],是解決高速列車缺乏基于運維數據的維修性設計知識支持的有效方法。
對于高速列車維修性設計這類開放知識領域,在設計域、故障域及維修域各領域數據與知識存在的基礎上,構建融合多個領域的概念知識數據庫能夠為高速列車設計階段提供設計活動所需的維修性設計知識。不同領域的概念關系及數據知識結構存在較大的差異,為了便于多領域知識的管理及使用,需要構建統一的多領域概念關系表達模型及跨領域數據共享體系,而將數據以語義結構存儲,描述領域概念及領域概念之間關系的知識圖譜可以實現各領域概念關系統一表達及數據知識結構化、可視化。但要構建適合高速列車領域的維修性設計知識圖譜,需要重點考慮以下幾點:①借助基于本體的知識圖譜模式層如何描述表達高速列車各領域復雜的概念關系,構建跨領域概念關系融合的統一表達模型;②從海量多源異構數據中如何高效地獲取高速列車產品故障率、平均維修時間等維修性設計因素相關知識,形成知識圖譜數據層;③如何有效降低獲取知識的冗余及錯誤,提高維修性設計知識質量;④所構建的知識圖譜如何支持高速列車維修性設計。
隨著人工智能、知識工程等技術的發展,越來越多的學者開始研究如何從數據、知識、模型三個方向探索解決產品過程、數據、知識分離等問題的方法[4]。針對跨領域概念關系表達問題,李佳靜等[5]提出了基于本體的復雜產品多學科知識表達方法,形式化地表達了多學科設計知識及關系,解決了高速列車設計階段多學科知識異構問題;針對跨領域概念關系復雜不易表述的問題,CHHIM等[6]提出了一種聯合產品設計及制造過程兩階段的知識重用本體,清晰表達了領域概念之間的關系;針對海量異構數據人工提取有用知識困難的問題,在電力[7-8]及煤礦領域[9],研究人員通過自然語言處理技術從設備運維數據中抽取設備維修知識,構建了領域知識圖譜,并通過知識融合方法減少了知識冗余及錯誤,高效率地獲得了設備維護知識,提高了設備維護效率;針對知識圖譜應用問題,蒲天驕等[10]描述了領域知識圖譜的應用場景并構建了基于電力領域知識圖譜的智能問答系統。
現階段部分學者在跨領域本體及領域知識圖譜構建方面取得了不錯的成果,但還未有將多域融合知識圖譜應用于產品維修性設計。因此,本文提出多域融合的高速列車維修性設計知識圖譜構建方法,對高速列車設計域、故障域及維修域的領域概念及數據進行分析研究,通過模式層構建、數據層構建、知識融合及存儲完成多域融合的高速列車維修性設計知識圖譜構建,采用多域本體融合、多域異構知識抽取、知識融合等技術解決高速列車多域數據異構、跨領域信息知識反饋較難的問題,并基于構建的知識圖譜開發智能檢索系統輔助設計人員進行產品維修性設計,提高高速列車產品的可維修性、可靠性,促進產品設計質量的進一步提高。
知識圖譜是以三元組“實體-關系-實體”的形式描述知識的概念及其相互關系的網狀知識庫[11]。知識圖譜的邏輯結構分為模式層和數據層,如果將基于本體的知識圖譜模式層看作房子的框架,那么知識圖譜的數據層則是房子的內飾。框架決定建造房子的目的,而內飾決定房子的舒適性,即模式層決定知識圖譜的用途,數據層決定知識圖譜的知識質量。知識圖譜構建一般有兩種方式:自底向上和自頂向下[12]。
目前在高速列車設計領域,相關知識關聯研究還未涉及運維階段,缺乏相應的技術來支持高速列車設計-故障-運維知識的有效關聯及檢索,因此,考慮運維數據集大小以及圖譜的知識質量,本文提出自頂向下與自底向上結合的高速列車維修性設計知識圖譜構建方法。維修性設計知識圖譜構建流程如圖1所示。
步驟(1)在專家幫助下參考七步法[13]和IDEF5法[14]提出高速列車維修性設計知識本體構建方法自頂向下地構建模式層:確定高速列車維修性設計本體的領域范圍及構建目的;構建各領域的概念層次及關系;采用概念語義解釋機制,將高速列車多域本體融合問題轉化為基于高速列車不同領域的概念語義關系判定,實現三個域的本體與其余兩個本體的概念、關系匹配及融合,最終形成由多域本體融合的高速列車維修性設計知識本體并用protégé建模,完成高速列車維修性設計知識圖譜模式層的構建。
步驟(2)自底向上構建高速列車維修性設計知識圖譜數據層。由于高速列車數據高保密性要求以及領域知識圖譜數據較難獲取,通過文獻對比分析,本文選取了即使數據量相對較少也能達到高精確度的BERT(bidirectional encoder representations from transformers)-BiLSTM(bidirectional long short-term memory)-CRF(conditional random field)模型來進行命名實體識別。數據層構建分為以下三步:①模型訓練及實體識別;②基于模板的關系抽取;③通過知識融合消除冗余、錯誤的知識。在實體識別階段,還會發現模式層未定義的概念,經專家審核后,可以更新到知識圖譜模式層,使模式層更加準確。
步驟(3)將protégé中所構建的本體模型映射到Neo4j圖數據庫中,將多域數據經過知識抽取融合得到的高速列車維修性設計知識存儲到Neo4j中,完成高速列車維修性設計知識圖譜的構建。
高速列車各領域所包含的領域概念十分復雜,且概念包含的語義邏輯關系及其相關屬性又具有各自的特點。如“CRH3A”車型在以下三個領域都具有涵蓋領域特點的概念關系及屬性:在設計域,設計人員關注的重點在于該車型的設計屬性、設計約束、零部件型號以及該車型設計的線路、速度等級等概念屬性;在故障域,運行保障人員關注的是該車型的故障模式、故障等級以及采取何種運行措施能避免故障發生,保證產品的運行安全;而在維修域,維修人員關注的是發生故障的列車對應的維修等級、走行里程以及采取何種維修工藝能經濟、快捷地使列車恢復其功能。這些概念與屬性都與列車設計階段維修性設計因素有關,而現階段各領域數據相互獨立,數據格式不統一,設計人員無法基于運維數據得到該產品的故障發生率、維修工時、維修成本等信息。對于設計人員來說,如何打破領域之間的概念關系壁壘,構建統一的多領域概念關系融合模型,實現多域數據基于概念關系的語義關聯及結構化存儲,是多域融合知識圖譜構建的關鍵目的。
為了讓高速列車各階段領域的結構、關系特征能夠更準確清晰地表達出來,使高速列車設計、運行及維修過程在特征表達上更加地靈活,及時捕捉高速列車全生命周期階段中的維修性設計知識,本文提出一種圖2所示的高速列車多領域維修性設計概念分析表達模型。該分析表達模型主要對高速列車設計時、運行時以及維修時所包含的維修性設計知識概念進行表達,具有很好的適應性,提高了高速列車領域維修性設計知識表達的靈活性,降低了本體模型構建的成本。基于概念分析表達模型,本文首先構建了高速列車設計域、故障域及維修域維修性設計知識本體,以設計域及故障域維修性設計知識本體為例,采用巴科斯-諾爾范式(Backus-Naur form,BNF)對領域本體概念作進一步描述如下。

圖2 高速列車多領域維修性設計概念分析表達模型
設計域:
〈DesignDomainOntology〉::=[〈Product〉]{〈Design_Constraints〉〈Functional_Requirements〉〈Structure_Composition〉〈Designer〉}
〈DesignDomainOntology〉::=[〈Product〉]{Type, Design_Attributes}
…
故障域:
〈FaultDomainOntology〉::=[〈Trouble_Location〉]{〈Fault_Product〉〈Fault_Cause〉〈Fault_Mode〉〈Structure_Composition〉〈Detection_Equipment〉〈Monitoring_Equipment〉}
〈FaultDomainOntology〉::=[〈Fault_Product〉]{Production_Date,Running_Mileage,Type}
…
在BNF范式中,概念描述的形式為〈類〉::=[〈父類〉]{〈子類1〉〈子類2〉…},〈類〉::=[〈父類〉]{屬性1,屬性2…},即〈DesignDomainOntology〉::= [〈Product〉]{Type, Design_Attributes}表示在設計域本體中的“產品”父類包含“型號”和“設計屬性”兩種屬性。
在完成三個域本體構建后,本文通過描述邏輯構建概念關系規則來判定三個領域概念語義關系,實現高速列車多域本體融合[15-16]。高速列車設計域、故障域及維修域包含的概念、屬性符合以下定義:當且僅當對于三個領域任意概念與概念、概念與屬性、屬性與屬性,滿足以下五種映射關系:等價、包含于(泛化)、包含(特化)、重疊及相離關系,其中包含于與包含關系互為逆關系。以設計域、故障域維修性設計本體概念與概念關系為例,基于五種映射關系形成的四種概念規則(包含于與包含同為包含規則)如表1所示。

表1 概念之間的描述邏輯規則
假設設計域維修性設計知識本體記為i,本體i中包含的概念記為C,故障域維修性設計知識本體記為j,本體j中包含的概念記為D,a表示概念包含的任意個體。以概念重疊規則為例,如在設計域維修性設計知識本體概念“產品”中包含兩種屬性:車型和設計屬性,且在故障域維修性設計知識本體概念“故障產品”中含有故障日期、運行里程、車型三種屬性,可以得到設計域概念“產品”與故障域概念“故障產品”中都包含“車型”屬性,但都有屬于各自領域的屬性,因此,設計域維修性設計知識本體中的概念“產品”與故障域維修性設計知識本體中的概念“故障產品”為重疊關系。
經過概念關系規則的多領域概念、屬性、關系判定后,確定了多域融合的高速列車維修性設計知識本體概念集以及概念間關系定義。表2所示為部分概念間關系定義,共24種。

表2 多域融合的高速列車維修性設計知識概念關系
基于上述定義的概念、屬性及關系,本文構建了多域本體融合的高速列車維修性設計知識本體表達模型,如圖3所示。
多域本體融合的高速列車維修性設計知識本體由一個四元組描述形式組成,記為
High-speed Train Maintenance Design Ontology Based on Multi-domain Ontology Fusion= {Entity,Attribute,Relation,Part}
其中,Entity為實體相關概念集,用于表示設計-故障-維修領域客觀實體的集合;Attribute為屬性相關概念集,表示Entity具有的一些屬性特征;Relation中包含了實體、屬性相關概念之間的除了層級關系外的所有的關聯關系,記為〈概念C1,關系R,概念C2〉,其中,概念C1與概念C2是包含于實體相關概念集Entity和屬性相關概念集Attribute中的;Part包含了本體中除Relation關系集之外的概念之間的具有層級結構的關系,表示某一概念層級隸屬于另一概念層級,即子類概念集與父類概念集的關系,在本體中用part_of及subclass_of關系表示。
在明確了多域本體融合的高速列車維修性設計知識本體的概念及屬性關系后,使用protégé5.0工具進行本體構建,領域專家可通過該工具對本體進行編輯及可視化管理,圖4所示為在protégé中構建的本體。然后將本體中的Entity映射為Neo4j的節點,Relation及Part映射為Neo4j中的邊,Attribute映射為節點屬性,將本體模型映射存儲到Neo4j中,使最終的知識圖譜信息更加完整。

圖3 多域本體融合的高速列車維修性設計知識本體表達模型

圖4 在protégé中構建的高速列車維修性設計知識本體
數據層構建流程分為三步:①命名實體識別;②關系抽取;③知識融合。首先選取部分數據作為訓練數據訓練BERT-BiLSTM-CRF模型,訓練好后直接輸入故障-維修數據文本,進行命名實體識別,再基于關系模板進行關系抽取,得到知識三元組,最后經過知識融合消除所抽取的維修性設計知識中的冗余及錯誤信息。
3.1.1模型簡介
在命名實體識別任務中,BERT模型負責命名實體識別的預訓練任務,并且BERT模型可以根據文本語境訓練出表達不同語義的動態詞向量,BiLSTM-CRF負責對BERT輸出的詞向量進行分類,而BERT模型大大減少了分類工作的任務量,使模型整體識別效果更好。
(1)BERT模型的優勢在于不需要提前訓練字向量及詞向量,并且已經有預訓練好的中文模型可以直接使用,因此只需將中文文本直接輸入到BERT中,該模型會自動提取文本中的詞特征、語法語義特征等。圖5所示為BERT模型的網絡結構,其中Ei(i=1,2,…,N)指輸入的字或者詞,Ti指BERT模型最終得到的預測結果,Trm為Transformer模型。

圖5 BERT模型網絡結構

CRF模型可以彌補BiLSTM模型無法處理相鄰標簽依賴關系的缺點,并且通過相鄰標簽獲得一個最優預測序列,它采用Softmax分類器對數據標簽進行預測,使用線性模型來表示特征序列的聯合概率,能夠更好地保證BERT模型輸出序列標注中的標簽合法性,并且在訓練數據時,CRF層可以自動學習到這些約束條件。
3.1.2識別過程
本文的數據由中國中車股份有限公司某主機廠提供,記錄了部分列車的故障及維修數據,時間跨度為5年,部分初始數據如表3所示(由于保密性要求,隱去部分信息)。該數據集涵蓋了故障事件、處理措施、責任方、處理結果等多方面高速列車故障數據。首先需要對數據進行清洗,剔除一些重要度較低(如零部件脫漆等)以及記錄模糊的故障記錄數據,并對一些缺失數據值進行填補。在數據清洗后,將一些重要屬性數據按行進行整合,目的是使之后的模型訓練結果能達到最優。

表3 部分初始數據
接著進行模型訓練前的數據標注。本文采用BIO(begin inner other)標注策略。在高速列車故障數據中部分待預測的實體標簽如表4所示。

表4 數據標簽釋義
將標注好的訓練集按8∶1∶1分為訓練集、測試集及驗證集,輸入到模型中進行訓練。為了驗證BERT-BiLSTM-CRF模型在高速列車故障數據命名實體識別任務中的效果,本文分別選取了Word2vec-BiLSTM-CRF、BERT-CRF、BERT-BiLSTM-CRF模型進行識別對比,如表5所示。

表5 高速列車故障數據命名實體識別結果對比
從實驗結果可以看出,BERT-BiLSTM-CRF與另兩個模型相比,精確率、召回率和F1值(用來衡量二分類模型精確度)均有顯著的提高。
實體間的關系是知識圖譜最重要的部分之一[17],關系抽取是信息抽取中的關鍵一步,關系實例構成了知識圖譜的邊。在知識圖譜構建過程中,關系抽取產生的結果即為知識三元組,表示主客體之間以謂詞所表達的關系,例如,〈齒輪箱,發生,裂紋〉表示齒輪箱這個零件發生了裂紋這個故障模式。
本文通過對高速列車領域數據的特點進行分析,總結出以下幾點:①本文所構建的知識圖譜為高速列車維修性設計知識圖譜,面向高速列車領域可維修性設計知識,領域專業性強;②通過對高速列車領域故障及維修記錄數據的分析,發現記錄格式較為統一,實體及關系類型較為清晰;③在領域專家的幫助下,已經構建了高速列車各領域維修性設計本體及多域融合的高速列車維修性設計本體,且對領域的概念關系進行了詳細的定義。
基于上述原因,本文采用基于模板的關系抽取方法,雖然需要花費一定時間設計關系匹配模板,但由于該方法提取的關系是由領域專家定義,因此能顯著提高知識圖譜知識質量。下面以故障事件為例設計關系匹配模板。
圖6所示為本文設計的故障事件關系匹配模板。故障關系匹配模板以詞為單元進行匹配,首先,在輸入的文本中確定零件的位置,并以零件為中心檢索其余元素。匹配模板輸入輸出:①輸入T、E1、E2、E3、E4、E5、E6;②輸出R。其中,T為text,指輸入的故障數據文本;E1、E2、E3、E4、E5、E6為命名實體識別結果生成的詞典(E1為零件實體詞典;E2為故障模式實體詞典;E3為觸發詞典;E4為轉向架結構詞典;E5為列車型號詞典;E6為故障日期詞典);R為輸出的故障關系三元組的集合。

故障事件關系匹配模板輸入:T、E1、E2、E3、E4、E5、E6輸出:R步驟結果(1)檢索輸入文本中是否包含故障事件關系觸發詞有觸發詞,進行下一步;否則,該輸入文本無事件(2)確定輸入文本中零件實體詞的位置“零件實體詞”位置(3)確定輸入文本中與零件實體詞距離最近的故障模式實體詞〈零件,發生,故障模式〉(4)確定輸入文本中零件實體詞與轉向架結構關系〈零件,屬于,模塊〉〈模塊,屬于,系統〉〈系統,屬于,車輛〉〈車輛,屬于,列車〉(5)確定輸入文本中列車型號實體詞的位置〈列車,車型,列車型號〉(6)確定輸入文本中故障日期實體詞位置〈故障日期,發生,故障模式〉return R一個基于輸入文本的故障事件知識圖譜實例
本文采用字符串相似度與結構相似度結合的方法進行實體詞相似度計算。首先采用字符串相似度計算實體詞之間的相似度,設實體詞1和實體詞2分別為字符串i和字符串j,計算公式為
(1)
式中,λ為相似度調節系數,隨相似字符個數增大而增大;A為字符串i與j中相同字符的個數;B為字符串i中存在,但字符串j中不存在的字符個數;C為字符串i中不存在,但字符串j中存在的字符個數;D為字符串i與j中字符的總數。
在高速列車領域,普遍存在著語義相似的詞,但在實際應用過程中需要當作不同個體的實體詞,如牽引電機的兩種類型,如果僅憑字符串相似度計算,則兩種型號的電機會被融合為一種,那么在維修性設計知識粒度較細的詳細設計階段,無法通過兩種牽引電機的設計特性等選擇適合當前產品的型號,因此,當通過字符串計算兩實體可能存在相似時,還需要經過結構相似度計算來確定最終的實體相似度。結構相似度指兩個相似實體詞在本體概念結構上的相似度,主要通過兩個實體詞所屬本體結構的父級節點及子類節點相似度判斷,判斷規則如下:①若兩實體詞的父級節點相同,子節點相同,那么兩實體詞指代同一實體,則進行融合;②若兩實體詞的父級節點相同,子節點概念相同但值域不同,如屬性概念相同但屬性值不同,那么兩實體詞為同級節點,分別存儲。高速列車維修性設計知識融合過程如圖7所示。

(a)相同實體節點融合

(b)同級節點分別存儲圖7 知識融合過程
經過知識抽取及融合后,高速列車故障數據已經由非結構化文本數據轉化為了結構化的知識三元組。采用Neo4j圖數據庫進行知識存儲,它將獲取的結構化知識存儲在網絡中,數據的構成主要由可以構建屬性的節點和邊組成,Neo4j圖數據庫的優點有:①相較于關系數據庫,圖數據庫能夠處理大量的、復雜多變的、低結構化的數據;②圖數據庫擁有很高的可擴展性,處理大量數據時只會受到所布置機器硬件性能的影響;③圖數據庫提供了高速檢索遍歷工具、高速運算性能的圖算法以及推薦系統。目前,越來越多的研究人員將Neo4j圖數據庫應用到各個領域。
本文將高速列車維修性設計知識三元組及構建的本體都存儲在Neo4j圖數據庫中,并形成一對多的“概念-實體”關系。這樣做的好處一是在進行基于知識圖譜的知識推理時,本體層概念的約束公理能夠保證知識推理邏輯的正確性;二是在數據層知識有殘缺時,可以用本體層概念作為補充,最大程度地保證圖譜知識的完整性。
將三元組數據導入Neo4j圖數據庫進行存儲與展示,并集成到項目所開發的轉向架知識圖譜平臺,高速列車維修性設計知識圖譜的應用主要在維修性設計知識檢索方面。設計人員輸入查詢語句,與命名實體識別類似,由知識圖譜對查詢語句中的關鍵詞進行解析,將其映射到知識圖譜存儲的本體概念及相應的維修性設計實體上,基于知識圖譜豐富的語義網絡,向設計人員返回全面且準確的維修性設計知識。設計人員在進行產品維修性定量分析,確定產品維修性指標時,可以在高速列車維修性設計知識圖譜智能檢索系統中查詢同類型產品或相似產品的故障率、故障修復時間、預防維修作業項目數、在規定使用期限內的維修耗時等,根據同類產品的相關維修性數據來綜合考量現階段產品維修性指標及維修計劃的制定。同時,還可根據故障率、維修次數、維修人員數、維修設備等預估產品的維修成本,為高速列車全生命周期成本優化提供維修性設計知識支持。圖8所示為基于高速列車維修性設計知識圖譜開發的智能檢索系統。驅動系統設計人員在進行牽引電機選型配置時,想選取平均維修時間較短的牽引電機,在上方搜索框輸入“永磁電機的維修時間長嗎”,系統檢索出與“永磁電機”有關的維修事件供設計人員查詢,并按照故障次數的多少及不同的故障模式進行排序展示,點擊右側“查看詳情”箭頭還能詳細了解發生過該故障模式的永磁電機的詳細信息,包括電機型號、配屬車型、設計屬性等相關信息。

圖8 高速列車維修性設計知識圖譜智能檢索系統
本文研究了多域數據融合的高速列車維修性設計知識圖譜構建技術,詳細論述了高速列車維修性設計知識圖譜模式層與數據層的構建過程。基于高速列車故障維修數據記錄,實現了從非結構化高速列車數據到結構化維修性設計知識存儲的過程,不僅能很好地從高速列車海量數據中挖掘有用知識,提高知識搜集效率,而且能促進高速列車維修性設計優化,提高產品質量,從而促進我國高速列車更好更快地發展。
目前,本文所構建的高速列車維修性設計知識圖譜僅依靠主機廠提供的部分數據作為基礎,未來還將進一步擴充語料數據并動態更新知識圖譜。