郭 宇,李英娜,劉愛蓮,馬鑫堃
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
電力技術不斷發展,電力作業人員在操作設備、現場工作的安全極其重要[1]。電網的安全作業都是文本化形式,且多類文本并存,沒有一個完整、詳細的安全作業圖譜,查詢各類安全作業之間關聯及設備安全使用方法直接的聯系存在一定的阻礙。提取各類實體關鍵詞是將知識圖譜構建出來的第一步。隨著人工智能技術的不斷發展,從自然語言中提取實體、關系、屬性等高層次結構化語義信息并用來處理各個行業的需求是當下的研究熱點[2-3]。在電力行業,大多數電力安全作業為非結構化文本[4],相比結構化的表格,更加詳細地描述了各類場景下應該注意的安全規范,但對于實體識別難度較大,且準備工作前期需要標注數據。因此,對電力安全作業文本進行實體識別的難度相對較大。
命名實體識別(Named Entity Recognition,NER)技術[5]傳統上采用基于字典+匹配的方法[6-7],隨著技術的發展,出現了機器學習中隱馬爾科夫、支持向量機、隨機條件場(Conditional Random Field,CRF)等方法[8-9],這些方法依賴手工設計的特征和特定任務的訓練數據,因此人工開發成本就變得高昂,同時,訓練出來的實體模型難以應用到新任務以及新領域。當下,基于深度學習的方法展現出很多優勢,逐漸成為主流。循環神經網絡(Rerrent Neural Network,RNN)以及雙向長短時記憶網絡(Bi-directional Long Short-Term Memory,BiLSTM)等模型[10-11]近年來在通用領域表現優秀,具有時效性強、準確率高等特點。
電力專業領域需要對數據進行處理、標注。目前,電網的諸多領域都開展了基于深度學習方法的深入研究,但少有基于深度學習的電力文本實體識別[12],對于電力安全規程方面的命名實體識別仍處于空白。文獻[13-14]采用了循環卷積神經網絡(RNN)對1 000余條變壓器的故障類文本進行分類,根據故障現象、故障位置等信息將設備狀態分為“故障/普通/一般”3種類型。馮斌等人[15]采用BiLSTM+Attention模型進行電力設備缺陷文本分類,融入了注意力機制,重點挑選出對文本分類具有影響的電力信息。上述兩種方法在分類種類不多的情況下準確率可達到90%以上,但缺乏對電力文本具體信息識別的研究,不能直接用于知識圖譜的搭建。蔣晨等人[16]提出了一種新的電力實體信息識別方法,對560份電力設備故障檢修文本進行實體識別,最終該算法的識別結果比目前常用算法的F1值高出2.33%~11.25%,該算法模型對硬件要求高,且處理時間較長。
為實現電力安全作業的命名實體識別的高準確率,提高在知識圖譜中的實用性,本文構建了基于百度百科、電網文件等多數據來源的電力安全規程領域語料集,對數據集進行處理并提出了一種融合注意力機制與ALBERT-BiGRU-CRF的識別方法。
電力安全規程(以下簡稱安規)文本實體識別具有以下難點。
(1)相比其他電力計量、電力文本分類,安全規程文本實體識別的實體識別對象是安全規程中的信息詞語、具體操作,更加細致且均為非結構化數據。通用的分詞工具算法對于專業電力術語安規的準確率一般,如“室內高壓斷路器”就會被分割為“室內”“高壓”“斷路器”,從而造成一些語義丟失、不當。
(2)安全作業文本中有一些相同的設備、注意事項,但描述不同,容易產生歧義。
(3)對于一些具體的數值如距離30 m、電壓220 V等,對這些數值術語的實體判斷需要結合上下文語境進行識別。
為了對每一個字符的向量表示進行上下文的語義信息融合,將電力安規文本通過句子的形式迭入ALBERT語義編碼層進行預訓練,將包含全局信息的字向量輸入到BiGRU層,預測實體信息文本的時序特征和上下文信息,并且結合多頭自注意力機制,用來獲取文本序列的全局特征表示以及各種字符之間的關聯強度。程序最終將以上兩個模塊的輸出結合,共同輸入CRF層,用來獲得最終的輸出結果標簽。算法模型架構如圖1所示。

