李海玲1,董广然**,党 琦
(1.西安航空学院 计算机学院,西安 710077;2.航天器在轨故障诊断与维修重点实验室,西安 710043)
航天器异常检测系统是一个典型的基于规则推理的专家系统,主要对在轨运行的航天器运行状态进行实时或事后的异常检测,给出故障检测结果。航天器异常检测的过程是根据其运行特征信息,探查导致系统发生故障的部件或故障间的相互联系,并查明引发这些故障的初始原因的过程。由于航天器特殊的运行环境,故障特征与相应故障映射关系非常复杂,所以故障案例在航天器故障识别定位中可发挥重要的作用。文献[1-5]均是基于故障案例推理的应用,其中案例结构化表示作为案例推理的基础,直接影响案例推理的性能,工程实现中推理方法和案例结构呈紧耦合关系且检索效率低。目前,航天器异常检测系统中案例推理作用发挥不明显,主要集中在基于图结构的案例表示和基于图的案例相似性度量方法存在可能漏掉最优解、目标与相关案例相似性评价困难、修订案例的二义性和一致性检查难以处理、关键特征权重难以确定等问题[6],案例检索复杂度比较高。
本文以充分发挥故障案例在航天器异常检测系统中故障识别、故障定位的作用为目标,给出了基于关键词的故障案例关联方法,针对异常检测规则知识和故障案例特点,设计了关键词提取模式和关联引擎,在卫星状态异常后,利用异常检测知识与案例的相似性来关联故障案例。通过工程实例对本方法进行了分析验证,结果表明,本文所设计的方法故障案例关联全面,数据处理运行高效,与案例结构松耦合,工程实践快捷。
航天器异常检测系统是一个典型的基于规则推理的专家系统,总体结构如图1所示。其核心是异常检测规则知识的维护,知识表示基于专家系统开发工具(C Language Integrated Production System,CLIPS)进行构建,以可扩展标记语言(Extensible Markup Language,XML)组织文档结构,存储在信息管理系统。
图1 基于规则推理专家系统Fig.1 Rule-based reasoning expert system
以某卫星的诊断知识为例,其诊断规则有3 000余条,字符数为370 545 Byte。随着在轨航天器数量的不断增加和结构的日趋复杂,异常检测知识逐渐呈指数级增长。
我国航天器信息管理系统积累了丰富的故障案例,但其结构相对简单,主要应用于案例记录和查询,如图2所示。
图2 案例结构示意图Fig.2 Schematic diagram of case structure
故障案例记录主要包括异常名称、异常影响、异常描述、异常部件、处置方法等内容。
基于现有案例库实现异常检测结果和故障案例的关联,实质上是异常检测系统规则知识和故障案例的关联,即文本的相似性度量。
词频-逆文件频率(Term Frequency- Inverse Document Frequency,TF-IDF[7])是一种在信息检索和文本挖掘领域广泛应用的加权算法,其核心是经典的空间向量余弦算法。本文基于TF-IDF,实现对异常检测规则知识和案例的匹配。
本文所研究的问题域中元素相互之间是线性无关的,满足TF-IDF算法的前提条件。本文以关键词的权重为元素构建N维向量,对文档(规则知识、案例)进行化简表示。文档用D表示,关键词用K表示,文档用关键词集表示为D(K1,K2,…,Kn),其中Kj是关键词,1≤j≤n。对每个关键词给予不同的权重表征其不同的重要性,即D=D(K1,W1;K2,W2;…;Kn,Wn),简写为D=D(W1,W2,…,Wn),成为文档D的向量表示,其中Wj是Kj的权重,1≤j≤n。假如文档中有Key1、Key2、Key3、Key4 4个关键词,那么这篇文档就表示为D(Key1,Key2,Key3,Key4)。假设Key1、Key2、Key3、Key4的权重分别为40、30、30、20,那么该文档的向量表示为D(40,30,30,20)。在向量空间的模型中,用空间向量间夹角的余弦值表示文档D1与D2间的相关性Sim(D1,D2),公式为
(1)
式中:W1j、W2j分别表示两个文档D1、D2第j个关键词的权值,1≤j≤n。
例如异常检测知识规则A的关键词为Key1、Key2、Key3、Key4,权值分别为40、30、30、20,案例记录B的关键词为Key1、Key3、Key4、Key5,权值分别为 50、40、30、20,则A的向量表示为A(40,30,30,20,0),B的向量表示为B(50,0,40,30,20),则根据式(1)计算出来的异常检测知识规则A与案例记录B相关度是0.84。
自然语言处理与信息检索[8](Natural Language Processing & Information Retrieval,NLPIR)系统是被广泛使用的中文分词软件系统。基于NLPIR分词系统可以获得异常检测系统规则知识和案例记录的关键词及其权重,但是针对关键词之间语义相关性关系,需要增加语义线性无关的复杂处理流程。本文设计了基于用户词典的关键词提取模式,实现了用户词典和关键词权重计算方法,且化简了语义线性无关处理过程。
(1) 用户字典构成
用户词典针对的是航天器异常检测知识和故障案例,面对的是专业领域,关键词数量有限。本文设计了具有同义词的关键词用户字典,关键词之间互不相关,用户字典格式如表1所示。
表1 用户字典格式Tab.1 User dictionary format
本文设计的用户词典中,逆向文件频率(Inverse Document Frequency,IDF)i的值,对应关键词Ki的统计计算结果,由文档集合总文献数量除以包含该关键词Ki的文件数量,把统计到的商计算对数得到,即
IDFi=lg(D/Di) 。
(2)
式中:D为文件集合中的文件总数,Di为关键词出现过的文件数。在实际操作过程中,也可根据经验对逆向文件频率值进行预设。
(2)关键词权重计算
代表一篇文档的关键词,其重要程度(权重)应该与它在该文档中出现的次数成正比上升,同时应与它所在整个文献集合中出现的次数成反比降低[9]。关键词权重计算流程示意图如图3所示。
图3 关键词权重计算流程图Fig.3 Flow chart of key word weight calculation
在给定诊断知识或案例记录的文本中,计算用户字典中的关键词词频时,同义词的词频全部统计为对应关键词的词频,对于在某文本里的词语Ki来说,其词频重要性可表示为
(3)
式中:ni,j是词语Ki在文件Dj中的出现次数,Si,j是Ki对应同义词在文件Dj中的出现次数,分母是文件Dj中所有出现的词数[10]。
最后关键词Ki的权重为
Wi=IDFi·TFi,j。
(4)
基于关键词的关联引擎包含关联系统层和关键词系统层两部分。将关键词提取和关键词关联分开处理,将缩短整个关联引擎的运算时间,提高实时诊断结果的关联效率。
引擎运行分关键词维护和关联两种模式。在关键词维护模式下,首先调用关键词系统层,按卫星代号提取故障诊断库的知识,生成对应知识规则ID的关键词,存入综合管理信息库;其次按卫星代号提取综合管理信息库的案例记录,生成对应案例记录ID的关键词,存入综合管理信息库。在关联模式下,调用关联系统层,根据异常检测的知识规则ID关联到案例记录。基于关键词的关联引擎组件结构如图4所示。
图4 基于关键词的关联引擎结构Fig.4 Key word based association engine structure
关联系统层包括关键字数据预处理、关联计算、关联结果3个组件,各组件具体功能描述如下:
(1)关键字数据预处理组件把信息库内容读入远程字典服务器[11](REmote DIctionary Server,Redis)进行内存数据缓冲,中间结果也存入Redis,另外对提取的异常检测知识关键字和案例记录关键字进行关键字向量空间维度的一致化处理。
(2)关联计算组件构建数据模型和相似度计算处理。
(3)关联结果生成组件根据相似度计算结果及预设的阈值生成卫星同一平台和不同平台的关联结果。
关联系统层的数据处理过程基于Redis进行数据模型计算处理,具体实现中增加多线程并行处理,完全可以保证处理效率。
关键词系统层包括案例记录预处理、规则知识预处理、关键词计算、关键词生成4个组件:
(1)案例记录预处理组件对案例记录的异常名称、异常影响、异常描述、异常部件进行合成处理。
(2)规则知识预处理组件对CLIPS知识文本按照知识标识ID进行分段处理。
(3)关键词计算组件根据用户字典对需要处理的知识、案例进行分词、权重计算及关键词排序。
(4)关键词生成组件根据关键词的排序结果和关键词预设数量,生成关键词并将结果存入综合管理信息库。
上述设计综合考虑了工程实现的难易程度和运行效率,对各个关键模块的合理规划分层,能够有效降低工程实现的复杂性,提升关联引擎的运行效率。
在异常检测系统故障关联改进中,基于本文的设计思想实现了一个简化版本的关联引擎原型系统。测试过程中,将50颗卫星的异常检测知识和故障案例导入测试数据库,对某航天器XX0001的遥测数据进行回放,设定关键字词典如表2所示。
表2 关键词字典Tab.2 Keyword dictionary
关键词逆向文件频率由于选取的语料库有限,仅作为本文测试使用。编号为Rule_278_TK19的异常检测知识含有关键词“电源、电流、陀螺、红外”,中文分词20个,向量表示为A(0.015,0.015,0.09,0.09)。输出规则Rule_278_TK19的案例关联结果仅用了300 ms,关联结果如表3所示,其中异常检测目标标识为XX0001,异常检测知识ID为Rule_278_TK19。
表3 异常检测故障关联结果Tab.3 Fault correlation results of anomaly detection
规则Rule_278_TK19的案例关联结果包含了本卫星、同平台其他卫星、不同平台卫星的历史故障案例情况。通过表中案例索引,可以进一步获取关联案例的详细信息,根据本星关联案例结合相似度可以确定相应的应急操作,根据同平台其他卫星关联案例结合相似度可以对相同器件工作状态做出预判。在整个工作过程中,能够根据其他平台卫星的关联案例作为故障处理的参考。故障关联结果在航天器的日常管理工作中发挥了积极的作用。
本文设计的用户词典解决了关键词语义相似性的复杂处理过程,基于关键词的关联引擎,实现了文本相似度的快速计算功能。通过分层设计,提高了关联引擎的运行效率,在航天器异常检测系统的运行过程中发挥了显著的作用,提高了卫星管控精细化水平和综合指挥、快速响应能力。
目前的工作仅仅立足于关键词组织用户词典,后续还应针对用户字典的自动生成、故障案例的智能匹配开展进一步的研究工作。