发明内容
目的:快速模拟预演的一个重要内容就是计划内操作任务的预演。计划内的操作任务通常以操作票的形式下达,操作票是一种以文字语言表达的操作指令集合。为了克服现有技术中存在的不足,本发明提供一种电力操作票的智能识别方法与装置。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种电力操作票的智能识别方法,包括如下步骤:
步骤1:首先识别操作术语,判别出该语句要进行的操作,然后识别出操作对象;
步骤2:对操作对象名称进行分词,得到操作对象的分词特征值,再合并为操作对象的分词特征值,与调度信息数据库中全部设备名称的分词特征值相比对,误差最小的设备名称就是识别结果。
作为优选方案,所述识别操作术语将操作票术语库中各类操作术语的特征文字依次在操作语句中查找,直至与某一条操作术语的操作语句文本符合一个正则表达式。
作为优选方案,所述操作票术语库是规范化操作术语与操作指令代码之间的对应关系;其中,所述操作术语是按照操作票各种操作项目建立的;所述操作指令代码是与操作票的指令所属功能类别一一对应的;操作票术语库采用表格形式,表格字段包括:操作指令功能描述、操作术语、操作指令代码。
作为优选方案,操作对象名称采用电力设备名称的动态词库进行分词,所述电力设备名称的动态词库是利用调度信息数据库中的设备信息的名称信息和唯一keyid信息,建立的一个电网设备词库;电力设备名称的动态词库采用表格形式,表格字段包括:分词类别,分词内容、keyid信息。
作为优选方案,所述操作对象的特征值利用动态词库对设备的完整名称进行分解,得到各个设备名称的分词,再将分词的分词类别、分词内容,分别对应分词类别记录号、分词内容记录号,并将分词类别记录号、分词内容记录号相组合,用向量表示。
一种电力操作票的智能识别装置,包括:操作语句识别模块;电力设备名称识别模块;
所述操作语句识别模块,用于首先识别操作术语,判别出该语句要进行的操作,然后识别出操作对象;
所述电力设备名称识别模块,用于对操作对象名称进行分词,得到操作对象的分词特征值,再合并为操作对象的分词特征值,与调度信息数据库中全部设备名称的分词特征值相比对,误差最小的设备名称就是识别结果。
有益效果:本发明提供的一种电力操作票的智能识别与执行方法与装置,本发明所解决的是预调度技术体系下的新需求,以往没有类似需求的解决方案。实现了计算机识别操作票文字内容,转化为任务指令,为预调度技术体系下的模拟预演功能提供操作指令。
具体实施方式
下面结合附图对本发明作更进一步的说明。
操作票指令的核心内容是操作动作和操作对象,如何从文字内容中提取出操作术语、识别出操作对象,输出操作指令的操作功能与操作对象编号,是本方法解决的核心问题。
实施例1:
如图1所示,一种电力操作票的智能识别方法,包括如下步骤:
步骤1:构建操作票术语库;
步骤2:构建电力设备名称的动态词库;
步骤3:构建电力设备名称特征值;
步骤4:操作语句识别;
步骤5:电力设备名称识别。
所述构建操作票术语库具体如下:
所述操作票术语库是按照操作票各种操作项目建立规范化术语与操作指令代码的对应关系。将操作票的指令按照功能分类,每一类指令对应一个操作指令代码。
操作票术语库采用表格形式,表格字段包括:操作指令功能描述、操作术语、操作指令代码,如表1如示:
表1 操作术语库示例
同一个操作指令在不同地区可能会有不同的操作术语,如断开开关的操作。
一条操作语句包含操作术语和操作对象,完成操作术语识别之后,可以确定该指令包含的操作术语,操作术语之外的内容即为操作对象。
所述电力设备名称的动态词库是利用调度信息数据库中的设备信息,如变电站、电压等级、线路、主变、母线、开关、刀闸、地刀等设备的名称信息和唯一id信息,建立一个电网设备词库。一些含有多级名称信息的设备名称根据词库中已有的分词内容进行逐层分解,最终分词内容的每个词都是不可拆分的设备名称。如顺义站500kV万顺一线50121刀闸,可以将顺义站、500kV、万顺一线、刀闸分解出去,最终保留50121。由于开关、刀闸和地刀之间可能存在的包含关系,刀闸设备名称不使用开关类的分词进行分解,地刀设备名称不使用开关和刀闸类的分词进行分解。电力设备名称的动态词库采用表格形式,表格字段包括:分词类别,分词内容,如表2所示:
序号 |
分词类别 |
分词内容 |
1 |
变电站名称 |
顺义站、城北站、昌平站…… |
2 |
电压等级名称 |
500kV、220kV、35kV、66kV…… |
3 |
线路名称 |
万顺一线、万顺二线、顺城一线、顺城二线…… |
4 |
主变名称 |
#1主变、#2主变、#3主变…… |
5 |
母线名称 |
1M母线、2M母线、3M母线、4M母线…… |
6 |
开关名称 |
5011、5012……2201、2202……301、302…… |
7 |
刀闸名称 |
50111、50112、22011、22012、22013、3011、3013…… |
8 |
地刀名称 |
501117、501127、220117、22012、220137、30117、30137…… |
9 |
发电机名称 |
1号机、2号机、3号机…… |
10 |
电容器名称 |
1号电容器、2号电容器、3号电容器…… |
11 |
电抗器名称 |
1号电抗器、2号电抗器、3号电抗器…… |
12 |
设备分类名称 |
开关、刀闸、地刀…… |
表2电力设备名称的动态词库内容示例
根据操作任务涉及到的变电站动态建立局部电网设备的语义识别分词词库,可减小词库规模,提高分词效率。
所述设备名称特征值利用词库对设备的完整名称进行分解,得到各个设备名称的分词结果,并产生一个分词特征值,该特征值表达设备名称包含了哪些分词。特征值以电力设备名称的动态词库为基础,用设备名称的分词类别、分词内容,分别对应分词类别记录号、分词内容记录号,并将分词类别记录号、分词内容记录号组合形成设备名称特征值,设备名称特征值可以用向量表示,如表3所示,以“顺义站500kV万顺二线50112刀闸”为例:
分词类别记录号 |
分词内容记录号 |
说明 |
01 |
01 |
顺义站 |
02 |
01 |
500kV |
03 |
02 |
万顺二线 |
07 |
02 |
50112 |
12 |
02 |
刀闸 |
END |
|
结束标识符 |
表3设备名称特征值的结构及示例
如图2所示,所述操作语句识别,具体如下:
操作语句识别,首先进行操作术语的识别,判别出该语句要进行哪种类型的操作,然后识别出准确的操作对象,最后转化为准确的操作指令代码。
1.识别操作术语
将操作术语库中各类操作术语的特征文字依次在操作语句中查找,直至与某一条操作术语匹配。本发明借助正则表达式法来实现操作术语的识别。
正则表达式是各种主流编程语言都支持的一种对字符串(包括普通字符(例如,a到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,用事先定义的操作术语特定字符、及特定字符的组合,组成 “规则字符串”,“规则字符串”用来表达对字符串的一种过滤逻辑,用以描述在搜索操作语句文本时要匹配的一个或多个字符串。将操作语句文本和一个正则表达式输入正则表达式的库函数,即可得到操作语句文本是否符合这个正则表达式的过滤逻辑。
例如,判断操作指令是否是将开关操作至断开位置,需要识别指令中是否含有“拉开……开关”、“断开……断路器”或“断开……开关”中的任意一种形式,含有将术语“拉开”与“开关”作为一组关键字,形成正则表达式如下:
\u62c9\u5f00\b.*\b\u5f00\u5173
其中,\u62c9、\u5f00、\u5173分别是“拉”、“开”、“关”三个汉字的Unicode编码(利用正则表达式在搜索汉字时,需要使用汉字的Unicode编码)。当输入某个操作指令时,利用上述正则表达式可以准确识别出指令是否符合句首是 “拉开”并且句尾是“开关”。通过使用各个操作术语关键字对操作语句进行识别,得知该条操作语句的操作功能。
2.识别设备名称
对一条操作语句完成操作术语识别之后,可以确定该操作语句包含的操作术语,操作术语之外的内容即为操作对象。
使用电力设备名称的动态词库对操作语句中的操作对象名称进行分词,得到操作对象的分词特征值。
由于操作票可能来自于变电站,而变电站侧开票系统的设备名称因系统维护或者命名规范等原因有可能与调控主站侧的设备名称存在差异、不能完全匹配。因此,操作对象的分词特征值和调控主站侧的设备名称的分词特征值可能无法完全匹配,但同一个设备在操作对象的设备名称和调控主站的设备名称,其分词结果仍存在较高的匹配度,所以其特征值也最为接近。
操作对象的特征值与数据库中全部设备名称的特征值相比对,与操作对象的特征值最接近的设备名称就是识别结果。数据库中设备名称与设备的唯一编码keyid相对应,由此可以获得操作对象电力设备的keyid。
步骤6:输出操作指令
从操作语句中识别出操作术语、设备类型和操作设备keyid,即可对唯一确定的设备进行操作。
操作票识别模块将操作指令代码和操作设备keyid传送给模拟操作模块,进行操作指令的仿真模拟执行过程。
实施例2:
一种电力操作票的智能识别装置,包括:操作语句识别模块;电力设备名称识别模块;
所述操作语句识别模块,用于首先识别操作术语,判别出该语句要进行的操作,然后识别出操作对象;
操作票术语库采用表格形式,表格字段包括:操作指令功能描述、操作术语、操作指令代码,如表1如示:
表1 操作术语库示例
所述电力设备名称识别模块,用于对操作对象名称进行分词,得到操作对象的分词特征值,再合并为操作对象的分词特征值,与调度信息数据库中全部设备名称的分词特征值相比对,误差最小的设备名称就是识别结果。
所述电力设备名称的动态词库是利用调度信息数据库中的设备信息,如变电站、电压等级、线路、主变、母线、开关、刀闸、地刀等设备的名称信息和唯一id信息,建立一个电网设备词库。一些含有多级名称信息的设备名称根据词库中已有的分词内容进行逐层分解,最终分词内容的每个词都是不可拆分的设备名称。如顺义站500kV万顺一线50121刀闸,可以将顺义站、500kV、万顺一线、刀闸分解出去,最终保留50121。由于开关、刀闸和地刀之间可能存在的包含关系,刀闸设备名称不使用开关类的分词进行分解,地刀设备名称不使用开关和刀闸类的分词进行分解。电力设备名称的动态词库采用表格形式,表格字段包括:分词类别,分词内容,如表2所示:
序号 |
分词类别 |
分词内容 |
1 |
变电站名称 |
顺义站、城北站、昌平站…… |
2 |
电压等级名称 |
500kV、220kV、35kV、66kV…… |
3 |
线路名称 |
万顺一线、万顺二线、顺城一线、顺城二线…… |
4 |
主变名称 |
#1主变、#2主变、#3主变…… |
5 |
母线名称 |
1M母线、2M母线、3M母线、4M母线…… |
6 |
开关名称 |
5011、5012……2201、2202……301、302…… |
7 |
刀闸名称 |
50111、50112、22011、22012、22013、3011、3013…… |
8 |
地刀名称 |
501117、501127、220117、22012、220137、30117、30137…… |
9 |
发电机名称 |
1号机、2号机、3号机…… |
10 |
电容器名称 |
1号电容器、2号电容器、3号电容器…… |
11 |
电抗器名称 |
1号电抗器、2号电抗器、3号电抗器…… |
12 |
设备分类名称 |
开关、刀闸、地刀…… |
表2电力设备名称的动态词库内容示例
所述设备名称特征值利用词库对设备的完整名称进行分解,得到各个设备名称的分词结果,并产生一个分词特征值,该特征值表达设备名称包含了哪些分词。特征值以电力设备名称的动态词库为基础,用设备名称的分词类别、分词内容,分别对应分词类别记录号、分词内容记录号,并将分词类别记录号、分词内容记录号组合形成设备名称特征值,设备名称特征值可以用向量表示,如表3所示,以“顺义站500kV万顺二线50112刀闸”为例:
分词类别记录号 |
分词内容记录号 |
说明 |
01 |
01 |
顺义站 |
02 |
01 |
500kV |
03 |
02 |
万顺二线 |
07 |
02 |
50112 |
12 |
02 |
刀闸 |
END |
|
结束标识符 |
表3设备名称特征值的结构及示例
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。