自然语言处理技术在电网预案生成中的应用

2019-10-22 01:40许鑫
云南电力技术 2019年4期

许鑫

(云南电网有限责任公司玉溪供电局,云南 玉溪 653100)

0 前言

当前在地区电网系统中,检修预案依然是通过人工编写的方式产生的。将自然语言处理技术应用于电网预案文书的生成,替代人工操作,提高编写预案的工作效率。自然语言处理技术可以从文本中提取信息,对信息进行分析处理,发现有用的知识。在智能电网的建设中,由于系统数据量太大,并且缺乏分析利用的方法,导致无法为决策提供有效的支持,不利于电网领域知识的发现和表示。基于本体语言的知识表示法在很多领域中得到广泛的应用。将本体语言应用于电网领域知识表示,构建电网知识本体,有利于知识的提取和利用。目前本体的构建大部分采用人工方式完成,本体编辑工具减少了本体构建的难度[1]。

自然语言处理技术包括自然语言理解和自然语言生成,需要对语料库进行学习。自然语言理解通过中文分词,词性标注,句法分析,语义分析,产生相关模型。自然语言生成通过内容规划,句子规划和表层实现,自动生成相关文书。主要有模板生成技术、Schema模式生成技术、RST短语规划扩展技术和属性特征生成技术[2]。利用人工智能自动生成预案,为停电检修工作提供指导,再通过人工检查进行修改,最终形成解决方案。这种将智能与人工相结合的方式,是十分必要和有意义的。

1 系统设计

提出了一种基于自然语言处理的电网预案自动生成的解决方案。系统的文书是电网停电调度应急处置预案,最终要求实现地区电网预案的自动生成。系统主要分为电网预案分析模块、电网知识库管理模块和电网预案生成模块。电网预案分析实现了对预案文本的分析和理解,是构建领域知识库的基础。电网知识库管理实现了对预案数据的查询和更新,为预案文本生成提供相关数据。电网预案生成实现了预案文本的自动生成,是系统的重要功能模块。

电网预案系统总体结构如图1所示。

图1 电网预案系统总体结构

预案文书解析包括语义分析和语义推理两个部分[3]。语义分析通过对文本进行词法分析和句法分析,实现信息的自动抽取,生成浅层语义描述。语义推理通过规则的关联映射,推理得到深层语义描述。系统获取预案文本的语义知识,建立领域本体知识库,支持电网应急检修预案的构建。电网预案构建总体流程如图2所示。

图2 电网预案构建总体流程

1.1 电网预案分析模块

电网预案分析模块通过词法分析、语法分析和语义分析实现实体关系的抽取。本体构建通常需要经过预处理、术语抽取、概念抽取、层次关系抽取、非层次关系抽取,最终形成本体。从文本中挖掘本体,进行语义角色标注,再由概念和核心动词形成关系三元组[4]。对抽取到的实体关系三元组,使用本体构建工具生成本体模型,构建电网领域知识图谱。

该模块提供了对电网预案文书进行分析的功能,分析结果通过系统展现给用户。电网预案文书具有特定的格式,每个句子中包括了一些关键信息,例如站点名称和停电主变等。对文本进行语义标注、合并标注,得到关于站点、设备、时间等信息,生成浅层语义分析结果。

针对预案文书格式的特点进行关键信息的提取。对文本进行语段、语句的划分,去除无关的信息,将文本转换为有意义的单句。采用正则表达式和自定义词典进行分词,得到文本分词结果。使用正则表达式匹配文本中的词语,匹配成功则将其添加到自定义词典。结合自定义词典对文本进行分词,达到了比较好的分词效果。通过给词语添加语义类别标签,对预案文本内容进行抽象,发现本体概念之间的层次关系和非层次关系。其中上下位关系是用上位词标注下位词的语义类别,例如“变电站”的上位词是“站点”,“主变”、“母线”的上位词是“设备”。

通过建立结构化的本体和非结构化的知识之间的联系,在领域本体的基础上,形成完整的事件表达。根据检修事件关键词,形成关联规则。通过关联分析,形成实体概念关系,实现语义推理。电网预案语义推理流程如图3所示。

图3 电网预案语义推理流程

1.2 电网知识库管理模块

知识库是人工智能和数据库的结合,使基于知识的系统更加智能化。建立大量有代表性的语料库,对语料库进行加工,从中获取所需的知识,挖掘其中的规律和特征,建立相应的模型。在知识库中按照一定格式存储自然语言理解模块传递过来的知识表达[5]。知识库管理模块用来集中统一进行电网领域知识文档的信息管理。

通过对语料库的深入理解,对分析结果进行筛选,将数据保存到知识库中,实现知识库的查询和更新。电网领域知识库具有较好的层次结构、信息组织能力和知识表达能力,可以用来表达知识之间复杂的语义关系。电网领域本体包括概念、关系、属性和实例等基本元素,可以有效地表达电网领域知识。电网领域本体的层次模型如图4所示。

图4 电网领域本体层次模型

对电网领域概念进行归纳总结,形成结构化的分类体系。抽取实体关系三元组,对获取的本体概念关系进行筛选。使用protege本体开发工具构建电网领域本体。通过Jena从文件中读取本体到模型,实现对本体模型的操作。对文本中的本体实例进行标注,实现语义推理的目的。

电网预案领域本体的建立,是预案文书语义分析的基础。通过对本体构建技术的研究,完成电网领域知识库的构建。系统利用语义模型,实现预案文书的自动生成,提高了预案生成的效率。

1.3 电网预案生成模块

通过自然语言理解形成了文本的深层表达,自然语言生成应用文本结构模型和文本意义模型,实现文本表层表达。文本结构模型生成文本的主框架,文本意义模型主要确定文本的内容[6]。电网预案生成模块获取知识库和输入信息,基于生成规则和本体模型,利用模式生成技术,实现地区电网检修预案的自动生成。

