电力NLP:指令票规范识别

news2024/9/27 19:15:06

文章目录

    • 任务目的
    • 想法讲解
    • 数据集介绍
      • 1电气主语
      • 2操作任务判断数据集
      • 3操作内容判断数据集
      • 4错误词数据集
    • 解法讲解
    • 程序、数据集下载链接


任务目的

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

想法讲解

按石第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(指令票规范识别)程序文件

在这里插入图片描述
作者:余登武

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web三大作用域+servlet生命周期

Web三大作用域 Application ServlectContext : 作用于整个web应用,随程序的停止而失效。 使用: request.getServletContext().setAttribute("参数名","参数值");//servlet获取Application对象并传入数据 Application.g…

React antd 日期选择控件踩坑 <DatePicker> Table Ant Design ProTable

背景 需求&#xff1a;一个带日期的字段 后端接口给值时默认设置为这个日期值 不给值时就是默认状态 <DatePicker defaultValue{val} onChange{handleChange} {...props} />这里 val 是我最终从后端获取到的日期数据 可能有值可能没有值 按照官方 API 和 demo 写 应…

实验四 微程序控制器实验报告

我班算是几乎最后一个做实验的班级了&#xff0c;报告参考了一些朋友提供的数据加上一些自己的主观拙见&#xff0c;本人水平有限加之制作仓促难免有错误&#xff0c;望大家批评指正。 4.1 微程序控制器实验 一、实验目的 (1) 掌握微程序控制器的组成原理。 (2) 掌握微程…

springboot实习管理系统的设计与实现

摘 要 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;实习管理也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代的变化&#xff0c;而实…

一键免费部署你的私人 ChatGPT 网页应用-ChatGPT Next Web

ChatGPT-Next-Web是一款基于GPT-3.5的在线聊天机器人应用程序。它可以自动回复用户输入的消息&#xff0c;并提供有用的信息和服务。该应用程序使用了最先进的自然语言处理技术和GPT-3.5模型&#xff0c;可以生成自然流畅的文本&#xff0c;并提供准确和个性化的回复。 项目地…

(浙大陈越版)数据结构 第二章 线性结构 2.3 队列

目录 2.3.1 队列及顺序存储实现 什么是队列 概念&#xff1a; 特性&#xff1a; 队列的抽象数据类型描述 队列的顺序存储实现 解决方案&#xff1a; 2.3.2 队列的链式存储实现 2.3.1 队列及顺序存储实现 什么是队列 概念&#xff1a; 和堆栈一样&#xff0c;是一种受…

黑马点评项目导入

文章目录 开篇导读项目地址导入SQL项目架构介绍后端项目导入前端项目导入 开篇导读 亲爱的小伙伴们大家好&#xff0c;马上咱们就开始实战篇的内容了&#xff0c;相信通过本章的学习&#xff0c;小伙伴们就能理解各种redis的使用啦&#xff0c;接下来咱们来一起看看实战篇我们…

刚刚!BingChat全面开放,人人可用!

大家好&#xff0c;我是鸟哥。 如题&#xff0c;微软真是下血本。昨天毫无征兆的宣布BingChat全面开放&#xff0c;人人可用&#xff01;众所周知ChatGPT得使用门槛有多高&#xff0c;而BingChat底层调用的是GPT4.0的模型&#xff0c;这无疑是白嫖GPT4.0最简单的姿势了。鸟哥一…

阿里云服务器镜像怎么选?操作系统版本选择说明

阿里云服务器镜像怎么选择&#xff1f;云服务器操作系统镜像分为Linux和Windows两大类&#xff0c;Linux可以选择Alibaba Cloud Linux&#xff0c;Windows可以选择Windows Server 2022数据中心版64位中文版&#xff0c;阿里云百科来详细说下阿里云服务器操作系统有哪些&#xf…

【移动端网页布局】flex 弹性布局 ④ ( 设置子元素是否换行 | flex-wrap 样式说明 | 代码示例 )

