李書明,楊龍飛,黃燕曉
(中國民航大學 航空工程學院,天津 300300)
目前國內民航發動機的故障診斷和健康管理技術仍停留在理論研究上,國外故障診斷與健康管理技術已經由理論研究進入到了實際應用中,最為典型的就是由波音公司推出的飛機健康管理系統(Aircraft Health Management System,AHM)[1]和空客公司推出的飛機維修分析軟件系統(Aircraft Maintenance Analysis,AIRMAN),此外還有專門用于發動機性能監控的軟件,如羅羅公司的Compass(Condition Monitoring Performance Analysis Software System)、普惠公司的EHM(Engine Health Management)等。以上諸多系統和軟件主要是靠監測飛機及發動機的性能參數與在相同條件下的標準值進行比較得出主要性能參數的偏差值來發現故障,對于故障的準確定位和排除在很大程度上還要依賴于個人的維修經驗以及對相同或類似故障案例處理方案的參考[2]。本文從航空公司的實際需求出發,旨在建立一套民航發動機的故障案例數據庫系統,這對發動機的故障診斷具有很大的實用價值。
民航發動機故障案例數據庫是故障分析診斷時所需知識庫的重要組成部分,是基于案例推理技術的直接知識源,它不僅能提供大量的與待檢測新故障類似的舊案例以加快故障的準確定位,更重要的是能夠給出類似故障的解決方案,便于維修工作的進行。
故障案例庫在設計時,除了要遵從一般的數據庫設計原則和規范外,還要考慮以下內容:①能準確有效地表示和存儲故障案例;②保證故障案例信息的完整性,能真實反映案例情況;③故障案例信息規范化,以保證案例庫具有統一的數據結構;④案例庫應與檢索匹配模塊相獨立,保證在案例庫內案例發生變化時不會對檢索匹配模塊產生影響;⑤案例庫一定要有足夠的穩定性和可擴充性,以便于自身的維護和更新。
民航發動機故障案例數據庫系統采用3層Browser/Server體系結構,如圖1所示。用戶采用瀏覽器直接就可以訪問系統資源;應用層使用IIS作為Web服務器,同時系統以ASP.NET作為開發環境,開發Web應用程序,該層主要分為案例檢索和案例庫系統維護兩大模塊;數據庫層使用SQL Server作為后臺服務器,存儲著大量發動機的故障案例以及用戶信息,通過ADO.NET技術與應用層連接,以實現用戶對后臺數據庫的管理和操縱。
本故障案例庫系統主要包括登錄主界面、故障案例檢索界面和案例庫系統維護界面。其中登錄主界面是整個系統的首頁,主要用于驗證登錄人員的身份是否合法并完成登錄進入系統的工作;故障案例檢索界面是整個案例庫系統的核心應用部分,用于完成案例的檢索并給出查詢結果;案例庫系統維護主要包括用戶/管理員信息管理、案例管理和系統備份與恢復。
用戶管理界面是對系統用戶的管理,主要包括新建用戶、修改用戶信息、刪除用戶和權限管理設置等,其中權限管理是重點工作,是保障系統安全有序工作的基礎。在本系統中共包括三種權限:普通用戶、管理員和超級管理員。
案例管理主要是完成對案例的維護,包括案例的修改、刪除、增添等操作,要及時地更新和擴充案例庫以不斷完善系統;系統備份與恢復是保障系統安全穩定運行的基礎,是系統不可或缺的一部分。

圖1 案例庫系統體系結構
案例表示是整個數據庫系統的基礎,其格式不僅直接影響到數據庫的結構,而且對案例檢索的方法也有很大影響。相對于傳統的知識表示法,面向對象表示法更符合人們認識問題和分析問題的習慣思維方式。
采用面向對象技術對故障案例進行表示,可將案例定義為一個三元組,即C=<D.S.M>[3],其中,D為故障案例的描述性信息,主要包括案例的編號、發生故障的機型、故障部位所屬系統、故障日期、故障現象等;S為故障的特征屬性,該屬性是案例匹配的關鍵詞;M為故障的處理方案,包括采取的排故措施以及處理后取得的效果。
良好的組織結構是實現案例存儲和快速查詢的基礎。考慮到發動機系統、分系統、部件及子部件之間的隸屬關系,故障案例庫適宜采用層次結構來進行組織。
層次結構模型實質上是一種有根結點的定向有序樹,可實現對面向對象的知識表示的有效組織。故障案例庫系統中的案例可以按照故障系統分類,本文設計的民航發動機故障案例庫層次結構如圖2所示。
由圖2可以明顯地看出,故障案例庫系統是以歷史故障案例作為層次結構的底結點,不僅包括故障案例的特征屬性,同時也包括了排故解決方案。此層次結構為后續的案例檢索提供了自頂向下的快速索引方式。
圖3為故障案例庫系統工作流程,可以清楚地看出案例檢索功能在整個系統中所起到的關鍵性作用。案例檢索所要解決的兩個核心問題是相關性的計算和排序算法,其中相關性計算又是二者中要解決的首要問題。
相關性就是對待檢測故障案例與歷史故障案例之間相似度的一種定量地度量,它是實現案例匹配的基礎。傳統的信息檢索主要采用向量空間模型計算相關度。向量空間模型把對文本內容的處理簡化為向量空間中的向量運算,并且它以空間上的相似度表達語義的相似度,直觀易懂。當文本內容被表示成文本空間的向量,就通過計算向量之間的相似度來度量文本間的相似性。按照該思想,案例庫中的每一個故障案例都用一個特征向量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 民航發動機故障案例庫層次結構示意圖
通過比較待檢測故障X的特征向量與每一個歷史案例的特征向量Ci的余弦距離,即可得出不同的相關性。然而,該向量空間模型在將故障案例用特征向量表示時,認為向量的特征屬性之間是彼此獨立的,但實際上特征屬性之間并非是相互獨立的,而是存在一定的語義關聯權重的。本文提出利用互信息函數來計算特征關鍵字之間的語義關聯權重來改進向量空間模型。
互信息是信息論里一種有用的信息度量,它是指兩個事件集合之間的相關性。在已知訓練文檔集的背景下,關鍵字tk與tl之間的語義關聯權重用互信息(MI)函數近似表示為:

