基于深度学习的电力运维工单命名实体识别
2022-05-30肖鹏徐托瞿少成
肖鹏 徐托 瞿少成
摘要:国家电网公司PMS中积累了大量电力一次设备的运维工单文本数据,但难以有效利用。为此设计了一种基于BERT-BiLSTM-CRF模型的电力一次设备运维工单中文实体识别系统。首先,分析了工单的文本特点及分词难点,总结出七类实体并人工标注3452条工单,形成训练集。其次,利用相关设备的试验、故障分析报告对BERT模块进行预训练,以获得电力词向量。然后,利用BiLSTM模块对实体标签进行预测。最后,引入CRF模块优化预测标签。对1000份工单进行中文实体识别实验,结果表明该模型在电力一次设备运维工单文本中具有较高的识别能力。
关键词:电力一次设备运维工单; 命名实体识别; BERT模型; 双向长短期记忆网络; 条件随机场
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2021)31-0007-04
1 概述
自电力生产管理系统(PMS) 在國家电网上线以来,电力一次设备运维工单数据呈现爆炸式增长。这些数据中蕴含着丰富的电力资产健康信息[1],但其主要以非结构化文本方式存储,难以有效利用。因此,如何将非结构化运维工单结构化显得尤为重要。随着自然语言处理中,命名实体识别技术发展为上述问题提供了可能的解决方案。
早期命名实体识别技术主要是基于规则和字典,此后基于统计学的方法得到了极大发展,如隐马尔科夫模型(HMM) 、最大熵模型(MEM) 、支持向量机(SVM) 与条件随机场(CRF) 等,但这些模型存在对语料库依赖大、训练时间复杂性高及收敛速度慢等问题[2]。当前,基于深度学习的方法得到了空前发展,如循环神经网络(RNN) 、长短期记忆网络(LSTM) 、双向长短期记忆网络(BiLSTM) 等[3]。
目前,命名实体识别技术已经开始深入电力领域。本文针对电力一次设备非结构化运维工单数据,构建了基于BERT-BiLSTM-CRF的模型,实现了电力一次设备运维工单命名实体识别。首先,分析了运维工单的文本特点及分词难点,总结出“设备名称”“设备电压等级”“设备所属线路”“设备所属变电站”“设备损坏部位”“设备维修情况”及“设备维修时间”七类实体,并筛选3400余条工单进行实体标注,形成训练集;然后,预训练出适用于电力领域的BERT模型,以BiLSTM作为实体标签预测层、CRF作为标签全局最优解的处理层,共同构建了电力一次设备运维工单实体识别模型;最终,完成了工单文本实体的高准确率识别实验。
2 电力一次设备运维工单分析
2.1 电力一次设备运维工单数据来源
电力一次设备运维工单文本数据来自国网湖北公司PMS中30万条工单数据。本文仅考虑在110kv、220kv与500kv三种电压等级下,主变压器、隔离开关与断路器这三种电力一次设备的运维数据。经数据清洗后,共筛选出1.2万余条工单作为本文数据源。
2.2 运维工单文本的特点及分词难点
分析上述工单文本内容,发现相较于一般的中文文本,电力一次设备运维工单文本有如下特点:
1) 工单文本内容一般包括设备电压等级、设备名称、设备所属线路、设备所属变电站、设备损坏部位、设备维修情况、设备维修时间等信息,但由于检修人员的书写习惯不同,工单文本内容存在结构和完整性差异。
2) 由于各类型设备的各种故障及检修方式的复杂度不同,不同工单文本内容的长度差异也很大,从已有的数据中统计,最短的工单文本为11字,最长的可达354字。
电力一次设备运维工单文本分词的难点在于:
1) 对于相同设备或部位,由于运维人员的书写习惯不同,其描述也存在一定的差异,如“主变压器”被缩写为“主变”;
2) 对于工单文本中的数值信息,如电压等级“110kv”、设备型号“电容器型号BAMH2”等内容,需要依赖上下文信息进行实体类别判断;
3) 对于不同工单,描述设备损坏部位、维修情况的文本内容冗长,实体种类繁多,语义复杂且分割界限不明显,需要模型具有较强的泛化能力。
3 基于BERT-BiLSTM-CRF的运维工单实体识别模型
通过分析上述运维工单文本的特点与分词难点,设计了一种基于BERT-BiLSTM-CRF的运维工单实体识别模型,其整体结构如图1所示。
首先,利用主变压器、断路器与隔离开关三类电力一次设备的相关试验、故障分析报告对BERT模块进行了预训练;其次,将工单文本以句子为单位输入已预训练的BERT模块,得到高质量的词向量;然后,利用BiLSTM进行字词间的局部特征提取及实体标签预测;最后,通过CRF处理相邻标签之间的关系,得到最优预测序列,进行实体分类。
3.1 BERT模块
自然语言处理中,通常采用词嵌入将字词映射到低维密集语义空间,即获得字的向量表示。
当前,常见的词嵌入模型有Word2Vec和GPT。但这些模型在电力一次设备运维工单命名实体识别中存在一些问题。Word2Vec模型生成的是静态词嵌入,不能表达一词多义。而GPT则是一种单向语言模型,无法获取词的上下文信息。
BERT模型的出现缓解了上述问题,它通过考虑字符级和词级特征来增强词向量的语义表示,同时能够通过预训练来提高模型的准确性。因此,本文选择BERT模型来获取运维工单的词向量,为提高模型的准确性,本文对BERT模型进行了预训练。
BERT模型的整体结构如图1(a) 所示。具体而言,BERT输入的每个字都由Token Embedding、Segment Embedding和Position Embedding三个向量叠加表示,分别表示字嵌入、句子嵌入和位置嵌入,其模型输入表示如图1(b) [4]。图中[CLS]用于标识句子的开头,[SEP]用于标识两个句子的界限。
其主体结构为多个Transformer编码器的串联,Transformer结构如图1(c) 所示。编码器由多头自注意力机制、残差模块、归一化模块和前馈神经网络构成。
在编码器中,最关键的部分是自注意力机制,其公式表示为:
[AttentionQ,K,V=SoftmaxQKTdkV] (1)
式中,Q、K、V分别代表查询向量、键向量和值向量,由词嵌入向量经过线性变换矩阵[WQ]、[WK]、[WV]计算所得[5]。[dk]为键向量的维度,用于调节[QKT]的内积,防止内积过大导致训练过程中梯度不稳定问题。而多头自注意力机制是自注意力机制的线性组合,可使模型在不同的表示子空间学习到更多相关信息,增加了模型信息采样的多样性[6]。其公式表示如式(2) 。
[MultiHeadQ,K,V=Concathead1,???,headnWoheadi=AttentionQWQi,KWKi,VWKi] (2)
每个自注意力模块后都需要对结果进行残差和归一化处理(Add&Norm) ,是為了改善模型梯度消失,加速网络收敛。最后链接前馈神经网络,来提升模型空间,巩固原有编码信息。
3.2 BiLSTM模块
由于全连接神经网络不能挖掘输入序列的上下文语义信息。因此,提出循环神经网络(Recurrent Neural Network, RNN) ,其具有一定的记忆功能,但存在梯度消失和梯度爆炸问题。此后,长短期记忆网络(Long Short Term Memory, LSTM) 引入门限机制来解决长时依赖和梯度消失问题[7]。LSTM的单元结构如图2所示。
LSTM的核心是遗忘门、输入门、输出门和一个记忆单元。遗忘门[ft]决定多少历史信息影响[Ct]。输入门[it]决定多少当前输入信息影响[Ct][Ct]。输出门[ot]则控制对外有多少信息可见,即[ht][8]。LSTM的单元状态更新计算公式如下:
[ft=σWf?ht-1,xt+bfit=σWi?ht-1,xt+biCt=tanhWC?ht-1,xt+bCot=σWo?ht-1,xt+boCt=ftCt-1+itCtht=ottanhCt] (3)
式中,[σ]表示sigmoid激励函数,W表示权重矩阵,b表示偏置向量,[ht-1]表示上一时刻LSTM单元的输出,[xt]表示当前时刻的输入。
由于单向LSTM无法通过后项输入信息来获取文本特征,本文采用双向长短期记忆网络(Bidirectional Long-Short Term Memory,BiLSTM) 来提取文本特征,以提高电力实体识别模型的模型能力。BiLSTM模型结构如图1(d) 所示。
3.3 CRF模块
BiLSTM根据上下文提取文本特征,输出每个字符对应各标签的分值,并以该字符分值最高的标签作为最终标签输出,但存在标签不对应问题。因此,引入条件随机场(Conditional Random Field, CRF) 来处理标签之间的依赖关系从而得到最优预测序列,尽可能提高预测的准确率。
对于任意输入序列[X=x1,x2,…,xn],假设BiLSTM训练得到的对应输出标签序列为[Y=y1,y2,…,yn],则得分函数为:
[sX,Y=i=1nAyi-1,yi+Pi,yi] (4)
式中,n为字符的个数,[Ayi-1,yi]表示文本相邻两字符标签间的转移分数矩阵,[Pi,yi]为文本中第i个字符的[yi]标签分数。预测序列Y产生的概率为:
[PYX=esX,YY∈YXsX,Y] (5)
式中,[Y]表示真实标注序列,[YX]为所有可能的标签序列集合。最终,将得分最大的标签集合作为最优标签输出。
4 实验与结果分析
4.1 标注体系与数据集
常见的命名实体识别标注体系主要有BIO、BIOES、BIOES+等模式,本文采用BIO标注体系。该体系中,B(Began) 表示一个实体词的首字符,I(Inside) 表示一个实体词的中间及末尾字符,O(Outside) 表示非实体词。从运维工单数据源中筛选出3452条工单,使用标注工具按“VoltageLevel”“EquipmentName”“LineName”“TransforSta”“DamagePart”“RepairCondition”“Time”七类标签对文本进行手工标注。
最终将标注的结果转码为BIO标注体系,并按7:3的比例划分为训练集和测试集,运维工单文本标注示例如表1所示。
4.2 评价指标
本文采用召回率R、精确率P和F1值来评判模型的性能,各评价指标的计算方法如下:
[P=TPTP+FPR=TPTP+FNF1=2PRP+R] (6)
式中,[TP]表示实际为正例、预测也为正例的数量,[FP]表示实际为负例、预测为正例的数量,[FN]表示实际为正例、预测为负例的数量。
4.3 实验环境与参数配置
4.3.1 实验环境
基于PyTorch平台搭建实验环境,具体训练环境配置如表2所示。
4.3.2 实验参数配置
训练过程中,BERT模型的Transformer编码部分层数为12,12头自注意力机制,输出为300维,其他具体超参数如表3所示。
4.4 实验结果
为了验证所用模型在电力一次设备运维工单文本中的识别效果,使用测试集中1000条工单文本对模型进行测试,具体实验结果如表4所示。
由表4可知,相比LSTM、BiLSTM和BiLSTM-CRF模型,BERT-BiLSTM-CRF模型在电力一次设备运维工单文本中的识别实体效果更好,其F1值达到85.6%,比其他三者分别提高11.5%、7.2%和4.9%。相比LSTM模型,BiLSTM模型在输入序列方面考虑了后项输入,因此结果稍好一点。相比BiLSTM模型,BiLSTM-CRF模型增加了CRF模块,能够更好地处理标签之间的依赖关系,因而评价指标略高一点。相比BiLSTM-CRF模型,BERT-BiLSTM-CRF模型使用了BERT模块,能够通过预训练增强模型在电力领域的表征能力,输出更高质量的词向量,因此评价指标有所提高。
5 结论
本文设计了一种基于BERT-BiLSTM-CRF模型的电力一次设备运维工单中文实体识系统。通过分析电力一次设备运维工单的文本特点及分词难点,总结了设备名称、设备损坏部位等七类中文电力实体。通过预训练BERT模型,得到高质量的电力领域词向量,并结合BiLSTM-CRF,构建BERT-BiLSTM-CRF模型,实现了电力一次设备运维工单文本实体信息的高准确率识别。对1000份电力一次设备运维工单文本进行实验表明,模型的F1值达到85.6%,比LSTM、BiLSTM和BiLSTM-CRF模型F1值分别提高11.5%、7.2%和4.9%。下一步,考虑将结构化工单进一步处理,以构成电力一次设备维修的知识图谱,挖掘设备维修工单的潜在信息与价值。
参考文献:
[1] 王慧芳,曹靖,罗麟.电力文本数据挖掘现状及挑战[J].浙江电力,2019,38(3):1-7.
[2] 焦凯楠,李欣,朱容辰.中文领域命名实体识别综述[J].计算机工程与应用,2021,57(16):1-15.
[3] Goyal A,Gupta V,Kumar M.Recent Named Entity Recognition and Classification techniques:a systematic review[J].Computer Science Review,2018,29:21-43.
[4] 谢腾,杨俊安,刘辉.基于BERT-BiLSTM-CRF模型的中文实体识别[J].计算机系统应用,2020,29(7):48-55.
[5] 朱晓亮,谯宇同.基于BERT模型的排比句自动识别方法[J].计算机应用与软件,2021,38(7):153-158.
[6] 杨飘,董文永.基于BERT嵌入的中文命名实体识别方法[J].计算机工程,2020,46(4):40-45,52.
[7] 蒋翔,马建霞,袁慧.基于BiLSTM-IDCNN-CRF模型的生态治理技术领域命名实体识别[J].计算机应用与软件,2021,38(3):134-141.
[8] 冯斌,张又文,唐昕,等.基于BiLSTM-Attention神经网络的电力设备缺陷文本挖掘[J].中國电机工程学报,2020,40(S1):1-10.
【通联编辑:唐一东】
收稿日期:2022-06-20
基金项目:国家自然科学基金项目(61673190)
作者简介:肖鹏(1997—) ,男,湖北十堰人,硕士,主要研究方向为数据挖掘;瞿少成(1971—) ,男,湖北武汉人,教授,主要研究方向为智能信息处理;徐托(1971—) ,男,湖北咸宁人,硕士,主要研究方向为数据挖掘。