一种基于LDA的软件故障专家系统的构建方法技术方案

技术编号:16102521 阅读:80 留言:0更新日期:2017-08-29 22:50
一种基于LDA的软件故障专家系统的构建方法,步骤如下:1、搜集故障案例;2、对FEMA案例集文本进行迭代,分别构建故障属性主题模型;3、针对故障症状信息,构建症状主题模型;4、实现症状主题模型与故障属性主题模型的语义关联推理评分算法;5、整合步骤2~4,完成推理子系统的构建;6、利用Hadoop技术完成存储子系统的构建,实现对案例文本数据和LDA主题模型数据存储,以及推理评分数据存取;7、构建服务子系统,实现客户端与后端的数据交互;8、整合存储子系统、推理子系统以及服务子系统,完成专家系统的构建;本发明专利技术完成与故障属性主题模型的语义关联推理,获取故障相关信息作为诊断结果,完成软件故障诊断。

【技术实现步骤摘要】
一种基于LDA的软件故障专家系统的构建方法
本专利技术提供一种基于LDA的软件故障专家系统的构建方法,它涉及一种基于LDA的软件故障专家系统的实现,属于软件可靠性、软件故障诊断领域。
技术介绍
LDA(LatentDirichletAllocation)即潜在狄利克雷分布,是一种非监督机器学习技术,可以用来识别大规模文档集或语料库中隐含的主题信息。目前,基于LDA的技术已在文本挖掘、知识发现、话题跟踪以及多文档摘要等领域得到了广泛应用。例如,通过LDA技术提取文档的主题模型,并依此为依据建立文档之间的相关性生成文档的关系图谱;通过LDA技术对已知的被标记文档内容进行分析,进而推断新文档的标签类别,实现互联网文档标签推荐系统等。利用LDA技术,我们将提出一种软件故障专家系统的构建方法,该系统可以学习软件故障的历史数据,建立对应的故障属性主题模型,当输入故障症状后,系统利用症状信息建立症状主题模型,结合故障主题模型分析两者之间潜在的语义联系对故障案例进行关联排序,最后将推理得到的排序结果提供给用户作为故障诊断信息。该系统基于LDA技术融合故障分析与故障处理等相关理论、方法和技术进行构建,在提高软件维护性的同时,达到提高软件可靠性、安全性、可用性的目的。
技术实现思路
(一)本专利技术目的:根据知识组织方式与推理机制的不同,专家系统可大致分为:基于规则的专家系统、基于模型的专家系统、基于模糊推理的专家系统、基于事例的诊断专家系统以及基于网络的诊断专家系统等。尽管专家系统的种类很多,但这些专家系统并不能对故障间的潜在联系进行分析来获得故障推理结果。因此本专利技术将克服现有技术的不足,提供一种基于LDA的软件故障专家系统的构建方法对上述问题进行解决。该系统利用“词-主题-文档”的三层贝叶斯概率网络结构分别对已有的历史故障信息及待诊断的故障症状信息数据进行LDA建模,并对两个模型间的主题相似性进行推理评分,从而获得与待诊断故障最为匹配的诊断信息。可以看出基于LDA的故障专家系统更加注重故障之间的主题关联,充分地挖掘故障信息的语义,为故障诊断领域提供了一种新的解决方法,并对现有的故障专家系统进行了创新。(二)技术方案本专利技术技术方案:一种基于LDA的软件故障专家系统的构建方法,其步骤如下:步骤1、搜集大量与被诊断软件相关的故障案例,筛选出合适的案例集。根据被诊断软件所有可能发生的原因、现象以及其他故障属性(如故障所在位置、故障严酷度等),对案例集中的案例逐条进行失效模式与影响分析即FMEA(FailureModeandEffectAnalysis)分析;步骤2、对FEMA形式案例集文本数据进行迭代,利用LDA算法分别构建故障属性主题模型:故障现象主题模型、故障原因主题模型、故障措施主题模型;步骤3、针对待输入的故障症状信息,结合LDA算法构建症状主题模型;步骤4、实现症状主题模型与故障属性主题模型的语义关联推理评分算法;步骤5、整合步骤2~4,完成推理子系统的构建;步骤6、利用Hadoop技术完成存储子系统的构建,实现对案例文本数据和LDA主题模型数据存储,以及推理评分数据存取;步骤7、基于SpringMVC框架,构建服务子系统,实现客户端与后端的数据交互;步骤8、整合存储子系统、推理子系统以及服务子系统,完成专家系统的构建。其中,在步骤1中所述的“FMEA分析”,是指一种系统化的可靠性分析方法,它自下而上,通过对被诊断系统各组成部分潜在的各种故障模式及其对系统功能的影响分析,提出可能采取的预防改进措施,以提高产品的可靠性,它在保证产品可靠性方面起着重要的作用;其中,在步骤2中所述的“LDA算法”,是指一种文档主题生成模型方法,该方法可以用来识别大规模文档集或语料库中潜藏的主题信息。它采用了词袋的方法,这种方法将每一篇文档视为一个词频向量,将文本信息转化为易于建模的数字信息,从而进行文本分析;其中,在步骤3中所述的“针对待输入的故障症状信息,结合LDA算法构建症状主题模型”,其作法如下:使用基于向量的建模方法构建症状主题模型,将故障症状表示为一个k维向量pu=<z1,z2,z3,z4…zk>。与故障案例的特征向量定义相同,pu表示故障症状的特征向量,k表示通过LDA算法建模后的主题个数,zk表示该故障症状在第k主题上的生成概率。需要注意的是,症状主题模型的生成方式与案例主题模型有所不同。症状主题模型无法直接从LDA模型中生成,这是由于症状信息通常都是对故障现象的描述,不具备故障原因与故障措施等属性信息。因此,需要联合案例的故障属性信息对故障症状主题模型进行构建:首先定义故障属性向量αi用于表示不同故障属性对应的评分权值,α1对应故障现象的评分权值,α2对应故障原因的评分权值,α3对应故障措施的评分权值,该向量可以在新的故障属性类型加入时被动态扩展。由此,故障症状对某个案例的故障属性可描述为一个故障属性向量Cu,i=<c1,…,cα>,其中cα为该症状与第α故障属性信息的关联相似度,该值可通过计算文本与之对应的主题概率分布求得。症状的故障属性向量模型可以描述为:其中θk代表了文档中第k个主题的比重,n表示该故障症状曾对比分析过的案例个数。上述公式使用了每一个被分析过的故障属性向量乘以该属性预先定义的权值αi,得到该症状信息在第k主题分量上的值zk,由此计算得出k维向量pu=<z1,z2,z3,z4…zk>,从而构建故障症状主题模型;其中,在步骤4中所述的“实现症状主题模型与故障属性主题模型的语义关联推理评分算法”,其作法如下:该算法的核心即在已知语料库下通过采样算法来推算模型中的隐含变量过程,用于LDA模型的采样方法通常为吉布斯采样,因此利用吉布斯采样方法实现的推理评分算法如下:由此,便可以计算得出故障症状信息和每个故障案例的相似评分,系统可以根据评分获取前n项案例提供给用户作为故障诊断信息。其中,在步骤5中所述的“推理子系统”,它是指本专利技术构建系统中,用于实现症状主题模型与故障属性主题模型之间语义关联推理评分的子系统;其中,在步骤6中所述的“Hadoop技术”,它是指由Apache基金会组织所开发的一个分布式计算框架,其目的是在大量廉价的硬件设备组成的集群上进行大规模的并行处理,为应用程序提供一套稳定可靠的接口,构建一个具有高可靠性和扩展能力的分布式系统。Hadoop的优点主要体现在扩展能力强,成本低,效率高以及免费和开源;其中,在步骤6中所述的“利用Hadoop技术完成存储子系统的构建”,其作法如下:基于Hadoop提供的分布式文件系统技术进行数据存取,本系统中所有的计算结果,包括推理评分算法产生的最终结果,以及算法产生的中间数据,都将以二进制的向量形式保存在Hadoop的分布式文件系统中。并且,案例数据的故障属性文本,分词后所有文本对应的词向量,LDA算法生成的故障属性主题模型及其对应的主题向量和主题词表,故障症状主题模型对应的向量以及推理结果也都存储在该分部是文件系统中。通过对本专利技术构建系统中的文档内容数据、文档词条数据、词典数据、文档词条向量、LDA输出模型、症状的故障属性模型、症状主题模型以及诊断推理结果等数据进行结构设计,利用这一存储结构进行集群搭建和环境配置,即可完成存本文档来自技高网...
一种基于LDA的软件故障专家系统的构建方法

