許駒雄,李敏波,2,劉孟珂,曹志月,唐 波,葛 浩
1(復(fù)旦大學(xué) 軟件學(xué)院,上海 200438)
2(復(fù)旦大學(xué) 上海市數(shù)據(jù)科學(xué)重點實驗室,上海 200438)
3(濰柴動力股份有限公司,濰坊 261061)
隨著智能制造時代的到來,越來越多的制造企業(yè)和服務(wù)商都開始搭建基于產(chǎn)品全生命周期的物理信息系統(tǒng)用于采集產(chǎn)品的設(shè)計、采購、加工、裝配、測試和售后返修等過程數(shù)據(jù)及結(jié)果數(shù)據(jù),例如發(fā)動機裝配檔案,出廠測試階段的試車數(shù)據(jù)、售后返修的故障維修報告等. 這些數(shù)據(jù)蘊含了豐富的價值,但廠商們?nèi)狈τ行У募夹g(shù)手段,無法從數(shù)據(jù)和知識層面指導(dǎo)發(fā)動機的故障診斷和維修工作[1].
目前的工業(yè)領(lǐng)域故障診斷方法大多基于生產(chǎn)過程中的狀態(tài)數(shù)據(jù),通過構(gòu)建傳感器獲取的特征數(shù)據(jù)和機器狀態(tài)之間的關(guān)系,將故障診斷問題轉(zhuǎn)化為模式識別問題,在制造業(yè)[2]、電力[3]等領(lǐng)域都有諸多應(yīng)用. 但由于維修信息中具有大量的文本信息,如何提取其中蘊涵的領(lǐng)域知識是需要深入研究的課題[4].
隨著人工智能的飛速發(fā)展,知識圖譜逐漸成為工業(yè)界和學(xué)術(shù)界研究的重點,廣泛應(yīng)用于醫(yī)療[5]、教育[6]等領(lǐng)域. 在制造業(yè)領(lǐng)域,西門子提出了領(lǐng)域知識圖譜計劃[7],博世構(gòu)建了底盤系統(tǒng)控制相關(guān)數(shù)據(jù)的大型知識圖譜[8]. 知識圖譜通過三元組描述數(shù)據(jù)之間的關(guān)系,這種結(jié)構(gòu)化的表示降低了從中提取信息的難度. 與此同時,利用知識抽取相關(guān)技術(shù)將非結(jié)構(gòu)化數(shù)據(jù)構(gòu)建成知識圖譜,可以將文本信息用接近人類認知的格式保存,從而挖掘數(shù)據(jù)蘊含的價值.
在知識圖譜的自動化構(gòu)建方面,關(guān)鍵技術(shù)包括命名實體識別、關(guān)系抽取和實體對齊等. 目前具有代表性的工作有Huang 等人提出的雙向長短時記憶網(wǎng)絡(luò)(bidirectional long short term memory,BiLSTM)配合條件隨機場(conditional random field,CRF)的模型[9].Qiu 等人使用空洞卷積加強模型的上下文信息編碼能力和運行速度[10]. Yan 等人將相對距離驅(qū)動的注意力機制引入Transformer 模型,以提高其在命名實體識別中的表現(xiàn)[11]. Li 等人提出一種多粒度點陣框架,實現(xiàn)了提取中文文本關(guān)系的任務(wù)[12]. Sun 等人提出了一種基于嵌入實體對齊的引導(dǎo)方法,迭代地將可能的實體對齊標(biāo)記為訓(xùn)練數(shù)據(jù),以學(xué)習(xí)面向?qū)R的圖嵌入[13]. Cao 等人將圖卷積神經(jīng)網(wǎng)絡(luò)和注意力機制引入實體對齊任務(wù),以獲得表示知識圖中實體分布的連接實體的重要性權(quán)重[14].
在知識圖譜應(yīng)用方面,目前基于知識圖譜的個性化推薦技術(shù)主要分為基于路徑和基于圖嵌入兩種. Zhao等人引入元圖概念獲取知識圖中更豐富的語義信息[15].Zhu 等人使用知識圖中實體間的關(guān)系鏈接來傳播用戶偏好并了解其潛在偏好[16]. Wang 等人提出一種順序?qū)W習(xí)框架,通過特征學(xué)習(xí)得到實體向量和關(guān)系向量,利用CNN 融合得到用戶向量和物品向量[17]. Zhang 等人將知識學(xué)習(xí)和協(xié)同過濾的目標(biāo)函數(shù)結(jié)合進行聯(lián)合學(xué)習(xí)[18].Wang 等人使用聯(lián)合學(xué)習(xí)框架來計算多跳響應(yīng)[19],并在后續(xù)工作中提出多任務(wù)學(xué)習(xí)框架交替學(xué)習(xí)圖嵌入和推薦算法,同時利用了兩個任務(wù)的互補信息[20].
然而,通過文獻調(diào)研和與制造業(yè)廠商交流發(fā)現(xiàn),在制造業(yè)領(lǐng)域應(yīng)用知識圖譜還存在諸多不確定性,缺乏系統(tǒng)的研究. 例如,廠商們對制造業(yè)知識圖譜的應(yīng)用前景有所懷疑,并且不確定如何將其應(yīng)用到產(chǎn)品設(shè)計、裝配、售后等流程. 此外,目前還缺乏一個有效的、系統(tǒng)的從發(fā)動機故障數(shù)據(jù)端到端構(gòu)建與應(yīng)用知識圖譜的流程. 因此,本文的主要工作如下:
1)將知識圖譜引入柴油發(fā)動機故障領(lǐng)域,提出發(fā)動機故障知識圖譜(engine fault knowledge graph,EFKG). 分析發(fā)動機故障診斷領(lǐng)域的業(yè)務(wù)規(guī)則和數(shù)據(jù)特點,設(shè)計領(lǐng)域知識圖譜的構(gòu)建流程和本體,基于真實數(shù)據(jù)集構(gòu)建EFKG.
2)針對維修數(shù)據(jù)中知識抽取準(zhǔn)確率較低的問題,構(gòu)建領(lǐng)域詞典,標(biāo)注語料集,從多維度對比現(xiàn)有的基于深度學(xué)習(xí)的實體抽取方法,得出最好的發(fā)動機維修數(shù)據(jù)命名實體識別方案.
3)設(shè)計實體相關(guān)性評價指標(biāo)FF-IEF (fault frequencyinverse event frequency)和基于知識圖譜的輔助決策模型,并開發(fā)原型系統(tǒng),提供知識抽取、檢索、輔助決策等功能.
本文對柴油發(fā)動機故障領(lǐng)域知識圖譜的構(gòu)建和應(yīng)用進行研究. 實驗結(jié)果表明,本文的方法能有效地從發(fā)動機故障數(shù)據(jù)集中抽取知識,有助于提高信息檢索和售后維修效率.
在發(fā)動機故障診斷領(lǐng)域,存在許多案例形式的故障維修數(shù)據(jù),與故障診斷相關(guān)的知識需從案例中挖掘,例如故障現(xiàn)象、故障原因、故障狀態(tài)、故障部位等. 由于該領(lǐng)域作為傳統(tǒng)制造業(yè),專業(yè)知識存在一定的封閉性,數(shù)據(jù)質(zhì)量和應(yīng)用也存在一定問題,目前與知識圖譜相關(guān)的研究較少. 本文針對發(fā)動機故障領(lǐng)域的數(shù)據(jù)特點和業(yè)務(wù)邏輯,自頂向下構(gòu)建知識圖譜,整體流程如圖1 所示.
圖1 EFKG 構(gòu)建流程
具體構(gòu)建流程如下:
1)根據(jù)領(lǐng)域?qū)<姨峁┑陌l(fā)動機故障診斷業(yè)務(wù)規(guī)則和數(shù)據(jù)特點設(shè)計知識圖譜模式層.
2)制定映射規(guī)則對結(jié)構(gòu)化數(shù)據(jù)進行轉(zhuǎn)換; 從非結(jié)構(gòu)化文本中通過實體識別技術(shù)抽取實體,并與其他實體進行關(guān)聯(lián).
3)通過實體對齊對實體進行規(guī)范化處理,根據(jù)模式層關(guān)聯(lián)關(guān)系生成三元組.
4)計算實體相關(guān)性指標(biāo),與三元組存儲于圖數(shù)據(jù)庫中.
5)利用貝葉斯推理模型進行故障診斷.
本文使用數(shù)據(jù)來源于濰柴動力股份有限公司近年來的生產(chǎn)故障(加工、試車、裝配等)和售后維修報告,包括維修信息、發(fā)動機信息、故障信息等,其格式涵蓋結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù). 每條維修記錄對應(yīng)一個柴油發(fā)動機故障案例,并通過外鍵與發(fā)動機信息和故障信息等外表關(guān)聯(lián). 其中維修處理過程為非結(jié)構(gòu)化文本,故障信息和發(fā)動機參數(shù)為結(jié)構(gòu)化數(shù)據(jù).
EFKG 的重要用途之一是提高維修效率,即輔助工程師定位故障位點和故障類型,因此故障部位和故障狀態(tài)是核心實體,整體模式層設(shè)計如圖2 所示.
圖2 EFKG 模式層設(shè)計
發(fā)動機故障維修報告為工作人員手工填寫的自然文本,通常包括“客戶反映-問題定位-解決方法”流程,如表1 所示,下劃線部分為需要抽取的信息,包括維修信息、發(fā)動機信息、故障信息等.
表1 非結(jié)構(gòu)化數(shù)據(jù)實例
在發(fā)動機故障領(lǐng)域,目前并無公開的訓(xùn)練語料庫,需自行標(biāo)注和構(gòu)建數(shù)據(jù)集. 為解決訓(xùn)練集規(guī)模小、部分領(lǐng)域詞匯一詞多義的問題,本文基于目前主流使用的BiLSTM-CRF[9]方法,將BERT[21]預(yù)訓(xùn)練模型作為詞向量輸入,可以較好地緩解上述問題,學(xué)習(xí)到更準(zhǔn)確的語義向量. 模型的整體結(jié)構(gòu)如圖3 所示.
圖3 BERT-BiLSTM-CRF 模型
本文對5 488 條發(fā)動機維修數(shù)據(jù)進行人工標(biāo)注,構(gòu)建了發(fā)動機維修數(shù)據(jù)集,如表2 所示.
表2 實驗數(shù)據(jù)集大小及劃分
本文采取BIO 和BIOES 兩種標(biāo)注方法. BIO 的標(biāo)注方案將詞語分成兩類,一類是目標(biāo)實體,由B 和I 組成,分別代表目標(biāo)實體的第一個詞語和其他詞語,O 表示該詞語不屬于目標(biāo)實體. BIOES 的B、I、E 分別表示實體的開始、中間和結(jié)束部分,S 表示實體為單個字詞,O 表示該部分不是實體.
在標(biāo)注數(shù)據(jù)集中,實體類型共分為4 種: 故障現(xiàn)象(description,DES)、故障部位(location,LOC)、故障狀態(tài)(status,STA)和維修建議(suggestion,SUG). 故障現(xiàn)象是指客戶向維修站點反映的發(fā)動機故障表現(xiàn),如“發(fā)動機啟動困難”; 故障部位是指經(jīng)檢查后確定的問題起因件,如“向心球軸承”“增壓器”等; 故障狀態(tài)是指起因件出現(xiàn)的具體問題,例如“(增壓器)拉殼”“(油封)漏油”等; 維修建議是指維修人員解決故障的操作,如“更換”氣缸蓋墊片等. 各類實體的標(biāo)注情況如表3 所示.
表3 實體標(biāo)注情況
標(biāo)注示例如表4 所示.
表4 標(biāo)注示例
實驗結(jié)果見本文第2 節(jié).
維修報告為工作人員手工填寫,無法保證數(shù)據(jù)的規(guī)范和實用性,常出現(xiàn)共指現(xiàn)象,如“發(fā)動機無力”和“功率不足”指代同一問題. 同時由于數(shù)據(jù)經(jīng)過OCR 處理,存在中英文字符識別出錯的情況,如電子控制單元ECU 識別成EC0,類似的異常數(shù)據(jù)需要進行消除和修復(fù).
本文采用計算相似度的方法進行實體對齊,定義好相似度函數(shù)和閾值后,將實體間相似度得分大于設(shè)定閾值的實體對只保留其中一個實體,并更新圖譜中的三元組,用保留后的實體替換被對齊的實體. 本文采用編輯距離和Jaccard 相關(guān)系數(shù)法進行實體相似度計算.
1)編輯距離: 對一個單詞或詞語可以采取插入、刪除或替換字符3 種方式. 將一個單詞(詞語)通過這3 種操作方式轉(zhuǎn)換為另一個單詞需要的最小操作次數(shù),即為編輯距離.
2)Jaccard 相關(guān)系數(shù)法: Jaccard 系數(shù)描述了兩個有限樣本集的相似性,定義為兩個集合的交集與并集之比. 該比值越大,說明兩個集合越相似; 該比值越小,說明兩個集合差異越大,相似性越低. Jaccard 相關(guān)系數(shù)的計算方法如式(1)所示.
實體對齊流程如下所示. 由于相似度計算僅考慮文本的字面相似性,而忽略了語義,因此該方法不能保證實體對齊的完全正確,可能存在錯誤對齊或遺漏對齊的情況. 由于本文涉及的實體主要與發(fā)動機故障信息相關(guān),實體種類和數(shù)量相對較少,因此對實體對齊結(jié)果進行人工校對與完善.
算法1. 實體對齊算法輸入: 所有故障實體,相似度閾值s輸出: 對齊后的實體和關(guān)系1. Function EntityAligned(engineFailNodes)2. for uniNode in engineFailNodes:3. for alignedNode in engineFailNodes:4. if uniNode == alignedNode : continue;5. uniAttrList ← uniNode.attrs 6. aliAttrList ← alignedNode.attrs 7. sim ← simComp(uniAttrList,aliAttrList)8. if sim <= s : continue;9. for hasConnect(uniNode,alignedNode):10. node.relation = uniNode
在EFKG 中,一條三元組并非絕對正確或錯誤的.例如“發(fā)動機震動大”這一故障現(xiàn)象,可能由于“軸承卡滯”導(dǎo)致,也可能由 “減震器損壞”引起. 為了描述一條三元組在EFKG 中的重要程度,本文參考TF-IDF (term frequency-inverse document frequency)的思想,設(shè)計了發(fā)動機故障實體相關(guān)性指標(biāo)FF-IEF (fault frequencyinverse event frequency).
對于EFKG 中的一條三元組(hij,ri,tij),故障頻率(FF)衡量尾實體在給定頭實體條件下出現(xiàn)的概率,如式(2)所示.
其中,N(hij,tij)表示該條三元組出現(xiàn)的次數(shù),可從維修數(shù)據(jù)集中統(tǒng)計并作為三元組的屬性存儲.Hi表示頭實體hij所屬的實體類別(故障現(xiàn)象、故障部位等).
逆向事件頻率(IEF)衡量尾實體對頭實體的區(qū)分程度,定義為頭實體所屬類別的元組總數(shù)與該頭實體所在元組數(shù)的比值,如式(3)所示.
其中,|{(hik,ri,tij):hik∈Hi,?k}|表示尾實體為tij的三元組集合.
FF-IEF指標(biāo)同時衡量三元組的出現(xiàn)頻率和區(qū)分程度,定義如式(4)所示.
該指標(biāo)可有效衡量尾實體對于頭實體的重要程度,可用于信息檢索和推薦等應(yīng)用. 在EFKG 中,一條三元組可被描述為<(h,r,t),M>,其中h表示頭實體,r表示關(guān)系,t表示尾實體,M包含3 個屬性值: 出現(xiàn)頻率N,故障頻率FF和逆向事件頻率IEF.
2.1.1 評價指標(biāo)
本文使用準(zhǔn)確率(Precision)、召回率(Recall)和F1 值作為模型的評估指標(biāo). 計算公式如下:
其中,TP為正確預(yù)測的實體數(shù),FP為預(yù)測錯誤的實體數(shù),FN為沒有識別出的實體數(shù).
2.1.2 實驗設(shè)置
實體識別實驗基于PyTorch 進行搭建,具體的環(huán)境配置參數(shù)等如表5 所示.
表5 實驗環(huán)境
本實驗采用BERT-Base 模型,該模型使用Bi-Transformer 關(guān)注語義上下文,在多項NLP 任務(wù)中表現(xiàn)良好. 其他模型參數(shù)如表6 所示.
表6 參數(shù)設(shè)置
2.1.3 實驗結(jié)果
實驗采取層次抽樣的方法構(gòu)建訓(xùn)練集、驗證集和測試集,數(shù)據(jù)劃分情況見上文表2. 不同模型、不同標(biāo)注粒度和標(biāo)注方案的實驗結(jié)果如表7 所示.
表7 不同維度的3 種模型實體識別情況 (%)
可以看到,采用BERT-BiLSTM-CRF 模型和基于詞的BIOES 標(biāo)注方案得到的命名實體識別效果最好,F1 值為90.25%.
基于詞和基于字是兩種不同的標(biāo)注粒度. 由于中文的詞之間沒有嚴(yán)格的界限,且自動化的分詞工具有一定誤差,因此在通用領(lǐng)域中,基于字的標(biāo)注粒度更為主流. 但對于發(fā)動機故障領(lǐng)域而言,領(lǐng)域詞典能保證較高的分詞準(zhǔn)確率,并且詞向量相比字向量能包含更準(zhǔn)確的語義信息,因此整體而言,基于詞的標(biāo)注方案優(yōu)于基于字的方案.
從標(biāo)注方案角度而言,3 種模型的結(jié)果都是BIOES優(yōu)于BIO 方案,即更細致化的標(biāo)注能給命名實體識別帶來更好的效果. 例如,“發(fā)動機”一詞在BIO 方案下會被標(biāo)注成“B_LOC”,其后可能存在“共軌管(I_LOC)”或其他類型的標(biāo)注,對整體的識別造成困難; 而在BIOES方案中,“發(fā)動機”直接標(biāo)注成“S_LOC”,實體邊界更清晰,有利于識別效果提升.
本實驗中,不同實體類別的識別效果如表8 所示.
表8 不同標(biāo)注類別的實體識別情況 (%)
可以看到,在發(fā)動機維修數(shù)據(jù)中,維修建議與故障現(xiàn)象的整體識別效果較好,主要由于其結(jié)構(gòu)性較強,一般由兩三個詞概括而成,如“漏油”“動力不足”等. 而故障部位和故障狀態(tài)實體的準(zhǔn)確度較低,則由于其在句子中出現(xiàn)的位置較隨機,且上下文信息不確定性較強,在小數(shù)據(jù)集上表現(xiàn)一般.
輔助決策模型即在給定發(fā)動機信息和表現(xiàn)的情況下,推薦其可能出現(xiàn)的故障原因. 以故障部位為例,根據(jù)樸素貝葉斯定理,給定發(fā)動機當(dāng)前狀態(tài)S,任意一個故障部位FLi出現(xiàn)問題的概率如式(8)所示.
其中,S={Mileage,Model,PrdUse,FalutSym,···}為給定發(fā)動機的參數(shù)信息,J=P(S1,S2,···,S|S|)為參數(shù)集合S的聯(lián)合分布.
對于一臺給定的發(fā)動機,J值是固定的,可將其忽略.P(FLi)為該部位發(fā)生故障的先驗概率,P(Sk|FLi)即三元組<(h,r,t),M>的FF值(見式(2)),其中h為FLi,t為Sk. 因此,該值均可以從三元組的屬性中直接獲取.
對于一個故障部位,可能存在多個故障狀態(tài)FS,任意一個故障狀態(tài)FSj的概率如式(9)所示.
其中,S為發(fā)動機的參數(shù)集合,J=P(FLi,S1,S2,···,S|S|)表示S和FLi的聯(lián)合分布,且對于不同的故障狀態(tài)該值固定. 類似的,P(FS j),P(Sk|FS j)和P(FLi|FS j)可從對應(yīng)的三元組屬性中直接獲取.
故障原因FR由故障部位FL和故障狀態(tài)FS聯(lián)合表示,如式(10)所示.
為了評估該輔助決策模型的有效性,本文將其與XGBoost[22]和LightGBM[23]進行對比. 實驗為一個多分類任務(wù),即給定發(fā)動機信息,預(yù)測其故障原因. 在實驗前,本文對數(shù)據(jù)集做了一些預(yù)處理,如缺失值填充、連續(xù)值離散化、離散特征編碼等.
發(fā)動機故障原因有數(shù)百種,遵循帕累托原理,即大多數(shù)事故是由少數(shù)原因引起的,并且由于長尾分布,某些故障原因的樣本數(shù)較小,直接在全體數(shù)據(jù)集上運行分類模型效果較差. 因此,本文構(gòu)建了多個數(shù)據(jù)集用于測試模型在不同故障原因類別數(shù)下的性能,如表9.
表9 不同故障原因類別數(shù)據(jù)集
根據(jù)故障原因類別數(shù),將這些數(shù)據(jù)集稱為FR(20),FR(30),FR(50)和FR(100). 本文使用Recall@5 作為評價指標(biāo),實驗結(jié)果如表10 所示.
表10 不同模型的Recall@5 值
可以看到,本文設(shè)計的輔助決策模型性能比直接在原始數(shù)據(jù)集上運行多分類模型的效果更好.
本文基于構(gòu)建后的知識圖譜,設(shè)計并實現(xiàn)了EFKG原型系統(tǒng),主要提供以下功能.
1)知識抽取
廠商們在歷年的發(fā)動機故障維修工作中已積累大量歷史售后數(shù)據(jù),并以文本的形式存儲,然而目前難以利用海量的非結(jié)構(gòu)化數(shù)據(jù). 知識抽取從非結(jié)構(gòu)化數(shù)據(jù)中自動化識別故障實體,將數(shù)據(jù)轉(zhuǎn)化為知識,并以三元組的方式存儲,有利于后續(xù)的檢索和診斷功能.
2)知識檢索
基于歷史故障信息獲取故障和故障之間的相似性一直是領(lǐng)域研究重點. 利用知識圖譜對實體進行相關(guān)性評價指標(biāo)排序,可以幫助工作人員充分挖掘歷史故障信息中包含的價值.
3)輔助診斷
發(fā)動機結(jié)構(gòu)的復(fù)雜性導(dǎo)致其故障難以避免,而在不拆解發(fā)動機的情況下很難預(yù)測其故障原因. 本文利用知識圖譜提供先驗知識,利用基于貝葉斯推理的輔助決策系統(tǒng)確定故障原因,有助于在拆解前提高發(fā)動機故障診斷的效率和準(zhǔn)確性.
系統(tǒng)總體架構(gòu)如圖4 所示.
圖4 系統(tǒng)總體架構(gòu)
系統(tǒng)包括數(shù)據(jù)持久層、控制層和視圖層. 數(shù)據(jù)持久層使用Neo4j 圖數(shù)據(jù)庫和MongoDB 非關(guān)系型數(shù)據(jù)庫分別保存三元組和算法模型. 控制層采用Django 框架,通過RESTful 風(fēng)格的API 接收前端查詢請求,生成Neo4j數(shù)據(jù)庫的DQL 語句后,通過Py2neo 接口調(diào)用Neo4j 的引擎,并將結(jié)果返回給前端展示. 對于MongoDB 的算法模型(實體識別、輔助故障診斷)調(diào)用也通過控制層進行. 視圖層負責(zé)前端頁面展示,使用JavaScript 和Echart工具完成圖表繪制,并提供較為簡潔的交互功能.
系統(tǒng)從近年來濰柴公司數(shù)十萬條柴油發(fā)動機售后維修報告中抽取12534 個實體和408972 條三元組,存儲在Neo4j 圖數(shù)據(jù)庫中,部分示例如圖5 所示.
圖5 圖數(shù)據(jù)庫示例
實體識別模塊負責(zé)從輸入語句中識別發(fā)動機故障實體,如圖6 所示. 當(dāng)前端頁面輸入發(fā)動機維修相關(guān)語句時,后臺調(diào)用已訓(xùn)練好的模型進行實體識別,并將標(biāo)注結(jié)果返回到前端(藍色字體標(biāo)識),鼠標(biāo)點擊對應(yīng)文本可查看其所屬的實體類別. 該模塊實現(xiàn)了維修報告的自動化錄入.
圖6 實體識別模塊
實體查詢模塊可查詢實體與實體間的關(guān)系,也可直接輸入Cypher 查詢語言進行更靈活的自定義查詢,如圖7 所示,查詢“前排氣歧管”,返回與之相關(guān)的實體和關(guān)系并進行可視化展示. 前端頁面通過Echarts 渲染,點擊實體或關(guān)系可以查看對應(yīng)三元組的屬性.
圖7 實體查詢模塊
相關(guān)實體會在下方以表格形式展示,并通過FF-IEF指標(biāo)排序. 圖8 展示了與“活塞”相關(guān)的部分故障現(xiàn)象,“發(fā)動機機油耗高”現(xiàn)象與該部位的FF-IEF 值為2.07,說明二者相關(guān)性較高.
圖8 實體相關(guān)性列表
輔助診斷模塊自定義輸入發(fā)動機特征(里程、型號、用途、故障現(xiàn)象等),特征數(shù)可通過“新增條件”按鈕控制,通過調(diào)用基于貝葉斯的輔助診斷模型預(yù)測其可能出現(xiàn)的故障原因,如圖9 所示.
圖9 輔助診斷模塊
為解決發(fā)動機維修過程中極度依賴維修人員個人經(jīng)驗、缺乏定量事實依據(jù)等問題,本文利用發(fā)動機故障報告構(gòu)建發(fā)動機維修領(lǐng)域知識圖譜,深度挖掘設(shè)備之間共性問題,從數(shù)據(jù)和知識層面指導(dǎo)發(fā)動機故障診斷和維修工作,主要成果如下.
1)建立了從真實發(fā)動機維修數(shù)據(jù)集中構(gòu)建知識圖譜的系統(tǒng)流程和本體設(shè)計,構(gòu)建了發(fā)動機故障知識圖譜EFKG,共包含12534 個實體和408972 條三元組.
2)對發(fā)動機維修領(lǐng)域文本做了較全面的命名實體識別對比實驗. 整體而言,BERT-BiLSTM-CRF 模型基于詞的標(biāo)注粒度和BIOES 標(biāo)注方案效果更好.
3)設(shè)計了實體相關(guān)性評價指標(biāo)FF-IEF 和基于貝葉斯推理的輔助決策模型,相比基于機器學(xué)習(xí)的多分類模型取得更好的推理效果.
4)設(shè)計并實現(xiàn)EFKG 原型系統(tǒng),基于Neo4j 圖數(shù)據(jù)庫存儲和Django Web 框架,實現(xiàn)了查詢和可視化等功能,為EFKG 的落地應(yīng)用提供技術(shù)參考.
后續(xù)研究一方面可聚焦在整個發(fā)動機維修領(lǐng)域的大規(guī)模數(shù)據(jù)集的構(gòu)建,另一方面可在故障原因推理模型中,考慮擴充數(shù)據(jù)來源和影響因素,提高推理效果.
致謝
感謝濰柴動力股份有限公司張明國工程師的支持.