电力NLP:指令票规范识别

文章目录


任务目的

识别调度指令票(或者其它操作票)是否规范。

想法讲解

按石第2014---16号定值单投入石双西线161开关6区保护

将石双西线161开关由热备用转冷备用

合上石双西线161开关操作电源空开

苍湖站110千伏周苍线143开关由冷备用转热备用

退出白清站110kV分段101开关分段备自投

栾北站2号主变中压侧312开关由热备用转运行

观察以上几句调度指令,发现都有共同点。

  • 1 都有一个电气主语。如"开关"。
  • 2 整句指令意思是 (那个的)(电气主语)(做了什么)。 上述几个指令中(那个的)指"线、分段、主变"是名词;(电气主语)指"开关"是名词;(做了什么)指"投入、由热备用转冷备用、合上、由冷备用转热备用、退出、由热备用转运行"。
  • 3 观察指令,发现(那个的)必须在(电气主语)前面;(做了什么)可以在(电气主语)前面,也可以在(电气主语)后面。
    思路如下:

在实际中,电气主语只有那几个,如"开关、刀闸、主变、线、主变、站用变、接地线、保护、PT、电容器、电抗器"等。首先准备好每个"电气主语"的"那个的"或者"做了什么"词语搭配规则文件,见数据集文件。

以 "将石双西线161开关由热备用转冷备用"为例。

  • 第一步:首先找到该文本的"电气主语"为"开关"。如果不存在"电气主语",说明该句文本不是指令。

  • 第二步:在规则文件中判断该"电气主语"是否有"那个的"和"做了什么"两种词语搭配。有些电气主语人为只设置了一种词语搭配。

  • 第三步: 如果规则文件中该"电气主语"存在"那个的"词语搭配。则在指令中该"电气主语"的前半部分,如"将石双西线161开关"文字中,寻找是否有词语属于该"电气主语"的"那个的"。如果没找到,说明有错。本例子找到词语为"线"。

  • 第四步: 如果规则文件中该"电气主语"存在"做了什么"词语搭配。在整句指令寻找是否有词语属于该"电气主语"的"做了什么"。如果没找到,说明有错。本例子找到词语为"由热备用转冷备用"。

  • 第五步:针对整句指令,判断该指令是否有明显错误词,如"kV",如果有则说明指令有错。

    针对指令票中的每一句文本都应用以上方法。

数据集介绍

1电气主语

表格名称命名为"电气词汇.xls"

里面只有一列数据。为电气专业的设备名称。

示例数据如下,可以自定义添加修改数据,注意表格格式保持一致即可。

开关

刀闸

主变

线

站用变

接地线

保护

PT

电容器

电抗器

2操作任务判断数据集

表格名称命名为"题目调度规程.xls"

里面有4列数据。分别为"关键词、正确搭配、编号、解释"。

"关键词"为"电气主语"。"正确搭配"为在一句调度指令中,常常和关键词一起出现的词汇。"编号"为表示该"正确搭配"为"关键词"的"那个的"还是"做了什么",我用1表示"那个的",2表示"做了什么"(并不是所有"关键词"都必须2种,如可以只设置"那个的"或者"做了什么",则该电气主语的词语搭配规则只有一种)。"解释"为对该行规则进行注释(方便阅读),可以写可以不写。

部分示例数据如下,可以自定义添加修改数据。

关键词 正确搭配 编号 解释

开关 由运行转热备用 2 搭配必须有"由转"

开关 由运行转冷备用 2 搭配必须有"由转"

开关 由热备用转运行 2 搭配必须有"由转"

开关 由热备用转冷备用 2 搭配必须有"由转"

开关 由冷备用转热备用 2 搭配必须有"由转"

开关 由冷备用转运行 2 搭配必须有"由转"

开关 线 1 设备双层编号

开关 主变 1 设备双层编号

开关 分段 1 设备双层编号

开关 母联 1 设备双层编号

开关 内桥 1 设备双层编号

开关 站用变 1 设备双层编号

开关 电容器 1 设备双层编号

开关 电抗器 1 设备双层编号

线 千伏 1 加电压等级

母联 千伏 1 加电压等级

3操作内容判断数据集

