肖鵬 徐托 瞿少成



摘要:國家電網公司PMS中積累了大量電力一次設備的運維工單文本數據,但難以有效利用。為此設計了一種基于BERT-BiLSTM-CRF模型的電力一次設備運維工單中文實體識別系統。首先,分析了工單的文本特點及分詞難點,總結出七類實體并人工標注3452條工單,形成訓練集。其次,利用相關設備的試驗、故障分析報告對BERT模塊進行預訓練,以獲得電力詞向量。然后,利用BiLSTM模塊對實體標簽進行預測。最后,引入CRF模塊優化預測標簽。對1000份工單進行中文實體識別實驗,結果表明該模型在電力一次設備運維工單文本中具有較高的識別能力。
關鍵詞:電力一次設備運維工單; 命名實體識別; BERT模型; 雙向長短期記憶網絡; 條件隨機場
中圖分類號:TP18 ? ? ?文獻標識碼:A
文章編號:1009-3044(2021)31-0007-04
1 概述
自電力生產管理系統(PMS) 在國家電網上線以來,電力一次設備運維工單數據呈現爆炸式增長。這些數據中蘊含著豐富的電力資產健康信息[1],但其主要以非結構化文本方式存儲,難以有效利用。因此,如何將非結構化運維工單結構化顯得尤為重要。隨著自然語言處理中,命名實體識別技術發展為上述問題提供了可能的解決方案。
早期命名實體識別技術主要是基于規則和字典,此后基于統計學的方法得到了極大發展,如隱馬爾科夫模型(HMM) 、最大熵模型(MEM) 、支持向量機(SVM) 與條件隨機場(CRF) 等,但這些模型存在對語料庫依賴大、訓練時間復雜性高及收斂速度慢等問題[2]。當前,基于深度學習的方法得到了空前發展,如循環神經網絡(RNN) 、長短期記憶網絡(LSTM) 、雙向長短期記憶網絡(BiLSTM) 等[3]。
目前,命名實體識別技術已經開始深入電力領域。本文針對電力一次設備非結構化運維工單數據,構建了基于BERT-BiLSTM-CRF的模型,實現了電力一次設備運維工單命名實體識別。首先,分析了運維工單的文本特點及分詞難點,總結出“設備名稱”“設備電壓等級”“設備所屬線路”“設備所屬變電站”“設備損壞部位”“設備維修情況”及“設備維修時間”七類實體,并篩選3400余條工單進行實體標注,形成訓練集;然后,預訓練出適用于電力領域的BERT模型,以BiLSTM作為實體標簽預測層、CRF作為標簽全局最優解的處理層,共同構建了電力一次設備運維工單實體識別模型;最終,完成了工單文本實體的高準確率識別實驗。
2 ?電力一次設備運維工單分析
2.1 電力一次設備運維工單數據來源
電力一次設備運維工單文本數據來自國網湖北公司PMS中30萬條工單數據。本文僅考慮在110kv、220kv與500kv三種電壓等級下,主變壓器、隔離開關與斷路器這三種電力一次設備的運維數據。經數據清洗后,共篩選出1.2萬余條工單作為本文數據源。
2.2 運維工單文本的特點及分詞難點
分析上述工單文本內容,發現相較于一般的中文文本,電力一次設備運維工單文本有如下特點:
1) 工單文本內容一般包括設備電壓等級、設備名稱、設備所屬線路、設備所屬變電站、設備損壞部位、設備維修情況、設備維修時間等信息,但由于檢修人員的書寫習慣不同,工單文本內容存在結構和完整性差異。
2) 由于各類型設備的各種故障及檢修方式的復雜度不同,不同工單文本內容的長度差異也很大,從已有的數據中統計,最短的工單文本為11字,最長的可達354字。
電力一次設備運維工單文本分詞的難點在于:
1) 對于相同設備或部位,由于運維人員的書寫習慣不同,其描述也存在一定的差異,如“主變壓器”被縮寫為“主變”;
2) 對于工單文本中的數值信息,如電壓等級“110kv”、設備型號“電容器型號BAMH2”等內容,需要依賴上下文信息進行實體類別判斷;
3) 對于不同工單,描述設備損壞部位、維修情況的文本內容冗長,實體種類繁多,語義復雜且分割界限不明顯,需要模型具有較強的泛化能力。
3 ?基于BERT-BiLSTM-CRF的運維工單實體識別模型
通過分析上述運維工單文本的特點與分詞難點,設計了一種基于BERT-BiLSTM-CRF的運維工單實體識別模型,其整體結構如圖1所示。
首先,利用主變壓器、斷路器與隔離開關三類電力一次設備的相關試驗、故障分析報告對BERT模塊進行了預訓練;其次,將工單文本以句子為單位輸入已預訓練的BERT模塊,得到高質量的詞向量;然后,利用BiLSTM進行字詞間的局部特征提取及實體標簽預測;最后,通過CRF處理相鄰標簽之間的關系,得到最優預測序列,進行實體分類。
3.1 BERT模塊
自然語言處理中,通常采用詞嵌入將字詞映射到低維密集語義空間,即獲得字的向量表示。
當前,常見的詞嵌入模型有Word2Vec和GPT。但這些模型在電力一次設備運維工單命名實體識別中存在一些問題。Word2Vec模型生成的是靜態詞嵌入,不能表達一詞多義。而GPT則是一種單向語言模型,無法獲取詞的上下文信息。
BERT模型的出現緩解了上述問題,它通過考慮字符級和詞級特征來增強詞向量的語義表示,同時能夠通過預訓練來提高模型的準確性。因此,本文選擇BERT模型來獲取運維工單的詞向量,為提高模型的準確性,本文對BERT模型進行了預訓練。
BERT模型的整體結構如圖1(a) 所示。具體而言,BERT輸入的每個字都由Token Embedding、Segment Embedding和Position Embedding三個向量疊加表示,分別表示字嵌入、句子嵌入和位置嵌入,其模型輸入表示如圖1(b) [4]。圖中[CLS]用于標識句子的開頭,[SEP]用于標識兩個句子的界限。
其主體結構為多個Transformer編碼器的串聯,Transformer結構如圖1(c) 所示。編碼器由多頭自注意力機制、殘差模塊、歸一化模塊和前饋神經網絡構成。
在編碼器中,最關鍵的部分是自注意力機制,其公式表示為:
[AttentionQ,K,V=SoftmaxQKTdkV] (1)
式中,Q、K、V分別代表查詢向量、鍵向量和值向量,由詞嵌入向量經過線性變換矩陣[WQ]、[WK]、[WV]計算所得[5]。[dk]為鍵向量的維度,用于調節[QKT]的內積,防止內積過大導致訓練過程中梯度不穩定問題。而多頭自注意力機制是自注意力機制的線性組合,可使模型在不同的表示子空間學習到更多相關信息,增加了模型信息采樣的多樣性[6]。其公式表示如式(2) 。
[MultiHeadQ,K,V=Concathead1,???,headnWoheadi=AttentionQWQi,KWKi,VWKi] (2)
每個自注意力模塊后都需要對結果進行殘差和歸一化處理(Add&Norm) ,是為了改善模型梯度消失,加速網絡收斂。最后鏈接前饋神經網絡,來提升模型空間,鞏固原有編碼信息。
3.2 BiLSTM模塊
由于全連接神經網絡不能挖掘輸入序列的上下文語義信息。因此,提出循環神經網絡(Recurrent Neural Network, RNN) ,其具有一定的記憶功能,但存在梯度消失和梯度爆炸問題。此后,長短期記憶網絡(Long Short Term Memory, LSTM) 引入門限機制來解決長時依賴和梯度消失問題[7]。LSTM的單元結構如圖2所示。
LSTM的核心是遺忘門、輸入門、輸出門和一個記憶單元。遺忘門[ft]決定多少歷史信息影響[Ct]。輸入門[it]決定多少當前輸入信息影響[Ct][Ct]。輸出門[ot]則控制對外有多少信息可見,即[ht][8]。LSTM的單元狀態更新計算公式如下:
[ft=σWf?ht-1,xt+bfit=σWi?ht-1,xt+biCt=tanhWC?ht-1,xt+bCot=σWo?ht-1,xt+boCt=ftCt-1+itCtht=ottanhCt] (3)
式中,[σ]表示sigmoid激勵函數,W表示權重矩陣,b表示偏置向量,[ht-1]表示上一時刻LSTM單元的輸出,[xt]表示當前時刻的輸入。
由于單向LSTM無法通過后項輸入信息來獲取文本特征,本文采用雙向長短期記憶網絡(Bidirectional Long-Short Term Memory,BiLSTM) 來提取文本特征,以提高電力實體識別模型的模型能力。BiLSTM模型結構如圖1(d) 所示。
3.3 CRF模塊
BiLSTM根據上下文提取文本特征,輸出每個字符對應各標簽的分值,并以該字符分值最高的標簽作為最終標簽輸出,但存在標簽不對應問題。因此,引入條件隨機場(Conditional Random Field, CRF) 來處理標簽之間的依賴關系從而得到最優預測序列,盡可能提高預測的準確率。
對于任意輸入序列[X=x1,x2,…,xn],假設BiLSTM訓練得到的對應輸出標簽序列為[Y=y1,y2,…,yn],則得分函數為:
[sX,Y=i=1nAyi-1,yi+Pi,yi] ?(4)
式中,n為字符的個數,[Ayi-1,yi]表示文本相鄰兩字符標簽間的轉移分數矩陣,[Pi,yi]為文本中第i個字符的[yi]標簽分數。預測序列Y產生的概率為:
[PYX=esX,YY∈YXsX,Y] (5)
式中,[Y]表示真實標注序列,[YX]為所有可能的標簽序列集合。最終,將得分最大的標簽集合作為最優標簽輸出。
4 實驗與結果分析
4.1 標注體系與數據集
常見的命名實體識別標注體系主要有BIO、BIOES、BIOES+等模式,本文采用BIO標注體系。該體系中,B(Began) 表示一個實體詞的首字符,I(Inside) 表示一個實體詞的中間及末尾字符,O(Outside) 表示非實體詞。從運維工單數據源中篩選出3452條工單,使用標注工具按“VoltageLevel”“EquipmentName”“LineName”“TransforSta”“DamagePart”“RepairCondition”“Time”七類標簽對文本進行手工標注。
最終將標注的結果轉碼為BIO標注體系,并按7:3的比例劃分為訓練集和測試集,運維工單文本標注示例如表1所示。
4.2 評價指標
本文采用召回率R、精確率P和F1值來評判模型的性能,各評價指標的計算方法如下:
[P=TPTP+FPR=TPTP+FNF1=2PRP+R] (6)
式中,[TP]表示實際為正例、預測也為正例的數量,[FP]表示實際為負例、預測為正例的數量,[FN]表示實際為正例、預測為負例的數量。
4.3 實驗環境與參數配置
4.3.1 實驗環境
基于PyTorch平臺搭建實驗環境,具體訓練環境配置如表2所示。
4.3.2 實驗參數配置
訓練過程中,BERT模型的Transformer編碼部分層數為12,12頭自注意力機制,輸出為300維,其他具體超參數如表3所示。
4.4 實驗結果
為了驗證所用模型在電力一次設備運維工單文本中的識別效果,使用測試集中1000條工單文本對模型進行測試,具體實驗結果如表4所示。
由表4可知,相比LSTM、BiLSTM和BiLSTM-CRF模型,BERT-BiLSTM-CRF模型在電力一次設備運維工單文本中的識別實體效果更好,其F1值達到85.6%,比其他三者分別提高11.5%、7.2%和4.9%。相比LSTM模型,BiLSTM模型在輸入序列方面考慮了后項輸入,因此結果稍好一點。相比BiLSTM模型,BiLSTM-CRF模型增加了CRF模塊,能夠更好地處理標簽之間的依賴關系,因而評價指標略高一點。相比BiLSTM-CRF模型,BERT-BiLSTM-CRF模型使用了BERT模塊,能夠通過預訓練增強模型在電力領域的表征能力,輸出更高質量的詞向量,因此評價指標有所提高。
5 結論
本文設計了一種基于BERT-BiLSTM-CRF模型的電力一次設備運維工單中文實體識系統。通過分析電力一次設備運維工單的文本特點及分詞難點,總結了設備名稱、設備損壞部位等七類中文電力實體。通過預訓練BERT模型,得到高質量的電力領域詞向量,并結合BiLSTM-CRF,構建BERT-BiLSTM-CRF模型,實現了電力一次設備運維工單文本實體信息的高準確率識別。對1000份電力一次設備運維工單文本進行實驗表明,模型的F1值達到85.6%,比LSTM、BiLSTM和BiLSTM-CRF模型F1值分別提高11.5%、7.2%和4.9%。下一步,考慮將結構化工單進一步處理,以構成電力一次設備維修的知識圖譜,挖掘設備維修工單的潛在信息與價值。
參考文獻:
[1] 王慧芳,曹靖,羅麟.電力文本數據挖掘現狀及挑戰[J].浙江電力,2019,38(3):1-7.
[2] 焦凱楠,李欣,朱容辰.中文領域命名實體識別綜述[J].計算機工程與應用,2021,57(16):1-15.
[3] Goyal A,Gupta V,Kumar M.Recent Named Entity Recognition and Classification techniques:a systematic review[J].Computer Science Review,2018,29:21-43.
[4] 謝騰,楊俊安,劉輝.基于BERT-BiLSTM-CRF模型的中文實體識別[J].計算機系統應用,2020,29(7):48-55.
[5] 朱曉亮,譙宇同.基于BERT模型的排比句自動識別方法[J].計算機應用與軟件,2021,38(7):153-158.
[6] 楊飄,董文永.基于BERT嵌入的中文命名實體識別方法[J].計算機工程,2020,46(4):40-45,52.
[7] 蔣翔,馬建霞,袁慧.基于BiLSTM-IDCNN-CRF模型的生態治理技術領域命名實體識別[J].計算機應用與軟件,2021,38(3):134-141.
[8] 馮斌,張又文,唐昕,等.基于BiLSTM-Attention神經網絡的電力設備缺陷文本挖掘[J].中國電機工程學報,2020,40(S1):1-10.
【通聯編輯:唐一東】
收稿日期:2022-06-20
基金項目:國家自然科學基金項目(61673190)
作者簡介:肖鵬(1997—) ,男,湖北十堰人,碩士,主要研究方向為數據挖掘;瞿少成(1971—) ,男,湖北武漢人,教授,主要研究方向為智能信息處理;徐托(1971—) ,男,湖北咸寧人,碩士,主要研究方向為數據挖掘。