张滈辰,屈红军,牛雪莹,耿琴兰
(青海省电力公司科研综合楼,青海 西宁 810000)
当前,安全隐患记录表是以自然语言的形式记录的。由于电力安全隐患文本包含了大量的电力专业词汇、数值符号、特殊符号、缩略词等信息,导致实体边界难以界定。由于电力领域数据集较少,导致传统实体识别模型在识别电力领域实体时准确率较低。
传统的实体识别模型主要有基于规则模板-字典的实体识别方法[1]、隐马尔可夫实体识别模型[2]、条件随机场(conditional random field,CRF)[3]模型等。虽然上述模型可以进行实体识别任务,但仍需要利用专家经验对数据进行标注处理,再进行实体识别,存在工作量大、适用范围小的缺点[4-5]。为了减少专家标注的工作量并实现自动提取文本特征的目标,需将深度学习应用在电力领域的实体识别中。文献[6]利用循环神经网络(recurrent neural network,RNN)对序列文本进行处理并提取文本特征,但RNN模型在处理长序列文本时容易出现梯度消失的问题。文献[7]和文献[8]在双向长短时记忆(bidirectional long short-term memory,BiLSTM)网络模型的基础上加入反向,对文本进行双向特征提取。文献[9]在BiLSTM模型的基础上加入CRF,通过CRF模型获取最优标注序列。文献[10]通过加入注意力机制增加重要信息的权重,进一步提高了实体识别的效果。为了进一步提高实体识别的准确率,研究人员提出文本预训练模型以提高文本的向量化水平。文献[11]利用Word2vec中的词袋模型,通过上下文将字映射为向量,并对字之间的关系进行表示。但是其未考虑到上下文语义,导致特征提取效果不佳。文献[12]提出了基于Transformer的双向编码器表示(bidirectional encoder representation from Transformer,BERT) 语言表征模型,将多个Transformer编码器串联以动态生成字向量。
综上所述,为了有效识别电力安全隐患实体信息,本文从嵌入表示和特征提取两方面入手,提出了1种融合注意力机制与BERT-BiLSTM-CRF的电力集控安全隐患实体识别模型。本文首先将预训练完成的电力 BERT 作为语义信息编码层,在上下文语义的基础上对电力安全隐患文本进行嵌入向量表示;再将向量化表示的隐患文本送入 BiLSTM层,并引入注意力机制使模型关注重点部分,输出实体信息标签概率;最后在 CRF 层以句子为单位输出全局最优标签序列。
电力安全隐患实体识别是对电力安全隐患中的隐患位置、隐患名称、隐患属性、机构名称、日期时间、专有名词等进行识别,并在此基础上对安全隐患实体信息进行分析和挖掘。这可为相似设备的检修提供历史经验,同时为电力集控智能决策提供数据基础。电力安全隐患文本特点如下。
①电力安全隐患文本中包含大量的安全隐患实体,例如工作人员记录安全隐患时需要记录时间、发现人、隐患的位置、名称和安全隐患的程度等信息。这些信息都是以自然语言的形式记录的,计算机难以准确识别[13]。
②电力安全隐患信息主要包括隐患设备信息、隐患设备名称、隐患设备状态、隐患设备参数、隐患位置、隐患名称、隐患属性、机构名称、日期时间、专有名词等。
③电力安全隐患文本用语的有关规范中,国家电网大多以缩略的形式对电力专业名词进行记录,存在领域词汇多、线路名词多、缩略词多的特点。
本文将电力安全隐患实体识别任务转换为序列标签标注任务,以实现安全隐患实体信息的抽取与分类。根据电力领域专家的意见,标签标注采用BIO标注机制。B标注为首位字符。I标注为中位字符。O标注为其他字符。在电力生产安全隐患实体识别任务中,标注机制如表1所示[14]。
表1 标注机制Tab.1 Labeling mechanism
所提融合注意力机制与BERT-BiLSTM-CRF的电力集控安全隐患实体识别模型主要包括3个部分,分别为BERT 语义编码嵌入层、BiLSTM形式-注意力层、CRF层。模型首先将电力安全隐患文本以句子形式送入BERT语义编码嵌入层,获得融合全局和上下文语义的电力安全隐患特征向量;再将电力安全隐患特征向量输入BiLSTM 层获得实体信息标签概率,并在此基础上引入注意力机制增加重要部分的权重;最后利用 CRF 层对标签序列进行打分,以输出最优标签序列。模型整体架构如图1所示。
图1 模型整体架构Fig.1 Overall structure of the model
传统的编码表示模型只能从字符层面对文本进行特征提取和编码表示,容易造成上下文语义的丢失。BERT模型将1段输入文本转化为1组表示向量。其中,每个表示向量对应于输入文本的每个切分单元(词或字),并且每个向量都融合了句子层面的上下文本信息,从而提升下游实体识别的准确率。
①字符层面的掩码预测过程 。
BERT模型的掩码语言模型(mask language model,MLM)训练过程中需要随机遮掩15%的输入字符。被遮掩处理的字符有 80%的概率被替换为[MASK]符号、10% 的概率被替换为无关字符以增加训练时的噪声、 10%的概率保持原字符不变。利用BERT模型可以预测那些被遮掩的字符[15]。BERT 层编码过程如图2所示。
图2 BERT 层编码过程Fig.2 BERT layer coding process
由图2可知,BERT模型根据上下文语义和全局语义对输入字符进行向量化嵌入表示,并将结果与实际字符进行误差分析,从而利用反向传播调整模型参数。与传统的向量表示模型相比,BERT模型可以整合全局和上下文语义信息,在更好地利用文本信息的基础上提高实体识别任务的准确率。
②句子层面的上下句关系判断过程。
在句子层面,BERT 通过判断2个句子是否为上下文关系来优化模型参数[16]。在训练时样本序列的开头加入标识符“CLS”,2个句子的间隔处加入分隔符[SEP]。将句子输入到BERT中可实现语序先后的判断。与传统的向量表示模型相比,BERT模型实现了句子级别的电力安全隐患文本特征提取,以达到模型参数优化的目的。这使得 BERT 能够理解输入文本(句子)的整体含义,提升了实体识别的准确率。
③BERT 层编码过程。
本文将电力安全隐患文本切分后输入BERT层进行动态字向量编码,在考虑周围字符的搭配情况的前提下使每类特征表示为独立的特征向量。通过特征向量的求和得到综合特征向量作为下个编码模块的初始输入。串联的多层编码模块可自动提取安全隐患文本中的不同语言特征。编码模块的输出为含有上下文语义信息的电力安全隐患文本的向量化表示。
随着BERT模型网络层数的增加,训练误差周期性扩大,而神经网络准确率逐渐下降。通过加入残差连接使输出更敏感、网络优化更容易、训练速度更快。残差连接直接连接低层表示和高层表示的特性,并通过边界填充保证正特性传输的一致。
残差连接中的第一层表达式如式(1)所示。
bi1=f(w1bi:i+t-1+c1)
(1)
式中:c1为偏置项;f为非线性函数;bi为偏置向量。
残差连接中的第二层表达式如式(2)所示。
bi2=f(w2bi1:i1+t-1+c2)
(2)
式中:c2为偏置项。
残差连接优化之后,结合快速连接和逐元素添加相关操作,得到残差连接的输出向量a。其中,多次拼接残差连接的表达式如式(3)所示。
b=bi,1+bi,2
(3)
式中:b为特征向量。
普通RNN模型通过隐含层逐层进行信息传递,但传递中会存在梯度消失的问题[17]。长短时记忆(long short-term memory,LSTM)在RNN模型的基础上加入门控机制,利用遗忘门选择性遗忘不重要的信息,解决了RNN模型在处理长序列文本时的梯度消失问题。为了获得电力安全隐患文本的双向语义特征,本文提出了通过LSTM进行语句的正向和反向特征获取。
BiLSTM结构如图3所示。
图3 BiLSTM结构Fig.3 Structure of BiLSTMl
BiLSTM在t时刻的状态更新计算过程如式(4)~式(8)所示。
(4)
式中:sigmoid为激活函数;w为LSTM权重;u为输入向量x的权重矩阵。
(5)
(6)
(7)
式中: tanh为激活函数;Ct为模型在t时刻的输入。
(8)
电力安全隐患文本在经过BERT层和BiLSTM层后,字符具有相同的权重。不重要的部分会影响语义的识别,进而导致电力安全隐患实体标签信息错误。注意力机制通过计算词与词之间的关联程度,以及对编码层信息进行整合将重要信息赋予较大的权重,从而更好地获取语义信息。注意力计算函数计算向量之间相关性的得分函数。其定义如式(9)所示。
(9)
式中:Yi为BiLSTM 层输出的特征序列;bij为文档中 词语之间的相关性概率分布。
(10)
式中:wi和wJ分别为电力安全隐患文本中的第i个词和第j个词;N为安全隐患文本中词的个数;f(wi,wJ)为采用词wi与词wJ的关联得分;f(wi,wk)为词wi与隐患文本中其他词wk的关联得分。
注意力机制通过学习隐患文本特征的动态变化规律和文本间的相关性,利用映射加权和学习参数矩阵赋予BiLSTM层输出的电力安全隐患文本标签序列不同权重,在保障文本语义获取的同时降低不重要信息的影响。
本文利用CRF模型约束输出之间的关系,对电力安全隐患文本序列的标注进行打分约束以获得全局最优标注结果。打分如式(11)所示。
(11)
式中:Ayi-1yi为电力安全隐患中同标签之间转移的分数值;Pi,yi为电力安全隐患中yi标签的得分;n为电力安全隐患字符总数。
CRF层对每个可能的标注序列进行打分,并根据得分找到标签的最优标注序列。CRF标注过程如图4所示。
图4 CRF标注过程Fig.4 CRF labeling process
部分隐患数据如表2所示。
表2 部分隐患数据Tab.2 Partial hidden danger datas
为验证电力生产安全隐患实体识别模型的有效性,本文选取了某省级电力公司2019年至2021年电力集控平台收录的电力安全隐患文本信息,整合隐患排查表的隐患内容,构建电力生产安全隐患数据集。数据集包含3 847个隐患实体、8种隐患关系类型。通过构建训练集和测试集,采用K折交叉验证模型的性能。本文借鉴相关资料,采用Adam优化器,将batch_size设定为32,并通过调整优化器的学习率最终确定学习率为0.01、Dropout为0.5、试验框架为tensorflow2.5。 精确率(precision,P)指本身为正的样本中实际为正例的比例。正样本的区分能力越强,则P越高。
(12)
式中:M为样本为正,预测为正;N为样本为正,预测为负。
召回率(recall,R)表示样本中本身为正且预测正确的比重。正样本识别能力越强,则R越高。
(13)
式中:T为样本为负,预测为负。
F值(f-measure,F)为准确率和召回率的加权调和平均值,反映模型的真实性能。
(14)
通过与其他实体识别模型进行对比分析,验证所提模型的有效性。模型性能对比如表3所示。
表3 模型性能对比Tab.3 Comparison of model performances /%
从表2中可以看出,相比其他传统实体识别模型,所提模型在电力安全隐患文本上进行实体识别时总体效果要高5%~21%。由表2可知,向量嵌入表示模型中BERT模型性能优于连续词袋(continuous bag of words,CBOW)模型与skip-gram。这是因为BERT模型可以有效获取上下文语义,并在此基础上对文本进行字符级和句子级的向量化表示,可以解决CBOW与 skip-gram模型的语义丢失和窗口过小的问题,避免了误差累积。另一方面,利用BiLSTM来获取文本的前后语义,并利用门控机制的遗忘门对不重要的信息进行遗忘,可以侧重距离较近的语义信息,更适合解析安全隐患文本中的实体信息。通过加入注意力机制可以整合BiLSTM层输出信息,并将重要信息赋予较大的权重,利用注意力机制让更重要的特征占据更大的权重,从而更好的获取语义信息。在电力安全隐患文本最佳标注序列判定中,CRF模型与隐马尔可夫模型(hidden Markov model,HMM)相比,利用归一化因子对隐患文本序列进行约束,可以减少偏置的发生,具有更好的识别效果。试验结果也证实了所提模型的有效性和可行性。
融合注意力机制与BERT-BiLSTM-CRF模型对电力生产安全隐患的各类别实体识别对比如表4所示。
表4 各类别实体识别对比Tab.4 Comparison of entity identification by calegories /%
由表4可知,所提模型对巡检人员名称识别效果最佳。这是因为巡检人员名称具有较多的训练数据且实体边界明显。而隐患发现位置实体识别较差。因为这类实体大多由缩略词、符号构成,需要根据上下文语义进行识别,导致识别准确率较低。
本文根据电力安全隐患文本的特点提出了融合注意力机制与BERT-BiLSTM-CRF的电力集控安全隐患实体识别模型。该模型可以对电力集控平台中储存的电力安全隐患文本进行实体识别。本文进行了以下研究:①使用BERT模型在获取上下文语义的同时将输入的隐患文本向量化;②利用 BiLSTM +注意力机制+ CRF层获取电力安全隐患的最佳标注序列,加入注意力机制将电力文本的上下文语义信息进行融合。本文以电力集控平台储存的电力安全隐患文本作为试验数据。所提模型与传统模型相比总体效果提升了5%~21%,证实了所提模型的有效性。后续研究将进一步提高复杂电力安全隐患实体的识别能力。