李書明,楊龍飛,黃燕曉
(中國民航大學 航空工程學院,天津 300300)
目前國內民航發(fā)動機的故障診斷和健康管理技術仍停留在理論研究上,國外故障診斷與健康管理技術已經由理論研究進入到了實際應用中,最為典型的就是由波音公司推出的飛機健康管理系統(tǒng)(Aircraft Health Management System,AHM)[1]和空客公司推出的飛機維修分析軟件系統(tǒng)(Aircraft Maintenance Analysis,AIRMAN),此外還有專門用于發(fā)動機性能監(jiān)控的軟件,如羅羅公司的Compass(Condition Monitoring Performance Analysis Software System)、普惠公司的EHM(Engine Health Management)等。以上諸多系統(tǒng)和軟件主要是靠監(jiān)測飛機及發(fā)動機的性能參數(shù)與在相同條件下的標準值進行比較得出主要性能參數(shù)的偏差值來發(fā)現(xiàn)故障,對于故障的準確定位和排除在很大程度上還要依賴于個人的維修經驗以及對相同或類似故障案例處理方案的參考[2]。本文從航空公司的實際需求出發(fā),旨在建立一套民航發(fā)動機的故障案例數(shù)據(jù)庫系統(tǒng),這對發(fā)動機的故障診斷具有很大的實用價值。
民航發(fā)動機故障案例數(shù)據(jù)庫是故障分析診斷時所需知識庫的重要組成部分,是基于案例推理技術的直接知識源,它不僅能提供大量的與待檢測新故障類似的舊案例以加快故障的準確定位,更重要的是能夠給出類似故障的解決方案,便于維修工作的進行。
故障案例庫在設計時,除了要遵從一般的數(shù)據(jù)庫設計原則和規(guī)范外,還要考慮以下內容:①能準確有效地表示和存儲故障案例;②保證故障案例信息的完整性,能真實反映案例情況;③故障案例信息規(guī)范化,以保證案例庫具有統(tǒng)一的數(shù)據(jù)結構;④案例庫應與檢索匹配模塊相獨立,保證在案例庫內案例發(fā)生變化時不會對檢索匹配模塊產生影響;⑤案例庫一定要有足夠的穩(wěn)定性和可擴充性,以便于自身的維護和更新。
民航發(fā)動機故障案例數(shù)據(jù)庫系統(tǒng)采用3層Browser/Server體系結構,如圖1所示。用戶采用瀏覽器直接就可以訪問系統(tǒng)資源;應用層使用IIS作為Web服務器,同時系統(tǒng)以ASP.NET作為開發(fā)環(huán)境,開發(fā)Web應用程序,該層主要分為案例檢索和案例庫系統(tǒng)維護兩大模塊;數(shù)據(jù)庫層使用SQL Server作為后臺服務器,存儲著大量發(fā)動機的故障案例以及用戶信息,通過ADO.NET技術與應用層連接,以實現(xiàn)用戶對后臺數(shù)據(jù)庫的管理和操縱。
本故障案例庫系統(tǒng)主要包括登錄主界面、故障案例檢索界面和案例庫系統(tǒng)維護界面。其中登錄主界面是整個系統(tǒng)的首頁,主要用于驗證登錄人員的身份是否合法并完成登錄進入系統(tǒng)的工作;故障案例檢索界面是整個案例庫系統(tǒng)的核心應用部分,用于完成案例的檢索并給出查詢結果;案例庫系統(tǒng)維護主要包括用戶/管理員信息管理、案例管理和系統(tǒng)備份與恢復。
用戶管理界面是對系統(tǒng)用戶的管理,主要包括新建用戶、修改用戶信息、刪除用戶和權限管理設置等,其中權限管理是重點工作,是保障系統(tǒng)安全有序工作的基礎。在本系統(tǒng)中共包括三種權限:普通用戶、管理員和超級管理員。
案例管理主要是完成對案例的維護,包括案例的修改、刪除、增添等操作,要及時地更新和擴充案例庫以不斷完善系統(tǒng);系統(tǒng)備份與恢復是保障系統(tǒng)安全穩(wěn)定運行的基礎,是系統(tǒng)不可或缺的一部分。
圖1 案例庫系統(tǒng)體系結構
案例表示是整個數(shù)據(jù)庫系統(tǒng)的基礎,其格式不僅直接影響到數(shù)據(jù)庫的結構,而且對案例檢索的方法也有很大影響。相對于傳統(tǒng)的知識表示法,面向對象表示法更符合人們認識問題和分析問題的習慣思維方式。
采用面向對象技術對故障案例進行表示,可將案例定義為一個三元組,即C=<D.S.M>[3],其中,D為故障案例的描述性信息,主要包括案例的編號、發(fā)生故障的機型、故障部位所屬系統(tǒng)、故障日期、故障現(xiàn)象等;S為故障的特征屬性,該屬性是案例匹配的關鍵詞;M為故障的處理方案,包括采取的排故措施以及處理后取得的效果。
良好的組織結構是實現(xiàn)案例存儲和快速查詢的基礎??紤]到發(fā)動機系統(tǒng)、分系統(tǒng)、部件及子部件之間的隸屬關系,故障案例庫適宜采用層次結構來進行組織。
層次結構模型實質上是一種有根結點的定向有序樹,可實現(xiàn)對面向對象的知識表示的有效組織。故障案例庫系統(tǒng)中的案例可以按照故障系統(tǒng)分類,本文設計的民航發(fā)動機故障案例庫層次結構如圖2所示。
由圖2可以明顯地看出,故障案例庫系統(tǒng)是以歷史故障案例作為層次結構的底結點,不僅包括故障案例的特征屬性,同時也包括了排故解決方案。此層次結構為后續(xù)的案例檢索提供了自頂向下的快速索引方式。
圖3為故障案例庫系統(tǒng)工作流程,可以清楚地看出案例檢索功能在整個系統(tǒng)中所起到的關鍵性作用。案例檢索所要解決的兩個核心問題是相關性的計算和排序算法,其中相關性計算又是二者中要解決的首要問題。
相關性就是對待檢測故障案例與歷史故障案例之間相似度的一種定量地度量,它是實現(xiàn)案例匹配的基礎。傳統(tǒng)的信息檢索主要采用向量空間模型計算相關度。向量空間模型把對文本內容的處理簡化為向量空間中的向量運算,并且它以空間上的相似度表達語義的相似度,直觀易懂。當文本內容被表示成文本空間的向量,就通過計算向量之間的相似度來度量文本間的相似性。按照該思想,案例庫中的每一個故障案例都用一個特征向量Ci={t1i,t2i,…,tni}表示,其中tji表示第Ci個案例的第j個故障特征關鍵字(i,j=1,2,…,n)。由于每個故障特征關鍵字代表故障案例的重要程度不同,因此要對每個特征關鍵字賦予一定的權重wji加以量化,加權后Ci={w1i/t1i,w2i/t2i,…,wni/tni}。同樣將待檢測故障也用一個特征向量X={w1/x1,w2/x2,…,wn/xn}表示,xi表示待檢測故障的第i個特征關鍵字,按照余弦距離的相似度量方式,待檢測故障X與任意一個歷史案例的相關性為:
圖2 民航發(fā)動機故障案例庫層次結構示意圖
通過比較待檢測故障X的特征向量與每一個歷史案例的特征向量Ci的余弦距離,即可得出不同的相關性。然而,該向量空間模型在將故障案例用特征向量表示時,認為向量的特征屬性之間是彼此獨立的,但實際上特征屬性之間并非是相互獨立的,而是存在一定的語義關聯(lián)權重的。本文提出利用互信息函數(shù)來計算特征關鍵字之間的語義關聯(lián)權重來改進向量空間模型。
互信息是信息論里一種有用的信息度量,它是指兩個事件集合之間的相關性。在已知訓練文檔集的背景下,關鍵字tk與tl之間的語義關聯(lián)權重用互信息(MI)函數(shù)近似表示為:
其中:A為文檔集中tk和tl同時出現(xiàn)的次數(shù);B為文檔集中tk出現(xiàn)而tl沒有出現(xiàn)的次數(shù);C為文檔集中tl出現(xiàn)而tk沒有出現(xiàn)的次數(shù);N為文檔總數(shù)。
對于具有同義或近義詞關系的特征關鍵字,由于它們在案例集中同時出現(xiàn)的幾率很小,若用式(2)進行計算是不能表達它們之間相同或相近的關系,如“漏油”和“油泄漏”表達的是同一種情況。因此,像這種同義或近義的情況,將它們之間的語義關聯(lián)權重設定為MI(tk,tl)=0.95。
有了上述特征關鍵字之間的語義關聯(lián)權重的定義后,改進后的向量空間模型用于民航發(fā)動機故障案例檢索匹配的算法如下:
通過式(3)可求得cos(X,C1),cos(X,C2),…,cos(X,Ci),…,然后再通過比較各余弦值的大小,得出各歷史案例與待檢測故障相似度匹配的值,最后由排序算法實現(xiàn)檢索結果按相似度匹配由高到低排序,并返回給用戶。經過仿真驗證,改進后的向量空間模型的查全率和查準率都比原向量空間模型有所提高。
圖3 故障案例庫系統(tǒng)工作流程
SQL Server數(shù)據(jù)庫作為當前流行的數(shù)據(jù)庫技術具有許多顯著的優(yōu)點,包括易用性、適合分布式組織的可伸縮性、良好的編程基礎等[4],故本系統(tǒng)采用了SQL Server作為數(shù)據(jù)庫開發(fā)工具。C#作為一種面向對象的高級語言,其語言簡潔、自由、執(zhí)行效率高,因此系統(tǒng)采用C#作為應用程序開發(fā)語言。為了保證本系統(tǒng)的先進性,系統(tǒng)基于Visual Studio 2010平臺進行開發(fā)[5]。
本案例庫系統(tǒng)的核心組成主要包括用戶/管理員信息管理、故障案例庫的管理、案例的檢索3部分,其中案例庫的管理與維護是保證案例檢索功能實現(xiàn)的前提。民航發(fā)動機故障案例庫管理界面如圖4所示。
符合權限要求的管理員通過訪問該界面可以完成對故障案例的管理工作,通過下拉列表選擇或文本框輸入可以查看案例庫中已有的案例,按照數(shù)據(jù)庫中案例存儲的統(tǒng)一格式添加新的故障案例,通過編輯和刪除按鈕可以完成對歷史案例的更新和刪除操作,及時對案例庫進行管理和維護以實現(xiàn)案例庫的不斷更新和擴充。
故障案例檢索界面如圖5所示。通過圖5的界面進行案例檢索時,首先要選擇機型,因為往往不同的機型所安裝的發(fā)動機型號也有所不同;其次可以通過選擇ATA章節(jié)給待檢測故障一個大致的定位,若不能判斷待檢測故障所屬的系統(tǒng)可以對該項不予選擇;最后通過手動輸入故障特征關鍵字進行檢索工作,最終系統(tǒng)按相似度從大到小將檢索出的案例呈現(xiàn)在數(shù)據(jù)表中,維修人員可以參照數(shù)據(jù)表中與待檢測故障相同或相似故障案例進行維修工作。
圖4 民航發(fā)動機故障案例庫管理界面
圖5 故障案例檢索界面
建立了一種基于.NET框架的民航發(fā)動機故障案例數(shù)據(jù)庫系統(tǒng),該系統(tǒng)使用ADO.NET技術實現(xiàn)對后臺數(shù)據(jù)庫的連接與操縱。系統(tǒng)界面簡潔友好,易于操作,利用改進后的向量空間模型可以較好地實現(xiàn)案例的檢索功能,具有較大的實用價值。故障案例庫系統(tǒng)的建立為案例的查詢和重用提供了方便,減輕了工程技術人員的工作量并提高了工作效率。
[1]Azzam H,Beaven F,Hebden T,et al.Fusion and decision making-techniques for structural prognostic health management[C]//Proceeding of the 2005IEEE Aerospace Conference.[s.l.]:IEEE,2005:3763-3774.
[2]呂琦.基于知識的民航飛機故障診斷專家系統(tǒng)[D].南京:南京航空航天大學,2005:32.
[3]雷鳴,李學仁,劉林剛.基于MAS的飛機健康管理專家系統(tǒng)設計[J].控制管理,2009,25(1-3):17-19.
[4]張紅,趙旭,石飛.基于ASP.NET的高校 Web考試系統(tǒng)的設計與研究[J].中國現(xiàn)代教育裝備,2009(15):30-31.
[5]杜黨黨,賈曉亮,張宇.航空發(fā)動機性能監(jiān)控系統(tǒng)設計與實現(xiàn)[J].航空制造技術,2014(7):99-103.