数控设备故障知识图谱的构建与应用
2020-03-26赵倩
赵 倩
(中国航空制造技术研究院,北京 100024)
随着工业产线的自动化、智能化和集成化水平逐步提高,数控设备的机械与电气控制系统越来越复杂,这对数控设备的维修保障实施提出了更高要求。由于数控设备系统是一个融合了计算机技术、自动控制、检测技术等多学科知识的技术密集型机电一体化复杂系统[1],仅凭故障表征很难快速地找到其根本故障部位及原因,这就大大地增加了故障维修时间成本,严重降低了自动化产线设备利用率和生产效率;同时,工厂车间历年来积累的故障案例知识、排故专家经验和实时采集的结构化故障数据不能被有效地利用与共享,基于关系数据库的扁平存储形式不能直观地展现故障案例间的复杂隐性关系,使得设备的故障诊断与维修水平提升缓慢。
因此,本文提出构建数控设备领域知识图谱,利用知识管理的相关先进技术与理论,通过将历史故障数据转化为有价值的知识,探究故障案例间的复杂关联关系,并将故障知识与关系结构化、显性化和可视化,从而实现故障知识的有效积累与组织,辅助车间工人更加快速高效地排故,为将来的设备健康管理提供良好的知识输送和共享。
1 相关工作与技术
知识图谱作为描述海量知识、知识属性及知识间关系的有效工具,自2012年Google 将其成功应用到搜索引擎以来,受到了学术界和工业界的广泛关注[2]。知识图谱根据其包含的知识范围主要分为通用领域和垂直领域。通用领域知识图谱的特点是数据量大、通用性强、知识范围广、权威性低等,垂直领域知识图谱则具有数据量相对较小、质量高、密度大、知识集中、权威性高以及知识准确率高等特点[3]。
目前国内外针对通用知识图谱的研究与应用发展迅速,国外有Satori[4]、Probase[5]、NELL[6]、DBPedia[7]和Freebase[8]等,国内有百度知心、搜狗知立方和CNDBPedia[9]等。国外的垂直领域知识图谱涉及到地理领域GeoNames、学术领域DBLife[10]和生物领域UniProtKb[11]等。国内的行业知识图谱则只限于学术研究,例如阮彤等[12]提出数据驱动的增量式垂直知识图谱构建方法,并构建了中医药知识图谱、海洋知识图谱和企业知识图谱,验证了方法的可行性;李文鹏等[13]提出了面向开源软件项目的软件知识图谱构建方法,并提供了基于软件知识图谱的软件知识检索技术,使用户可以在软件复用过程中方便地检索知识;葛斌等[14]提出了军事知识图谱构建方法与计算框架,将其应用于军事情报搜集分析领域,提出了一种针对知识存储的基于约束条件的分块管理框架;俞思伟等[15]则提出了医疗知识图谱的构建方法,并将其应用于基于医疗和知识库的语义分析、推理以及疾病辅助诊断系统。
在数控设备故障领域的相关研究中,研究者大多倾向于基于设备故障模型来建立故障树,这种以拓扑网形式表征的故障概念树具有层次分明、父子关系明确等优势,但缺乏对故障案例隐性网状关系的挖掘和展现。而数控设备故障往往是多层次、多因素共同作用的结果,单一的故障树难以全面准确地描述故障知识和其关联关系。针对这一需求引入知识图谱的相关技术,该技术利用其在构建知识网络与展现知识关联方面的巨大优势,为具有复杂关系的知识信息提供了一种新的获取、存储、组织、管理、更新和展示的手段[16],并提供更符合认知习惯的知识应用方式。
2 数控设备故障知识图谱构建
数控设备故障作为复杂事件,受机械部件、输入装置、数控系统、伺服系统等多方面因素的影响。例如某型号五轴联动数控叶片铣床的空气静压单元发生故障,原因可能归咎于进口空气过滤器阻塞、出口管路有泄漏、安全阀失灵、压缩机失效等;某型号车削中心转塔刀架没有抬起动作,故障原因是抬起液压缸研损或密封圈损坏,且与转塔抬起链接的机械部分研损有关。针对某个数控设备故障案例事件来说,其各个故障影响因素与案例事件本身构成复杂的网络关系,而同属于一个故障现象的同类事件集组成了庞大的知识网络体系。知识图谱作为知识关系的直接表示和组织方式,更有利于积累知识库,并有效地分析复杂关系中存在的特定的潜在故障。
本文结合数控设备故障领域的数据特点,采用“自顶向下”与“自底向上”相结合的知识图谱构建技术、数据驱动的增量式本体建模方法和基于模式的知识映射机制来组织丰富知识库,并完成数控设备故障知识图谱的构建与应用。其中,“自顶向下”方式是指从顶层概念开始,定义数据模式,然后逐步细化,扩充实体;而“自底向上”方式是指从实体开始,将其归纳组织形成底层概念,然后逐步往上抽象生成顶层概念。本文采取两者相结合的构建方式,首先通过人工总结归纳概念、扩充实体,然后在顶层概念逐步完善的情况下,随着实体的积累和丰富,归纳总结出新的概念和关系。
数控设备故障知识图谱是指由组成故障案例的知识实体和这些知识实体之间的关联关系所构成的用以描述整类事件的知识语义网络。其中,知识实体指故障案例中可区分的、可辨识的且具有一定语义关系的事实,是事件元素而非数据的知识表达;知识实体之间的关联关系指知识实体(即故障案例事件元素)之间的具有某种类型的二元关系。数控设备故障知识图谱构建过程包括故障知识来源分析、领域概念关系本体建模、本体模型解析与存储、RDB 到RDF 的数据知识映射、知识图谱可视化分析以及管理与应用等步骤,如图1 所示。
2.1 知识表示
知识表示的过程分为两个阶段:数据采集与领域本体建模。经分析,数控设备故障案例数据来源于生产执行系统中积累的RDB(Relational Database,关系型数据库,是基于关系模型的数据库,是数据与数据库对象的集合)结构化数据、案例文本资料、领域专家经验,通过获取更多更全面的数据,为领域本体建模提供数据支持。
数控设备故障案例知识图谱构建的前提是将知识进行分析、归纳和规范化定义,构建有效的、可扩展的知识模式。本体作为一种明确且规范的知识表达方式,能够清楚地描述领域概念、概念间的层次和逻辑关系、概念的属性以及约束等,能够保证知识在传递和共享过程中理解的唯一性与无二义性。因此针对数控设备故障案例知识的丰富层次结构和复杂逻辑关系,本文通过分析知识来源与知识属性,以故障案例为核心,对案例信息所涉及的知识模块进行细节划分,建立设备故障案例知识本体框架;采用数据驱动的增量式本体建模方法,进一步实现对模块细节的概念和关系扩展,本体构建流程如图2 所示。
本文将本体模型定义为O=
图1 数控设备故障知识图谱构建总体架构图Fig.1 Overall architecture diagram of CNC equipment fault knowledge graph
图2 本体构建流程图Fig.2 Ontology construction process chart
O:数控设备故障案例事件本体模型;
C:概念(或类),指表达某一类实体对象的集合;
R:概念(或实例)逻辑关系,指概念之间的交互作用关系,包括组成关系、继承关系以及其他业务关系;
A:概念(或实例)属性关系,指概念具有的属性和属性值;
I:实例(即独立的实体),是属于某概念类的基本元素;
F:函数(或公理),用于表示关系或函数之间存在的关联或约束。
根据上述定义,将数控设备故障案例知识进行系统化地归纳组织,形成网状的知识结构体系,每个概念包含一个或多个实例,实例继承其所属概念的所有属性关系,实例之间存在交叉概念和关联关系。
基于数控设备故障案例知识本体,采用JENA 解析器(Jena 是一个Java 的API(应用程序编程接口),用来支持语义网的有关应用,例如解析本体模型等),将本体元数据转化为资源描述框架RDF[17](Resource Description Framework,一种用于描述Web 资源的标记语言,是一个处理元数据的XML 应用),以<主体–属性–客体>三元组的形式实现本体的解析、存储与查询。
2.2 数据映射
由于数控设备故障案例数据大量存储于关系型数据库中,因此本文采用基于模式的数据映射机制完成从结构化数据到网状化知识的转化,即RDB2RDF 数据转换过程。
根据W3C 于2012年推出的2 种映射语言标准[18]:“Direct Mapping”(A direct mapping of relational data to RDF)和R2RML(RDB to RDF mapping language),其中“Direct Mapping”是采用关系数据库表结构直接输出为RDF 图的映射机制,而R2RML 则是通过自定义词汇表实现关系数据库到RDF 数据集的转化,这种方式具有可定制性和较高的灵活性。故本文采用R2RML映射语言完成数据映射。
R2RML 映射设计一个从关系数据库中检索数据的逻辑表,将关系数据库的一个基表的SQL 查询定义为逻辑表。每个逻辑表被一个三元组映射(triples map)转换成RDF,即逻辑表中每一行实例数据被映射为若干RDF 三元组。R2RML 映射机制表达式为
其中的3 个要素分别是:(1)逻辑表(logicalMap),用于描述数据库表名;(2)主语映射(subMap),该逻辑表行对应的全部RDF 三元组的公共主语,用于映射产生RDF 三元组的主语;(3)谓语–宾语映射(preobjMap),每个映射由谓语映射与宾语映射或值映射组成,用于映射产生RDF 三元组的谓语和宾语。
一个关系数据的全部R2RML 映射构成了一个映射文档(mapdoc),它由一系列RDF 三元组映射构成,通常以Turtle 语法格式书写。可以被描述为:
根据数控设备故障案例本体中的概念与概念间的逻辑关系,基于上述模式编写R2RML 映射文档,图3所示为部分实体的R2RML 映射原理图。
图3 中包括3 部分内容,上部分的输入为关系型数据库表(DATA_FAULTINFO 表)及相应的属性列和元组行数据;中间部分的映射文档为主要的逻辑关系定义;下部分的输出则是通过映射产生的RDF 数据集,以三元组的形式表示。在此映射的基础上,在每一条三元组中加入<累计次数>(用于记录每个相同三元组发生的次数,便于后续数据分析),即数据存储模式成为<主体>–<属性>–<客体>–<次数>四元组的形式。
通过R2RML 映射文档,利用D2R Server 关系数据映射引擎实现数据从扁平化到网状结构化形式的转换,在很大程度上丰富了本体中的实例与属性关系。
2.3 知识图谱可视化与应用
知识图谱的本质是由概念、实体以及实体间关系构成的语义网络。2.1 节和2.2 节中构建的本体模型为知识图谱定义了基本的数据模式,并通过RDB 数据到RDF 的规则映射,极大地丰富了实体和实体间关系,它们最终分别以RDF 三元组和四元组的形式进行持久化存储。这些资源描述框架中的元素与知识图谱的对应关系如图4 所示。其中RDF 存储模式包括两种:本体解析后的三元组和数据映射的四元组;将<主体>和<客体>抽取为知识图谱的实体,<属性>和<次数累计>抽取为知识图谱的实体属性和实体关联,结合数据可视化技术,实现知识图谱的构建与展现。
在通用领域知识图谱构建中,大量的实体抽取、关系抽取和属性抽取会带来许多冗余和错误信息,需要进行知识融合,即实体链接和知识合并,以消除概念的歧义,剔除冗余和错误概念。然而本文所关注的数控设备故障领域,知识来源是经过人工筛选去冗的数据信息,且本体模型也保证了知识图谱的高质量和准确性。同时基于垂直领域知识图谱的特殊性,对知识图谱的更新、管理与维护至关重要。
数控设备故障知识图谱的应用主要在以下两个方面:(1)智能语义检索。该知识图谱以图结构的形式对故障案例事件的概念、属性以及实体关系进行组织和存储,使得领域隐性知识显性化、显性知识立体化。后续可利用基于本体的语义检索技术,并借助知识图谱的可视化分析,实现知识的智能检索与推理;(2)辅助故障诊断。相对于扁平化的数据信息,图结构的知识在语义层面上将围绕整个案例事件的所有元素有效地组织关联起来,并利用知识图谱的优势,辅助用户交互式排故引导,实现故障推理与故障诊断。
图4 RDF元素与知识图谱元素的对应关系Fig.4 Relations between RDF elements and knowledge graph elements
3 数控设备故障知识图谱实现
基于本文提出的知识图谱构建方法,采用真实的故障案例数据实现并验证了该方法的可行性与有效性。首先,利用Protégé 本体建模工具建立了数控设备故障本体模型,共包含155 个概念、61 个概念间逻辑关系和122 个概念属性关系。其次,以RDMS 中的故障信息表为逻辑表,基于人工定义的R2RML 映射文档中的规则,利用开源r2rml-parser 工具实现从RDB 到RDF 四元组的映射;最后,应用Eclipse 开发工具和Dorado7 展现中间件开发了数控设备故障知识图谱平台,其中知识图谱可视化部分主要采用SPARQL 查询和GoJS 前台可视化技术实现。本文以“与压缩机进气阀相关的故障信息”为检索语句,检索出的相关实体和关系如图5 所示。
4 结论
本文针对如何高效积累、组织与共享数控设备故障案例信息的问题,提出了数控设备故障领域知识图谱构建方法。构建了数控设备故障本体模型,提出了针对结构化故障数据的知识获取方法,采用了基于模式规则的数据映射机制,最终实现并验证了该方法的有效性和合理性。应用数控设备知识图谱可以改善故障知识组织方式,极大地提高历史故障知识利用率和故障诊断效率,并在故障推理与知识共享方面有非常高的应用价值。
图5 部分数控设备故障知识图谱可视化界面Fig.5 Partial visualization interface of CNC equipment fault knowledge graph