【技术保护点】
一种基于LDA的软件故障专家系统的构建方法,其特征在于:其步骤如下:步骤1、搜集大量与被诊断软件相关的故障案例,筛选出合适的案例集;根据被诊断软件所有可能发生的原因、现象以及其他故障属性,如故障所在位置、故障严酷度,对案例集中的案例逐条进行失效模式与影响分析即FMEA(Failure Mode and Effect Analysis)分析;步骤2、对FEMA形式案例集文本数据进行迭代,利用LDA算法分别构建故障属性主题模型:故障现象主题模型、故障原因主题模型、故障措施主题模型;步骤3、针对待输入的故障症状信息,结合LDA算法构建症状主题模型;步骤4、实现症状主题模型与故障属性主题模型的语义关联推理评分算法;步骤5、整合步骤2~4,完成推理子系统的构建;步骤6、利用Hadoop技术完成存储子系统的构建,实现对案例文本数据和LDA主题模型数据存储,以及推理评分数据存取;步骤7、基于Spring MVC框架,构建服务子系统,实现客户端与后端的数据交互;步骤8、整合存储子系统、推理子系统以及服务子系统,完成专家系统的构建;通过上述步骤,可以完成对基于LDA的软件故障专家系统的构建,对于被诊断对象中的故障症状,通过建立症状主题模型,完成与故障属性主题模型的语义关联推理,获取按推理评分排序的故障相关信息作为诊断结果,从而完成软件故障诊断。...

