蔣怡,霍曉強(qiáng),王清
(1.陸軍工程大學(xué)研究生學(xué)院;2.陸軍工程大學(xué)訓(xùn)練基地工程裝備修理教研室;3.陸軍工程大學(xué)野戰(zhàn)工程學(xué)院,江蘇 南京 210000)
隨著現(xiàn)代工業(yè)生產(chǎn)及科學(xué)技術(shù)水平的不斷提高,按照武器裝備發(fā)展“通用化,系列化,組合化”的建設(shè)要求,武器裝備的大型化、高速化、精密化、電子化、自動(dòng)化發(fā)展特點(diǎn)已愈加明顯,然而,由于武器裝備結(jié)構(gòu)復(fù)雜,基層維修力量技術(shù)水平參差不齊,加上外部戰(zhàn)場環(huán)境瞬息萬變,一旦裝備發(fā)生故障而無法進(jìn)行有效排除,將會對訓(xùn)練乃至作戰(zhàn)任務(wù)產(chǎn)生難以想象的影響。
當(dāng)前,我軍武器裝備故障診斷主要運(yùn)用的是傳統(tǒng)的診斷方法,例如,用配套的故障診斷設(shè)備進(jìn)行診斷。這種診斷設(shè)備雖然專業(yè)性強(qiáng),可以涵蓋對應(yīng)裝備的所有常見機(jī)械、電氣、液壓故障,但是,在將來“通用化”的建設(shè)要求下,專用故障診斷設(shè)備將必定會被通用性更強(qiáng)的故障診斷設(shè)備慢慢替代,而且當(dāng)前故障診斷技術(shù)都是依賴傳統(tǒng)的裝備結(jié)構(gòu)原理,針對常見典型故障容易診斷,但是,一旦在戰(zhàn)場上出現(xiàn)戰(zhàn)場復(fù)合性損傷,傳統(tǒng)的故障診斷技術(shù)效果就不一定適用。
為了適應(yīng)未來信息化作戰(zhàn)及保障特點(diǎn),結(jié)合我軍武器裝備維修保障研究現(xiàn)狀,在當(dāng)前的故障檢測與診斷方面,需要建立一種夠?qū)⑷斯ぶ悄?、大?shù)據(jù)等先進(jìn)學(xué)科技術(shù)結(jié)合起來的裝備維修保障模式:即通過建立武器裝備故障數(shù)據(jù)庫,通過故障現(xiàn)象在故障數(shù)據(jù)庫中進(jìn)行匹配,查找在故障數(shù)據(jù)庫中存儲的之前出現(xiàn)過的相同或者類似故障,通過之前解決故障的經(jīng)驗(yàn)做法,為故障的判斷排除提供思路和依據(jù)。這種方法不僅省去了用傳統(tǒng)方法進(jìn)行故障判排所花的時(shí)間,而且為我軍的信息化數(shù)據(jù)建設(shè)提供了有力的資源支撐。
故障診斷技術(shù)自20世紀(jì)60年代從美國起源以來,已經(jīng)發(fā)展了60年之久。在此過程中,故障診斷已經(jīng)從一門單純的技術(shù)轉(zhuǎn)變成了以故障檢測、故障定位以及故障識別等為主要技術(shù)活動(dòng)的一項(xiàng)綜合性維修保障活動(dòng)。
根據(jù)診斷時(shí)獲取診斷信息原理手段不同,故障診斷方法可以分為三種。
(1)基于知識的故障診斷方法,該方法需要根據(jù)經(jīng)驗(yàn)確定合理的診斷知識,從而檢測、隔離與定位故障。
(2)基于信號處理的方法,用信息處理方法分析現(xiàn)場測試信號,提取諸如幅值、頻率、諧波、震動(dòng)等診斷特征信息,從而檢測出故障。
(3)基于解析模型的方法,建立診斷對象的故障診斷數(shù)學(xué)模型,根據(jù)系統(tǒng)輸出的實(shí)際值與期望值之間的差別來檢測診斷故障。
從當(dāng)前的科技發(fā)展趨勢和研究現(xiàn)狀看來,隨著傳感器、自動(dòng)測試、信號處理、計(jì)算機(jī)和人工智能等現(xiàn)代科學(xué)技術(shù)的發(fā)展,裝備故障診斷技術(shù)帶著以下三個(gè)特點(diǎn)進(jìn)入一個(gè)全新的發(fā)展周期:一是以裝備測試性設(shè)計(jì)為基礎(chǔ)的狀態(tài)檢測和機(jī)內(nèi)測試技術(shù)研究將更加深入,嵌入式計(jì)算機(jī)技術(shù)的應(yīng)用,使機(jī)內(nèi)測試技術(shù)向智能化、集成化、網(wǎng)絡(luò)化方向發(fā)展;二是基于人工智能的故障診斷法方法研究將日趨成熟,專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊診斷和模型推理等方法,將得到廣泛的應(yīng)用;三是綜合診斷技術(shù)、遠(yuǎn)程診斷技術(shù)、大型復(fù)雜裝備的故障預(yù)測和容錯(cuò)控制技術(shù)的研究將得到不斷加強(qiáng)。
此次裝備故障文本信息主要來源于課題組之前參與的多次演訓(xùn)活動(dòng)中的裝備故障數(shù)據(jù)統(tǒng)計(jì)信息,在對故障信息進(jìn)行匯總后,已經(jīng)通過特殊編碼的方式,隱去了裝備的具體型號,用“字母+編號”的形式代替,并且對一些軍事裝備特有的字詞進(jìn)行了編碼,具體故障現(xiàn)象通過簡短制式的文字進(jìn)行敘述,因此,每條故障現(xiàn)象都是一條簡短的文本信息,現(xiàn)象之后為故障原因以及處理方法。
圖1 裝備故障文本數(shù)據(jù)截圖
通過以上截圖可以發(fā)現(xiàn),裝備故障現(xiàn)象文本都是短文本,短文本在自然語言處理領(lǐng)域是一個(gè)比較特殊的分支,因?yàn)槎涛谋镜男畔㈤L度較短,所包含的有效信息也就相對較少,這就導(dǎo)致了樣本的特征稀疏,形成特征向量后維度就會很高,不易從中抽取到準(zhǔn)確而關(guān)鍵的樣本特征。
此外,通過觀察以上截圖,會發(fā)現(xiàn)一些如“兩晶流”“偏心掃描”這類在專業(yè)領(lǐng)域才會出現(xiàn)的詞匯,如果不將這些詞匯作為專有名詞加入詞表中,在進(jìn)行短文本的分詞處理過程中,就會將“兩晶流”分詞為“兩”“晶”“流”,“偏心掃描”分詞為“偏心”“掃描”,這樣就會丟失短文本原有的特征。針對以上現(xiàn)象,就需要在對故障文本信息進(jìn)行處理的過程中進(jìn)行特定操作,以達(dá)到正確獲取故障短文本語義信息的目的。
故障文本信息預(yù)處理就是將故障文本通過一系列的操作,將其轉(zhuǎn)化為計(jì)算機(jī)能夠讀懂的信息,隨著當(dāng)前自然語言處理領(lǐng)域研究的深入,對于文本信息的預(yù)處理方法愈發(fā)變得多樣化,但整體流程基本一致。即文本獲取、分詞、文本清洗、向量化等步驟。
此次實(shí)驗(yàn)的故障文本分詞用的是jieba分詞,鑒于之前提到專業(yè)領(lǐng)域的專有詞匯過多可能會影響分詞的準(zhǔn)確性,所以在分詞之前,將軍事裝備領(lǐng)域特有詞匯進(jìn)行了匯總,形成了一份專業(yè)領(lǐng)域特有的自定義詞典,在分詞之前將自定義詞典載入jieba詞庫內(nèi),這樣能有效提升分詞的準(zhǔn)確性。
圖2 jieba自定義詞典部分截圖
獲取分詞后,需要去掉分詞中的停用詞。停用詞指一些不包含主要具體語義信息的功能詞、副詞等,將這些停用詞去掉后不僅不會對文本信息產(chǎn)生大的影響,而且可以在文本匹配或者信息檢索中能有效節(jié)省存儲空間并提高搜索和匹配效率。該論文所采用的停用詞表為“百度停用詞表”。
詞向量化就是將字詞映射到向量空間里(word embedding),用向量來表示字詞,這樣便于計(jì)算機(jī)對字詞的理解和計(jì)算,為相似度計(jì)算提供條件。當(dāng)前生成詞向量的方法主要分兩大類,一類是基于統(tǒng)計(jì)學(xué)的方法,如共現(xiàn)矩陣、SVD(奇異值分解)等;另一類是是基于不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)的語言模型方法,比較經(jīng)典有word2vec、glove、ELMo、BERT 等。
有了分詞對應(yīng)的詞向量,下一步需要做的就是將詞向量轉(zhuǎn)化為句向量,這樣才能通過整句進(jìn)行故障現(xiàn)象的相似度匹配。對于當(dāng)前NLP領(lǐng)域的句向量生成方式,主要包括了兩類,一類是利用整個(gè)數(shù)據(jù)集(非監(jiān)督學(xué)習(xí))或者訓(xùn)練集(監(jiān)督學(xué)習(xí))的文檔數(shù)據(jù)進(jìn)行訓(xùn)練,建立以生成句向量作為最終輸出的模型,這種方法需要依賴大量的數(shù)據(jù)資源,其中比較成熟的方法有:Doc2Vec、CNN文本分類器等方法;第二類方法則是利用現(xiàn)成的詞向量用不同的數(shù)學(xué)或基于文本統(tǒng)計(jì)信息的算法來計(jì)算句向量,具體方法有:累加法、平均法、TF-IDF加權(quán)平均法和ISF嵌入法。
由于裝備故障數(shù)據(jù)規(guī)模較小,通過數(shù)據(jù)集訓(xùn)練生成模型的效果不理想,所以在此運(yùn)用騰訊AI Lab開源的包含了800多萬中文詞匯的200維詞向量數(shù)據(jù),該數(shù)據(jù)采用了基于Skip-Gram(SG)的DSG算法,額外考慮了詞的相對位置,提高了詞向量語義表示的準(zhǔn)確性。鑒于詞向量都是預(yù)訓(xùn)練好的,所以在此我們使用第二類方法進(jìn)行計(jì)算。根據(jù)故障數(shù)據(jù)特點(diǎn),大多數(shù)裝備故障文本字?jǐn)?shù)都在十字以內(nèi),文本信息較短,句法結(jié)構(gòu)簡單,并且各個(gè)故障現(xiàn)象之間沒有任何關(guān)系,都是獨(dú)立的數(shù)據(jù)信息,所以基于在整個(gè)文檔中的詞頻和語料庫統(tǒng)計(jì)數(shù)據(jù)的TF-IDF和ISF算法并不具有優(yōu)勢,因此,在此選擇被廣泛運(yùn)用的平均法來生成句向量。
平均法計(jì)算句向量就是將詞向量加起來,然后,除以詞向量的個(gè)數(shù)。計(jì)算公式為:
本文實(shí)驗(yàn)環(huán)境為 Windows10操作系統(tǒng),使用Pycharm Community Edition2019.2.5作為開發(fā)工具,數(shù)據(jù)庫采用 MySql5.7版本,使用Python3.7開發(fā)語言實(shí)現(xiàn)相似度計(jì)算。下圖為通過平均法計(jì)算句向量的部分結(jié)果截圖。
圖3 句向量計(jì)算結(jié)果部分截圖
在獲得代表裝備故障現(xiàn)象的句向量后,通過與裝備故障庫內(nèi)的故障現(xiàn)象數(shù)據(jù)進(jìn)行相似度計(jì)算,可以找到和當(dāng)前裝備故障類似的所有故障案例,通過案例的有效信息為故障的判排提供思路和依據(jù)。
當(dāng)前對于文本相似度計(jì)算的方法主要包括基于字符串(String-based)的方法、基于語料庫(Corpusbased)的方法、基于世界知識(Knowledge-based)的方法和其他方法,具體請見圖4,這些方法涵蓋了NLP領(lǐng)域?qū)ξ谋鞠嗨贫扔?jì)算的幾乎所有方法,且各自的優(yōu)缺點(diǎn)和適用場合不同,但這些方法都是針對從文本語料庫為起始,通過字符串、模型或者統(tǒng)計(jì)信息等不同方式來計(jì)算文本之間的相似度。
基于字符串的相似度計(jì)算方法中,當(dāng)前運(yùn)用較廣泛的有編輯距離、最長公共子序列(LCS)、余弦相似度、歐氏距離、杰卡德系數(shù)(Jaccard)等。因?yàn)闅W氏距離和編輯距離的結(jié)果不是以百分比的形式體現(xiàn)的,所以在此無法進(jìn)行結(jié)果的直觀比較,所以主要是針對余弦相似度、杰卡德系數(shù)、詞頻算法和詞頻-逆文檔頻率進(jìn)行相似度計(jì)算,故障文本分別為“發(fā)動(dòng)機(jī)不能啟動(dòng)”和“發(fā)動(dòng)機(jī)啟動(dòng)不了”,兩個(gè)文本的相似度結(jié)果如下。
表1 相似度計(jì)算結(jié)果
通過上表實(shí)驗(yàn)結(jié)果可知,在基于預(yù)訓(xùn)練的騰訊詞向量基礎(chǔ)上,余弦相似度算法在計(jì)算句子相似度的準(zhǔn)確率上是最高的,即求解兩個(gè)向量夾角的余弦值,也就是向量點(diǎn)乘以除以二者的模長。公式如下:
圖5 余弦相似度計(jì)算結(jié)果
圖4 文本相似度計(jì)算方法
本文在針對軍事裝備故障現(xiàn)象的相似度計(jì)算方面,考慮到故障文本信息簡短、特征稀疏、語義豐富的特點(diǎn),采取了基于騰訊預(yù)訓(xùn)練的詞向量來計(jì)算故障文本之間的相似度,為故障現(xiàn)象匹配提供了方法和思路。由于杰卡德系數(shù)(Jaccard)、詞頻算法(TF)、詞頻-逆文檔頻率(TF-IDF)算法只需通過字符串信息生成詞頻矩陣,免去了預(yù)訓(xùn)練詞向量這一過程,進(jìn)而體現(xiàn)了騰訊運(yùn)用DSG算法預(yù)訓(xùn)練的詞向量在基于語序表征語義信息方面的優(yōu)勢,而且詞頻算法(TF)和詞頻-逆文檔頻率(TF-IDF)算法涵蓋的詞頻統(tǒng)計(jì)信息對于每條都相互獨(dú)立的裝備故障數(shù)據(jù)而言,并不能很好地反映關(guān)鍵詞信息。通過最后的實(shí)驗(yàn)結(jié)果可以證明,余弦相似度在計(jì)算兩個(gè)向量的距離上的效果是最好的。
當(dāng)前專家系統(tǒng)在故障數(shù)據(jù)庫的運(yùn)用方面還停留在比較初級的階段,下一步工作主要是對裝備故障數(shù)據(jù)庫的建設(shè),通過充實(shí)故障數(shù)據(jù)庫,在大量數(shù)據(jù)信息支撐下,可以利用訓(xùn)練模型和構(gòu)建知識圖譜來優(yōu)化裝備故障診斷方法的全面性和準(zhǔn)確性,為裝備故障診斷和裝備數(shù)據(jù)資源建設(shè)提供有力支撐。