表格名称命名为"内容调度规程.xls"

里面有4列数据。分别为"关键词、正确搭配、编号、解释"。

"关键词"为"电气主语"。"正确搭配"为在一句调度指令中,常常和关键词一起出现的词汇。"编号"为表示该"正确搭配"为"关键词"的"那个的"还是"做了什么",我用1表示"那个的",2表示"做了什么"(并不是所有"关键词"都必须2种,如可以只设置"那个的"或者"做了什么",则该电气主语的词语搭配规则只有一种)。"解释"为对该行规则进行注释(方便阅读),可以写可以不写。

部分示例数据如下,可以自定义添加修改数据。

关键词 正确搭配 编号 解释

开关 由运行转热备用 2 必须有"由转",开关不能写转检修

开关 由热备用转冷备用 2 必须有"由转",开关不能写转检修

开关 由热备用转冷备用 2 必须有"由转",开关不能写转检修

开关 由冷备用转热备用 2 必须有"由转",开关不能写转检修

开关 由热备用转运行 2 必须有"由转",开关不能写转检修

开关 倒 2 1母倒2母

开关 投入 2 保护指令

开关 合上 2 空开

开关 断开 2 空开

开关 线 1 设备双层编号

开关 主变 1 设备双层编号

开关 分段 1 设备双层编号

开关 母联 1 设备双层编号

开关 内桥 1 设备双层编号

状态 确认 1 确认非检查

母联 千伏 1 加电压等级

分段 千伏 1 加电压等级

旁路 千伏 1 加电压等级

SVC 千伏 1 加电压等级

电容器 千伏 1 加电压等级

电抗器 千伏 1 加电压等级

PT 千伏 1 加电压等级

刀闸 拉开 2 拉开、合上刀闸

刀闸 合上 2 拉开、合上刀闸

二次空开 断开 2 断开、合上二次空开

二次空开 合上 2 断开、合上二次空开

4错误词数据集

表格名称命名为"错误词.xls"

里面有2列数据。分别为"词汇、解释"。

只有调度指令里有错误词,则认为该调度指令有错。

部分示例数据如下,可以自定义添加修改数据。

词汇 解释

检查 要写成"确认"

#站用变、主变要写成阿拉伯数字,禁止#1、#2

1母 要写成罗马数字

2母 要写成罗马数字

kv 电压等级为汉字

KV 电压等级为汉字

Kv 电压等级为汉字

kV 电压等级为汉字

解法讲解

数据集处理部分

1 首先应用程序得到"操作任务 规范字典",该字典有1个字典。

命名为"result",result 类似于{'开关': {2: ['由运行转热备用', '由热备用转冷备用', '由冷备用转热备用', '由热备用转运行', '合上', '断开', '投入', '倒'], 1: ['线', '主变', '分段', '母联', '内桥', '外桥']},'状态': {1: ['确认']}, '母联': {1: ['千伏']}, '分段': {1: ['千伏']}, '旁路': {1: ['千伏']},'SVC': {1: ['千伏']}, '电容器': {1: ['千伏']}, '电抗器': {1: ['千伏']}, 'PT': {1: ['千伏']},'刀闸': {2: ['拉开', '合上']}, '二次空开': {2: ['断开', '合上']}, '保险': {2: ['取下', '装上']},'接地线': {2: ['装设', '挂', '拆除']}, '保护': {2: ['投入', '退出'], 1: ['开关', '主变', '母差']},'集控站': {2: ['站']}, '监控': {2: ['站']}, '县调': {2: ['站']}, '空开': {2: ['合上', '断开']}}。可以发现result是一个嵌套字典,第一层的键为"关键词"如开关,对应电气主语;第二层的键为"编号"如1,对应"那个的"(开关有1,2);第二层键对应的值为"正确词语搭配"是列表形式。

2 同理应用程序得到"操作内容 规范字典",该字典也有1个字典,和上面类似。

3 应用程序得到"错误词 字典",类似于{'检查': ['要写成"确认"', '要写成确认'], '1母': ['要写成罗马数字'],...}。该字典的键存储的是电气调度术语中规定的错误词。该键对应的值存储的为注释。

4 应用程序得到"电气主语"词组。类似于