圖1 本文算法模型架構
當前主流的embedding層中對于字向量、詞向量的預測大多使用bert語言模型[17]。其中以字符為單位的預訓練成為掩碼預測。在該階段,ALBERT對輸入的句子選取15%作遮掩處理,其中80%替換成[MASK]掩碼符號,10%保持不變,10%隨機替換成其他字符。如圖2所示,隨機選取句子中的字符,例如,對“絕、緣、等”進行3種遮掩處理,其中“絕”用符號[MASK]代替,“緣”變為隨機字符,“等”不變,完成該遮掩步驟,利用ALBERT對句子進行預測,過程中,根據上下文信息對當前字符用向量來表示,對于誤差進行反向傳播來修正參數模型。
ALBERT可以整合整句信息來預測,信息提取范圍更大,相比傳統的word2vec方法只能通過一個字符的上下有限個字符預訓練有了顯著提升,為下游任務提供了更方便的操作。從圖2可以看出,ALBERT實現了句子層面的電力安規文本特征提取,模型的參數得到進一步優化。ALBERT網絡結構更加復雜,采用了殘差連接和歸一化來解決訓練緩慢和梯度消失的問題,使得下游自然語言處理任務得以提升準確率。

圖2 ALBERT掩碼預測
本文設計的訓練模型的編碼器和解碼器基于BiGRU實現。GRU算法[18]模型由CHO等人提出,近幾年,其基于結構簡潔、高效等優勢被得到廣泛應用。GRU由門控單元調節單元內部的信息流。當下深度學習中廣泛應用的長短時記憶網絡(Long Short-Term Memory,LSTM)中有3個門控單元——輸入門、遺忘門、輸出門,這3個門控單元分別控制輸入值、記憶值、輸出值。而在GRU中只有兩個門控單元——更新門和重置門。兩者性能相似,GRU模型的結構更加簡單,因此預測時間短。
BiGRU模型由兩個獨立的GRU模型構成,經過ALBERT層處理之后輸出的文本向量輸入BiGRU轉換為輸入序列,分別輸入前向GRU和后向GRU,由此得到的文本特征信息都包含了上下文的關聯性。BiGRU模型結構如圖3所示。

圖3 BiGRU模型結構
在時刻t,BiGRU由兩個獨立的GRU共同決定,計算公式如式(1)~式(3)所示:


BiGRU層的作用主要是對句子間的長距離依賴關系進行提取和識別,通過該算法可以進一步提取電力安規文本的深層次特征。經過該層提取后,得到更準確豐富的文本特征信息。
注意力機制可以重點捕捉句子間的信息結構[19],并學習詞之間的依賴關系。在NER方面,詞與詞之間的依賴關系、句子間的結構信息等對于提升命名實體識別的質量而言都具有重要意義。尤其是電力安全作業文本,包含了許多術語,結構多樣,且專業名詞豐富,多頭注意力機制對于該類復雜內容進行解析,有助于分析復雜的安規文本內容。通過對當前詞語的隱狀態單頭注意力權重訓練,再對多頭單元注意力進行結合,輸出多頭注意力。
對當前詞語的隱狀態單頭注意力權重訓練的計算式為:

式中:wm為權重參數;h代表拼接的數量,且每個單頭注意力輸出之間不共享參數。
CRF(條件隨機場)是一種序列化標注算法[20],充分考慮到相鄰字符之間的約束條件和依賴關系,給定訓練數據集。CRF模型用極大似然估計得到條件概率模型。
模型訓練中,CRF標注流程如圖4所示。以“通信設備”為例,首先,字向量經過ALBERT層和融合注意力機制的BiGRU層得到字符的隱藏向量h1~h4,其中向量的維度對應各個安全作業實體的得分,在CRF層中根據得分高低以及不用標簽的轉移來計算最終得分,對比情況,選出一條得分最大的標簽路徑作為最優標注,即圖中綠線所示,“通信設備”標注結果為“B-SUBJ,I-SUBJ,I-SUBJ,I-SUBJ”。

