一种健康诊断专家知识库自动编码方法与流程

文档序号:17335655发布日期:2019-04-05 22:27阅读:275来源:国知局
一种健康诊断专家知识库自动编码方法与流程
本发明属于人工智能领域,具体涉及一种健康诊断专家知识库自动编码方法。
背景技术
:随着人工智能技术的发展,专家知识库技术在健康诊断领域发挥了重要作用,随着专家知识的不断丰富和完善,其内容和复杂度越来越高。当前,将专家知识库转化为计算机能够识别的c语言代码的工作主要是人工手动编码完成。第一步,分析专家知识库中的专家知识,分析其中各个参数之间的逻辑关系。第二步,手工将专家知识转化为c语言代码。第三步,对编码完成的专家知识库代码进行功能测试。目前,健康诊断专家知识库的内容动辄上千条,用人工手动编写、测试数量如此之大的知识库必然会耗费大量时间,并且难免出现差错。人工编码的模式在知识库需要作出修改的场景下会变得非常繁琐,这种缺陷在专家知识库移植到相似系统的情况下尤为显著。技术实现要素:为了解决现有技术的不足,本发明提出一种健康诊断专家知识库自动编码的方法。一种健康诊断专家知识库自动编码的方法,其特征在于包括以下步骤:步骤s101:设计一种故障属性信息表,参数属性信息表表头内容为故障编号、调用函数名称、输入参数代码、对应参数名称、故障名称;摘取现有健康诊断专家知识库故障属性信息表中部分内容,如表1,所述故障编号表示故障事件使用的编号;所述调用函数名称表示故障事件对用的调用函数名称;所述输入参数代码表示故障事件函数的形参名称;所述对应参数名称表示故障事件函数的实际参数名称;所述故障名称表示故障事件的名称。表1故障属性信息故障编号调用函数名称输入参数代码对应参数名称故障名称1c_0000013p_00001左发意外停车左发意外停车2c_0000014p_00001右发意外停车右发意外停车3c_0000015p_00001左发故障停车左发故障停车4c_0000016p_00001右发故障停车右发故障停车步骤s102:设计一种专家知识信息表,专家知识信息表表头内容为故障节点代号、故障名称、故障判据、恢复判据;摘取现有健康诊断专家知识库专家知识信息表中部分内容,如表2,所述节点代号表示故障事件在故障树中的节点代号;所述故障名称表示故障事件的名称,和故障属性信息表中对应;所述故障判据表示故障事件成立的条件;所述恢复判据表示故障事件恢复的条件。表2专家知识信息节点代号故障名称故障判据恢复判据t1左发意外停车左发意外停车=1.and.count=5拍左发意外停车=0.and.count=5拍t2右发意外停车右发意外停车=1.and.count=5拍右发意外停车=0.and.count=5拍t3左发故障停车左发故障停车=1.and.count=5拍左发故障停车=0.and.count=5拍t4右发故障停车右发故障停车=1.and.count=5拍右发故障停车=0.and.count=5拍步骤s103:分析专家知识判据的逻辑关系,根据事件判据的内部逻辑关系,设计一种能够描述事件判据的数据结构,该数据结构支持规则化的逻辑符号;如表3,表3判据规则化逻辑符号序号表达符号含义1count判断条件连续发生的次数2dt判断条件持续发生的时间3and逻辑“与”4or逻辑“或”5not逻辑“非”6xor逻辑“异或”7→连接符左右两端相同参数顺序发生8then连接符左右两端不同参数顺序发生所述事件判据的分析步骤为:a.检查判据规范性:包括判据括号配对失败、判据存在空括号、需替换参数长度不一致、需替换参数存在空参数、需替换参数不完备等,以防止分析过程出错;b.预处理判据:包括统一事件判据中的中英文括号/四则运算符/数学函数格式、替换判据参数名称等;c.以括号为单位分析判据表达式,得到判据表达式的层级关系,并以链表的格式存储分析结果;通过遍历的方法识别判据中的特殊符号(包括拍数、计时、连接符→、连接符then),并将特殊符号的表达式存储在数据结构中;处理特殊符号,得到特殊符号的等效表达式。对于拍数符号“a.and.count=3拍”处理为“count=3”;对于计时符号a.and.dt≥3秒,处理为“t2-t1≥3000(毫秒)”;对于连接符“a→b”或“athenb”,处理为锁存器表达式,具体见步骤s104。存储原始逻辑条件a、b后在原始判据中替换特殊符号表达式为等效表达式。步骤s104:根据c语言语法规则、特殊逻辑符号表达规则及分析结果以状态机的形式生成表达事件判据逻辑的c语言代码,并调用编译器进行编译,得到可执行文件;自动编码的总流程如表4,表4自动编码总流程(1)拍数符号用特定的计数器形式实现(原始逻辑条件:imdl02002608=131.and.count=n拍):(2)计时符号用特定的计时器方式实现(原始逻辑条件:imdl02002608=131.and.dt≥n秒):(3)状态符号用特定的锁存器的方式实现(原始逻辑条件:imdl02002608=131→imdl02002608=0):附图说明图1为实施例5中分析过程的流程图;图2为实施例5中设计的代码结构图。具体实施方式:实施例1:一种健康诊断专家知识库自动编码的方法,其特征在于包括以下步骤:步骤s101:设计一种故障属性信息表,参数属性信息表表头内容为故障编号、调用函数名称、输入参数代码、对应参数名称、故障名称;步骤s102:设计一种专家知识信息表,专家知识信息表表头内容为故障节点代号、故障名称、故障判据、恢复判据;步骤s103:分析专家知识判据的逻辑关系,根据事件判据的内部逻辑关系,设计一种能够描述事件判据的数据结构,该数据结构支持规则化的逻辑符号;步骤s104:根据c语言语法规则、特殊逻辑符号表达规则及分析结果以状态机的形式生成表达事件判据逻辑的c语言代码,并调用编译器进行编译,得到可执行文件。实施例2:一种健康诊断专家知识库自动编码的方法,其特征在于包括以下步骤:步骤s101:设计一种故障属性信息表,参数属性信息表表头内容为故障编号、调用函数名称、输入参数代码、对应参数名称、故障名称;步骤s102:设计一种专家知识信息表,专家知识信息表表头内容为故障节点代号、故障名称、故障判据、恢复判据;步骤s103:分析专家知识判据的逻辑关系,根据事件判据的内部逻辑关系,设计一种能够描述事件判据的数据结构,该数据结构支持规则化的逻辑符号;步骤s104:根据c语言语法规则、特殊逻辑符号表达规则及分析结果以状态机的形式生成表达事件判据逻辑的c语言代码,并调用编译器进行编译,得到可执行文件。所述步骤s101中涉及到的:故障编号表示故障事件使用的编号;调用函数名称表示故障事件对用的调用函数名称;输入参数代码表示故障事件函数的形参名称;对应参数名称表示故障事件函数的实际参数名称;故障名称表示故障事件的名称。实施例3:一种健康诊断专家知识库自动编码的方法,其特征在于包括以下步骤:步骤s101:设计一种故障属性信息表,参数属性信息表表头内容为故障编号、调用函数名称、输入参数代码、对应参数名称、故障名称;步骤s102:设计一种专家知识信息表,专家知识信息表表头内容为故障节点代号、故障名称、故障判据、恢复判据;步骤s103:分析专家知识判据的逻辑关系,根据事件判据的内部逻辑关系,设计一种能够描述事件判据的数据结构,该数据结构支持规则化的逻辑符号;步骤s104:根据c语言语法规则、特殊逻辑符号表达规则及分析结果以状态机的形式生成表达事件判据逻辑的c语言代码,并调用编译器进行编译,得到可执行文件。所述步骤s101中涉及到的:故障编号表示故障事件使用的编号;调用函数名称表示故障事件对用的调用函数名称;输入参数代码表示故障事件函数的形参名称;对应参数名称表示故障事件函数的实际参数名称;故障名称表示故障事件的名称。所述步骤s102中涉及到的:节点代号表示故障事件在故障树中的节点代号;故障名称表示故障事件的名称,和故障属性信息表中对应;故障判据表示故障事件成立的条件;恢复判据表示故障事件恢复的条件。实施例4:一种健康诊断专家知识库自动编码的方法,其特征在于包括以下步骤:步骤s101:设计一种故障属性信息表,参数属性信息表表头内容为故障编号、调用函数名称、输入参数代码、对应参数名称、故障名称;步骤s102:设计一种专家知识信息表,专家知识信息表表头内容为故障节点代号、故障名称、故障判据、恢复判据;步骤s103:分析专家知识判据的逻辑关系,根据事件判据的内部逻辑关系,设计一种能够描述事件判据的数据结构,该数据结构支持规则化的逻辑符号;步骤s104:根据c语言语法规则、特殊逻辑符号表达规则及分析结果以状态机的形式生成表达事件判据逻辑的c语言代码,并调用编译器进行编译,得到可执行文件。所述步骤s101中涉及到的:故障编号表示故障事件使用的编号;调用函数名称表示故障事件对用的调用函数名称;输入参数代码表示故障事件函数的形参名称;对应参数名称表示故障事件函数的实际参数名称;故障名称表示故障事件的名称。所述步骤s102中涉及到的:节点代号表示故障事件在故障树中的节点代号;故障名称表示故障事件的名称,和故障属性信息表中对应;故障判据表示故障事件成立的条件;恢复判据表示故障事件恢复的条件。所述步骤s103中涉及到的所述事件判据的分析步骤为:a.检查判据规范性:包括判据括号配对失败、判据存在空括号、需替换参数长度不一致、需替换参数存在空参数、需替换参数不完备等,以防止分析过程出错;b.预处理判据:包括统一事件判据中的中英文括号/四则运算符/数学函数格式、替换判据参数名称等;c.以括号为单位分析判据表达式,得到判据表达式的层级关系,并以链表的格式存储分析结果。实施例5:本实施例,将每个故障事件的相应信息填入故障属性信息表,其储存顺序确定了健康诊断专家知识库中各知识的调用顺序。将故障事件对应的专家知识信息填入专家知识信息表,其储存顺序确定了专家知识库自动编码方法产生的c语言代码的存放顺序。读取故障属性信息表,表格以行为单位将其中的内容按故障事件分开存放,确定了故障事件对应的专家知识的故障编号、调用函数名称、输入代码、对应参数名称、故障名称。读取专家知识信息表,表格以行为单位将其中的内容按专家知识分开存放,确定了专家知识的节点代号、故障名称、故障判据、恢复判据,其中的“故障名称”与故障属性信息表中的“故障名称”一一对应。在读取完成上述两个表格之后,进行专家知识的逻辑关系的分析,该分析过程包括:(1)检查判据规范性:为保证专家知识库的规范化,保证分析过程的顺利进行,需要对故障判据进行规范性检查,检查内容如表5:表5判据规范性检查内容序号检查内容1判据括号配对失败2判据存在空括号3参数替换表长度不一致4参数替换表存在空参数5参数替换表不完备6事件参数不完整(2)预处理判据:统一事件判据中的中英文括号/四则运算符/数学函数格式、替换判据参数名称等;(3)以括号为单位分析判据表达式:通过递归的方法分析判据中由括号嵌套产生的逻辑嵌套,并以树状数据结构保存分析结果;(4)通过遍历的方法识别、处理判据中的拍数/计时等特殊符号:对判据分析生成的树状数据结构进行遍历,在遍历过程中识别拍数/计时等特殊符号,并将含有特殊符号的数据节点保存在特定的链表中。该分析过程能够得到专家知识判据的内部逻辑关系并能够识别规则化逻辑符号所确定的逻辑信息,并以一定的数据结构加以储存。以“imc与应答机通讯中断”故障判据为例,使用规范化语言描述其故障判据为:(((imfd应答机供电状态=0→imfd应答机供电状态=1).and.imfd应答机供电状态=1).and.dt≥20s).and.(imfd应答机供电状态=1.and.(imdl)imc与应答机通信状态=0).and.count=6拍,该判据含义为:应答机上电20秒后,当imc与应答机通信状态为0并且持续6拍时,报出“imc与应答机通讯中断”故障。分析过程能够得到如图1所示的树状数据结构,分析过程结束后,进行自动编码过程,该过程对前一过程得到的专家知识判据数据结构进行整合、处理,并将规则化逻辑符号(count、dt、“→”等)转化为编程语言表述形式,以状态机的形式生成专家知识的c语言代码,设计的代码结构如图2所示,最后调用编译器编译生成的代码,得到专家知识库可执行文件。最终实现了健康诊断专家知识库自动编码技术。本实施例可以实现多个专家事件的执行代码自动生成,并确保正确性为百分之百。非软件专业的科技人员通过本实施例也可实现对专家知识库软件代码的修改、增减、生成等,使健康诊断专家知识库的生成以及修改大为简化,比原有方式节省了80%的工时,提升了效率。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1