栗 宇,仝灵霄,张 强
(1.兰州理工大学机电工程学院,甘肃 兰州 730050)(2.大秦铁路股份有限公司太原机务段,山西 太原 030045)(3.中国铁路北京局集团有限公司北京车辆段,北京 100039)(4.广州电力机车有限公司,广东 广州 510830)
汽轮发电机组是电力系统的关键设备,其安全和高效运行对电力系统的安全性和经济性有重要影响[1]。随着发电装备实现了百万千瓦超超临界等级机组的历史性跨越,汽轮发电机组智能化程度不断提高,其内部结构也越来越复杂。同时,恶劣的工作环境下存在许多不确定因素,导致机组发生复合故障和事故的可能性增加,轻则意外停机,重则“机毁人亡”。因此,对汽轮发电机组故障诊断技术的研究显得格外重要。
目前,国内外学者针对汽轮发电机组故障诊断进行了广泛、深入的研究。张强等[2]提出了基于置信度的规则推理方法和案例推理方法,开发了集成的汽轮发电机组故障诊断专家系统。Shaaban等[3]提出了基于决策树的汽轮发电机组故障诊断方法。杨苹等[4]采用基于模糊集扩展隶属函数的变权重模糊综合评判模型,解决了汽轮发电机组振动故障诊断精度低的问题。但目前的研究还存在以下不足:对非结构化的动态知识考虑不足,对复杂的故障诊断概念及其关系的表达缺乏一定的灵活性,而且都缺乏语义方面的支持,不能挖掘隐含的故障知识。
汽轮发电机组故障诊断主要依赖维修人员的经验,且故障知识之间关联性强,导致其不能得到很好地表达和传递[5]。而传统的案例推理(case-based reasoning,CBR)在推理过程中过分依赖案例库,对检索条件的准确性要求高,计算量大,导致案例推理存在检索效率低、诊断速度慢、推理过程不易理解等问题。针对以上问题,本文将本体技术引入汽轮发电机组故障诊断中,提出了基于本体和案例推理的检索模型,设计开发了基于本体和案例推理的汽轮发电机组故障诊断检索模块,为维修人员进行汽轮发电机组故障诊断提供决策支持。
案例推理的核心步骤是对汽轮发电机组故障知识进行合理的表示,将故障征兆作为检索的根据,通过模式匹配得到故障类型、故障原因和维修策略。目前大多数案例知识表示中存在知识拓展性、共享性、可重构性和学习性差的问题。本体是知识的描述框架和标准规范,可以在语义和知识层面对汽轮发电机组故障概念以及概念之间的关系进行描述。其通过选取所描述领域中的通用术语和概念,构建标准、通用、无歧义的领域本体,具有可重用、可共享、语义可扩展等优点。
本文为了弥补传统七步法在本体评估上的缺陷,针对其所构建的本体准确性与动态性不足等问题,对传统七步法进行了改进。从知识工程方法学的角度,选择以自顶向下的方法为主,结合领域本体开发相关的实际经验,构建汽轮发电机组故障诊断领域本体(fault_diagnosis_ontology, FDO),主要流程如图1所示。
图1 本体建模流程图
为了便于构建基于本体的知识模型,本文在南洋理工大学Naing博士定义的六元组本体表示方法的基础上,结合故障诊断的过程,将FDO形式化定义为:
(FDO)=
(1)
式中:C为汽轮发电机组故障领域知识本体中的类集(class);AC为类的概念属性集;R为类集C上的关系集合;AR为类间关系属性集;I为本体的实例集;X为公理集,是关于类内属性、关系以及类间关系的严格约束。
为了定义故障类之间多对多的关系,汽轮发电机组故障诊断领域本体需包括3种属性:对象属性、数据属性、注释属性。其中,对象属性最为重要,代表一个个体与另一个个体之间的关系,见表1。数据属性代表个体与它对应的基本数据类型之间的关系。注释属性是对汽轮发电机组故障诊断本体中特殊的类、个体和属性的解释。
表1 本体的对象属性
采用Protégé_4.3构建部分汽轮发电机组故障诊断领域本体,本体片段如图2所示。利用网络本体语言(ontology web language,OWL)中的所属关系(is_a)、部分-整体关系(is_part_of)、属性关系(attribute_of)和实例关系(instance_of)等基本语义关系形成汽轮发电机组故障诊断领域概念之间的映射层次关系。
图2 汽轮发电机组故障诊断领域本体片段
根据汽轮发电机组故障信息和故障特征的描述,可以将汽轮发电机组故障案例知识以四维信息的方式表示为Ci=(Ii,Fi,Ri,Mi),其中:Ci表示汽轮发电机组故障案例信息;Ii表示汽轮发电机组故障案例说明信息,包括案例编号、故障发生时间、设备类型和设备单位等;Fi表示汽轮发电机组故障特征属性,包括特征频率、常伴频率、轴心轨迹和振动方向等;Ri表示汽轮发电机组故障诊断结果,包括故障原因和故障类型;Mi表示汽轮发电机组故障的维修方案,包括维修策略和诊断结果评价。表2为汽轮发电机组转子质量偏心故障案例。
表2 故障案例知识表示
案例推理是根据问题案例的相关信息和特征,对案例库中结构化表示的历史案例进行检索,找到最相似案例实现案例推理,如果得到的案例不能很好地解决问题则对其进行修正,解决问题后存储到案例库中实现案例学习。传统的CBR模型如图3所示,通过输入问题案例的故障特征,与历史案例库中的案例进行相似度计算,得到最相似案例完成案例推理,从而实现故障诊断。由于汽轮发电机组恶劣的工作环境与机组本身复杂的结构,对于一些机组故障来说,单纯的CBR并不能高效地诊断出故障原因。
图3 传统CBR检索模型
本文提出了基于本体和案例推理(ontology-CBR,O-CBR)的汽轮发电机组故障诊断方法,通过构建汽轮发电机组故障诊断领域本体,对案例知识进行结构化表示和存储,可以在传统CBR的基础上设计开发基于本体和案例推理的故障诊断O-CBR检索模块,增加了语义检索,缩小了案例检索范围,提高了故障诊断的效率和准确性。如图4所示,Ontology检索层是基于汽轮发电机组故障诊断领域本体的定性检索,通过语义相似度计算得到故障知识子案例库,缩小了检索的范围。CBR检索层是基于汽轮发电机组故障特征的定量检索,通过故障特征类别、数值大小和区间等进行,提高检索准确性,最终找到最相似的故障案例,实现汽轮发电机组故障诊断。
图4 O-CBR检索模型
2.2.1基于信息论的语义相似度计算
通过量化汽轮发电机组故障概念在一段故障案例信息中出现的频率,定义领域本体中概念C的信息量为:
I(C)=log2(1/P(C))
(2)
(3)
图5所示为汽轮发电机组故障诊断本体结构树。故障概念节点(C1,C2)之间的语义距离Sim(C1,C2):
图5 汽轮发电机组本体示例结构树
(4)
2.2.2语义相似度计算的改进
本文为提高本体检索层中语义相似度的准确性,引入两个故障概念节点之间的语义距离用以表示语义相似度,并将汽轮发电机组故障诊断领域本体结构树中连接概念节点的语义距离统一定义为单位距离1。因此,可以通过两个故障概念节点之间的最短路径的边数对语义相似度进行定义。由式(4)可得,两个本体概念之间的语义相似度Sim(C1,C2):
Sim(C1,C2)=1/(1+Number(C1,C2))
(5)
式中:Number(C1,C2)为连接两个故障概念的最短路径的边数。
本文在语义相似度的基础上考虑节点深度Dep(C1,C2)和节点密度Density(C1,C2)对相似度的影响,通过分配权重,提高了对汽轮发电机组故障诊断本体概念的区分度和本体检索层的准确性。其中,节点深度指故障概念节点与根节点的最短路径中所包含的边数,深度越大,相似度越大。节点密度指两个故障概念节点最近共同祖先节点所包含的直接子节点的数量,数量越大,分布密度越大,相似度越大。综上,引入权重系数α,β和γ后的领域本体概念节点之间的加权语义相似度Simadd(C1,C2)为:
Simadd(C1,C2)=α·Sim(C1,C2)+β·Dep(C1,C2)+γ·Density(C1,C2)
(6)
式中α+β+γ=1,α最大,即语义距离是主要因素。
2.3.1特征类别相似度
特征类别相似度主要是计算两个不同故障概念包含的不同属性之间的相似度。
(7)
式中:Simc为汽轮发电机组故障诊断特征中两个故障概念的特征类别相似度;N(C1)为概念C1的特征集;N(C2)为概念C2的特征集。
2.3.2精确数值相似度
精确数值相似度主要是计算汽轮发电机组故障概念,如汽轮发电机组故障特征中的油温、温升等。汽轮发电机组故障诊断特征中两个故障概念的精确数值相似度为Simv1(C1,C2):
(8)
式中:a,b为概念C1,C2某特征的具体数值;S表示数值的取值范围。
2.3.3确定区间数值相似度
汽轮发电机组故障概念中常有确定区间的数值属性,确定区间数值相似度主要是计算汽轮发电机组故障概念特征中包含的确定区间数值信息之间的相似度,如汽轮发电机组发生故障时转速在3 000~4 000 r/min等。汽轮发电机组故障诊断特征中两个确定区间的相似度为Simv2(C1,C2):
(9)
式中:(m,m′),(n,n′)为概念C1,C2的特征区间值;max(m′,n′),min(m,n)分别为概念C1,C2的特征区间的最大值,最小值。
2.3.4模糊区间数值相似度
实际生产作业中有很多不确定因素影响着汽轮发电机组故障诊断,因此需要对这些不确定信息进行模糊表示,如模糊值和模糊区间。本文采用精度较高的梯形模糊数作为隶属度函数来判断故障特征之间的差异性,其模糊函数如图6所示。
图6 梯形模糊函数
汽轮发电机组故障诊断特征中不确定信息x的模糊区间数值相似度为Simv3(C1,C2):
Simv3(C1,C2)=Simf(x)=
(10)
式中:f(x)为不确定信息x的隶属度函数;K1,K2,K3,K4为不确定信息x的属性值。
综上,通过分层检索模型得到汽轮发电机组故障诊断特征中两个故障概念的加权属性相似度为SimA(C1,C2):
SimA(C1,C2)=∑ωi·Simvi
(11)
式中:∑ωi=1,ωi为每个不同属性的权重。
系统的设计和开发主要是利用Protégé_4.3、Microsoft SQL Server 2008和C#语言等来实现的。采用Protégé构建汽轮发电机组故障诊断领域本体,通过SQL数据库对汽轮发电机组故障案例进行存储,并实现增删查改,利用C#语言在Visual studio集成开发环境中执行检索算法并开发交互界面,如图7所示。
图7 故障案例O-CBR检索界面
诊断人员根据汽轮发电机组故障的实际情况,在本体检索层输入语义概念词,将检索范围定位到最相关的子案例库,然后在CBR检索层输入故障案例属性及专家推荐的权重值,得到诊断结果。本例中的语义概念词为“东方汽轮机厂”“200 MW”和“转子”,属性输入为“特征频率”“轴心轨迹”和“振动随转速变化”等,“null”表示问题案例中没有的特征属性。在输出界面中,系统给出最相似案例,诊断结果为故障属于“转子质量偏心”,维修策略为“转子除垢、修复转子、转子动平衡”等。结果表明,通过故障案例重用实现汽轮发电机组故障诊断的O-CBR方法是可行的。本文采用某石化厂的CLN600-24.2/566/566型超临界汽轮机的故障案例,抽样提取50项不同故障类型的汽轮发电机组故障案例,通过设计开发专家系统的O-CBR检索模块进行故障诊断,并与传统CBR系统进行了对比分析[2],以研究语义相似度计算对整体诊断结果的影响。相关诊断人员及专家对诊断结果的有效性进行统计、评价和对比,统计结果见表3。
表3 汽轮发电机组故障案例诊断结果对比
通过对汽轮发电机组故障案例中不同的故障类型进行诊断,分析比较其诊断结果的准确度和准确率可知,传统CBR的平均准确率为66%,O-CBR的平均准确率为88%。由此可知,与传统的CBR相比,本文提出的O-CBR故障诊断方法具有更高的准确率。
本文针对汽轮发电机组故障诊断知识高效检索的方法展开了研究,得到以下结论:
1)本文在传统七步法的基础上增加了本体评估和跟踪的步骤,提高了汽轮发电机组故障诊断本体的准确性和动态性。
2)结合定性检索和定量检索,本文设计了基于语义和属性相似度算法的O-CBR分层检索模型,增加了语义检索,缩小了案例检索范围。通过对某石化厂的CLN600-24.2/566/566型超临界汽轮机的故障案例进行故障诊断,验证了基于本体和案例推理的汽轮发电机组故障诊断方法可以为维修人员提供决策支持,具有较高的诊断效率和准确性。