其中:A為文檔集中tk和tl同時出現的次數;B為文檔集中tk出現而tl沒有出現的次數;C為文檔集中tl出現而tk沒有出現的次數;N為文檔總數。
對于具有同義或近義詞關系的特征關鍵字,由于它們在案例集中同時出現的幾率很小,若用式(2)進行計算是不能表達它們之間相同或相近的關系,如“漏油”和“油泄漏”表達的是同一種情況。因此,像這種同義或近義的情況,將它們之間的語義關聯權重設定為MI(tk,tl)=0.95。
有了上述特征關鍵字之間的語義關聯權重的定義后,改進后的向量空間模型用于民航發動機故障案例檢索匹配的算法如下:

通過式(3)可求得cos(X,C1),cos(X,C2),…,cos(X,Ci),…,然后再通過比較各余弦值的大小,得出各歷史案例與待檢測故障相似度匹配的值,最后由排序算法實現檢索結果按相似度匹配由高到低排序,并返回給用戶。經過仿真驗證,改進后的向量空間模型的查全率和查準率都比原向量空間模型有所提高。

圖3 故障案例庫系統工作流程
SQL Server數據庫作為當前流行的數據庫技術具有許多顯著的優點,包括易用性、適合分布式組織的可伸縮性、良好的編程基礎等[4],故本系統采用了SQL Server作為數據庫開發工具。C#作為一種面向對象的高級語言,其語言簡潔、自由、執行效率高,因此系統采用C#作為應用程序開發語言。為了保證本系統的先進性,系統基于Visual Studio 2010平臺進行開發[5]。
本案例庫系統的核心組成主要包括用戶/管理員信息管理、故障案例庫的管理、案例的檢索3部分,其中案例庫的管理與維護是保證案例檢索功能實現的前提。民航發動機故障案例庫管理界面如圖4所示。
符合權限要求的管理員通過訪問該界面可以完成對故障案例的管理工作,通過下拉列表選擇或文本框輸入可以查看案例庫中已有的案例,按照數據庫中案例存儲的統一格式添加新的故障案例,通過編輯和刪除按鈕可以完成對歷史案例的更新和刪除操作,及時對案例庫進行管理和維護以實現案例庫的不斷更新和擴充。
故障案例檢索界面如圖5所示。通過圖5的界面進行案例檢索時,首先要選擇機型,因為往往不同的機型所安裝的發動機型號也有所不同;其次可以通過選擇ATA章節給待檢測故障一個大致的定位,若不能判斷待檢測故障所屬的系統可以對該項不予選擇;最后通過手動輸入故障特征關鍵字進行檢索工作,最終系統按相似度從大到小將檢索出的案例呈現在數據表中,維修人員可以參照數據表中與待檢測故障相同或相似故障案例進行維修工作。

圖4 民航發動機故障案例庫管理界面

圖5 故障案例檢索界面
建立了一種基于.NET框架的民航發動機故障案例數據庫系統,該系統使用ADO.NET技術實現對后臺數據庫的連接與操縱。系統界面簡潔友好,易于操作,利用改進后的向量空間模型可以較好地實現案例的檢索功能,具有較大的實用價值。故障案例庫系統的建立為案例的查詢和重用提供了方便,減輕了工程技術人員的工作量并提高了工作效率。
[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]呂琦.基于知識的民航飛機故障診斷專家系統[D].南京:南京航空航天大學,2005:32.
[3]雷鳴,李學仁,劉林剛.基于MAS的飛機健康管理專家系統設計[J].控制管理,2009,25(1-3):17-19.
[4]張紅,趙旭,石飛.基于ASP.NET的高校 Web考試系統的設計與研究[J].中國現代教育裝備,2009(15):30-31.
[5]杜黨黨,賈曉亮,張宇.航空發動機性能監控系統設計與實現[J].航空制造技術,2014(7):99-103.