开关,刀闸,主变,线,主变,站用变,接地线,保护,PT,电容器,电抗器

判断部分

1 操作任务规范性判断:

第一步:遍历指令每一行,如果在当前行找到"操作任务"这个词则认为该句指令为操作任务。则进行后续几步。

第二步:遍历"操作任务 规范字典"中的每一个键(电气主语),用正则方法判断该句指令是否含有该键,如果含有该键(电气主语),则找到该行文本的"电气主语"。

第三步:判断该"电气主语"是否含有"编号1",如果有,则在该行文本该"电气主语"的前半部分文字用正则方法寻找是否有词语属于该电气主语"那个的"的词语搭配。如果有,则说明指令没错。

第四步:判断该"电气主语"是否含有"编号2",如果有,则在该行文本该"电气主语"的整句文字用正则方法寻找是否有词语属于该电气主语"做了什么"的词语搭配。如果有,则说明指令没错。

同时,查看该行文本是否有词语属于"错误词数据集",如果有则该行文本有错。

示例:操作任务 110石双西线由双桂站供电倒至石马站供电

(1)首先从当行找到"操作任务",则认定为该行文本为任务。

(2)从该行找到的电气主语为"线"。从"操作任务判断数据集"找到电气主语"线"只有一个编号1。

(3)从"线"的前半部分文本"操作任务 110石双西线"寻找正确词语搭配,发现没有一个词语属于"线"编号1的"正确词语搭配",则判断该指令有错。

(4)从"错误词数据集"没有找到一个错误词语存在于该行指令。

2 操作内容规范性判断

遍历每一行,如果在当前行没有找到"操作任务"且同时从找到一个"电气主语(如开关或者主变)"则认为该句为操作任务,然后判断方法类似同上。

程序操作讲解

1将几个规则表格("电气词汇.xls"、"题目调度规程.xls"、"内容调度规程.xls"、"错误词.xls")和软件放在同一个文件夹。

2打开软件,自动生成几个规则文件路径(这几个规则文件路径目录为程序所在文件目录)

3 以表格或者txt或复制粘贴(CTRL+A(全选),CTRL+V)调度指令票内容。

4 在软件右侧进行 操作任务和操作内容规范识别。

5 帮助界面

优势

规则文件内容可以自定义添加修改,可以完成各种场景需要。

程序中查找是以"字典"进行,比for循环快。

不足之处

无法识别逻辑错误。毕竟需要专业知识

未来可以提升的点

可以加入爬虫程序,实现输入"调度指令票网址",然后自动完成规范性识别。

程序、数据集下载链接

电力NLP(指令票规范识别)程序文件


作者:余登武

相关推荐
xier_ran2 小时前
【第一周】论文精读:Lost in the Middle: How Language Models Use Long Contexts
人工智能·语言模型·自然语言处理·agent·rag
数字供应链安全产品选型2 小时前
面向AI风险治理,悬镜原创多模态AIST新品问境AIST正式发布,提升AI自身安全!
人工智能·自然语言处理
AI人工智能+4 小时前
基于深度学习的营业执照识别系统,通过图像预处理、OCR识别和NLP解析三大技术模块,实现对复杂版式营业执照的高效精准识别
深度学习·自然语言处理·营业执照识别
DisonTangor5 小时前
【腾讯拥抱开源】腾讯开源全新紧凑型视觉语言模型——企鹅VL
人工智能·计算机视觉·自然语言处理·视觉检测
nn在炼金5 小时前
大语言模型 Agent 技术详解
人工智能·语言模型·自然语言处理
2501_933329555 小时前
舆情监测系统的技术架构与实践:Infoseek如何用AI重构企业品牌护城河
人工智能·分布式·自然语言处理
WJSKad12355 小时前
[特殊字符] MoLFormer-XL:分子语言模型的革命性突破
人工智能·语言模型·自然语言处理
Learn Beyond Limits5 小时前
固定窗口神经语言模型|A fixed-window neural Language Model
人工智能·语言模型·自然语言处理
华农DrLai7 小时前
OpenClaw vs 普通 API 调用:从编排者到委托者的根本性范式转变
人工智能·自然语言处理·大模型·nlp·transformer