■ 熊 奥 高 畅 赵明辉 张玲玲
1.中国科学院大学经济与管理学院 北京 100190
2.中国科学院大数据挖掘与知识管理重点实验室 北京 100190
3.中国科学院大学中丹学院 北京 100190
随着工业制造、生物医药、国防军事、交通运输等产业的快速发展,设备大型化、结构复杂化、运行自动化和智能化等特点愈发突出,机械设备的健康管理已逐渐成为企业运营乃至跨越发展的重要载体[1-2]。设备规模大、安装测点多、采样频率高、收集历时长、数据量巨大,客观上推动设备健康管理进入数据化和智能化管理时代[3–5]。尤其在核电企业,核心设备是企业生存与发展的依托,保持设备安全与稳定的运行是企业最重要的活动之一,同时也决定了企业的经营效益[6]。因此,设备的维护与检修成为核电企业的主要工作之一,其主要活动包括纠正性维护、适应性维护、完善性维护和预防性维护,相应工作都由专业的维修部门负责。为确保主要设备时刻处于可运行状态,常常需要较大的人力资源实时监控、实时维护。然而,设备的维护与检修并不容易,工作人员需要了解设备各维度的信息,如上次检修时间,故障可能原因,常用的维护措施等,相关信息需要快捷、准确的传递给维修和管理人员。
为了解决上述问题,传统的方法主要依赖维修人员的个人素质和数据库的运行日志[7],随着信息技术发展,设备健康数据与智能维修技术的结合为设备健康发展带来新的发展机遇[8],如核电企业通常将历史维修数据存储在数据管理系统中(如Oracle,Mysql),但上述方法并没有打破“数据孤岛(Isolated Data Island,IDI)的状态,不利于从整体数据中发现有价值的信息,缺乏对故障案例关联网络的挖掘和展现,而企业的设备故障通常存在隐性关联关系,挖掘这些关联信息将有利于设备健康管理实施。
新兴的知识图谱技术,以图谱数据为核心,通过对所有数据的有效链接,摆脱传统数据查询页面的方式,采用图谱展示方式实现用户在信息检索中的联想式检索,使系统中积累的海量数据得到有效的整合和深层的挖掘[9]。近年来,已经有相关研究人员利用知识图谱技术在设备健康管理领域做出尝试性的探索,如Tang[10]提出了一种融合多源异构电力设备数据构建电力设备知识图,并基于所构造的知识图对所需信息进行详尽说明的方法,同时以变电站为例,给出了相关的搜索结果,证明了知识图可以提高电力设备管理效率。Irlán[11]提出一种基于知识图谱集成不同数据源的通用方法,并能基于知识图谱的数据轻松实现生产线产品零件的追溯;赵倩[12]针对数控设备故障发生原因复杂、隐蔽、不易排查的特点,提出一种针对数控设备故障领域的知识图谱构建方法,实现对历史数控设备故障知识的积累、组织和共享;王莉[13]为降低地铁工程事故的危害性,通过集成多年的地铁工程事故数据,提出基于知识图谱的地铁工程事故知识建模与事故分析方法,为安全管理提供决策支持;王杰[14]为充分挖掘航空安全领域积累的海量航空安全事件基础数据,提出一种航空安全事件知识图谱构建的方法,为提升民航突发事件应急管理提供良好的数据支持;段阳[15]充分利用制造企业的金属切削数据资源,将金属切削数据构建成知识图谱,实现对切削加工数据的有机整合,即提升了数据的价值密度,同时也为金属切削智能应用开发提供支持。
与之前的研究相比,本文具有如下的创新和提升:首先,知识图谱在地铁、航空等多类型设备健康管理中已经初步显现其独特且突出的优势,本文将其在核电设备领域进行多视角的扩展;其次,详细梳理了核电企业维修部门维修工单数据库的实体、属性及关系等概念体系,增加特定领域知识图谱的多样性;最后,用构建完成的核电领域知识图谱在实际设备健康管理工作中进行广泛的应用探索,并取得良好的实践效果。本文综合知识图谱研究基础以及核电企业设备维修的业务特点,提出基于知识图谱的核电设备健康管理方法,并梳理出基于知识图谱的核电设备维修分析流程,运用专业查询语言实现维修知识获取和可视化,可以实现对核电设备维修知识的有效集成和充分利用。
知识图谱(Knowledge Graph, KG)是由实体和关系组成的语义网络,网络中的每个节点是一个实体(Enti‐ty),每条边代表一种关系(Relation),每个三元组(h,r,t)表示每个头节点h和尾节点t是由关系r相连接。知识图谱以结构化的方式描述客观世界中概念、实体及其关系,将信息表达成接近人类认知世界可以认知的形式,为人们提供了一种更好地组织、管理和理解海量信息的范式[16]。知识图谱作为一种高效的知识组织方式,它能够帮助用户快捷、准确地查询到所需要的信息以及其关联信息,与传统基于关键字匹配的搜索引擎原理不同,知识图谱不但有结构数据展示,还提供关联查询,其利用概念、实体的匹配度可以返回与搜索相关的知识体系[17],知识图谱的工作原理如图1所示,在数据层面,首先需要从数据源中抽取出实体,实体属性以及实体之间的关系,实体和关系以三元组的方式表示,然后将三元组存入专业数据库,这个过程集合知识提取,知识整合及知识存储;在应用层面,用户根据需求输入检索内容,系统提取搜索内容中的实体和属性信息,与知识图谱中的实体信息进行匹配,并将查询的到的实体信息和关联实体信息一并返回给用户。
图1 知识图谱工作原理
自Google提出知识图谱概念以来,国内外针对知识图谱的研究与应用发展十分迅速,并涌现出一大批成果,根据知识图谱的应用范围,学术界将知识图谱分为通用知识图谱和垂直知识图谱[18]。在通用领域,知识图谱具有数据量大、通用性强、知识范围广等特点,如国外的YAGO[19],NELL[20],DBpedia[21],Freebase[22],Knowl‐edge Vault[23],国 内 的Zhishi.me[24],Xlore[25],CN-DBpe‐dia[26]等。在垂直领域,知识图谱具有数据量小、密度大、知识集中以及专业性强等特点,被常常用来辅助各种复杂的分析或支持决策,截至2020年,相关技术已经广泛应用于社会各行各业。在金融反欺诈领域,知识图谱可以组织相关知识碎片,深入语义分析与推理,并通过对客户信息内容的一致性进行充分验证来识别或提前发现欺诈行为[27–29];在企业商业风险领域,基于全国企业知识图谱可以从异常关联挖掘、企业风险评估、关联探索等多维度构建数据模型,进行全方位的企业风险评估,这种方法能有效规避潜在的经营风险与资金风险,为行业客户提供智能风险管理[30];在创投领域,知识图谱可以通过图谱可视化对创投图谱中的初创公司发展情况,投资机构投资偏好等进行解读,通过节点探索、路径发现、关联探寻等可视化分析技术展示公司的全方位信息,通过知识地图、时序图谱等形态对地理分布、发展趋势等进行解读,为投融资决策提供支持[31];除此之外,随着知识图谱发展,知识图谱融合一些新的技术方法还可以实现政治意识形态检测[32]、城市人口流动分析[33],特别是知识图谱赋能工业制造,在物体检测[34],设备维修[35]等都有巨大的研究价值。
知识图谱在设备维修知识整合和管理上据有明显的优势,具体包括以下4个方面:
(1)在设备健康管理中,其数据形式是多源的,既有结构化的维修工单,也有非结构化的文本描述信息以及设备部件的图片信息,上述数据在设备健康管理中可能都是在描述同一设备,知识图谱能够有效地整合和存储设备维修相关知识,为设备健康管理提供较全面的数据支撑;
(2)与传统结构化显示数据的方式不同,知识图谱采用语义网络进行知识表示,打通数据之间的阻隔并形成有效关联,摆脱原来“数据孤岛”的状态,并通过属性值的自动补全等功能极大地扩展设备原有的信息,进一步强化设备之间的联系,此外也可以从各种数据源提取知识并快速集成到已有知识图谱中,灵活性和拓展性较强,也更加有利于相关知识的持续积累和用户管理;
(3)设备维修故障描述中存在大量非结构化数据,如故障描述、维修报告等,其语言随意无章,不利于相关知识复用,通过对其按照一定的逻辑规则进行处理后,其关键信息抽取后存入知识图谱,可以实现设备健康管理所需关键知识要素的选择性提取和循环利用;
(4)知识图谱能够进一步为核电设备健康管理的知识挖掘、应用开发、可视化分析等提供坚实基础,知识图谱是经过清洗和浓缩处理后的知识,基于知识图谱的语义搜索能够实现关联知识获取,并能够实现可视化展示,基于知识图谱的智能知识推荐能够实现精准的对接需求,缩短故障处理的周期。
在知识图谱的构建流程方面,李涛等将构建过程总结为本体和实体的抽取,图谱的构建、更新、维护,以及面向知识图谱的内部结构挖掘和外部扩展应用[17];刘峤等将构建过程分为知识抽取、知识融合、知识加工和知识更新4个步骤[18]。领域知识图谱是面向特定领域的知识库,其构建始终遵循“始于需求,终于应用”的原则,根据该业务原则,本文将核电维修知识图谱的流程定义为如图2所示,其中业务需求是指搭建图谱的业务目的,知识建模旨在根据业务需求搭建知识图谱模型框架,让相关知识要素以一定逻辑形式展示,知识提取旨在从各类数据源中提取所需要的知识要素;知识融合旨在对冗余、重复数据进行清洗,知识储存是将获取的知识要素储存在特定的数据库之中[36]。由于企业的业务需求是一个复杂动态的过程,难以泛化,所以本文更加关注图2知识建模到知识推理和应用部分,其中知识应用部分会根据实际情况变化不断提出新的需求,进而推动知识图谱的完善和迭代。
图2 领域知识图谱构建流程
知识建模需要对业务有较深的理解,也需要对未来业务可能的变化有一定预估,从而设计出最贴近现状并且性能高效的系统,其中主要面临的问题包括:首先根据所设计的知识模型确定实体、关系和属性,其次确定可以组成概念的实体和关系,最后确定不需要放在知识图谱中的信息。在图谱中,概念是一定领域中某一类实体的抽象表达,不同的概念拥有不同的实体,且不同类别的实体拥有不同的属性。概念设计需要根据业务需求,确定该概念所包含的实体及其属性,关系将不同概念的实体按照一定的规则进行关联,从而让孤立的数据呈现出网状结构。本文借助传统数据库设计使用的ER (Entity Relationship Graph)图即实体-关系图,表示现实世界中的概念实体及其之间存在的关系,通过分析已有设备维修数据,提取出关键知识要素作为领域的概念、关系和属性,具体知识模型如图3所示。
图3 核电维修知识图谱主要概念和关系模式
知识要素提取主要是指将上述概念和关系模式设计中包含的实体对象、属性信息从数据源中提取出来,并根据关系模式确定实体之间的关系,由于实体对象通常以其名称指代对应的实体,因此实体识别也称为命名实体识别[37]。核电维修知识图谱的关键知识要素提取需要从维修工单的描述中提取出上述概念和关系模式设计的知识要素,主要包括维修事件、设备、电厂、机组、责任科室、责任班组、任务描述,故障位置等。最新的自然语言处理技术能够实现非结构化数据自动提取,有利于维修知识持续提取和知识积累,主要方法包括:基于规则的方法、基于统计学习的方法、基于深度学习的方法,以及多种方法的组合使用[38–41]。
本文以秦山核电企业4个机组的维修工单任务为源数据,收集时间范围在2019年4月1日到5月30日的维修记录共524 项工单数据,每项工单任务包含83 个字段,该数据在数据库中主要以表格的形式储存,样本数据如图4所示。本文根据概念和关系模式抽取任务名称、设备名称、所属电厂、所属机组、责任科室、责任班组等关键知识要素。提取知识要素是一个复杂的过程,实际的维修工单中包含许多无效字段以及重复数据,如果不进行融合和实体消歧会导致图谱中形成大量数据噪音,知识图谱的准确性和可用性会因此受影响。因此,本文在数据处理的编码过程中设计出一个知识融合单元,对重复的信息进行清洗和融合,最终提取出各类实体、关系数据如表1所示。
图4 维修工单数据样本
表1 不同类型的实体关系及属性数量
根据知识模型提取出来的知识要素要以特定的物理结构进行存储,知识图谱主要以“图”数据结构进行存储,这种数据结构能够快速处理各类复杂关系,是一种理想的领域知识管理工具。但具体图数据库的选择需要根据业务量以及效率的要求,截至2020年,相关数据库的使用情况,无论是工业应用还是学术研究,使用最广泛的是Neo4j数据库,其储存方式主要以节点(node)和关系(relation)为对象的网络结构形式[42]。Neo4j 一般可以满足10亿节点以下规模的数据量储存,但如果数据量特别庞大,可选择支持分布式的系统比如OrientDB,Ja‐nusGraph 等,或者通过效率、冗余原则把信息存放在传统数据库中,从而减少知识图谱所承载的信息量。
本文借助Neo4j中的标签实现核电设备相关实体和关系类型的标识,Neo4j 图数据库本身提供Cypher 工具对三元组数据进行操作,其本身支持RDF、CSV、JSON等文件格式,可以利用load csv 完成对csv 文件数据的批量导入,本文出于便捷操作的考虑,使用基于Neo4j 的python 开发包py2neo 导入实体关系数据,初步建立核电维修知识图谱如图5所示,其中同类实体或关系显示为同一种颜色,如其中cEvents 的节点显示颜色为黄色,当然相关可视化状态都是可变的,可以根据实际需求对节点颜色以及大小进行动态调整。从图谱中可以发现,本文构建的核电设备维修知识图谱由2906 个节点标签和5331条边组成,节点标签由定义的9类实体组成,边标签由定义的11 类关系组成,同时还包含大量的属性键值,不同于现存大多的同构知识图谱(即只有一类边),本文所构建的异构知识图谱拥有丰富的实体和关系种类。
2.5.1 设备维修分析流程
在已构建的核电设备维修知识图谱基础上,借助Neo4j提供的CQL工具能够快速获取设备维修的相关知识,如故障描述、责任科室、负责班组等,实现多维度、多层次的维修统计分析、关联分析等。CQL 是代表Cypher的查询语言,是一种声明性模式匹配语言,遵循SQL 语法,具有语法简单、人性化以及可读性强等特点。基于知识图谱的设备维修分析流程如图6所示,首先确定分析的对象,以限制条件缩小搜索范围,以MATCH 配合WHERE 语法使用,基本思想同关系型数据库类似;其次选取分析对象,确定分析目标,在图数据库之中可以以实体节点为分析对象,如实体的统计特征,也可以以关系为分析对象,如关联路径分析,同时还可以结合实体和关系进行综合分析;最后返回可视化结果,Neo4j既支持数据的图谱可视化,同时也支持普通数据库类似的表格表达方式,输出结果可以用于实现安全管理、故障分析、决策支持等目标。
图6 基于知识图谱的核电设备维修分析流程
2.5.2 维修作业统计分析
Neo4j 的统计分析常用COUNT,SUM,AVG 等统计指标,并可以结合WHERE,LIMIT 等限制性函数对数据节点进行筛选,统计分析主要以表格的形式进行展示。如不同电厂产生的工单数量以及对应的维修日期和相应的作业类型并按照工单数量排序,可以输入:“MATCH p=(c:cEvents)-[]->(a:cFacility)RETURN a.name AS 电厂名称,COUNT(*)AS 工单数量,c.pWO_TSK_STATUS_DATE AS 检修日期,c.pWORK_ORDER_TYPEAS 作业类型ORDER BY 工单数量DESC”,运行结果如图7所示,产生工单数量最多的日期为2019.05.10,所在电厂为QS2,单日维修工单数量达到29 件,作业类型为PM(总的作业类型包含13 类)。且从总体说来,QS2 的工单数量明显高于其它电厂,作业类型都集中在PM 项,同时也有MO 项作业,其它电厂的工单作业类型也集中在PM 项,如要继续挖掘深层次的具体原因则要结合到企业的运营安排和其它数据的拓展和聚合。
图7 统计分析
2.5.3 维修作业关联分析
以数据库之中所有与“柴油机”相关的历史维修事件为例,输入“MATCH(n:cEvents)-[]-(p:cEquipment)WHERE n.name=~'.*柴油机.*'RETURN n.name as 柴油机故障,p.name as 相关设备”,则会返回“柴油机”故障和相关设备的列表如图8所示,输入“MATCH p=(n:cEv‐ents)-->()where n.name=~'.*柴油机.*'RETURN p”则会返回与柴油机故障相关联的所有实体节点如图9所示。从图9中可以发现,共查询到5 件案例,其中4 件是由运行三处负责,3 件是由M316 班组负责维修,有3 件的负责人都是200770xx,所有故障维修事件来源都是QS2 厂房。可以认为,QS2 厂房的柴油机故障发生比较频繁,与柴油机相关的维修事件运行三处是对口科室,而M316 组在类似的维修事件上经验丰富,同时200770xx负责人对柴油机相关故障维修最清楚,通过知识图谱的展现形式,可以清楚的看到对象之间的关系并进行针对性的维修操作。
图8 故障和关联设备模糊查询
图9 故障和关联实体可视化
本文结合核电设备健康管理的现实需求以及知识图谱在相关领域的特异性优势,提出了一种新的基于知识图谱的核电设备健康管理方法,并设计了基于核电企业实际维修工单数据的实体关系模型,构建了核电维修知识图谱,做了基于知识图谱的核电设备健康管理的统计与关联分析。研究结果表明,知识图谱能够为设备健康管理提供较为全面的数据支持,在设备维修知识的集成上打破传统的数据孤岛问题;同时,知识图谱实现设备故障分析可视化,不仅可以为维修人员和管理人员提供决策和知识支持,而且有助于用户理解实际业务;此外,知识图谱还有极强的可扩展性,可以将不同数据源集成在同一图谱中,本文构建的知识图谱仅针对维修工单数据源,而在核电企业中与设备维修有关联的数据源还包括BOM 表、设备主数据、供应商、PM 项目以及工单物资申请表等,通过相关逻辑规则扩展现有的图谱信息,能最大限度地发挥知识图谱在设备健康管理中的价值,为未来设备的智慧管理奠定基础,这是本文进一步研究的方向。
值得注意的是,虽然知识图谱在工业应用中有诸多优势,但搭建领域类图谱,特别是工业知识图谱存在许多值得注意的地方,具体说来,有以下3个方面:
(1)数据建模方面,知识建模决定了图谱中实体之间的关联形式,不同于本文中单种类的数据建模,实际的工业数据是多种类的,数据建模需要考虑复杂的实体以及实体之间的关系,特别需要考虑数据之间的逻辑关联,这需要知识建模人员和业务人员深度交流和沟通。
(2)数据融合方面,工业数据常常面临着噪音多,数据杂的特点,在数据预处理过程中,需要考虑设计一个数据融合单元,对噪音数据和重复数据进行清洗。
(3)应用开发方面,知识图谱是设备健康管理应用开发的一个基础和底层,可视化只是应用一部分,知识图谱对设备健康管理最有用的部分是智能问答、智能推荐等智能应用开发,因为知识图谱是经过清洗和整理过的知识,其规则的三元组形式对接智能问答和推荐的应用开发十分便利。