面向电网调度领域的实体识别技术
2021-10-20徐会芳张中浩谈元鹏韩富佳
徐会芳,张中浩,谈元鹏,韩富佳
(中国电力科学研究院有限公司,北京市100192 )
0 引 言
近年来,随着我国电网运营与智能控制技术、信息技术的日益深度融合,电网呈现出自动化需求日益增长、信息化水平不断提升的特点。作为电网的管控中枢,电网调度业务积累了大量的运行管理数据知识,为了保障电网调控的高可靠性,实现调控经验知识传承,需要投入大量的人力进行资料存档、多源异构数据处理,而调度领域体系复杂、规模庞大的专业知识给工作人员造成了巨大挑战。
知识图谱作为一种以图结构形式存储管理知识的技术,可根据业务以结构化的形式描述实体、关系、属性,优化知识管理逻辑。在调度领域,根据强规则、海量知识的特点定制化地设计知识图谱,有助于固化调度规程、故障预案等经验知识,辅助支撑点位进行运行监视、异常处置等应用。
构建知识图谱,首先需要针对业务进行实体、关系、属性的抽取。其中,电网调度领域数据中的关系、属性规则性较强,且有大量专家经验知识的积累,通过继承现有规则库基本上可满足当前需求。而实体由于数量大、类型多,难以简单通过规则或人工进行提取,作为知识图谱的核心要素,实体识别效果对知识图谱的整体质量影响重大,因此相关人员针对实体识别工作机制开展了大量研究。
在电网调度领域,根据文本中专业知识的逻辑关联性,一些研究者采用了基于规则的实体识别方法。文献[1]通过系统的配置文件、实时数据库、历史数据库、相关程序的编译文件等获得D5000系统业务知识,根据业务数据体量固定、更新较慢的特点,采用基于规则与词典的方法进行实体的识别。文献[2]依据规则对表名、列名、主外键等进行结构化抽取,进而通过自然语言处理技术提取词元,实现实体识别与新词发现。基于规则的方法在特定业务领域取得了较好的效果,但结果高度依赖大量人工制定的规则,当领域数据分布差别较大时,往往无法直接迁移,泛化能力较弱。
为了减少实体识别中建立规则对人工的需求,一些研究者采用了统计的方法。针对电网调度规则、日志等文本用语特点,文献[3]提出建立调度专业词语的语料库和语义模型,然后借助自然语言处理技术对调度操作规程、故障处置预案、日志等文本数据进行实体抽取。文献[4]通过词典和隐马尔可夫模型(hidden Markov model,HMM)分词,并进而对分词进行词典匹配,完成实体抽取。基于统计的方法需要手工设计并构造特征,需要具有一定的语言学基础且经验丰富的专家参与工作,人力成本依然较大。
随着神经网络特别是深度学习的发展,基于神经网络的方法在中文分词、序列标注和实体识别[5-9]中取得了较好的效果。相比于基于统计学习的方法,深度学习的方法极大地节省了人工定义特征的繁琐,易于进行语言、领域间的移植和复用。常用实体识别技术有长短期记忆网络(long short-term memory,LSTM)、卷积神经网络(convolutional neural networks,CNN)、双向长短期记忆网络(bi-directional long short-term memory,BiLSTM)及基于注意力机制的神经网络模型[10]等。在医学、军事、新闻等领域,研究人员采用双向长短期记忆网络-条件随机场(conditional random field,CRF)(BiLSTM-CRF)模型进行实体识别研究[11-14]。研究发现,BiLSTM在对文本进行编码时可以同时考虑上下文信息,能够有效地提取长距离特征,可以避免梯度爆炸或者梯度消失等问题,而且只需考虑隐藏层参数,模型较为简单,但主要针对词向量特性;对于字符级局部特征,CNN模型可以通过采用各种长度不同的窗口进行提取,从而得到各种组合的局部特征,实现对BiLSTM实体识别效果的有益补充。
电网调度领域实体类型多样、领域专业化程度高,且存在大量缩写、嵌套、别名等问题,对现有实体识别算法提出巨大的挑战。本文提出基于BiLSTM-CNN-CRF的电网调度领域实体识别方法,不同于文献[13],针对CNN池化层处理后部分语义信息不完整的问题,本文采用无池化层的CNN,使模型能够有效利用局部信息及全局信息,从而提升电网调度领域实体识别的效果。
1 基于BiLSTM-CNN-CRF的电网调度领域实体识别模型
1.1 字符向量转换
文本文字无法通过算法直接进行计算,为了挖掘文本中的信息,首先需要对文本进行向量化处理。本文采用Word2Vec模型中的CBOW模型,先将文本进行one-hot向量转化,然后将特征词上下文相关的词对应的词向量输入神经网络进行训练,输出特定词的词向量,使模型具有更好的向量表示能力。文本在模型中的处理流程为:1)编码层,模型输入上下文单词的one-hot向量;2)隐层,所有one-hot向量分别乘以共享的输入权重矩阵;3)解码层,隐层向量乘以输出权重矩阵再通过Softmax激活函数得到所有词的概率分布,概率分布中最大概率的单词为预测出的中间词。
1.2 CNN模型
CNN可有效地获取词的形态信息,如前缀、后缀等,在局部特征提取方面表现优异[13]。因此可用于提取基于字的特征并将其编码到神经网络。CNN的池化层有助于特征压缩降维、减小运算律,但同时也容易导致一些特征信息损失,本文为确保语义信息的完整性,考虑采用去池化层的CNN。
1.3 BiLSTM模型
LSTM是一种特殊的循环神经网络(recurrent neural networks,RNN),其通过引入记忆单元和门限机制解决了RNN梯度消失问题。LSTM模型具有3个门结构,使得循环网络在训练过程中可以在记忆单元内保留对任务有用的信息,避免了RNN在获取远距离信息梯度消失的问题。
BiLSTM的结构如图1所示,在处理序列数据时,BiLSTM比一般的LSTM增加了一个反向计算的过程,此过程可以利用序列的下文信息,最后把正向和反向2个方向计算的值同时输出到输出层,从而获取一个序列的全部信息,该模型已在多种自然语言处理任务中得到应用[15-18]。
图1 BiLSTM模型Fig.1 BiLSTM model
1.4 CRF模型
CRF由Lafferty等人于2001年提出,是一种无向图模型,其融合了最大熵模型和隐马尔可夫模型特点,在词性标注、实体识别等自然语言处理序列标注时具有较好的结果[19-20]。作为典型的基于概率图的统计模型,其可利用上下文信息添加多种特征,并实现全局归一化,可取得全局最优解,解决标记偏差问题。其联合概率可以写成若干势函数相乘的形式,然后使用最大似然估计完成CRF模型训练。对于序列标注模型,只考虑2个连续标签之间的相互作用,训练和解码过程采用Viterbi算法。
1.5 BiLSTM-CNN-CRF模型
由上文可知,BiLSTM具有较强的序列建模能力,可以捕获较远的上下文信息。CRF计算的是一种联合概率,优化的目标是整个序列。而CNN能够有效获取词的形态信息,对于局部特征识别效果更佳。为了在电网调度领域实体识别时充分利用各个模型的特有优势,本文构建了BiLSTM-CNN-CRF组合模型。其中,BiLSTM及CNN处理了特征抽取的问题,避免了大量模板的建立工作;CRF建模了标签间连续关系的同时,还适用于处理涉及电网语料隐含指示词的相关推理。模型结构如图2所示,主要可分为:输入层、Embedding层、CNN层、BiLSTM中间层、CRF输出层。首先输入层和Embedding层将文本表示成由字向量和额外的特征向量拼接的特征向量,作为模型的输入;CNN层针对拼接向量开展计算,获取向量的初步特征分析结果;中间层使用包含前向和后向2个方向的LSTM神经网络层对输入的向量建模,主要是利用双向的具有LSTM单元的循环神经网络对输入序列信息进行特征提取,最终将2个方向的LSTM结果进行连接,输入到CRF层;最后采用CRF层作为模型的输出层生成对应的类别标签序列 。
图2 BiLSTM-CNN-CRF模型Fig.2 BiLSTM-CNN-CRF model
下面结合电网调度领域数据,对模型各层展开详细介绍。
1)数据输入层。
以“康家二线停电”句子为例,其文本字序列与理想标注序列如表1所示。
表1 实体识别示例Table 1 Examples of entity recognition
其中B-Bus表示类型为线路的实体的开始字,I-Bus表示线路实体中间或者末尾字,O表示该字不属于任何需要识别的实体。
2)Embedding层。
Embedding层将文本表示转化为计算机可以理解的数学表示,从而使得神经网络能够进行训练,该层将n个汉字的字序列w=[w1,…,wn]映射为向量序列X:
X=[x1,x2,…,xn]∈Rn×d
(1)
式中:d表示向量维度,向量可通过预训练模型获取。
3)CNN层。
模型的第3层为CNN层,CNN中常在卷积层后加入池化层,目的是降低数据采样率,并提取重要的特征,但是会丢失部分信息。以“康家二线停电”为例,经过卷积层对文本对应的向量序列计算后,得到了带有语义特征信息的高维数据,一般地,卷积层后连接池化层,通过平均池化或最大池化等方式对数据进行降采样,保留卷积层得到的高维数据中的主要信息,对影响较小的信息进行去除,提升了算法的计算速率,降低了过拟合风险。但是由于语义特征本身数据维度较低,在图像领域池化层的优势在实体识别中却容易导致语义信息的缺失,如导致“康家”、“二线”、“停电”等实体中文字关系、文字含义信息的丢失。为了获取文本的全量信息,本文采用去池化层CNN,通过卷积层、全连接层等处理,抽取输入向量的局部特征,提供至BiLSTM层进行计算。与采用池化层的常规CNN相比,本文去池化的操作方法具有保留完整的文本信息、语义关联关系的优势,有助于提升电力调度领域实体识别准确度。
4)BiLSTM层。
(2)
(3)
(4)
式中:“:”表示拼接操作,即将2个维度为m的向量拼接成维度为2m的向量。
打分层将双向LSTM的隐藏状态序列输入至一个线性层,将隐藏向量从m维映射至k维,得到各个字对应的标签打分S:
S=[s1,s2,…,sn]∈Rn×k
(5)
式中:k表示标注集当中标签的数量,按照“BIO”标签框架,k=2Ne+1,Ne表实体类型数量,每个实体类型对应一个“B”标签、一个“I”标签和一个非实体的“O”标签;si∈Rk,sij表示输入文本中的字wi对标注集中分类标签j的打分值。
5)CRF层。
CRF层,用于对句子级别的序列标注。CRF层的参数是一个(k+2)×(k+2)的矩阵A,Aij表示从第i个标签到第j个标签的转移得分,CRF转移矩阵的引入可以在为一个位置进行标注的时候充分利用此前已经标注过的标签,提高模型标注的准确率。
对于输入长度为n的标签序列Y,其中yi表示第i个字对应的标签:
Y=[y1,y2,…,yn]
(6)
模型对于句子W对应标签Y的整体打分为:
(7)
整个序列打分为句子中各个位置打分之和,每个位置由2部分组成,一部分是由各个字自身的打分si决定,另一部分则由CRF的转移矩阵A决定。进而可以归一化得到序列预测概率:
(8)
式中:Y′表示任意一个长度为n的标签序列。模型训练时通过最大化似然函数进行优化,即给定训练样本(X,Y),其损失函数为:
J(X,Y;θ)=logP(Y|X)
(9)
式中:θ表示模型的可训练参数。
2 实验分析
2.1 实验数据
为验证本文中模型的性能,在电网事故处理预案数据集上进行实验。故障预案数据采用的是《国网冀北电力有限公司调控中心2018年迎峰度冬期间冀北电网事故处理预案》原始语料,从中选取覆盖唐山、廊坊及秦皇岛三地,共计60篇预案文本,对其中厂站、母线、交流线路、发电机、变压器、断路器、电网、调度机构等实体进行标注,标注结果作为实验数据。语料标注采用BIO表示法以字符为最小标注单位进行标注,其中B表示实体开始、I表电力实体的内部,O表示不属于实体。
2.2 评价指标
本文采用实体识别任务中通用的评价方法作为评价标准,即正确率P、召回率R和F1值,定义如下:
(10)
(11)
(12)
式中:TP为模型正确识别的实体数;FP为模型识别出的不相关实体数;Fn为样本中未被模型识别出的实体数。正确率和召回率的取值都在0和1之间,数值越接近1,正确率或召回率就越高,在实际的模型性能评价中,通常综合考虑它们的加权调和平均值,即F1值。
2.3 实验结果分析
2.3.1参数设置
采用交叉验证方式,标注数据随机分成5组,选取4组数据用来训练模型,1组数据用来测试。训练过程中发现,迭代次数这一参数对实体识别准确率有着明显影响。对LSTM-CRF、BiGRU-CRF(bi-directional gated recurrent unit conditional random field)、BiLSTM-CRF、BiLSTM-CNN-CRF、CNN-CRF多个模型训练中的损失函数值进行对比,如图3所示。当迭代次数大于50后,各方法损失函数收敛到一个较低的数值,并且识别效果达到相对理想的结果。为节约训练时间,本文实验迭代次数设置为50,学习率设为0.003。
图3 不同模型训练中的损失函数值Fig.3 Loss value in different model training
2.3.2实验结果
具体地,本文编码器分别采用BiGRU、LSTM、BiLSTM、CNN模型,分类器采用CRF及Softmax开展实验,汇总不同模型组合的实验结果如表2和表3所示。
表2 Softmax分类器实体识别结果Table 2 Entity recognition results of Softmax classifier %
表3 CRF分类器实体识别结果Table 3 Entity recognition results of CRF classifier %
如表2所示,采用Softmax分类器时,BiLSTM+Softmax准确率最高,但由于局部字符特征提取不充分,导致召回率不够理想。加入CNN后,充分利用各种粒度特征,召回率得到显著提升。因此,在略微损失准确率的前提下,由于BiLSTM+CNN+ Softmax方法效果在准确率与召回率方面更均衡,是本文采用Softmax分类器进行实体识别试验的基准方法。
如表3所示,采用CRF分类器时,除CNN+CRF方法与CNN+Softmax的准确率基本持平外,其余各项指标都有明显提升。尤其BiLSTM+CNN+CRF模型,充分利用长序列记忆能力,综合CNN模型对不同粒度特征的处理能力以及CRF模型的序列编码能力,在准确率、召回率方面都取得了最好的效果,对电网调度领域实体识别的效果达到一个更理想的水平。
为了直观对采用两种分类器的识别结果进行分析,对比采用两种分类器的不同方法的F1值,如图4所示。结果表明,使用相同的编码器,相较于Softmax分类器,采用CRF分类器的综合指标F1值明显优于前者。
图4 分类器对应的F1值Fig.4 The corresponding F1 of classifier
最后,对比BiLSTM+CNN方法采用Softmax和CRF两种分类器的识别效果,如图5所示,相较于BiLSTM+CNN+Softmax方法,BiLSTM +CNN+CRF在准确率、召回率、F1值上的结果比前者分别高出2.62%、1.96%、2.24%,是本文进行实体识别工作时的首选方法。
图5 最优模型结果对比Fig.5 Result comparison of optimal models
针对电网调度领域文本数据特征,本文对CNN进行去池化层操作,输出直接连接双向长短期记忆网络,保留了完整的文本信息、语义关联关系。相比文献[13]方法,本文方法对电网调度领域实体识别的效果有明显提升,如表4所示。
表4 实体识别结果Table 4 Entity recognition results %
根据具体识别的实体结果,发现在缩略短语的识别效果方面,BiLSTM-CNN-CRF仍有较大提升空间,比如难以识别“#2变”、“双马一”等实体。主要原因一是缩略语本身携带语义信息不容易被捕获,二是受训练模型的语料规模限制,缩略短语的标注样本不足而影响算法精度,后期随着语料规模的扩展,算法效果将会得到进一步提升。
3 结 论
对于电网调度领域,传统实体识别方法需要大量人工选择特征和引入外部信息,本文提出的基于BiLSTM、CNN及CRF的识别模型无需人工提取特征,针对电网调度领域文本数据特征,本文将CNN进行去池化层操作,有效利用文本的局部和全局特征,便于迁移到不同类型的实体标注中。通过在调度领域故障预案文本数据集上与其他实体识别方法进行对比,本文提出的基于去池化层的BiLSTM-CNN-CRF方法在准确率、召回率、F1值方面表现更优,能够较好地对电网调度领域实体进行抽取,有效地支撑电力知识图谱构建。