电网知识图谱的构建
2022-08-30马娇玉
马娇玉
(积成电子股份有限公司 山东济宁 272000)
从知识图谱的定义角度分析,其在图书情报领域又被看作是知识领域的映射和可视化地图,同时,通过知识图谱,也能够直观地呈现出知识结构与发展状态中的图形,基于可视化技术对知识资源及载体的描述,能够清晰地找到并呈现二者之间存在的关系。本实验中使用了Neo4j数据库,来实现知识库结构的形成与利用[1]。通过数据库语句,根据关键字段来完成知识网络,提取mysql的半结构化数据,创建出实体、关系、属性等要素。实现知识有效融合,能够摆脱实体与关系,从而实现数据实时更新,构建良好的知识库结构,而知识推理的意义在于对当前知识库进行深入的知识挖掘,形成新的知识网络,丰富知识库内容。
知识图谱的主要作用是将多个独立的知识进行连接,形成一张知识网络,从而可以完成信息的结构化、统一化,也要依照现有的电网知识库实现隐晦知识的进一步挖掘,形成新的知识网络。
1 电网知识图谱的研发历程
1.1 第一阶段——设计
下文主要探索知识图谱的概念与构建电网知识图谱的意义,选取福建的电网数据进行分析。通过对福建地区的数据进行研究,提炼出电网关系结构图,详见图1,并将其作为电网知识图谱创建的重要参考。
图1 电网关系结构图
电网知识图谱的平台采用了传统B/S的模式(见图2),本文会详细介绍开发细节。
图2 电网知识图谱数据流结构图
1.2 第二阶段——持久化层
使用NOSQL图形数据库Neo4j,将其方法用于电网知识图谱的数据库工具,来完成电网知识图谱的持久化。以福建地区知识图谱为例,详见图3。
图3 福建电网知识图谱自动成图
Neo4j具有高性能特点,利用NOSQL图形数据库可以将结构化数据存储到网络中,其作为一种嵌入式的系统,通过磁盘来可以提高事务处理特性,构建Java持久化引擎[2],然而对于机构化数据在网络(从数学角度叫做图)中的存储,并不是将数据存储于表内。Neo4j又被称为高性能引擎,通过这一引擎,可以满足成熟数据库应用需求,同时,程序员作为面向对象和灵活的网络结构,也能够表现出静态与严格的特点,然而这些特点都能够享受事务特性,也带来企业级数据库的优势。
Neo4j数据库中的label同等于关系型数据库中的表,其中的每一个实体同等于关系型数据库中的一行数据。
数据导入阶段,将福建电网的相关数据添加到Neo4j数据库,并自动生成关系,具体数据导入语句模板:
USING PERIODIC COMMIT 100 LOAD CSV FROM"文件路径"AS句柄merge(对象:标签名{对象.属性0:句柄[0],对象.属性1:句[1],......{对象.属性n:句柄[n]})。
1.2.1 USING PERIODIC COMMIT 100
在LOAD CSV前面加上USING PERIODIC COMMIT 1000,1000表示每1000行的数据进行一次Transaction提交,提升性能。
1.2.2 WITH HEADERS
从文件中读取第一行作为参数名,只有在使用了该参数后,才可以使用“对象.属性”这样的表示方式,否则需使用line[0]的表示方式。
具体自动创建关系语句模板:
Match(a:标签1),(b:标签2)where a.属性=b.属性merge(b)-[r:关系]->(a)。
通过此方式,来完成电网只是图谱的实体导入与关系自动创建,以半自动形成电网知识图谱。
1.3 第三阶段——可视化层
使用Vue+Element完成基本界面的搭建:(1)在页面script标签中引入Vue.js等库;(2)使用Echarts对知识图进行图形可视化展示操作首先引用Echarts的组件,然后引用其Graph进行画图操作。
1.4 第四阶段——部署
(1)平台使用.jar文件,使用JDK进行启动。(2)前端vue文件部署在Tomcat服务器上,使用同Tomcat进行启动。
2 电网知识图谱详细功能简要介绍
2.1 知识创建
以电网调控知识源为核心,建立电网调度运行专业词库,综合采用命名本体实体识别、句法分析、语义分析等自然语言处理方法,系统支持抽取数据源信息中的实体(概念)、属性以及实体关系。抽取时,根据已有电网模型信息构造,包含省调、地调、县调、厂站、设备、电压等级、设备属性及量测数据统计信息的网络层次知识[3]。例如,可以按地区与厂站、厂站与母线等具有关联关系,厂站本身也有很多相关的属性,这些都能够在词库的实体属性中具体展现。
USING PERIODIC COMMIT 1000 LOAD CSV FROM"文件路径"AS句柄merge(对象:标签名{对象.属性0:句柄[0],对象.属性1:句[1],......{对象.属性n:句柄[n]})。
上述语句详细解释。
2.1.1 USING PERIODIC COMMIT 1000
在LOAD CSV前面加上USING PERIODIC COMMIT 1000,1000表示每1000行的数据进行一次Transaction提交,提升性能。
2.1.2 WITH HEADERS
从文件中读取第一行作为参数名,只有在使用了该参数后,才可以使用line.name这样的表示方式,否则需使用line[0]的表示方式。
2.1.3 AS line
整个数据表是以行的形式进行提交的,每行提交为一个实体。
2.1.4 MERGE
使用MERGE实现创建,会自动取消创建重复的实体以及关系。在导入时,MERGE子句在已经存在各个标签、属性、属性值与当前MERGE后面描述的节点完全相同的情况下不会重复创建多余节点。所以,要先整理数据源,保证csv中的每条数据相同的节点要完全相同。
2.2 知识消减
系统可以消除电网知识图谱中的重复概念关系,及时清理冗余及错误的实体关系,保证知识图谱结构的准确性,可以使用Echarts完成知识图谱的数据可视化[4]。
2.3 知识推理
知识推理作为关键环节,可以根据现有电网业务逻辑信息进行推理,系统可以实现知识库中已有实体关系的逻辑推理,使用规则引擎,从现有知识中发现新知识,可实现业务需求分析推理,从而辅助电网业务决策。知识推理可以通过递归查询,深度挖掘,可以得到新的知识网络,以发掘新的知识。
2.4 知识展示
系统应提供知识图谱中的电网层次语义信息,点击可查看相应的具体知识内容;系统可根据输入选择类型,展示对应知识内容。
3 电网KG构建
电网在建设初期并没有统一的知识平台,每一个部门都建立了各种信息库,使得电网产生了较多的信息,通过电网的生产、运行及服务等环节,使得信息量不断增加[5]。例如,电流、电压及频率发生变化时会产生相关数据,开关状态发生改变后,也产生一系列的数据,电表信息是不可忽视的数据信息。电网信息化虽然产生了较多的电网数据,但需要使用的时间不断缩短。但是,在输出这些数据时,存在一些困难,主要原因是没有统一的格式,不仅需要将结构化的数据输入其中,还具有各种非结构化的数据,涵盖了文本、音频及视频等。在构建电网KG时,KG中根据多源数,结构化数据一般可以直接进行知识融合;对于半结构化数据来说,需要进行有效筛选,利用此种方法消除干扰数据,也可以进行知识抽取,有助于更好地规范数据。此外,要想建立完整的电网KG,需要将电网中涉及的各种数据进行有效整合,在对数据进行管理及查找时,会降低时间的浪费,也会将电网逐渐智能化,提高工作效率。要想建立良好的电网KG,第一步要从各个方面获取有效的电网术语,有效运用这些电网术语为形成专业化电网KG奠定了基础。与此同时,还可以运用形式化方法抽取术语信息,并对其可靠性进行相关分析[6]。但是,电网术语没有得到大规模的使用,其重要性也会得到降低,但会提高术语的统计难度。对此,工作人员可以设计专业化的电网词典,这有助于其他人更好地理解专业电网术语,也可以提高电网知识的学习效率,促进电网不断获得发展。
4 结语
电网知识图谱作为大数据时代背景下的全新技术领域,对我国现代化电力产业的发展起到良好的推进作用,但是,当前的电力行业发展中对于知识图谱的运用仍然处于起步阶段,算法还不够成熟。然而,受到信息化时代的支持,人们对知识图谱展开了深入研究,积极探索多领域技术的融合应用,为电网企业的知识传承提供可靠支持。