徐會芳,張中浩,談元鵬,韓富佳
(中國電力科學(xué)研究院有限公司,北京市100192 )
近年來,隨著我國電網(wǎng)運營與智能控制技術(shù)、信息技術(shù)的日益深度融合,電網(wǎng)呈現(xiàn)出自動化需求日益增長、信息化水平不斷提升的特點。作為電網(wǎng)的管控中樞,電網(wǎng)調(diào)度業(yè)務(wù)積累了大量的運行管理數(shù)據(jù)知識,為了保障電網(wǎng)調(diào)控的高可靠性,實現(xiàn)調(diào)控經(jīng)驗知識傳承,需要投入大量的人力進(jìn)行資料存檔、多源異構(gòu)數(shù)據(jù)處理,而調(diào)度領(lǐng)域體系復(fù)雜、規(guī)模龐大的專業(yè)知識給工作人員造成了巨大挑戰(zhàn)。
知識圖譜作為一種以圖結(jié)構(gòu)形式存儲管理知識的技術(shù),可根據(jù)業(yè)務(wù)以結(jié)構(gòu)化的形式描述實體、關(guān)系、屬性,優(yōu)化知識管理邏輯。在調(diào)度領(lǐng)域,根據(jù)強(qiáng)規(guī)則、海量知識的特點定制化地設(shè)計知識圖譜,有助于固化調(diào)度規(guī)程、故障預(yù)案等經(jīng)驗知識,輔助支撐點位進(jìn)行運行監(jiān)視、異常處置等應(yīng)用。
構(gòu)建知識圖譜,首先需要針對業(yè)務(wù)進(jìn)行實體、關(guān)系、屬性的抽取。其中,電網(wǎng)調(diào)度領(lǐng)域數(shù)據(jù)中的關(guān)系、屬性規(guī)則性較強(qiáng),且有大量專家經(jīng)驗知識的積累,通過繼承現(xiàn)有規(guī)則庫基本上可滿足當(dāng)前需求。而實體由于數(shù)量大、類型多,難以簡單通過規(guī)則或人工進(jìn)行提取,作為知識圖譜的核心要素,實體識別效果對知識圖譜的整體質(zhì)量影響重大,因此相關(guān)人員針對實體識別工作機(jī)制開展了大量研究。
在電網(wǎng)調(diào)度領(lǐng)域,根據(jù)文本中專業(yè)知識的邏輯關(guān)聯(lián)性,一些研究者采用了基于規(guī)則的實體識別方法。文獻(xiàn)[1]通過系統(tǒng)的配置文件、實時數(shù)據(jù)庫、歷史數(shù)據(jù)庫、相關(guān)程序的編譯文件等獲得D5000系統(tǒng)業(yè)務(wù)知識,根據(jù)業(yè)務(wù)數(shù)據(jù)體量固定、更新較慢的特點,采用基于規(guī)則與詞典的方法進(jìn)行實體的識別。文獻(xiàn)[2]依據(jù)規(guī)則對表名、列名、主外鍵等進(jìn)行結(jié)構(gòu)化抽取,進(jìn)而通過自然語言處理技術(shù)提取詞元,實現(xiàn)實體識別與新詞發(fā)現(xiàn)?;谝?guī)則的方法在特定業(yè)務(wù)領(lǐng)域取得了較好的效果,但結(jié)果高度依賴大量人工制定的規(guī)則,當(dāng)領(lǐng)域數(shù)據(jù)分布差別較大時,往往無法直接遷移,泛化能力較弱。
為了減少實體識別中建立規(guī)則對人工的需求,一些研究者采用了統(tǒng)計的方法。針對電網(wǎng)調(diào)度規(guī)則、日志等文本用語特點,文獻(xiàn)[3]提出建立調(diào)度專業(yè)詞語的語料庫和語義模型,然后借助自然語言處理技術(shù)對調(diào)度操作規(guī)程、故障處置預(yù)案、日志等文本數(shù)據(jù)進(jìn)行實體抽取。文獻(xiàn)[4]通過詞典和隱馬爾可夫模型(hidden Markov model,HMM)分詞,并進(jìn)而對分詞進(jìn)行詞典匹配,完成實體抽取?;诮y(tǒng)計的方法需要手工設(shè)計并構(gòu)造特征,需要具有一定的語言學(xué)基礎(chǔ)且經(jīng)驗豐富的專家參與工作,人力成本依然較大。
隨著神經(jīng)網(wǎng)絡(luò)特別是深度學(xué)習(xí)的發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的方法在中文分詞、序列標(biāo)注和實體識別[5-9]中取得了較好的效果。相比于基于統(tǒng)計學(xué)習(xí)的方法,深度學(xué)習(xí)的方法極大地節(jié)省了人工定義特征的繁瑣,易于進(jìn)行語言、領(lǐng)域間的移植和復(fù)用。常用實體識別技術(shù)有長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)、雙向長短期記憶網(wǎng)絡(luò)(bi-directional long short-term memory,BiLSTM)及基于注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)模型[10]等。在醫(yī)學(xué)、軍事、新聞等領(lǐng)域,研究人員采用雙向長短期記憶網(wǎng)絡(luò)-條件隨機(jī)場(conditional random field,CRF)(BiLSTM-CRF)模型進(jìn)行實體識別研究[11-14]。研究發(fā)現(xiàn),BiLSTM在對文本進(jìn)行編碼時可以同時考慮上下文信息,能夠有效地提取長距離特征,可以避免梯度爆炸或者梯度消失等問題,而且只需考慮隱藏層參數(shù),模型較為簡單,但主要針對詞向量特性;對于字符級局部特征,CNN模型可以通過采用各種長度不同的窗口進(jìn)行提取,從而得到各種組合的局部特征,實現(xiàn)對BiLSTM實體識別效果的有益補充。
電網(wǎng)調(diào)度領(lǐng)域?qū)嶓w類型多樣、領(lǐng)域?qū)I(yè)化程度高,且存在大量縮寫、嵌套、別名等問題,對現(xiàn)有實體識別算法提出巨大的挑戰(zhàn)。本文提出基于BiLSTM-CNN-CRF的電網(wǎng)調(diào)度領(lǐng)域?qū)嶓w識別方法,不同于文獻(xiàn)[13],針對CNN池化層處理后部分語義信息不完整的問題,本文采用無池化層的CNN,使模型能夠有效利用局部信息及全局信息,從而提升電網(wǎng)調(diào)度領(lǐng)域?qū)嶓w識別的效果。
文本文字無法通過算法直接進(jìn)行計算,為了挖掘文本中的信息,首先需要對文本進(jìn)行向量化處理。本文采用Word2Vec模型中的CBOW模型,先將文本進(jìn)行one-hot向量轉(zhuǎn)化,然后將特征詞上下文相關(guān)的詞對應(yīng)的詞向量輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,輸出特定詞的詞向量,使模型具有更好的向量表示能力。文本在模型中的處理流程為:1)編碼層,模型輸入上下文單詞的one-hot向量;2)隱層,所有one-hot向量分別乘以共享的輸入權(quán)重矩陣;3)解碼層,隱層向量乘以輸出權(quán)重矩陣再通過Softmax激活函數(shù)得到所有詞的概率分布,概率分布中最大概率的單詞為預(yù)測出的中間詞。
CNN可有效地獲取詞的形態(tài)信息,如前綴、后綴等,在局部特征提取方面表現(xiàn)優(yōu)異[13]。因此可用于提取基于字的特征并將其編碼到神經(jīng)網(wǎng)絡(luò)。CNN的池化層有助于特征壓縮降維、減小運算律,但同時也容易導(dǎo)致一些特征信息損失,本文為確保語義信息的完整性,考慮采用去池化層的CNN。
LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN),其通過引入記憶單元和門限機(jī)制解決了RNN梯度消失問題。LSTM模型具有3個門結(jié)構(gòu),使得循環(huán)網(wǎng)絡(luò)在訓(xùn)練過程中可以在記憶單元內(nèi)保留對任務(wù)有用的信息,避免了RNN在獲取遠(yuǎn)距離信息梯度消失的問題。
BiLSTM的結(jié)構(gòu)如圖1所示,在處理序列數(shù)據(jù)時,BiLSTM比一般的LSTM增加了一個反向計算的過程,此過程可以利用序列的下文信息,最后把正向和反向2個方向計算的值同時輸出到輸出層,從而獲取一個序列的全部信息,該模型已在多種自然語言處理任務(wù)中得到應(yīng)用[15-18]。
圖1 BiLSTM模型Fig.1 BiLSTM model
CRF由Lafferty等人于2001年提出,是一種無向圖模型,其融合了最大熵模型和隱馬爾可夫模型特點,在詞性標(biāo)注、實體識別等自然語言處理序列標(biāo)注時具有較好的結(jié)果[19-20]。作為典型的基于概率圖的統(tǒng)計模型,其可利用上下文信息添加多種特征,并實現(xiàn)全局歸一化,可取得全局最優(yōu)解,解決標(biāo)記偏差問題。其聯(lián)合概率可以寫成若干勢函數(shù)相乘的形式,然后使用最大似然估計完成CRF模型訓(xùn)練。對于序列標(biāo)注模型,只考慮2個連續(xù)標(biāo)簽之間的相互作用,訓(xùn)練和解碼過程采用Viterbi算法。
由上文可知,BiLSTM具有較強(qiáng)的序列建模能力,可以捕獲較遠(yuǎn)的上下文信息。CRF計算的是一種聯(lián)合概率,優(yōu)化的目標(biāo)是整個序列。而CNN能夠有效獲取詞的形態(tài)信息,對于局部特征識別效果更佳。為了在電網(wǎng)調(diào)度領(lǐng)域?qū)嶓w識別時充分利用各個模型的特有優(yōu)勢,本文構(gòu)建了BiLSTM-CNN-CRF組合模型。其中,BiLSTM及CNN處理了特征抽取的問題,避免了大量模板的建立工作;CRF建模了標(biāo)簽間連續(xù)關(guān)系的同時,還適用于處理涉及電網(wǎng)語料隱含指示詞的相關(guān)推理。模型結(jié)構(gòu)如圖2所示,主要可分為:輸入層、Embedding層、CNN層、BiLSTM中間層、CRF輸出層。首先輸入層和Embedding層將文本表示成由字向量和額外的特征向量拼接的特征向量,作為模型的輸入;CNN層針對拼接向量開展計算,獲取向量的初步特征分析結(jié)果;中間層使用包含前向和后向2個方向的LSTM神經(jīng)網(wǎng)絡(luò)層對輸入的向量建模,主要是利用雙向的具有LSTM單元的循環(huán)神經(jīng)網(wǎng)絡(luò)對輸入序列信息進(jìn)行特征提取,最終將2個方向的LSTM結(jié)果進(jìn)行連接,輸入到CRF層;最后采用CRF層作為模型的輸出層生成對應(yīng)的類別標(biāo)簽序列 。
圖2 BiLSTM-CNN-CRF模型Fig.2 BiLSTM-CNN-CRF model
下面結(jié)合電網(wǎng)調(diào)度領(lǐng)域數(shù)據(jù),對模型各層展開詳細(xì)介紹。
1)數(shù)據(jù)輸入層。
以“康家二線停電”句子為例,其文本字序列與理想標(biāo)注序列如表1所示。
表1 實體識別示例Table 1 Examples of entity recognition
其中B-Bus表示類型為線路的實體的開始字,I-Bus表示線路實體中間或者末尾字,O表示該字不屬于任何需要識別的實體。
2)Embedding層。
Embedding層將文本表示轉(zhuǎn)化為計算機(jī)可以理解的數(shù)學(xué)表示,從而使得神經(jīng)網(wǎng)絡(luò)能夠進(jìn)行訓(xùn)練,該層將n個漢字的字序列w=[w1,…,wn]映射為向量序列X:
X=[x1,x2,…,xn]∈Rn×d
(1)
式中:d表示向量維度,向量可通過預(yù)訓(xùn)練模型獲取。
3)CNN層。
模型的第3層為CNN層,CNN中常在卷積層后加入池化層,目的是降低數(shù)據(jù)采樣率,并提取重要的特征,但是會丟失部分信息。以“康家二線停電”為例,經(jīng)過卷積層對文本對應(yīng)的向量序列計算后,得到了帶有語義特征信息的高維數(shù)據(jù),一般地,卷積層后連接池化層,通過平均池化或最大池化等方式對數(shù)據(jù)進(jìn)行降采樣,保留卷積層得到的高維數(shù)據(jù)中的主要信息,對影響較小的信息進(jìn)行去除,提升了算法的計算速率,降低了過擬合風(fēng)險。但是由于語義特征本身數(shù)據(jù)維度較低,在圖像領(lǐng)域池化層的優(yōu)勢在實體識別中卻容易導(dǎo)致語義信息的缺失,如導(dǎo)致“康家”、“二線”、“停電”等實體中文字關(guān)系、文字含義信息的丟失。為了獲取文本的全量信息,本文采用去池化層CNN,通過卷積層、全連接層等處理,抽取輸入向量的局部特征,提供至BiLSTM層進(jìn)行計算。與采用池化層的常規(guī)CNN相比,本文去池化的操作方法具有保留完整的文本信息、語義關(guān)聯(lián)關(guān)系的優(yōu)勢,有助于提升電力調(diào)度領(lǐng)域?qū)嶓w識別準(zhǔn)確度。
4)BiLSTM層。
(2)
(3)
(4)
式中:“:”表示拼接操作,即將2個維度為m的向量拼接成維度為2m的向量。
打分層將雙向LSTM的隱藏狀態(tài)序列輸入至一個線性層,將隱藏向量從m維映射至k維,得到各個字對應(yīng)的標(biāo)簽打分S:
S=[s1,s2,…,sn]∈Rn×k
(5)
式中:k表示標(biāo)注集當(dāng)中標(biāo)簽的數(shù)量,按照“BIO”標(biāo)簽框架,k=2Ne+1,Ne表實體類型數(shù)量,每個實體類型對應(yīng)一個“B”標(biāo)簽、一個“I”標(biāo)簽和一個非實體的“O”標(biāo)簽;si∈Rk,sij表示輸入文本中的字wi對標(biāo)注集中分類標(biāo)簽j的打分值。
5)CRF層。
CRF層,用于對句子級別的序列標(biāo)注。CRF層的參數(shù)是一個(k+2)×(k+2)的矩陣A,Aij表示從第i個標(biāo)簽到第j個標(biāo)簽的轉(zhuǎn)移得分,CRF轉(zhuǎn)移矩陣的引入可以在為一個位置進(jìn)行標(biāo)注的時候充分利用此前已經(jīng)標(biāo)注過的標(biāo)簽,提高模型標(biāo)注的準(zhǔn)確率。
對于輸入長度為n的標(biāo)簽序列Y,其中yi表示第i個字對應(yīng)的標(biāo)簽:
Y=[y1,y2,…,yn]
(6)
模型對于句子W對應(yīng)標(biāo)簽Y的整體打分為:
(7)
整個序列打分為句子中各個位置打分之和,每個位置由2部分組成,一部分是由各個字自身的打分si決定,另一部分則由CRF的轉(zhuǎn)移矩陣A決定。進(jìn)而可以歸一化得到序列預(yù)測概率:
(8)
式中:Y′表示任意一個長度為n的標(biāo)簽序列。模型訓(xùn)練時通過最大化似然函數(shù)進(jìn)行優(yōu)化,即給定訓(xùn)練樣本(X,Y),其損失函數(shù)為:
J(X,Y;θ)=logP(Y|X)
(9)
式中:θ表示模型的可訓(xùn)練參數(shù)。
為驗證本文中模型的性能,在電網(wǎng)事故處理預(yù)案數(shù)據(jù)集上進(jìn)行實驗。故障預(yù)案數(shù)據(jù)采用的是《國網(wǎng)冀北電力有限公司調(diào)控中心2018年迎峰度冬期間冀北電網(wǎng)事故處理預(yù)案》原始語料,從中選取覆蓋唐山、廊坊及秦皇島三地,共計60篇預(yù)案文本,對其中廠站、母線、交流線路、發(fā)電機(jī)、變壓器、斷路器、電網(wǎng)、調(diào)度機(jī)構(gòu)等實體進(jìn)行標(biāo)注,標(biāo)注結(jié)果作為實驗數(shù)據(jù)。語料標(biāo)注采用BIO表示法以字符為最小標(biāo)注單位進(jìn)行標(biāo)注,其中B表示實體開始、I表電力實體的內(nèi)部,O表示不屬于實體。
本文采用實體識別任務(wù)中通用的評價方法作為評價標(biāo)準(zhǔn),即正確率P、召回率R和F1值,定義如下:
(10)
(11)
(12)
式中:TP為模型正確識別的實體數(shù);FP為模型識別出的不相關(guān)實體數(shù);Fn為樣本中未被模型識別出的實體數(shù)。正確率和召回率的取值都在0和1之間,數(shù)值越接近1,正確率或召回率就越高,在實際的模型性能評價中,通常綜合考慮它們的加權(quán)調(diào)和平均值,即F1值。
2.3.1參數(shù)設(shè)置
采用交叉驗證方式,標(biāo)注數(shù)據(jù)隨機(jī)分成5組,選取4組數(shù)據(jù)用來訓(xùn)練模型,1組數(shù)據(jù)用來測試。訓(xùn)練過程中發(fā)現(xiàn),迭代次數(shù)這一參數(shù)對實體識別準(zhǔn)確率有著明顯影響。對LSTM-CRF、BiGRU-CRF(bi-directional gated recurrent unit conditional random field)、BiLSTM-CRF、BiLSTM-CNN-CRF、CNN-CRF多個模型訓(xùn)練中的損失函數(shù)值進(jìn)行對比,如圖3所示。當(dāng)?shù)螖?shù)大于50后,各方法損失函數(shù)收斂到一個較低的數(shù)值,并且識別效果達(dá)到相對理想的結(jié)果。為節(jié)約訓(xùn)練時間,本文實驗迭代次數(shù)設(shè)置為50,學(xué)習(xí)率設(shè)為0.003。
圖3 不同模型訓(xùn)練中的損失函數(shù)值Fig.3 Loss value in different model training
2.3.2實驗結(jié)果
具體地,本文編碼器分別采用BiGRU、LSTM、BiLSTM、CNN模型,分類器采用CRF及Softmax開展實驗,匯總不同模型組合的實驗結(jié)果如表2和表3所示。
表2 Softmax分類器實體識別結(jié)果Table 2 Entity recognition results of Softmax classifier %
表3 CRF分類器實體識別結(jié)果Table 3 Entity recognition results of CRF classifier %
如表2所示,采用Softmax分類器時,BiLSTM+Softmax準(zhǔn)確率最高,但由于局部字符特征提取不充分,導(dǎo)致召回率不夠理想。加入CNN后,充分利用各種粒度特征,召回率得到顯著提升。因此,在略微損失準(zhǔn)確率的前提下,由于BiLSTM+CNN+ Softmax方法效果在準(zhǔn)確率與召回率方面更均衡,是本文采用Softmax分類器進(jìn)行實體識別試驗的基準(zhǔn)方法。
如表3所示,采用CRF分類器時,除CNN+CRF方法與CNN+Softmax的準(zhǔn)確率基本持平外,其余各項指標(biāo)都有明顯提升。尤其BiLSTM+CNN+CRF模型,充分利用長序列記憶能力,綜合CNN模型對不同粒度特征的處理能力以及CRF模型的序列編碼能力,在準(zhǔn)確率、召回率方面都取得了最好的效果,對電網(wǎng)調(diào)度領(lǐng)域?qū)嶓w識別的效果達(dá)到一個更理想的水平。
為了直觀對采用兩種分類器的識別結(jié)果進(jìn)行分析,對比采用兩種分類器的不同方法的F1值,如圖4所示。結(jié)果表明,使用相同的編碼器,相較于Softmax分類器,采用CRF分類器的綜合指標(biāo)F1值明顯優(yōu)于前者。
圖4 分類器對應(yīng)的F1值Fig.4 The corresponding F1 of classifier
最后,對比BiLSTM+CNN方法采用Softmax和CRF兩種分類器的識別效果,如圖5所示,相較于BiLSTM+CNN+Softmax方法,BiLSTM +CNN+CRF在準(zhǔn)確率、召回率、F1值上的結(jié)果比前者分別高出2.62%、1.96%、2.24%,是本文進(jìn)行實體識別工作時的首選方法。
圖5 最優(yōu)模型結(jié)果對比Fig.5 Result comparison of optimal models
針對電網(wǎng)調(diào)度領(lǐng)域文本數(shù)據(jù)特征,本文對CNN進(jìn)行去池化層操作,輸出直接連接雙向長短期記憶網(wǎng)絡(luò),保留了完整的文本信息、語義關(guān)聯(lián)關(guān)系。相比文獻(xiàn)[13]方法,本文方法對電網(wǎng)調(diào)度領(lǐng)域?qū)嶓w識別的效果有明顯提升,如表4所示。
表4 實體識別結(jié)果Table 4 Entity recognition results %
根據(jù)具體識別的實體結(jié)果,發(fā)現(xiàn)在縮略短語的識別效果方面,BiLSTM-CNN-CRF仍有較大提升空間,比如難以識別“#2變”、“雙馬一”等實體。主要原因一是縮略語本身攜帶語義信息不容易被捕獲,二是受訓(xùn)練模型的語料規(guī)模限制,縮略短語的標(biāo)注樣本不足而影響算法精度,后期隨著語料規(guī)模的擴(kuò)展,算法效果將會得到進(jìn)一步提升。
對于電網(wǎng)調(diào)度領(lǐng)域,傳統(tǒng)實體識別方法需要大量人工選擇特征和引入外部信息,本文提出的基于BiLSTM、CNN及CRF的識別模型無需人工提取特征,針對電網(wǎng)調(diào)度領(lǐng)域文本數(shù)據(jù)特征,本文將CNN進(jìn)行去池化層操作,有效利用文本的局部和全局特征,便于遷移到不同類型的實體標(biāo)注中。通過在調(diào)度領(lǐng)域故障預(yù)案文本數(shù)據(jù)集上與其他實體識別方法進(jìn)行對比,本文提出的基于去池化層的BiLSTM-CNN-CRF方法在準(zhǔn)確率、召回率、F1值方面表現(xiàn)更優(yōu),能夠較好地對電網(wǎng)調(diào)度領(lǐng)域?qū)嶓w進(jìn)行抽取,有效地支撐電力知識圖譜構(gòu)建。