圖4 CRF標注流程
3.1.1 數據集
通用領域的實體識別語料集,目前網上公開數據很多,如微博數據、1998人民日報數據等,且都經過標注,具有很強大的普適性,命名格式相對統一。但在電力領域,目前尚未有公開的數據集可供直接訓練,各類信息錯綜復雜,格式不一。因此,本文自主構建了電力安規的文本語料庫。
語料庫的數據來源于百度文庫、中國南方電網公司安規文本、中國電力百科網(http://www.ceppedu.com/) 上各類通知文本、相關規定以及一些期刊論文所用的數據。其中大多都為非結構化數據。
3.1.2 電力安規實體標注策略
相比通用領域的文本,電力安規文本具有專業性且更為復雜,常常存在命名實體邊界模糊的問題。例如,“巡視電氣設備”可以認為是一個電力現象實體,也可以認為“巡視”是一個動作,“電氣”是電力對象實體,“設備”是電力對象實體;“阻波器短接”能看做是一個電力現象實體,也可將“阻波器”看作電力現象實體,“短接”為電力動作實體。
針對這種邊界模糊的現象,結合電力專家建議和相關知識文獻及資料,決定采用序列標注BIO(B-begin,I-inside,O-outside)的標注方法。其中,標注的實體分為主(SUBJ)-謂(PRED)-賓(OBJ)三種詞性的實體,分別對其進行識別。對標注完的整段預料,利用標注的分隔符進行程序處理,字符切分、格式重構、單據空行、一個句號為一個單位,構建了33 726條的數據集,并將語料集按照5∶1的比例劃分為訓練集與測試集,且測試集是隨機抽取的,抽出來的為測試集,剩余數據為訓練集。
3.2.1 實驗環境設置
本文算法實驗環境采用Keras2.4深度學習框架,底層為TensorFlow 1.13.2版本,使用Python作為編程語言,運行環境為Ubuntu系統、PyCharm軟件,內存32 GB。實驗過程中需要多次調整參數,超參數的設置在每次實驗完成后根據結果的準確率、損失率進行調整,最終得到理想效果,batch_size設置為16,epoch為80次。epoch對應的F1值如圖5 所示。

圖5 epoch對應的F1值
3.2.2 評價標準
本文采用的評價指標有精確率P(precision)、召回率R(recall)和F1值(F1-score)。計算公式如式(6)~式(8)所示。

式中:TP(Ture Positives)代表所有正樣本中正確識別正樣本的數量,FP(False Positives)代表負樣本被識別為正樣本的數量,FN(False Negatives)代表正樣本被錯誤識別為負樣本的數量。
這三類指標中,精確率P與召回率R分別是以查準和查全作為指標對本文模型進行評價。精確率是對該模型識別出的結果中正確實體個數的比例,因此在計算過程中沒有將未識別的實體個數納入其中,只計算了識別出的實體和其標簽的對應情況。召回率則是針對標注的樣本,表示樣本中被正確識別出的實體個數比例。將召回率與精確率的調和平均數F1值作為綜合評價指標,F1值越高,代表該模型的識別效果越好。
驗證本文提出的模型對電力安規數據集的有效性,將融合注意力機制與ALBERT-BiGRU-CRF算法模型與當下主流高效的算法模型進行對比。
采用BiLSTM-CRF雙向長短時記憶網絡進行對比,BiLSTM可以預測每一個字屬于不同標簽的概率,但沒有考慮標簽間的聯系,加入CRF層以考慮標簽之間的相關性。
采用ALBERT-BiLSTM-CRF進行對比,相較于BiLSTM-CRF算法模型,引入了ALBERT預訓練模型,使得訓練后的輸出數據進入BiLSTM層后的識別效果更佳。
三種算法對于本文數據集中的實體識別結果如表1所示,可以看出,本文算法模型的識別效果明顯好于上述兩種算法。對于三種算法的F1值比較,本文算法明顯具有較強的識別效果,對于SUBJ、PRED、OBJ三者都有比當下主流算法的效果好。

表1 三種算法在數據集上的實驗結果
ALBERT預訓練電力安規文本,使embeding輸出能夠根據文本的上下文對語句中的每個字符進行編碼,將原始的語言符號轉換為后續算法處理的語義向量形式,從而使得在實體標簽層中運用到的有效文本信息更多,F1值更高。本文算法融合了注意力機制和BiGRU,識別效果提升顯著,首先,BiGRU相對于BiLSTM,輸出門改為兩個,具有更簡單的模型結構;其次,處理速度更快,模型實現效果好;最后,融合注意力機制到BiGRU算法模型中,利用并行的結構,充分結合不同層次、不同角度的相關特征,從而增強了模型的表示能力,提升了整體性能。
電力安全作業的實體識別是開展電力知識圖譜構建最基礎的一個環節,主流算法模型識別效果未能達到理想F1值,特征能力不足。本文改進的算法模型與主流算法對比,具有較強的性能效果,提升了電力安全作業實體識別的準確率。然而,本文算法模型也存在一定的局限性,采用標注好的數據集,還未確定對于其他數據集的性能評估,在未來的工作學習中,將會利用其他數據集來測試本文算法模型的可擴展性和泛化能力。本文所提的方法為電力安規知識圖譜的構建奠定了堅實的基礎,對于電網現場安全作業、監督安全施工方案,應用價值較高。