陳潔
摘 要:該文研究了基于案例推理的專家診斷模型中的關(guān)鍵技術(shù)——故障案例庫的建立、故障案例檢索、故障案例的重用,研究探討了案例檢索機(jī)制中字符串相似度的計(jì)算方法,建立了故障檢索機(jī)制的模型。結(jié)合實(shí)際工作的需要,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于案例推理(CBR)的流動(dòng)式起重機(jī)故障診斷系統(tǒng),系統(tǒng)以基于案例推理的診斷技術(shù)為基礎(chǔ),采用關(guān)系型數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)了流動(dòng)式起重機(jī)械的故障診斷。
關(guān)鍵詞:案例推理 流動(dòng)式起重機(jī) 故障診斷
中圖分類號(hào):TP277 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2016)11(b)-0054-03
流動(dòng)式起重機(jī)是臂架類起重機(jī)械中無軌運(yùn)行的起重設(shè)備。隨著國家經(jīng)濟(jì)建設(shè)的高速發(fā)展以及投資主體多元化、設(shè)備租賃市場的迅速發(fā)展,流動(dòng)式起重機(jī)數(shù)量激增。流動(dòng)式起重機(jī)械所產(chǎn)生故障的原因很多并且原因間相互交織、影響,因此對(duì)流動(dòng)式起重機(jī)進(jìn)行故障診斷較為困難。
基于案例推理是人工智能領(lǐng)域的一個(gè)重要的基于知識(shí)的問題求解和學(xué)習(xí)方法,利用已有的經(jīng)驗(yàn)和案例去解決新問題,大大簡化知識(shí)獲取;在新問題與歷史案例之間不完全匹配時(shí)可以給出相似解。因此,在流動(dòng)式起重機(jī)械故障診斷中采用案例推理技術(shù)成為較好的解決方案。該文采用基于案例推理技術(shù),對(duì)流動(dòng)式起重機(jī)械進(jìn)行故障診斷,建立基于案例推理的故障診斷系統(tǒng),解決了流動(dòng)式起重機(jī)故障診斷存在的種種問題。
1 基于案例推理的故障診斷系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)功能
將流動(dòng)式起重機(jī)作為研究對(duì)象,采用基于案例推理的故障診斷方法,將以往維修和檢驗(yàn)中流動(dòng)式起重機(jī)所存在和處理過的故障,描述成由故障的特征集和解決方案組成的故障案例,存儲(chǔ)在所建立故障案例庫中;然后在故障案例庫中搜索與新故障最相似的案例,把系統(tǒng)的建議解應(yīng)用于新故障,如果建議解不能解決故障時(shí)則必須對(duì)建議解進(jìn)行修正,得到新故障的解決方案,并充實(shí)到故障案例庫中,實(shí)現(xiàn)案例推理的自學(xué)習(xí)過程。通過基于案例推理技術(shù),實(shí)現(xiàn)了流動(dòng)式起重機(jī)械故障診斷的便捷性和實(shí)用性。程序功能框圖如圖1所示。
1.2 系統(tǒng)功能模塊
該系統(tǒng)按照程序的功能,劃分為起重機(jī)故障案例管理模塊、案例推理模塊和參數(shù)配置模塊,如圖2所示。在起重機(jī)故障案例管理模塊中,通過Access數(shù)據(jù)庫,采用SQL語言,實(shí)現(xiàn)案例庫的讀取、顯示、修改、添加和刪除功能。案例推理模塊同樣從案例庫中讀取案例,然后采用加權(quán)編輯距離方法,實(shí)現(xiàn)案例推理;然后根據(jù)案例重用的策略,決定是否將新匹配的案例添加到案例庫(見圖3)。在參數(shù)配置模塊中,可以設(shè)置案例匹配的權(quán)值,以及案例配置的相似度值,并管理案例庫的位置以及案例庫的關(guān)鍵詞及項(xiàng)目。
2 基于案例推理的故障診斷系統(tǒng)關(guān)鍵技術(shù)
2.1 故障案例庫的設(shè)計(jì)
案例的結(jié)構(gòu)和內(nèi)容對(duì)案例推理起至關(guān)重要的作用。案例的表達(dá)要遵循一定的規(guī)則,形成規(guī)范的結(jié)構(gòu),以便于以后的檢索和匹配。一個(gè)案例可以由多個(gè)屬性構(gòu)成,用集合表示為以表示案例內(nèi)容的特征集合,其中屬性又可以根據(jù)需要進(jìn)一步細(xì)分為。按照這種屬性結(jié)構(gòu),一個(gè)案例由多個(gè)層次的屬性構(gòu)成,整個(gè)案例庫則由不同屬性層次上的案例關(guān)聯(lián)構(gòu)成。
案例的表達(dá)通常包括案例描述和解決方案等。流動(dòng)式起重機(jī)故障案例表示的主要目標(biāo)是通過案例表示使檢驗(yàn)和維護(hù)人員得到相應(yīng)的故障信息(包括故障現(xiàn)象、發(fā)生位置、原因等)。因此流動(dòng)式起重機(jī)故障案例應(yīng)包括:(1)故障的基本特征信息,如,故障現(xiàn)象、發(fā)生狀態(tài)、發(fā)生位置等。(2)解決方案信息,主要包括故障說明、解決故障方法。案例庫由所收集的案例組成,具有良好的組織方式和索引方法,是有效推理的關(guān)鍵。關(guān)系數(shù)據(jù)庫在案例表示中廣泛應(yīng)用,是通過案例的主要屬性進(jìn)行數(shù)據(jù)存儲(chǔ)。流動(dòng)式起重機(jī)故障案例結(jié)構(gòu)為:案例編號(hào),序列號(hào),故障環(huán)境信息,故障信息描述。其中,故障環(huán)境信息是指流動(dòng)式起重機(jī)故障出現(xiàn)的狀態(tài)、部位等信息,如,流動(dòng)式起重機(jī)在回轉(zhuǎn)時(shí),回轉(zhuǎn)不到位。故障信息描述是指流動(dòng)式起重機(jī)故障發(fā)生后,所觀察到的故障信息及解決故障的方法。利用關(guān)系數(shù)據(jù)庫結(jié)合上述分析來建立案例庫,具體見表1和表2。
2.2 故障案例的檢索技術(shù)
案例的檢索就是從案例庫中按照相應(yīng)的檢索機(jī)制檢索出與實(shí)際案例相似的案例。兩級(jí)相似匹配是目前應(yīng)用較為廣泛的相似性檢索策略,該文的案例檢索就是采用該策略。兩級(jí)相似匹配方法:第一,對(duì)流動(dòng)式起重機(jī)械的故障特征進(jìn)行相似匹配;第二,對(duì)案例的整體進(jìn)行相似匹配;第三,生成相似匹配的案例集,對(duì)將新生成的案例存儲(chǔ)到案例庫中,實(shí)現(xiàn)案例的重用。經(jīng)過兩級(jí)相似匹配得出的相似案例在數(shù)量上得到相應(yīng)的減少,但在相似案例診斷結(jié)果的正確性上有很大的提高。案例的匹配執(zhí)行流程見圖4。
2.2.1 案例匹配輸入?yún)?shù)
案例匹配有3個(gè)關(guān)鍵輸入?yún)?shù):故障類型、故障位置和故障描述。其中,故障類型是選擇項(xiàng)目,一共有機(jī)械系統(tǒng)、液壓系統(tǒng)和電氣系統(tǒng)3種。在流動(dòng)式起重機(jī)發(fā)生故障時(shí),故障的類型容易定位和分類,只要按照故障的形式選擇相應(yīng)的類型即可。另外兩個(gè)參數(shù)(故障位置和故障描述),可根據(jù)故障發(fā)生的位置及故障的具體內(nèi)容輸入關(guān)鍵現(xiàn)象的描述即可。
以流動(dòng)式起重機(jī)吊鉤產(chǎn)生裂紋為例說明案例匹配的過程。首先,吊鉤屬于機(jī)械系統(tǒng),先在故障類型中選擇“機(jī)械系統(tǒng)”,然后在故障位置編輯框中輸入“吊鉤”,接著在故障描述編輯框中輸入“裂紋”。在進(jìn)行案例匹配時(shí),系統(tǒng)自動(dòng)導(dǎo)入案例庫,啟動(dòng)案例匹配引擎,進(jìn)行案例匹配計(jì)算。
2.2.2 案例匹配計(jì)算
案例匹配計(jì)算的核心算法是Levenshtein距離匹配算法。Levenshtein距離匹配算法是計(jì)算兩個(gè)字符串之間的最小編輯距離的算法,所謂的最小編輯距離就是把字符串A通過添加、刪除、替換字符的方式轉(zhuǎn)變成B所需要的最少步驟。這種Levenshtein距離匹配算法在實(shí)際應(yīng)用中有個(gè)問題,就是當(dāng)兩個(gè)字符串長度相差較大的時(shí)候,得出來的結(jié)果會(huì)比較長,且兩個(gè)字符串的相似度會(huì)較低。以故障描述字符串“裂紋”為例,系統(tǒng)將逐個(gè)讀取系統(tǒng)案例庫中所有的案例,并提取案例的故障描述字符段,以讀取到案例中含有“表面有裂紋”為例,如果直接按照Levenshtein距離匹配算法,其相似度計(jì)算結(jié)果為0.4,顯然在實(shí)際匹配的過程中,“裂紋”的字符串應(yīng)該是被包含在“表面有裂紋”的字符串中,顯然這樣的匹配并不準(zhǔn)確。算法改進(jìn)如下:
式中:SL為Levenshtein距離匹配算法得到的相似度;為字符串長度最大值。這樣新計(jì)算出來的相似度為0.92,改進(jìn)后的算法能夠顯著改善字符串包含情況下的匹配的準(zhǔn)確度。
一個(gè)故障包含了多個(gè)關(guān)鍵字段,多個(gè)字段與案例庫中的案例進(jìn)行逐一匹配,每個(gè)字段都得到相應(yīng)的相似度值,在進(jìn)行最終的案例匹配時(shí),需要對(duì)多個(gè)字符串的相似度進(jìn)行綜合。為了提高計(jì)算精度,降低計(jì)算的復(fù)雜性,相似度綜合采用了加權(quán)平均算法。算法如下:
式中:為故障位置與案例庫中的某個(gè)案例的相似度值;為故障描述與該案例的相似度值;、分別為故障位置和故障描述的權(quán)重。軟件中主要匹配兩個(gè)字符串:故障位置和故障描述。首先對(duì)匹配進(jìn)行歸一化處理,再乘上相應(yīng)的權(quán)重和(其中,由用戶進(jìn)行設(shè)置,默認(rèn)情況下,兩個(gè)權(quán)重均為0.5);然后將實(shí)際案例與案例庫中的某個(gè)案例的相似度與相似度的閾值(用戶設(shè)置,默認(rèn)值為0.6)進(jìn)行比較,如果相似度大于閾值,則認(rèn)為匹配成功,反之,則表明案例庫中的該案例與實(shí)際輸入的案例不匹配。
3 結(jié)語
該文研究了流動(dòng)式起重機(jī)械故障案例庫的建立、故障案例檢索、故障案例的重用等基于案例推理的故障診斷關(guān)鍵技術(shù),研究探討了案例檢索機(jī)制中字符串相似度的計(jì)算方法,建立了流動(dòng)式起重機(jī)械故障檢索機(jī)制的模型。結(jié)合實(shí)際工作的需要,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于案例推理(CBR)的流動(dòng)式起重機(jī)故障診斷系統(tǒng),系統(tǒng)以基于案例推理的診斷技術(shù)為基礎(chǔ),采用關(guān)系型數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)了流動(dòng)式起重機(jī)械的故障診斷。
參考文獻(xiàn)
[1]王麗,婁建安,趙維霞.基于案例的智能維修訓(xùn)練系統(tǒng)[J].測試技術(shù),2006,25(2):73-74.
[2]何慶飛,王漢功,陳小虎.故障樹分析法在汽車起重機(jī)液壓系統(tǒng)故障診斷中的應(yīng)用[J].機(jī)床與液壓,2008,36(2):196-198.
[3]羅天洪,楊彩霞,孫冬梅.基于故障樹的汽車起重機(jī)液壓故障診斷專家系統(tǒng)[J].機(jī)械科學(xué)與技術(shù),2013(4):538-544.