文章目录 一、设置子元素是否换行 : flex-wrap 样式说明1、flex-wrap 样式引入2、flex-wrap 样式取值说明 二、代码示例1、代码示例 : 默认情况下 flex 弹性布局子元素不会自动换行2、代码示例 : 自动换行 一、设置子元素是否换行 : flex-wrap 样式说明 1、flex-wrap 样式引入 …

统计字符串字符出现的次数

输入一个字符串&#xff0c;输出字符及相应字符出现的次数。 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么简单…… 地址&#xff1a;https://lqp…

navicat连接云服务器mysql教程

包含navicat报错解决&#xff01; 文章目录 1 点击连接后填写相关内容2 报错解决2.1 1130 - Host XXX is not allowed to connect to this MySQL server。2.2 服务器未开启mysql端口通道 1 点击连接后填写相关内容 主机名或ip地址&#xff1a;填写服务器公网ip 用户名和密码&a…

GitHub使用(1):杂项

目录 1. ubuntu推送到github鉴权失败2. 分支重命名3. 指令升级删除分支推送到远程仓库 1. ubuntu推送到github鉴权失败 翻译下就是 remote&#xff1a;2021 年 8 月 13 日删除了对密码身份验证的支持。 远程&#xff1a;有关当前推荐的身份验证模式的信息&#xff0c;请参阅 ht…

开会记录【NiFi数据集成、AllData数据中台管理系统、RuoYi】

今天上午和下午开了个小会&#xff0c;上午说了一下Nifi&#xff0c;下午具体说了一下nifi和ruoyi。 目录 上午 下午 上午 三个人开会。 上次说的挖掘平台&#xff0c;您这边是否有技术人员对nifi比较熟悉&#xff0c;并且能够将相关功能集成到数据中台系统中。 现在结构化的…

LeetCode---回溯算法中的子集问题

78. 子集 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2]…

浅谈“孔乙己”的长衫

书中的孔乙己 孔乙已是鲁迅笔下人物&#xff0c;穷困流倒还穿着象征读书人的长衫&#xff0c;迁腐、麻木。最近&#xff0c;大家自我调佩是“当代孔乙己”&#xff0c;学历成为思想负担&#xff0c;找工作时高不成低不就。 当代的“孔乙己” 如今社会&#xff0c;从小学开始每…

【DP】学习之背包问题

01背包 2. 01背包问题 - AcWing题库 记忆化搜索 #include<bits/stdc.h> using namespace std; const int N1e310; int n,m; int v[N],w[N]; int res; int mem[N][N]; int dfs(int x,int spv) {if(mem[x][spv]) return mem[x][spv];if(x>n) return mem[x][spv]0;if…

国内免费使用gpt-4-如何接入ChatGPT4

如何用上gpt-4 GPT-4尚未正式发布和公开&#xff0c;因此我们无法提供对GPT-4的具体使用方法。但是&#xff0c;可以从GPT-4的前一代——GPT-3的使用经验和GPT-4的预期功能来看&#xff0c;建议如下&#xff1a; 了解GPT-4的语言处理能力和适用场景&#xff1a;GPT-4预计将进一…

项目实现读写分离操作(mysql)

读写分离 1.问题说明 2.读写分离 Master&#xff08;主库&#xff09;----(数据同步)—> Slave&#xff08;从库&#xff09; Mysql主从复制 mysql主从复制 介绍 mysql主从复制是一个异步的复制过程&#xff0c;底层是基于mysql数据库自带的二进制日志功能。就是一台或多台…

【C语言】数组讲解

【C语言】数组讲解 1.一维数组的创建和初始化1.1一维数组的创建1.2一维数组的初始化1.3一维数组的使用1.4一维数组在内存中的存储 2.二维数组的创建和初始化2.1二维数组的创建2.2二维数组的初始化2.3二维数组的使用2.4一维数组在内存中的存储 3.数组越界4.数组作为函数参数4.1冒…