田 野,蕭 箏,王繼業(yè),婁 平,嚴(yán)俊偉
(武漢理工大學(xué)a.機(jī)電工程學(xué)院;b.信息工程學(xué)院,武漢 430070)
磁懸浮軸承系統(tǒng)由于結(jié)構(gòu)緊湊可靠,能進(jìn)行自動(dòng)平衡等特性,已廣泛應(yīng)用于軍工,航天等精細(xì)化和高端制造裝備行業(yè),這對(duì)磁懸浮軸承的可靠性提出了更高的要求。眾多學(xué)者針對(duì)磁懸浮軸承系統(tǒng)不同故障進(jìn)行了深入研究,這些研究成果是磁懸浮軸承故障知識(shí)的重要來(lái)源[1-5]。但是,目前積累的故障案例、專家經(jīng)驗(yàn)和研究成果沒(méi)有被有效地利用,故障知識(shí)經(jīng)驗(yàn)零散、價(jià)值密度較低,導(dǎo)致在磁懸浮軸承故障領(lǐng)域存在知識(shí)表示不清晰、形式不規(guī)范、可復(fù)用性差的問(wèn)題,影響了磁懸浮領(lǐng)域故障診斷效能的提升。因此,如何展示磁懸浮軸承故障知識(shí)的發(fā)展進(jìn)程與結(jié)構(gòu)關(guān)系,是亟需考慮并解決的問(wèn)題。
知識(shí)圖譜是一種新的知識(shí)存儲(chǔ)與檢索技術(shù),最早應(yīng)用在谷歌搜索引擎上[6],以知識(shí)范圍劃分,可分為通用領(lǐng)域知識(shí)圖譜和垂直領(lǐng)域知識(shí)圖譜[7],國(guó)外垂直領(lǐng)域知識(shí)圖譜主要涉及地理領(lǐng)域,學(xué)術(shù)領(lǐng)域[8]和生物領(lǐng)域[9],在國(guó)內(nèi)垂直領(lǐng)域知識(shí)圖譜研究中,阮彤等[10]提出增量式知識(shí)圖譜創(chuàng)建方法,成功構(gòu)建了中醫(yī)藥、海洋和企業(yè)知識(shí)圖譜;李文鵬等[11]構(gòu)建的軟件知識(shí)圖譜解決了在軟件復(fù)用中知識(shí)檢索較難的問(wèn)題;劉園園等[12]提出了一套高校信息知識(shí)圖譜構(gòu)建方法,實(shí)現(xiàn)了高考咨詢問(wèn)題自動(dòng)智能問(wèn)答。
因此,本文提出磁懸浮軸承垂直領(lǐng)域故障知識(shí)圖譜構(gòu)建方法,通過(guò)知識(shí)圖譜直觀形象地對(duì)磁懸浮軸承故障知識(shí)表示,以實(shí)現(xiàn)對(duì)故障傳播的可解釋、故障根因的可定位,也能對(duì)故障排查起到參考作用。通過(guò)將歷史故障數(shù)據(jù)轉(zhuǎn)化為有價(jià)值的知識(shí),探究故障案例間的關(guān)聯(lián)關(guān)系,使故障知識(shí)結(jié)構(gòu)化、顯性化和可視化,從而為磁懸浮軸承健康管理提供良好的知識(shí)輸送和共享。
磁懸浮軸承故障數(shù)據(jù)可以分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。其中結(jié)構(gòu)化數(shù)據(jù)包括磁懸浮軸承轉(zhuǎn)子、傳感器、控制器和執(zhí)行器等裝置和設(shè)備的拓?fù)浣Y(jié)構(gòu)還有傳感器采集到的二維表格數(shù)據(jù);非結(jié)構(gòu)化數(shù)據(jù)主要是故障案例信息,說(shuō)明文檔以及相關(guān)文獻(xiàn)等文本數(shù)據(jù)。其中,對(duì)于非結(jié)構(gòu)化數(shù)據(jù),存在以下特點(diǎn):
(1)文本數(shù)據(jù)較短。短文本可能會(huì)導(dǎo)致利用文本統(tǒng)計(jì)信息對(duì)文本進(jìn)行處理的算法效果下降。
(2)專業(yè)詞匯比較多。
(3)有用的關(guān)鍵詞信息在文本中的分布呈現(xiàn)出首尾分布較為密集,中間分布較為稀疏的特點(diǎn)。
(4)故障短語(yǔ)關(guān)鍵詞連續(xù)成對(duì)出現(xiàn)。例如:“斷路和電流的值為0”,可以將此特點(diǎn)作為詞語(yǔ)特征信息進(jìn)行有效利用。
(5)文本結(jié)構(gòu)不統(tǒng)一。多詞同義的現(xiàn)象比較突出。
為了對(duì)文本數(shù)據(jù)進(jìn)行統(tǒng)一處理,需要對(duì)相關(guān)的數(shù)據(jù)進(jìn)行抽取以及分類。根據(jù)第1.1節(jié)中磁懸浮軸承故障文本數(shù)據(jù)相關(guān)特點(diǎn),對(duì)文本數(shù)據(jù)中的相關(guān)信息分為如下幾類:裝置組件類(dev),現(xiàn)象類(phe),特征類(fea),原因類(rea),處理類(dis),如表1所示。
表1 磁懸浮軸承故障數(shù)據(jù)信息分類表
1.2.1 文本預(yù)處理
在磁懸浮軸承故障文本數(shù)據(jù)中,存在大量的無(wú)用詞和連詞,因此需要將文本數(shù)據(jù)進(jìn)行分詞去噪,再將關(guān)鍵詞標(biāo)記出來(lái)。本文使用Jieba分詞庫(kù)進(jìn)行分詞處理。
表2展示了在Jieba分詞精確模式下部分自定義的詞典并去除無(wú)用相關(guān)分詞之后的結(jié)果。
表2 磁懸浮軸承故障文本數(shù)據(jù)分詞示例
1.2.2 文本向量生成
分詞之后需要進(jìn)行文本向量的表示,文本向量的表示方法有兩大類,第一類是獨(dú)熱編碼表示,第二類是分布式編碼表示,在分布式編碼表示中以word2vec比較常用,由于獨(dú)熱編碼有可能會(huì)造成大量冗余的稀疏矩陣以及造成維度災(zāi)難,本文使用分布式編碼中的word2vec。
word2vec有CBOW(連續(xù)詞袋模型)以及Skip-gram(跳字模型)兩種訓(xùn)練模型。對(duì)于數(shù)據(jù)量不太大或者生僻詞的出現(xiàn)次數(shù)較少的時(shí)候,Skip-gram模型訓(xùn)練得到的詞向量會(huì)比CBOW模型的結(jié)果的準(zhǔn)確率會(huì)高一點(diǎn),但兩者都存在一個(gè)問(wèn)題:當(dāng)文本數(shù)據(jù)中的無(wú)用詞較多時(shí)會(huì)影響詞向量的特征表達(dá)。為了更加準(zhǔn)確地表達(dá)文本數(shù)據(jù)的特征,本文利用表2的分詞字典,建立文本數(shù)據(jù)的共現(xiàn)矩陣,然后將點(diǎn)互信息值引入Skip-gram目標(biāo)函數(shù)中,以此來(lái)提高模型對(duì)關(guān)鍵詞的表達(dá)。具體過(guò)程如下:
設(shè)type表示磁懸浮軸承文本數(shù)據(jù)的某一類別,則type∈{dev,phe,fea,rea,dis},Mtype表示該類的關(guān)鍵詞共現(xiàn)矩陣,設(shè)Vw表示該類的關(guān)鍵詞集合,w,c∈Vw,w表示中心關(guān)鍵詞,c表示處于關(guān)鍵詞上下文窗口之中的詞,Do表示共現(xiàn)詞對(duì)的集合,nb(w,c)表示詞對(duì)(w,c)在Do中出現(xiàn)的次數(shù),其中
nb(w)=∑c′∈Vwnb(w,c′)
(1)
nb(c)=∑c′∈Vwnb(c,w′)
(2)
為了降低文本數(shù)據(jù)中無(wú)用詞對(duì)詞向量的信息表達(dá)的影響,點(diǎn)互信息值PMI計(jì)算公式如下:
(3)
式中,p表示關(guān)鍵詞或者詞對(duì)出現(xiàn)的概率。
設(shè)Skip-gram訓(xùn)練的詞庫(kù)text長(zhǎng)度為k,C(w)為上下文窗口中的詞集,c∈C(w),則模型的目標(biāo)函數(shù)為:
L=∏w∈text∏c∈C(w)P(c|w)
(4)
式中,P(c|w)表示當(dāng)前關(guān)鍵詞為w,預(yù)測(cè)上下文關(guān)鍵詞為c的概率,對(duì)其展開(kāi)得到:
(5)
式中,xc表示上下文窗口中詞集元素;yw表示關(guān)鍵詞元素。
在該目標(biāo)函數(shù)中,引入點(diǎn)互信息值算子,讓目標(biāo)函數(shù)對(duì)關(guān)鍵詞更加敏感,得到最終的目標(biāo)函數(shù):
(6)
通過(guò)隨機(jī)梯度下降法求解式(6)的最小值并得到詞向量結(jié)果,詞向量包含更多關(guān)鍵詞的信息,然后利用多種生成方法得到的詞向量通過(guò)BiLSTM算法驗(yàn)證在不同維度下的分類正確率。
磁懸浮軸承系統(tǒng)由多個(gè)組件組成,因此針對(duì)結(jié)構(gòu)化數(shù)據(jù)中的拓?fù)浣Y(jié)構(gòu)數(shù)據(jù),提出將該類數(shù)據(jù)解析為三元組,設(shè)為G,則G的表達(dá)式為:
(7)
式中,En為磁懸浮軸承裝置;Re為關(guān)系集合;Sm為三元組集合;ei表示磁懸浮軸承組成部件;rj表示裝置之間的關(guān)系;sk表示ei1和ei2與其之間的關(guān)系rj1的三元組。
將非結(jié)構(gòu)化數(shù)據(jù)解析為五元組,設(shè)為T,則T的表達(dá)式為:
(8)
式中,D為故障設(shè)備和裝置;P為故障現(xiàn)象;F為故障特征;Rs為故障原因;H為故障處理措施。
2.2.1 字符串匹配模板庫(kù)
字符串能否高成功率進(jìn)行匹配很大程度上由字符串匹配模板庫(kù)決定。由于磁懸浮軸承故障數(shù)據(jù)長(zhǎng)度不等且詞匯比較復(fù)雜,并且形式和結(jié)構(gòu)不一,因此應(yīng)該預(yù)先根據(jù)磁懸浮軸承基本信息,相關(guān)的故障特點(diǎn)以及一些書(shū)籍文獻(xiàn)等構(gòu)建磁懸浮軸承故障數(shù)據(jù)內(nèi)容匹配模板庫(kù),如表3所示,并且人工進(jìn)行補(bǔ)充和修正。
表3 磁懸浮軸承故障數(shù)據(jù)內(nèi)容匹配模板來(lái)源及示例
2.2.2 字符串匹配算法
字符串匹配是在一個(gè)長(zhǎng)字符串中搜索某個(gè)字符串的所有出現(xiàn)的位置并記錄和返回,字符串匹配算法主要有兩種,第一種是普通模式匹配算法,第二種是快速模式匹配算法,普通模式匹配算法簡(jiǎn)單但是效率比較低;快速模式匹配算法能夠保證在不進(jìn)行回退的前提下,在匹配失敗的時(shí)候,讓模式串向右移動(dòng)最大距離,從而提高匹配效率,KMP算法就是常用的快速模式匹配算法。
磁懸浮軸承故障數(shù)據(jù)的字符串文本一般較為短小,并且關(guān)鍵詞信息在文本中的分布呈現(xiàn)出首尾分布較為密集,中間分布較為稀疏的特點(diǎn),KMP算法在進(jìn)行字符串匹配的時(shí)候,首尾是需要著重注意的部分,針對(duì)此特點(diǎn)進(jìn)行首尾雙向表的循環(huán)改進(jìn),采用前后兩個(gè)指針記錄位置,匹配到關(guān)鍵字即跳出循環(huán)。
2.2.3 基于字符串匹配的內(nèi)容解析方法
對(duì)于單條磁懸浮軸承文本數(shù)據(jù)信息,基于字符串匹配的語(yǔ)義解析方法流程如圖1所示,方法概括如下:
(1)根據(jù)第2.2.1節(jié)中所述匹配模板依次匹配裝置組件、故障現(xiàn)象、故障特征、故障原因和故障處理措施等語(yǔ)義解析框架要素。對(duì)于單個(gè)要素,若匹配成功,則將匹配成功的字符結(jié)果存儲(chǔ)至對(duì)應(yīng)語(yǔ)義解析框架要素位置并將相應(yīng)字符從待匹配文本內(nèi)刪除;若未找到匹配項(xiàng),則該要素為空。
(2)磁懸浮軸承信息字符通過(guò)改進(jìn)后的KMP算法遍歷完成后,所有匹配過(guò)程結(jié)束,此時(shí)更新匹配模板。
圖1 字符串匹配流程
本文的文本向量化實(shí)驗(yàn)環(huán)境為基于Python的TensorFlow2.5.0和gensim3.8.1,輸出層采用softmax,訓(xùn)練窗口大小設(shè)為5,本文設(shè)置3組不同維數(shù)的詞向量,分別是50、100、150。以收集到的磁懸浮故障案例和文獻(xiàn)中的文本數(shù)據(jù)為語(yǔ)料庫(kù),在前期文本預(yù)處理完成之后,利用改進(jìn)的Skip-gram算法訓(xùn)練生成磁懸浮軸承故障詞向量,改進(jìn)的Skip-gram算法訓(xùn)練生成的部分關(guān)鍵詞的100維詞向量結(jié)果如表4所示。
表4 改進(jìn)Skip-gram算法生成100維詞向量結(jié)果表
本文文本分類實(shí)驗(yàn)環(huán)境是Python3.6的TensorFlow2.5.0,通過(guò)對(duì)磁懸浮軸承歷史故障案例以及書(shū)籍文獻(xiàn)的文本預(yù)處理,得到處理后的訓(xùn)練樣本共1060條,用以訓(xùn)練BiLSTM分類模型,利用BiLSTM模型將3種詞向量生成方法的詞向量在不同維數(shù)下進(jìn)行分類實(shí)驗(yàn),準(zhǔn)確率和損失函數(shù)如圖2所示(以100維詞向量為例)。
圖2 詞向量訓(xùn)練過(guò)程損失值和準(zhǔn)確率變化
使用準(zhǔn)確率(A)、精確率(Pr)和召回率(Re)作為實(shí)驗(yàn)的評(píng)價(jià)指標(biāo),公式如下:
(9)
(10)
(11)
式中,cor表示正確分類的樣本數(shù);sum表示樣本總數(shù);TPS表示正確正樣本數(shù);FPS表示錯(cuò)誤正樣本;FNS表示被識(shí)別為負(fù)樣本的正樣本數(shù)。
針對(duì)本文為多分類問(wèn)題,模型的等價(jià)精確率和召回率公式如式(12)所示:
(12)
式中,ωi表示第i類樣本在總樣本數(shù)的占比權(quán)重;pi表示第i類的精確率;ri表示第i類的召回率,3組分類對(duì)比實(shí)驗(yàn)的結(jié)果如圖3所示。
圖3 分類對(duì)比實(shí)驗(yàn)結(jié)果
當(dāng)詞向量維數(shù)較低時(shí),分類結(jié)果都不夠準(zhǔn)確,當(dāng)維數(shù)漸高時(shí),各指標(biāo)反映的準(zhǔn)確度普遍有所提升,改進(jìn)Skip-gram算法效果比其他兩種效果較為理想,但是維數(shù)過(guò)高,例如150維詞向量,相較于100維詞向量各指標(biāo)反映的準(zhǔn)確度沒(méi)有明顯提升,反而會(huì)增加訓(xùn)練時(shí)長(zhǎng),因此本文選擇100維詞向量作為文本向量。
本文的字符串匹配算法對(duì)比實(shí)驗(yàn)環(huán)境為Python3.6,經(jīng)過(guò)前期文本處理后創(chuàng)建字符串匹配模板庫(kù),隨機(jī)從模板庫(kù)中挑選10、20、30、40、50個(gè)關(guān)鍵詞作為實(shí)驗(yàn)的模式串,以第3.2節(jié)中得到的1060條樣本作為待匹配數(shù)據(jù),兩個(gè)算法的耗時(shí)時(shí)間如表5所示。
表5 不同個(gè)數(shù)關(guān)鍵詞下字符串匹配算法耗時(shí)對(duì)比 (ms)
當(dāng)一次性需要匹配的關(guān)鍵詞個(gè)數(shù)較多時(shí),雙向匹配表KMP算法明顯比基本KMP算法耗時(shí)短,因此能夠更有效率地進(jìn)行批量的磁懸浮軸承故障文本語(yǔ)義解析。
按照第2.2.3節(jié)中提出的內(nèi)容解析方法和流程之后得到關(guān)鍵字段以及對(duì)應(yīng)的分類類別,以分類類別為關(guān)系,分類類別首尾關(guān)鍵字段作為實(shí)體構(gòu)成知識(shí)圖譜的三元組,在進(jìn)行指代消歧和實(shí)體對(duì)齊之后,通過(guò)實(shí)體鏈接使用Neo4j圖數(shù)據(jù)庫(kù)存儲(chǔ)和表現(xiàn)磁懸浮軸承故障知識(shí),磁懸浮軸承故障知識(shí)圖譜創(chuàng)建流程如圖4a所示,如圖4b所示即為磁懸浮軸承故障知識(shí)圖譜。
(a) 創(chuàng)建流程圖
智能搜索與推薦系統(tǒng)支持對(duì)磁懸浮軸承故障知識(shí)圖譜中的某一實(shí)體進(jìn)行搜索,在系統(tǒng)中對(duì)該實(shí)體進(jìn)行檢索并輸出同時(shí)還可以根據(jù)相關(guān)實(shí)體的相似度進(jìn)行推薦,具體效果如圖5a所示?;诖艖腋≥S承故障知識(shí)圖譜的智能問(wèn)答系統(tǒng)如圖5b所示。該系統(tǒng)支持對(duì)于故障形式、故障數(shù)量以及具體實(shí)體的相關(guān)信息提問(wèn)。
(a) 智能搜索與推薦
本文提出了一種磁懸浮軸承故障知識(shí)圖譜的構(gòu)建方法,并在詞向量生成和字符串匹配方法上進(jìn)行了優(yōu)化,所構(gòu)建的知識(shí)圖譜可以為磁懸浮軸承故障的知識(shí)搜索、問(wèn)答和推理診斷等應(yīng)用任務(wù)提供指導(dǎo)意見(jiàn)。