【技术特征摘要】
1.一种基于LDA的软件故障专家系统的构建方法,其特征在于:其步骤如下:步骤1、搜集大量与被诊断软件相关的故障案例,筛选出合适的案例集;根据被诊断软件所有可能发生的原因、现象以及其他故障属性,如故障所在位置、故障严酷度,对案例集中的案例逐条进行失效模式与影响分析即FMEA(FailureModeandEffectAnalysis)分析;步骤2、对FEMA形式案例集文本数据进行迭代,利用LDA算法分别构建故障属性主题模型:故障现象主题模型、故障原因主题模型、故障措施主题模型;步骤3、针对待输入的故障症状信息,结合LDA算法构建症状主题模型;步骤4、实现症状主题模型与故障属性主题模型的语义关联推理评分算法;步骤5、整合步骤2~4,完成推理子系统的构建;步骤6、利用Hadoop技术完成存储子系统的构建,实现对案例文本数据和LDA主题模型数据存储,以及推理评分数据存取;步骤7、基于SpringMVC框架,构建服务子系统,实现客户端与后端的数据交互;步骤8、整合存储子系统、推理子系统以及服务子系统,完成专家系统的构建;通过上述步骤,可以完成对基于LDA的软件故障专家系统的构建,对于被诊断对象中的故障症状,通过建立症状主题模型,完成与故障属性主题模型的语义关联推理,获取按推理评分排序的故障相关信息作为诊断结果,从而完成软件故障诊断。2.根据权利要求1所述的一种基于LDA的软件故障专家系统的构建方法,其特征在于:在步骤1中所述的“FMEA分析”,是指一种系统化的可靠性分析方法,它自下而上,通过对被诊断系统各组成部分潜在的各种故障模式及其对系统功能的影响分析,提出采取的预防改进措施,以提高产品的可靠性,它在保证产品可靠性方面起着重要的作用。3.根据权利要求1所述的一种基于LDA的软件故障专家系统的构建方法,其特征在于:在步骤3中所述的“针对待输入的故障症状信息,结合LDA算法构建症状主题模型”,其作法如下:使用基于向量的建模方法构建症状主题模型,将故障症状表示为一个k维向量pu=<z1,z2,z3,z4…zk>。与故障案例的特征向量定义相同,pu表示故障症状的特征向量,k表示通过LDA算法建模后的主题个数,zk表示该故障症状在第k主题上的生成概率;需要注意的是,症状主题模型的生成方式与案例主题模型有所不同;症状主题模型无法直接从LDA模型中生成,这是由于症状信息通常都是对故障现象的描述,不具备故障原因与故障措施属性信息;因此,需要联合案例的故障属性信息对故障症状主题模型进行构建:首先定义故障属性向量αi用于表示不同故障属性对应的评分权值,α1对应故障现象的评分权值,α2对应故障原因的评分权值,α3对应故障措施的评分权值,该向量能在新的故障属性类型加入时被动态扩展;由此,故障症状对故障属性能描述为一个故障属性向量Cu,i=<c1,…,cα>,其中cα为该症状与第α故障属性信息的关联相似度,该值能通过计算文本与之对应的主题概率分布求得;症状的故障属性向量模型能描述为:其中θk代表了文档中第k个主题的比重,n表示该故障症状曾对比分析过的案例个数;上述公式使用了每一个被分析过的故障属性向量乘以该属性预先定义的权值αi,得到该症状信息在第k主题分量上的值zk,由此计算得出k维向量pu=<z1,z2,z3,z4…zk>,从而构建故障症状主题模型。4.根据权利要求1所述的一种基于LDA的软件故障专家系统的构建方法,其特征在于:在步骤5中所述的“推理子系统”,它是指本发明构建系统中,用于实现症状主题模型与故障属性主题模型之间语义关联推理评分的子系统。5.根据权利要求1所述的一种基于LDA的软件故障专家系统的...

【专利技术属性】
技术研发人员:杨顺昆边冲陶飞佘志坤
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1