该模块包含了电网预案生成的具体实现过程,基于电网领域知识库提供的信息,自动生成电网预案文书。系统通过关联分析实现语义推理,完成了预案文书的解析。预案文书解析完成之后,对信息进行加工和选择,将获取的知识存储到知识库中。预案生成是对获取到的系统数据,通过关键词匹配关联规则,查找知识库获取语义知识,使用模式生成技术,生成相应的电网检修预案。

系统采用自然语言生成体系结构来实现。自然语言生成体系结构包括内容规划、句子规划和表层实现三个部分。内容规划根据所要生成文本的内容来确定文本的结构。由于电网预案的内容格式相对固定,可以采用Schema方法来进行内容规划。经过内容规划生成的语义信息还不是真正意义上的句子,必须对其进行整理。句子规划的主要功能是对文本结构树中的节点进行优化聚合操作,使得其结构更加合理。表层实现就是将句子规划输出的文本结构树转化成最终的文本。电网预案文本的句法变化有限,可以结合使用模板生成方法,生成符合规范的预案文书。

2 实现方案

电网预案分析模块、电网知识库管理模块和电网预案生成模块共同组成了整个电网预案系统。系统以预案文书生成为目标,指导文书理解的过程,知识库将文书理解和生成连接起来。

实现检修预案的自动生成,需要使用自然语言处理技术,对大量的历史预案进行分析,抽取重要信息,从中发现和表示电网领域知识。系统将选取的部分检修预案文书转换成文本文件,采用HanLP自然语言处理包进行数据预处理,添加自定义词典,实现分词和词性标注,结合句法分析和语义分析,添加语义标注,抽取关键词和关键短语。使用Dependency Viewer可视化工具查看依存句法分析效果[7]。基于句法分析和语义分析结果,实现实体关系三元组的抽取,利用protege手工构建本体模型。

文书理解模块将获取到的信息转化为语义知识表达,存储在知识库中,知识库为文书生成模块提供所需信息。通过对知识库模块提供的信息进行推理,人工提供必要的信息,传递给文书生成模块。系统使用Schema模式生成技术,基于规则和本体模型,从知识库中获取相关数据,添加语法和语义信息,最终实现检修预案文书的自动生成。

电网预案系统采用分层架构实现,分为表现层、业务逻辑层和数据访问层。对系统功能模块进行划分,提高了模块的内聚性,降低了模块之间的耦合性,能够更好地适应软件需求的变化[8]。系统架构如图5所示。

2.1 电网预案分析模块的实现

电网预案分析模块对预案数据进行分析,从中获取实体概念关系,构建电网领域知识库。该模块主要包括信息提取和本体匹配。信息提取是从预案文书中提取有效信息。根据领域词典进行词语切分,参考领域本体实现语义标注,通过合并标注完成短语识别。在信息提取的基础上,通过规则实现本体匹配,确定本体的实例,抽取实体和实体关系。

信息提取由词法分析、语义标注、短语识别和关键词识别部分组成。词法分析是对文本进行分词和词性标注。语义标注是利用领域本体,给分词添加语义类别标签。短语识别是对语义标签进行合并,形成新的短语。关键词识别是从文本的动词中识别出关键词。本体匹配是将信息抽取的结果,结合关联规则,对本体进行匹配。目的是将输入信息和规则进行匹配,得出所需要的本体实例,最终将输入信息填入到本体实例中[9]。

图5 电网预案系统架构

2.2 电网知识库管理模块的实现

系统利用关联规则和语义模型,通过词法分析、句法分析和语义分析,获取实体和实体关系,形成电网领域知识。实现从非结构化的文本中抽取结构化的领域知识,从而利用领域知识构建领域本体。电网知识库管理模块实现了对电网领域本体的查询和更新操作,可以从中获取实体和实体关系,得到结构化的领域知识。

该模块包括本体构建、本体查询和本体更新。本体构建是通过对电网预案进行分析,抽取语义关系,添加到知识库中,实现领域本体的构建。本体查询是从知识库中获取语义知识,查询实体和实体之间的语义关系,将其作为文本生成的基本信息。本体更新是从预案文本中抽取新的语义关系,添加到知识库中,实现领域知识库的更新扩展。

2.3 电网预案生成模块的实现

电网预案生成模块建立在电网领域知识库的基础之上,通过系统输入的数据,匹配关联规则和语义模型,获取领域本体知识。系统获取电网预案相关数据,根据本体实例查询知识库获取语义知识。通过本体查询获取相关的实体关系,使用自然语言生成技术,实现电网预案的自动生成。

预案文本生成是从句子生成、段落生成到文本生成的过程。通过内容规划、句子规划和表层实现,生成符合规范的电网预案文书。该模块由结构生成、结构优化和文本实现三个部分组成。结构生成是根据文本内容来确定文本结构,使用Schema方法来描述文本结构,确定语句的结构和顺序,生成文本结构树。结构优化是根据规则对文本结构树中的节点进行优化聚合操作,确定语义成分的位置,构造新的文本结构树。通过添加句子的修饰成分,产生更加通顺的句子。文本实现是对文本结构树的内容进行线性输出,将深层的语义信息转化为表层的文本实现。

3 结束语

当前自然语言处理技术应用广泛,在电网领域利用现有的语料库,进行检修预案文本的知识获取,构建电网领域本体,形成领域知识图谱,为电网系统的应用提供支持[10]。目前人工智能还处于初期发展水平,利用自然语言处理技术分析文本数据,提供解决方案和决策支持,再根据实际情况进行人工检查修改,是一种有效可行的方法。