孙玉芹, 肖静婷, 王海超
(上海电力大学数理学院, 上海 201306)
随着能源互联网的不断发展,电力领域知识体系逐渐呈现出开放式、扁平化、边界模糊的特点,进一步加剧了电力系统智能化的复杂性。因此电力运检领域知识图谱[1-3]的构建是一个亟待研究的问题。通过构建电力运检领域的知识图谱,以结构化方式刻画电力运检中的概念、实体、事件及其间的关系,对海量的电力运检数据进行深度挖掘、相关性分析等智能化分析,获取数据之间的相互关联、归属以及同义关系,实现数据可视化。
电力运检是为了提高电力系统的抗风险能力,使其安全稳定地运转。具体工作内容是通过制定检修计划,定期对电力设备进行检查维护、维修调试以及改造换代,在发生诸如恶劣天气引发的电力设备突然瘫痪等突发状况时能够及时处理,阻断电力事故的进一步扩大,使得损失最小化。将知识图谱与电力运检相结合构建电力运检自动问答系统,通过理解问答,在知识图谱中进行搜索、推理得到答案,帮助运检人员快速查找问题,确定故障原因得到故障应急方案和巡检方案等,从而最大程度地提高了电力运检的灵活性。
知识抽取、知识融合、知识加工和知识更新是构建知识图谱的重要部分[4]。知识抽取也称信息抽取,分为实体抽取、属性抽取和关系抽取。命名实体识别又可称为专名识别,就是知识抽取中的实体抽取和属性抽取两部分,它从数据源中抽取出具有特定意义或指代性强的实体[5],在通用领域实体主要包括人名、地名、机构名等;在专业领域通常指该领域内的专有名词,是构建知识图谱任务中的一个关键基础步骤。其作用主要是发现并准确定位关键词,基于实体建立内在联系。
命名实体识别的研究方法经历了基于字典与规则、基于机器学习和基于深度学习3个阶段[6-9],研究的主要领域是通用领域,且识别的语言大多为英文。
基于字典与规则的命名实体识别方法是比较包含需要识别实体的字典与规则和待检测的语料集,并对包含在字典中的实体进行相应的标注,而不在字典中的实体则归类到未分类实体。再利用人工或算法对未分类实体进一步识别和分类。为了解决字典与规则的命名实体识别方法分类精度不高及成本过高的问题,出现了基于机器学习的命名实体识别方法。Morwal[10]提出了经典的隐马尔可夫模型(hidden Markov model,HMM)模型。Archana等[11]提出了条件随机场(conditional random fields,CRF)模型。虽然HMM和CRF模型比基于字典和规则的模型更加方便和高效,但依旧依赖于人工定义特征以及特定的训练语料集,因此构建模型成本依旧昂贵,且难以适应特定领域的命名实体识别。
随着深度学习的高速发展,神经网络也逐渐运用到命名实体识别中。Chiu等[12]首次将卷积神经网络(convolutional neural network,CNN)运用到命名实体识别,与基于机器学习的命名实体识别方法相比,CNN在字符级别特征提取的精度更高。Lample等[13]将双向长短期记忆网络(bi-directional long short-term memory,Bi-LSTM)模型和CRF模型相结合构成的BiLSTM-CRF模型和基于机器学习的命名实体识别方法运用在命名实体识别语料集上,发现它们的精确性相差不大,但BiLSTM-CRF模型不需要人工进行特征定义,在很大程度上降低了命名实体识别的成本。随后,Ma等[14]将CNN模型和BiLSTM-CRF模型相结合建立了LSTM-CNNs-CRF模型,首先利用CNN模型在CoNLL2003语料集上训练出字符级的Embedding,再将训练好的E-mbedding加入BiLSTM-CRF模型中进行实体识别。实验结果表明,该模型的F1高达91.21%,训练效果明显优于CNN模型和BiLSTM-CRF模型。
根据中文语言的特色,中国学者提出了一些针对中文文本以及特定领域(如医疗、金融等领域)的命名实体识别方法[15-21]。近年来,关于特定领域训练语料匮乏的命名实体识别问题,主要采取融合多种深度学习方法进行研究。杨璐等[22]在兽药致病领域提出Att-Aux-BERT-BiLSTM-CRF模型,将主分类层BiLSTM和辅助分类层BERT(bidirectional encoder representations for transformers,BERT)通过注意力机制相结合,模型最后F1为96.7%。李攀锋等[23]以BiLSTM和CRF模型为基础,引入多粒度认知的方法有效提升了命名实体识别效果。郭力华等[24]根据司法案件文书中实体关联性强的特点,利用最大正向匹配策略和社区注意力机制提出具有针对性命名实体识别模型。张晓等[25]针对特定领域语料匮乏和包含大量噪声的问题,提出基于迁移学习的TL-BiLSTM-CRF模型,在Twitter数据集上F1达到64.84%。吴超等[26]建立了电力调度领域的命名实体识别Transformer-BiGRU-CRF 模型。肖勇等[27]在电力计量领域提出 CNN-BLSTM-CRF 模型与整合词典知识的分词模型相结合的联合模型。
基于深度学习的命名实体识别方法存在模型训练时间过长,且在小样本数据集上容易产生过拟合,其效果远不如基于机器学习的方法。若只使用单模型进行命名实体识别,虽然训练时间会大幅缩短,但模型性能也会下降。使用端到端模型又存在模型可解释性和灵活性低的问题。针对以上问题,基于Stacking多模型融合的思想,将常用于通用领域命名实体识别的隐马尔可夫模型HMM、条件随机场模型CRF和双向长短期记忆模型Bi-LSTM进行有效融合建立隐马尔可夫-条件随机场-双向长短期记忆网络(hidden Markov-conditional random fields-bi-directional long short-term,HCB)模型。该模型分为两层,第一层使用HMM、CRF和Bi-LSTM模型进行训练预测,再将预测结果输入第二层的CRF模型进行训练,经过双层模型训练预测得出最后的命名实体。
Stacking是一种并联式多模型融合的融合方法,是利用前一层的输出结果作为下一层的输入,使得后一层的训练能够充分利用前一层训练结果的归纳过程。Stacking具有较强的可扩展性,组合的层次可以从一层到多层,同时每一层可以由一个或多个算法模型组成。在训练过程中,通过多个模型算法的优化组合,充分发挥各个模型的优点,从而提升整个模型的性能。基于Stacking模型融合的以上特点,提出了一种基于Stacking模型融合的HCB命名实体识别模型。
HCB模型的整体架构如图1所示,分为两层,第一层是初级学习器HMM、CRF和Bi-LSTM,第二层是次级学习器CRF。首先对初级学习器进行3折交叉验证并将预测结果组合成新的训练集作为输入特征加入次级学习器的学习中,这是为了避免初级学习器过拟合问题。利用初级学习器对测试集进行预测,将预测结果进行平均得到新的测试集,将其作为次级学习器的测试集。这是因为经过训练的初级学习器可以剔除测试集中的冗余信息,提取关键信息进行整合。HCB模型的次级学习器只对初级学习器的学习结果进行进一步学习,也充分融合了初级学习器HMM、CRF以及Bi-LSTM的优点,从而提高整个模型的性能。
Input为输入层;Word2Vec为词向量层;Output为输出层;Predict为预测;Average为平均图1 HCB模型Fig.1 HCB model
HCB模型的具体训练步骤如下。
步骤1将电力运检语料集按8∶2分为原始训练集D和原始测试集T。
步骤2对初级学习器HMM、CRF和Bi-LSTM进行3折交叉验证。将原始训练集D随机分为3等份d1、d2、d3,将其中的2份作为初级学习器的训练集对初级学习器进行训练。剩下的一份作为初级学习器的测试集,并利用训练好的初级学习器对其进行预测得到预测结果p1、p2、p3,将每个初级学习器的预测结果进行拼接得到次级学习器的训练集D*。
步骤3将每个初级学习器对测试集T的预测结果求取平均值得到次级学习器的测试集T*。
步骤4利用训练集D*和测试集T*对次级学习器CRF进行训练和预测,得到最终的实体及其类别。
HCB模型的关键在于步骤1~步骤3的执行,即单个模型的学习过程。假设原始数据集有1 200条,原始测试集300条,单个模型的学习过程如图2所示。
图2 单模型学习过程Fig.2 Single model learning process
HMM主要是使用统计学的方法来实现命名实体识别这一序列标注任务。HMM是从一个隐藏的马尔可夫链中随机生成不可观测的状态随机序列,再从各个状态生成一个观测,从而产生观测随机序列的过程。命名实体识别HMM模型也就是由一个隐藏的马尔可夫链随机生成不可观测的标注随机序列,再由这些标注生成一个可观测的词,从而产生词组的过程。简单的隐马尔可夫事例如图3所示。
xt-1、xt、xt+1为状态序列;yt-1、yt、yt+1为观测序列图3 简单的隐马尔可夫事例Fig.3 Simple hidden Markov case
在命名实体识别任务中,隐状态序列(x1,x2,…,xn)是所定义的标注信息,观测序列(y1,y2,…,yn)是输入的句子,从而由隐状态指向观测序列就是由标注信息推出相应的句子。这样HMM模型可表示为
(x1,x2,…,xn)=argmaxP(x1,x2,…,xn|y1,y2,…,yn)
(1)
马尔可夫假设是指输出值之间相互独立,即观测到的每个句子中的每个字都是相互独立的;状态转移过程中当前状态只与前一状态有关,即当前时刻的标注只和前一时刻的标注有关。依据这两个假设,式(1)等价于式(2)。
(2)
式(2)中:xi为当前状态下的标注信息;yi为当前状态下输入的信息;yi-1为前一状态输入的信息。
某一时刻t下,隐马尔可夫链对应的状态值很多,用符号xij表示状态xi的第j个可能取值,再将状态序列按列值展开就得到图4所示的状态序列图结构。而隐马尔可夫的预测问题就可转化为求图4中对应概率值最大的一条路径。
图4 隐马尔可夫链图结构Fig.4 Hidden Markov chain graph structure
CRF模型是一种基于机器学习的序列标注和分割数据的无向图模型,通过引入自定义的特征函数,在给定需要标注的观测序列的前提下计算整个序列的联合概率。线性链条件随机场模型是在命名实体识别任务中最常用的模型,如图5所示。
图5 线性链条件随机场模型Fig.5 Linear chain conditional random field model
若用x=(x1,x2,…,xn)表示输入观测序列,y=(y1,y2,…,yn)表示对应的输出标记序列,P(y|x)表示线性链条件随机场,在给定输入观测序列的情况下,可以将线性链条件随机场模型公式化为式(3)。
(3)
(4)
式中:tk为转移特征,是定义在边上依赖于当前和前一位置的特征函数;sl为状态特征,是定义在节点上依赖于当前位置的特征函数;λk和μl分别为特征函数和对应的权值;Z为归一化因子。
和在给定当前观测序列的前提下计算下一观测序列概率的HMM不同,CRF是在给定需要标注的观测序列的前提下,计算整个序列的联合概率。
长短期记忆模型(long short-term memory,LSTM)是循环神经网络(recurrent neural networks,RNN)的一个变体,主要是为了解决RNN在反向传播过程中因为梯度消失而无法学习到较长序列中内容的问题。其主要框架如图6所示。
tanh为激活函数;A为一组神经网络图6 LSTM框架图Fig.6 Framework of LSTM
LSTM由遗忘门、记忆门和输出门构成,LSTM通过遗忘门和记忆门传递对后续时刻计算有影响的信息,丢弃对后续时刻计算没有影响或者影响不大的信息,从而解决反向传播中的梯度消失问题。其计算过程如下。
首先,按照式(5)计算遗忘门,选择需要遗忘的信息。
ft=σ(Wf[ht-1,xt]+bf)
(5)
式(5)中:xt为当前时刻的输入;σ为sigmoid函数;ht-1为上一时刻的隐藏层状态;ft为遗忘门的值;Wf、bf分别为遗忘门的权重和偏置。
其次按照式(6)和式(7)计算记忆门,选择需要记忆的信息。
it=σ(Wi[ht-1,xt]+bi)
(6)
(7)
然后按照式(8)~式(10)计算当前时刻细胞状态以及输出门和当前时刻隐藏层状态。
(8)
ot=σ(Wo[ht-1,xt]+bo)
(9)
ht=ottanh(Ct)
(10)
式中:Ct-1为前一时刻细胞状态;Ct为当前时刻细胞状态;ot为输出门的值;ht为隐层状态;Wo和bo分别为输出门的权重和偏置。
最后,可以得到与输入句子长度一致的隐藏层状态序列{h0,h1,…,hn-1}。而Bi-LSTM是将前向LSTM得到的隐层状态序列{hL0,hL1,…,hL(n-1)}和后向LSTM得到的隐层状态序列{hR0,hR1,…,hR(n-1)}相结合。由于[hL(n-1),hR(n-1)] 包含了前向和后向的全部信息,所以Bi-LSTM一般采用[hL(n-1),hR(n-1)]来表示输入的语句,比LSTM能从语句中获取更多的有效信息。
所构建的电力运检领域的语料库主要由中国知网(https://www.cnki.net/)和百链学术(http://www.blyun.com/)上的各类期刊文献中关于电力运检的知识构成,总共收集采纳了有关电力运检领域的期刊文献100篇,按照8∶2的比例,选择其中80篇作为训练集,剩余20篇作为测试集。
本实验基于PyTorch进行,运行环境为Python3.7.0,操作系统为Windows10,CPU为AMD Ryzen 7 4800H@2.90 GHz,内存为16 GB。
针对电力运检领域的文本特点,定义了运检对象、运检问题、问题原因以及运检措施4种类别的实体。具体的实体分类如下:与电力运检相关的物体、设备、机构、人员等标注为运检对象实体,如输电线路、变压器等;引发电网故障的因素以及管理的问题等标注为运检问题实体,如缺少人才、设备故障等;引发运检问题的原因标注为问题原因实体,如三相不平衡、自然因素等;解决运检问题的方法及措施标注为运检措施实体,如建立信息数据库、软硬件解耦等。
采用的标注方法是BMES标注法,其中,B表示一个词的开头,M表示一个词的中间位置,E表示一个词的结尾,S表示一个单独的词。
经过HCB模型的训练和预测,可以得到与测试集输入文本对应的标签,再利用正则表达式B+ME+匹配文本,即可得到相应的实体以及实体类别。
对于一个实体在不同的上下文中其所属实体类别会发生改变的情况,则需要进行实体消歧。如“输电线路”在“输电线路运检管理工作还存在很多不足”这一短句中属于运检对象实体,而在“当电力系统输电线路出现故障问题时”这一短句中又属于运检问题实体。首先将待消歧实体的上下文特征和对目标实体的描述表示为特征向量,随后计算待消歧实体与目标实体特征向量间的余弦相似度即可得到待消歧实体所属的实体类别。
对于同一实体的不同文字表述,则需要进行实体统一。如输电线路、输变电线路、送电线路都是指将电能远距离输送的线路,是同一个实体。因为实体在文档中是用字符串表示的,所以通过计算表示实体的字符串间的相似度即可判断两个实体是否指向同一个实体。
实验中对各个模型的评价指标有精确率P、召回率R和F1。其中精确率是指在所有预测为电力运检实体的样本中实际为电力运检实体的比率;召回率是指在电力运检实体的样本中被预测为电力运检实体的比率;F1是精确率和召回率的调和平均值。上述3个指标的计算公式分别为
(11)
(12)
(13)
式中:TP为电力运检实体的实体被模型预测为电力运检实体的个数;FP为不是电力运检实体的实体被模型预测为电力运检实体的个数;FN为是电力运检实体没有被模型预测为电力运检实体的个数。
首先对收集到的数据进行数据清洗,剔除其中诸如章节标号,空格等与电力运检领域命名实体识别无关的信息。然后利用YEDDA[28]标注工具,采用BMES标注法对电力运检实体进行标注。最后对标注好的整段语料进行格式重构,并以句号为标志,每句话之间加入空行用来区分。这样就可以得到符合命名实体识别语料集格式的电力运检命名实体识别语料集。
词嵌入层选用的预训练模型是Word2Vec,词嵌入维度为128维。CRF中的转移特征权值和状态特征权值均设置为0.1。Bi-LSTM的隐含单元数根据多次训练的结果设定为128维,使用随机梯度下降算法训练模型。HCB模型将HMM、CRF和Bi-LSTM模型通过Stacking融合方式进行建立。
2.5.1 实验一:各模型结果对比
在电力运检命名实体识别语料集上分别应用HCB模型与HMM、CRF、Bi-LSTM、BiLSTM-HMM、BiLSTM-CRF和BERT-BiLSTM-CRF模型,取每个模型5次实验结果的平均值。结果如表1所示。
表1 各模型的实验结果Table 1 Experimental results of each model
由表1的实验结果可得出如下结论。
(1)HCB模型在精确率、召回率和F1值3个指标上明显优于单模型,说明单模型学习到的特征有限,但HCB模型融合了多个单模型的特征提取能力,较好地弥补了单模型抽取特征不足的问题。
(2)HCB模型相较于BiLSTM-HMM 、BiLSTM-CRF和BERT-BiLSTM-CRF模型在精确率、召回率和F1值3个指标上均有提升,且显著缩短了训练时间。BiLSTM-HMM 、BiLSTM-CRF和BERT-BiLSTM-CRF模型采用的是端到端的学习,虽然减少了模型的复杂度,但模型的灵活性较低。HCB模型采用的是stacking融合方式,第二层的次级学习器是进一步学习初级学习器的学习结果,能更好地利用初级学习器HMM、CRF和Bi-LSTM提取到的字特征、词特征以及上下文特征从而提高模型性能。HCB模型融合了训练时长较短的单个模型且采用的是并联式融合方式,减少了模型的训练时间。
2.5.2 实验二:融合方式对比
并联式多模型融合方法分为投票法(Voting)和叠加法(Stacking)两种。Voting融合方式采取的是少数服从多数的投票原则,而Stacking融合方式则是将前一层的输出作为下一层的输入。
分别利用Voting和Stacking方式将HMM、CRF、Bi-LSTM进行融合,取5次实验的平均值,结果如表2所示。
表2 不同融合方式的实验结果Table 2 Results of the different fusion experiment
由表2的实验结果可知,Stacking融合方式的精确率、召回率和F1明显高于Voting融合方式。Stacking融合方式能充分融合各个模型的优势,学习到更多的特征,从而在命名实体识别任务上的表现显著优于Voting融合方式。所以 HCB模型选用的是Stacking融合方式。
为了更加全面地构建电力领域知识图谱,研究电力运检知识图谱中的命名实体识别问题,首先构建电力运检语料集,然后建立命名实体识别HCB模型,与HMM、CRF、Bi-LSTM、BiLSTM-HMM、BiLSTM-CRF和BERT-BiLSTM-CRF模型进行比较,实验结果表明,HCB模型对于命名实体识别的效果要优于单个模型和其他融合模型,且比其他融合模型训练时间更短。
未来有待解决和研究的问题有:一是如何更加明确地界定运检措施这一实体类别的边界,从而提高运检措施这类较长实体的识别精准度;二是如何有效减少各个实体类别间的误认;三是如何进一步提高模型性能,使得运检对象、运检问题、问题原因以及运检措施四类实体识别的精确率、召回率及F1值3个指标更高。