本發(fā)明屬于人工智能領(lǐng)域,具體涉及一種某型裝備的故障查詢及推理方法。
背景技術(shù):
某型裝備包含大量機(jī)械、液壓、電氣等部件、零件、元件,其故障形式、機(jī)理、維修方式各不相同,如單純使用故障維修手冊(cè),則難以實(shí)現(xiàn)高效、快捷檢索,難以適應(yīng)作戰(zhàn)場(chǎng)景下的裝備維修節(jié)奏;同時(shí),裝備故障形式多樣,難以對(duì)故障維修手冊(cè)中未出現(xiàn)的故障形式提出維修建議,且以故障維修手冊(cè)為藍(lán)本的維修方式難以實(shí)現(xiàn)后期不斷的更新、印發(fā)。因此,開發(fā)一套能夠?qū)崿F(xiàn)智能查詢、案例積累、數(shù)據(jù)擴(kuò)充以及故障推理的裝備維修系統(tǒng)尤為重要。
為高效排除故障,人們把控制理論、信息理論和電子技術(shù)、傳感器技術(shù)及識(shí)別技術(shù)等進(jìn)行結(jié)合并應(yīng)用于裝備故障診斷,形成了很多新的診斷方法。總體來(lái)看,裝備故障診斷技術(shù)大致可分為主觀診斷法、數(shù)學(xué)模型與信息處理診斷法和智能技術(shù)診斷法三類。
主觀診斷法相對(duì)比較傳統(tǒng),主要憑相關(guān)領(lǐng)域的專家和技術(shù)人員通過(guò)自身豐富的工作經(jīng)驗(yàn)、扎實(shí)的故障機(jī)理知識(shí),利用相關(guān)檢測(cè)儀器,對(duì)故障原因及故障部件進(jìn)行判斷,并提出相應(yīng)的排除方法。主觀診斷法在實(shí)際運(yùn)用中,有操作簡(jiǎn)單、效率高、可行性強(qiáng)的良好特點(diǎn),但診斷結(jié)果常帶有主觀傾向性,過(guò)于依賴技術(shù)人員的經(jīng)驗(yàn),只能對(duì)故障進(jìn)行簡(jiǎn)單的定性分析,做不到定量分析。
基于數(shù)學(xué)模型與信息處理的診斷法主要借助一定的數(shù)學(xué)模型、圖表等描述液壓系統(tǒng)各類設(shè)備構(gòu)件的一系列特征值與故障之間關(guān)聯(lián),并通過(guò)分析與處理此類關(guān)聯(lián)來(lái)判斷液壓系統(tǒng)存在的故障。該診斷方法需要對(duì)系統(tǒng)建模,而機(jī)電液耦合產(chǎn)生的非線性環(huán)節(jié),使系統(tǒng)建模比較困難。所以此故障診斷法在液壓系統(tǒng)故障診斷應(yīng)用中受到了一定的限制,有待于進(jìn)一步改進(jìn)。
智能診斷技術(shù)通過(guò)運(yùn)用故障智能診斷系統(tǒng),能模仿人腦對(duì)問(wèn)題進(jìn)行思考和分析,是故障診斷技術(shù)和計(jì)算機(jī)技術(shù)共同融合的成果,也是當(dāng)前故障診斷領(lǐng)域研究的重點(diǎn)。智能故障診斷技術(shù)是從數(shù)據(jù)源收集大量、類型多樣且內(nèi)容真實(shí)的故障信息和數(shù)據(jù),并以此作為研究對(duì)象,以數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘和深度學(xué)習(xí)等算法為分析工具,從中找出與故障有關(guān)的未知的相關(guān)關(guān)系、診斷規(guī)則以及其它有用信息,最后將診斷結(jié)果利用可視化等技術(shù)展現(xiàn)出來(lái),從而實(shí)現(xiàn)故障診斷的一個(gè)過(guò)程,其核心是數(shù)據(jù)分析算法。
目前,基于智能技術(shù)的故障診斷法主要有基于神經(jīng)網(wǎng)絡(luò)的診斷法、基于專家系統(tǒng)的診斷法以及將多種不同的診斷技術(shù)相互融合而形成的綜合智能診斷技術(shù)等。該方法在目前的故障診斷中應(yīng)用比較廣泛,特別是基于技術(shù)融合的診斷技術(shù)。該方法能夠快速識(shí)別、診斷故障,但知識(shí)獲取困難、難于理解。
技術(shù)實(shí)現(xiàn)要素:
為克服傳統(tǒng)的基于規(guī)則的推理方法的缺點(diǎn),本發(fā)明提供了一種某型裝備的故障查詢及推理方法,使用聚類算法及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)計(jì)算各個(gè)案例特征之間的相似度,學(xué)習(xí)收斂速度快,訓(xùn)練簡(jiǎn)潔。
本發(fā)明采用如下技術(shù)方案來(lái)實(shí)現(xiàn)的:
一種某型裝備的故障查詢及推理方法,包括以下步驟:
步驟1)建立數(shù)據(jù)庫(kù)、錄入數(shù)據(jù)
建立mysql數(shù)據(jù)庫(kù)并錄入故障特征及解決方案,數(shù)據(jù)庫(kù)的建立為本體建模提供思路;
步驟2)本體建模
使用protege建模工具對(duì)知識(shí)圖譜中的類和對(duì)象屬性進(jìn)行本體建模,構(gòu)建了知識(shí)圖譜的本體結(jié)構(gòu);
步驟3)生成rdf文檔
利用d2rq工具把步驟1中mysql的數(shù)據(jù)轉(zhuǎn)為rdf格式并上傳至fuseki服務(wù)器,構(gòu)成知識(shí)圖譜,生成的rdf格式文件用于下一步驟中的sparsql語(yǔ)言查詢;
步驟4)輸入故障特征利用知識(shí)圖譜查詢解決方案
輸入故障特征,生成sparsql查詢語(yǔ)句,發(fā)送給fuseki服務(wù)器,利用知識(shí)圖譜查詢解決方案;
步驟5)推理數(shù)據(jù)庫(kù)中沒有的故障解決方案
利用聚類算法及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)推理數(shù)據(jù)庫(kù)中沒有的即步驟4中查詢不到的故障解決方案。
本發(fā)明進(jìn)一步的改進(jìn)在于,所述步驟1)建立mysql數(shù)據(jù)庫(kù)并錄入故障特征及解決方案的方法如下:
首先建立mysql數(shù)據(jù)庫(kù),分別建立“故障特征表”、“解決方案特征表”和故障特征與解決方案之間的“關(guān)系表”;再獲取大量故障與解決方案的案例描述,利用正則表達(dá)式匹配的方法提取出裝備類型、裝備型號(hào)、溫度、鹽度、海拔、鹽度、晝夜溫差等故障特征,再利用tf-idf算法獲取每條案例中詞頻高且語(yǔ)料庫(kù)其他案例中詞頻低的關(guān)鍵詞,將二者結(jié)合作為一條案例的故障特征;最后將故障特征關(guān)鍵詞、解決方案特征關(guān)鍵詞與二者之間的關(guān)系錄入數(shù)據(jù)庫(kù)。
本發(fā)明進(jìn)一步的改進(jìn)在于,所述步驟2)本體建模的方法如下:
使用protege建模工具進(jìn)行本體建模,首先,創(chuàng)建兩個(gè)類:“故障特征”類和“解決方案特征”類,再創(chuàng)建兩個(gè)對(duì)象屬性:“fea2sol”表示某故障特征對(duì)應(yīng)某解決方案特征,“sol2fea”表示某解決方案特征對(duì)應(yīng)某故障特征,這兩個(gè)屬性互為逆屬性,最后將結(jié)果導(dǎo)出上傳至fuseki服務(wù)器。
本發(fā)明進(jìn)一步的改進(jìn)在于,所述步驟3)利用d2rq工具把mysql中的數(shù)據(jù)轉(zhuǎn)為rdf格式的方法:
利用d2rq工具把mysql中的數(shù)據(jù)轉(zhuǎn)為rdf格式,首先執(zhí)行g(shù)enerate-mapping命令生成默認(rèn)的mapping文件,再把默認(rèn)的映射詞匯改為我們本體中的詞匯,最后把修改后的mapping文件導(dǎo)出成三元組的格式,上傳至fuseki服務(wù)器。
本發(fā)明進(jìn)一步的改進(jìn)在于,所述步驟4)輸入故障特征利用知識(shí)圖譜查詢解決方案:
輸入要查詢的故障特征后,系統(tǒng)生成用于查詢r(jià)df格式數(shù)據(jù)的sparql語(yǔ)句,將查詢語(yǔ)句發(fā)送給fuseki服務(wù)器,服務(wù)器返回結(jié)果,結(jié)合d3框架,將結(jié)果展示在前端界面上,若用知識(shí)圖譜沒有查詢到已有的解決方案特征,則需進(jìn)入故障推理模塊。
本發(fā)明進(jìn)一步的改進(jìn)在于,所述步驟5)推理數(shù)據(jù)庫(kù)中沒有的故障解決方案的方法如下:
當(dāng)一個(gè)待解決的新問(wèn)題出現(xiàn)時(shí),這個(gè)新問(wèn)題就是目標(biāo)案例;利用目標(biāo)案例的描述信息查詢過(guò)去相似的案例,即對(duì)案例庫(kù)進(jìn)行檢索,得到與目標(biāo)案例相類似的源案例,由此獲得對(duì)新問(wèn)題的一些解決方案;如果這個(gè)解答方案失敗將對(duì)其進(jìn)行調(diào)整,以獲得一個(gè)能保存的成功案例,這個(gè)過(guò)程結(jié)束后,能夠獲得目標(biāo)案例的較完整的解決方案;若源案例未能給出正確合適的解,則通過(guò)案例修正并保存能夠獲得一個(gè)新的源案例;
在對(duì)案例庫(kù)進(jìn)行檢索,得到與目標(biāo)案例相似的源案例時(shí),使用聚類算法及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò),計(jì)算出新案例的各個(gè)特征與數(shù)據(jù)庫(kù)中已有案例各個(gè)特征的相似度,給出相似度最高的幾種解決方案特征作為推理結(jié)果。
本發(fā)明進(jìn)一步的改進(jìn)在于,使用聚類算法及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進(jìn)行推理具體操作如下:
首先選取合適的中心點(diǎn)個(gè)數(shù),將案例庫(kù)中所有文本轉(zhuǎn)化成詞向量后進(jìn)行聚類,與輸入的需要的查詢特征屬于一類的就是與查詢案例最相似的一些案例,徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的隱藏層就相當(dāng)于一個(gè)相似度計(jì)算網(wǎng)絡(luò),因此,網(wǎng)絡(luò)被看作是一個(gè)相似性檢測(cè)器,將聚類結(jié)果中,所有與查詢特征詞為同一類的案例特征向量作為徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的隱藏層,查詢故障特征詞向量作為輸入層,故障特征詞權(quán)重作為網(wǎng)絡(luò)的權(quán)重,使用高斯函數(shù)作為隱藏層激活函數(shù),輸出值越大則相似度越大,將輸出值從大到小排列,選取前幾個(gè)相似度最大的案例解決方法作為結(jié)果參考,并在修正之后保存成為一個(gè)新的源案例。
本發(fā)明至少具有如下有益的技術(shù)效果:
本發(fā)明提供的一種某型裝備的故障查詢及推理方法,首先構(gòu)建知識(shí)圖譜進(jìn)行查詢,再在知識(shí)圖譜構(gòu)建的基礎(chǔ)上搭建徑向基函數(shù)神經(jīng)網(wǎng)絡(luò),徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的輸入提前經(jīng)過(guò)了聚類函數(shù)做處理。由于使用了聚類算法及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進(jìn)行基于案例的推理,所以不需要完整獲取知識(shí)的規(guī)則,因而不再受到知識(shí)獲取的瓶頸問(wèn)題的困擾。另外,由于徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)收斂速度快,學(xué)習(xí)能力強(qiáng),因而具備快速地問(wèn)題推理、查詢和求解性能。而且在輸入徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)前,首先使用聚類算法,大大減少了計(jì)算量,提高了查詢響應(yīng)速度。
進(jìn)一步,首先建立mysql數(shù)據(jù)庫(kù),分別建立“故障特征表”、“解決方案特征表”和故障特征與解決方案之間的“關(guān)系表”,這種數(shù)據(jù)庫(kù)構(gòu)建方式為知識(shí)圖譜的構(gòu)建提供了便利;再獲取大量故障與解決方案的案例描述,利用正則表達(dá)式匹配的方法提取出裝備類型、裝備型號(hào)、溫度、鹽度、海拔、鹽度、晝夜溫差等故障特征,再利用tf-idf算法獲取每條案例中詞頻高且語(yǔ)料庫(kù)其他案例中詞頻低的關(guān)鍵詞,將二者結(jié)合作為一條案例的故障特征,因?yàn)樘鞖馓卣鲗?duì)某型裝備故障存在一定程度的影響,tf-idf算法可以區(qū)別相似案例,為查詢推理提供精確度保障;最后將故障特征關(guān)鍵詞、解決方案特征關(guān)鍵詞與二者之間的關(guān)系錄入數(shù)據(jù)庫(kù)。
進(jìn)一步,使問(wèn)題抽象化,方便知識(shí)圖譜的建立,而使用知識(shí)圖譜進(jìn)行查詢與推理比一般的關(guān)系型數(shù)據(jù)庫(kù)更加簡(jiǎn)潔、高效。
進(jìn)一步,將關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)化為三元組形式,使用sparql查詢語(yǔ)言查詢,不用做大量的關(guān)系數(shù)據(jù)庫(kù)表連接。
進(jìn)一步,使用知識(shí)圖譜可以在查詢的基礎(chǔ)上做推理,比使用關(guān)系型數(shù)據(jù)庫(kù)做查詢功能更強(qiáng)大。
進(jìn)一步,使用聚類算法及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進(jìn)行推理:聚類可以大大減少神經(jīng)網(wǎng)絡(luò)計(jì)算量,徑向基函數(shù)收斂速度快,學(xué)習(xí)能力強(qiáng),推理結(jié)果準(zhǔn)確度高。
與傳統(tǒng)的知識(shí)處理方式相比,基于案例推理的方式只根據(jù)需要從案例庫(kù)中檢索出最為相似的已有案例而不需要完整獲取知識(shí)的規(guī)則,因而不再受到知識(shí)獲取的瓶頸問(wèn)題的困擾。另外,由于基于案例的推理具有記憶功能,在面臨相同的決策問(wèn)題時(shí),能夠直接去調(diào)用上一次的推理結(jié)果而無(wú)需重新按照規(guī)則進(jìn)行再次匹配,因而具備快速地問(wèn)題推理、查詢和求解性能。
通過(guò)上述分析可知,基于案例的推理技術(shù)適用于將過(guò)去已有的大量診斷案例作為知識(shí)的來(lái)源,決策者只需要在相應(yīng)的案例庫(kù)中找到類似的故障案例就可以解決問(wèn)題的系統(tǒng)。考慮到實(shí)裝人員在裝備維修維護(hù)理論知識(shí)掌握程度問(wèn)題,使用基于案例的推理系統(tǒng)相較于基于規(guī)則的推理系統(tǒng)更具有優(yōu)勢(shì)。
徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)是一種只含有一個(gè)隱層的神經(jīng)網(wǎng)絡(luò),具有良好的生物學(xué)背景和函數(shù)逼近能力,不僅學(xué)習(xí)速度快,而且具有全局收斂的性質(zhì)。
rbf神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)由三層組成:輸入層、隱藏層、輸出層。其中隱藏層由歷史案例庫(kù)中的計(jì)算單元組成,利用混合學(xué)習(xí)過(guò)程在非監(jiān)督方式下訓(xùn)練實(shí)現(xiàn)。選取高斯函數(shù)作為隱藏層的激活函數(shù)。高斯函數(shù)圖像是兩邊衰減且徑向?qū)ΨQ的,當(dāng)選取的中心與輸入數(shù)據(jù)很接近時(shí),才對(duì)輸入有真正的映射作用,若中心與查詢點(diǎn)很遠(yuǎn),輸出的結(jié)果趨近于零。所以,網(wǎng)絡(luò)可被看作是一個(gè)相似性檢測(cè)器。因此,使用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)作為推理過(guò)程的關(guān)鍵,具有很多優(yōu)點(diǎn)。
附圖說(shuō)明
圖1為本發(fā)明的流程示意圖。
圖2為構(gòu)建本體的示意圖。
圖3為構(gòu)建數(shù)據(jù)庫(kù)錄入數(shù)據(jù)示意圖。
圖4為生成sparql查詢語(yǔ)句示意圖。
圖5為sparql查詢語(yǔ)句查詢結(jié)果示意圖。
圖6為查詢案例庫(kù)已有案例故障解決方案的示意圖。
圖7為新案例推理結(jié)果的示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做詳細(xì)說(shuō)明;
如圖1所示,本發(fā)明提供的一種某型裝備的故障查詢及推理方法,包括以下步驟:步驟一:建立數(shù)據(jù)庫(kù)并錄入數(shù)據(jù);步驟二:本體建模;步驟三:生成rdf文檔;步驟四:輸入故障特征利用知識(shí)圖譜查詢解決方案特征;步驟五:推理數(shù)據(jù)庫(kù)中沒有的故障解決方案。本發(fā)明具有學(xué)習(xí)速度快,訓(xùn)練簡(jiǎn)單,性能良好的優(yōu)點(diǎn)。
某型裝備的故障查詢及推理方法步驟如下:
第一步、建立數(shù)據(jù)庫(kù)并錄入數(shù)據(jù)
首先建立mysql數(shù)據(jù)庫(kù),分別建立“故障特征表”、“解決方案特征表”和故障特征與解決方案之間的“關(guān)系表”?!肮收咸卣鞅怼卑卣骶幪?hào)、故障特征、案例編號(hào)、權(quán)重四個(gè)字段,“解決方案特征表”包含解決方案編號(hào)、解決方案、案例編號(hào)三個(gè)字段?!瓣P(guān)系表”包含故障特征編號(hào)與解決方案編號(hào)兩個(gè)字段。之后再獲取大量故障與解決方案的案例描述,因?yàn)樘鞖庖蛩貙?duì)某型裝備有一定程度上的影響,所以需要利用正則表達(dá)式匹配的方法提取出裝備類型、裝備型號(hào)、溫度、鹽度、海拔、鹽度、晝夜溫差等故障特征,再利用tf-idf算法獲取每條案例中詞頻高且語(yǔ)料庫(kù)其他案例中詞頻低的關(guān)鍵詞,將二者結(jié)合作為一條案例的故障特征。最后將故障特征關(guān)鍵詞、解決方案特征關(guān)鍵詞與二者之間的關(guān)系錄入數(shù)據(jù)庫(kù);
第二步、本體建模
使用protege建模工具進(jìn)行本體建模。首先,創(chuàng)建兩個(gè)類:“故障特征”類和“解決方案特征”類。再創(chuàng)建兩個(gè)對(duì)象屬性:“fea2sol”表示某故障特征對(duì)應(yīng)某解決方案特征,“sol2fea”表示某解決方案特征對(duì)應(yīng)某故障特征,這兩個(gè)屬性互為逆屬性,最后將結(jié)果導(dǎo)出上傳至fuseki服務(wù)器,本體建模結(jié)果如圖2所示;
第三步、生成rdf文檔
利用d2rq工具把mysql中的數(shù)據(jù)轉(zhuǎn)為rdf格式。首先執(zhí)行g(shù)enerate-mapping命令生成默認(rèn)的mapping文件,再把默認(rèn)的映射詞匯改為我們本體中的詞匯,最后把修改后的mapping文件導(dǎo)出成三元組的格式,上傳至fuseki服務(wù)器;
第四步、輸入故障特征利用知識(shí)圖譜查詢解決方案
輸入故障特征后,系統(tǒng)會(huì)生成rdf查詢語(yǔ)言sparql,將查詢語(yǔ)句發(fā)送給fuseki服務(wù)器,服務(wù)器返回結(jié)果,結(jié)合前端d3框架,將結(jié)果展示在前端頁(yè)面上,若數(shù)據(jù)庫(kù)中沒有查詢到已有的解決方案特征,則需進(jìn)入故障推理模塊。
如圖3所示,開發(fā)某型裝備案例錄入與故障推理系統(tǒng),將若干故障描述分詞后錄入數(shù)據(jù)庫(kù)構(gòu)成故障案例數(shù)據(jù)庫(kù),在查詢時(shí)將查詢的故障特征轉(zhuǎn)化為如圖4所示的sparql查詢語(yǔ)句發(fā)送至fuseki服務(wù)器,服務(wù)器返回如圖5所示的查詢結(jié)果。圖6為某案例的查詢結(jié)果使用前端d3框架顯示在頁(yè)面的結(jié)果。
第五步、推理數(shù)據(jù)庫(kù)中沒有的故障解決方案
當(dāng)一個(gè)待解決的新問(wèn)題出現(xiàn)時(shí),這個(gè)新問(wèn)題就是目標(biāo)案例;利用目標(biāo)案例的描述信息查詢過(guò)去相似的案例,即對(duì)案例庫(kù)進(jìn)行檢索,得到與目標(biāo)案例相類似的源案例,由此獲得對(duì)新問(wèn)題的一些解決方案;如果這個(gè)解答方案失敗將對(duì)其進(jìn)行調(diào)整,以獲得一個(gè)能保存的成功案例。這個(gè)過(guò)程結(jié)束后,可以獲得目標(biāo)案例的較完整的解決方案;若源案例未能給出正確合適的解,則通過(guò)案例修正并保存可以獲得一個(gè)新的源案例。
在對(duì)案例庫(kù)進(jìn)行檢索,得到與目標(biāo)案例相似的源案例時(shí),使用聚類算法及徑向基函數(shù)神經(jīng)網(wǎng)絡(luò),計(jì)算出新案例的各個(gè)特征與數(shù)據(jù)庫(kù)中已有案例各個(gè)特征的相似度,給出相似度最高的幾種解決方案特征。具體步驟如下:
首先選取合適的中心點(diǎn)個(gè)數(shù),將案例庫(kù)中所有文本轉(zhuǎn)化成詞向量后進(jìn)行聚類,與輸入的需要的查詢特征屬于一類的就是與查詢案例最相似的一些案例。徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的隱藏層就相當(dāng)于一個(gè)相似度計(jì)算網(wǎng)絡(luò),因此,網(wǎng)絡(luò)可被看作是一個(gè)相似性檢測(cè)器。將聚類結(jié)果中,所有與查詢特征詞為同一類的案例特征向量作為徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的隱藏層,查詢故障特征詞向量作為輸入層,故障特征詞權(quán)重作為網(wǎng)絡(luò)的權(quán)重,使用高斯函數(shù)作為隱藏層激活函數(shù),輸出值越大則相似度越大,將輸出值從大到小排列,選取前幾個(gè)相似度最大的案例解決方法作為結(jié)果參考,并在修正之后保存成為一個(gè)新的源案例。
下表為輸入某案例的推理結(jié)果:
圖7為某輸入案例的三個(gè)相似案例。