李书明,杨龙飞,黄燕晓
(中国民航大学 航空工程学院,天津 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.