楊帆,黃河,李海英,李東東,趙耀
(1.上海電力大學電氣工程學院,上海 200090;2.天津電氣科學研究院有限公司,天津 300180)
電力系統(tǒng)在日常運行中積攢了大量的缺陷文本數(shù)據(jù),這些文本數(shù)據(jù)中蘊含了設備的潛在運行規(guī)律[1]。在當前“電力大數(shù)據(jù)”的時代背景下,如何利用基于數(shù)據(jù)驅動的人工智能方法從數(shù)據(jù)中挖掘出相關運行規(guī)律,對提升電力系統(tǒng)的運維檢修智能化具有重要意義[2]。
近年來,在電力文本挖掘領域,主要應用研究有:設備缺陷等級分類、歷史文本經(jīng)驗指導和健康狀態(tài)評價等。文獻[3]利用One-hot 編碼實現(xiàn)缺陷文本的向量化,并采用K 最近鄰算法(K-nearest neighbor,KNN)進行分類,提升斷路器狀態(tài)評價合理性,但One-hot 模型添加新詞困難,面對電力設備缺陷文本這種高維數(shù)據(jù)集容易導致維數(shù)災難等問題,無法衡量詞語之間的語義關聯(lián)度;文獻[4]利用隱馬爾可夫法(hidden Markov model,HMM)對斷路器缺陷文本進行向量化,并采用比率型狀態(tài)信息融合模型對斷路器全壽命健康狀態(tài)進行展示,但HMM 這種詞庫型自然語言處理技術無法很好地處理電力缺陷文本這種專業(yè)性強的語料;文獻[5]通過BiLSTM 深度提取缺陷文本句級別的深層語義特征,提高分類效果;文獻[6]提出一種基于深度語義學習的變壓器運維文本挖掘方法,研究給出的健康指數(shù)計算方法有助于運維人員更直觀理解變壓器缺陷程度;文獻[7]在文獻[5]的基礎上提出一種基于注意力機制的BiLSTM 缺陷文本分類方法,提出的缺陷處理優(yōu)先指數(shù)具有實際應用價值。文獻[5-7]的共性在于均采用了Word2vec詞嵌入模型[8]對缺陷文本進行向量化,以無監(jiān)督學習的方式學習語義信息,將分詞后的缺陷文本映射為K維向量,這種向量被稱為靜態(tài)詞向量,詞向量無法根據(jù)上下文語境動態(tài)調整。但文本信息特征表示的好壞對缺陷文本分類的準確率影響重大,好的詞向量能夠有效提升模型的學習效果[9]。電力設備缺陷文本本身即存在著特征稀疏等問題,導致Word2vec并不能完整地表示缺陷文本的語義信息。另一方面,不同電力設備的缺陷類型有所不同,且電力文本還包括了調度文本等,Word2vec 需要根據(jù)應用場景進行重新訓練,詞向量效果無法保證,模型整體的魯棒性和泛化能力較差。
為了更好地利用缺陷文本上下文語義信息,保留句子層面的語義特征,學界目前的研究重點已經(jīng)轉向以句為單位的預訓練語言模型[10],使詞向量能夠動態(tài)地根據(jù)上下文進行調整,解決一詞多義問題的同時充分提升了模型的泛化能力。為了提高預訓練語言模型的分類準確率,Matthew E.Peters 等人[11]在2018 年提出的ELMo 模型通過深度雙向語言模型進行預訓練,使產(chǎn)生的詞向量能夠包含豐富的句法和語義信息,并且能對多義詞進行建模,這種能夠根據(jù)上下文語境進行調整的詞向量被稱為動態(tài)詞向量。然而ELMo 的雙向學習機制在時間上是不同步的,為了解決這一問題,Google 于2018 年提出了真正意義上的基于雙向Transformers 編碼表示(bidrectional encoder representations from transformers,BERT)的預訓練語言模型[12],各項研究均表明預訓練語言模型在自然語言處理領域的多項任務中都表現(xiàn)出優(yōu)異的性能。在電力文本挖掘領域,近年來預訓練語言模型也開始展現(xiàn)出了優(yōu)勢,文獻[13]提出了一種基于PBERTBiLC 的電力實體信息識別方法,利用大量電力領域相關文本語料進行學習,生成具有電力特色的BERT 模型,并結合BiLSTM 和條件隨機場(conditional random field,CRF)共同構建了電力實體信息識別模型,提高了電力實體信息識別準確率;文獻[14]針對電網(wǎng)調度語言的特點對BERT的輸入特征進行改進,提高了模型對調度語言的適應性,并驗證了其在困惑度和語音識別效果中的優(yōu)勢。
為了提高電力設備缺陷文本挖掘模型的泛化能力和準確率,本文首先總結了電力設備缺陷文本的特點,在此基礎上采用一種基于知識增強的預訓練語言模型ERNIE 對缺陷文本進行向量化,訓練出包含上下文語義信息的缺陷文本詞向量,增強其語義表示能力;其次,為了進一步獲取缺陷文本的雙向語義信息,本文在ERNIE 模型的基礎上增加了BiLSTM單元,將ERNIE訓練后得到的缺陷文本詞向量作為BiLSTM的輸入進行雙向學習,并采用Softmax分類器進行分類;最后,以準確率、精確度及召回率作為評價指標,與傳統(tǒng)詞向量模型及分類模型進行比較,所提出的ERNIE-BiLSTM模型具有更強的語義學習能力和泛化能力。
電力設備缺陷文本內容通常包括了缺陷所在單位、缺陷編號、缺陷發(fā)現(xiàn)日期、缺陷設備、缺陷內容、缺陷等級、技術原因、處理詳情等。缺陷內容記錄了電力設備的具體缺陷情況,如設備產(chǎn)生缺陷的具體部件、缺陷的具體現(xiàn)象等,運維人員會將具體的缺陷信息以文本的形式詳細記錄在缺陷內容中,缺陷內容對于缺陷等級的評估具有重要的價值。因此,缺陷文本蘊含了大量的健康狀態(tài)既往史和同類設備運行規(guī)律,如果能正確地通過缺陷內容判斷缺陷的嚴重程度,避免人為主觀因素的影響,便可為設備的檢修周期提供決策參考,在設備生命將至時提前對設備進行維修或更換。圖1給出了缺陷文本的數(shù)據(jù)結構。
從圖1中可以看出,相較于普通的中文文本,電力設備缺陷文本具有以下特點:
圖1 電力設備缺陷文本數(shù)據(jù)結構圖Fig.1 Data structure of power equipment defects text
1)缺陷文本專業(yè)性非常強,包含了大量的電氣專業(yè)術語;
2)缺陷文本中摻雜著大量的數(shù)字、單位及特殊符號等,例如“主變本體滲油,大約20 s 1滴,目前油位在1/2處”。包含的數(shù)字對于缺陷文本的等級判斷起著重要的作用,傳統(tǒng)的文本挖掘方法在學習缺陷文本時容易忽略數(shù)字部分的量化信息;
3)缺陷文本往往包含了大量縮寫,長短差異也較大。缺陷文本通常為人工輸入,由于經(jīng)驗及習慣的差異,存在著記錄方式的差異,例如“呼吸器”、“吸濕器”和“吸潮器”均表示同一個含義,以及“主變有載油位過高”與“主變有載油位高于正常油位的上限”,兩條缺陷文本表示的含義相同,但文本的長度和記錄形式均有所差異。了得到更好的缺陷文本分類結果,采用BiLSTM模型對ERNIE 產(chǎn)生的詞向量進一步進行特征提取,BiLSTM 克服了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡的梯度爆炸和梯度消失的問題,能對缺陷文本進行雙向編碼提取特征。
ERNIE-BiLSTM 的結構如圖2 所示,模型包括了3個部分。假設預處理后的電力設備缺陷文本為E=[E1,E2,…,EN],利用ERNIE 進行預訓練求取其詞向量表示T=[T1,T2,…,TN];然后將ERNIE輸出的詞向量T作為BiLSTM 層的輸入進行特征提取,進一步提取電力設備缺陷文本中每個詞語的上下文語義信息,經(jīng)過雙向學習后的缺陷文本詞向量表示為H=[H1,H2,…,HN];最后采用Softmax 層進行分類,計算輸入的缺陷文本的分類標簽的概率分布,判斷其缺陷等級。
圖2 ERNIE-BiLSTM結構圖Fig.2 ERNIE-BiLSTM structure
預訓練語言模型本質上采用了遷移學習的思想。預訓練語言模型能將電力相關領域數(shù)據(jù)集中學習到的先驗語言知識遷移到缺陷文本領域,從而有效地提升了模型泛化能力。因此,為了解決缺陷文本在向量化時容易丟失上下文語義信息、泛化能力較差等問題,本文采用了一種更適用于中文文本挖掘的的預訓練模型ERNIE,相較于BERT 和ELMo,ERNIE 是一種基于大規(guī)模中文語料訓練出來的語言模型,多項研究均已證明ERNIE 在文本分類、命名實體識別等多個中文文本挖掘任務上都要表現(xiàn)得更為優(yōu)秀。其次,為
ERNIE 是一種知識增強的語義表示模型,通過對海量數(shù)據(jù)中的詞、實體及實體關系等先驗語義知識建模,進而學習到完整概念的語義表示[15]。ERNIE 與BERT 都是以多層雙向Transformer 編碼器為基礎單元構建的預訓練語言模型,結構如圖3所示[16]。
圖3 ERNIE結構示意圖Fig.3 Structure of ERNIE
ERNIE 包括編碼和知識整合兩個部分。編碼部分利用Transformer 編碼器生成融合了上下文語義信息的缺陷文本詞向量,從圖中可以看出Transformer 編碼器基于注意力機制進行建模,注意力機制能夠反映缺陷文本中不同詞匯之間的重要程度,提高有助于缺陷文本分類信息的權重,進一步提高模型特征抽取的準確性;在知識整合部分,ERNIE 提出了一種多階段知識遮蔽策略,融合了字符、短語以及實體級別的缺陷文本語義知識。知識遮蔽指的是通過隨機掩碼一些字符,訓練模型預測被掩碼的部分,進而有效學習到被掩碼部分的上下文信息。相較于BERT 模型的單一字掩碼策略,ERNIE 引入了字符、短語和實體三種級別的掩碼方式,通過多階段知識遮蔽策略,ERNIE 能夠生成一個包含了豐富缺陷文本語義信息的詞向量,有效保留了缺陷文本中各成分之間的關聯(lián)性,從而保證重要的語義信息不會丟失。
傳統(tǒng)的機器學習方法依賴人工預先進行特征提取,再進行文本分類,容易導致前后文信息丟失。長短時記憶網(wǎng)絡(long short term memory,LSTM)為了解決這一問題,利用門控單元來控制長期信息的傳遞過程,增強上下文的關聯(lián)性。LSTM 具有三個門控結構,包含了輸入門(it)、遺忘門(ft)、輸出門(ot)及記憶單元(ct),能夠有效克服一般神經(jīng)網(wǎng)絡所存在的梯度消失問題。LSTM結構如圖4所示。
圖4 LSTM結構圖Fig.4 LSTM structure
然而,LSTM 只能學習電力設備缺陷文本的上文語義。BiLSTM 能對缺陷文本進行雙向編碼,結構如圖5所示。其中,xt為輸入;h→t為正向輸出;h←t為反向輸出;ht為t時刻BiLSTM的輸出。
圖5 BiLSTM結構圖Fig.5 BiLSTM structure
例如,某變壓器缺陷文本數(shù)據(jù)“主變本體矽膠全部變色”,通過正向編碼能學習到“主變”等語義信息,而反向編碼則能學習到“變色”等語義信息。BiLSTM 能考慮缺陷文本上下文信息,對有價值信息的語序含義進行保留,提高缺陷文本分類準確率。
具體實驗環(huán)境如下:選擇Python 語言作為開發(fā)語言,CPU 型號為Intel Core i7-8750H,開發(fā)工具選擇JetBrains PyCharm。
為了研究本文所構建的ERNIE-BiLSTM 模型對于電力設備缺陷文本的分類效果,本文經(jīng)過篩選、去除無效文本,選取某地電網(wǎng)公司2010—2016 年的變壓器缺陷文本共計13 095 條,每條缺陷文本均已人工標注了缺陷等級,缺陷等級分為“一般”、“嚴重”和“危急”3種。將所有變壓器缺陷文本隨機以4∶1 的比例劃分為訓練集與測試集,進行5 倍交叉驗證,變壓器缺陷文本數(shù)目統(tǒng)計如表1所示。
表1 變壓器缺陷文本數(shù)目統(tǒng)計Tab.1 Statistics of transformer defect text number
為了驗證缺陷文本分類模型的效果,在完成訓練和測試后,需要對測試結果進行評價,因此采用準確率Acc、精確度P及召回率R作為評價指標,定義如下:
式中:TP為缺陷文本正類正確的樣本數(shù)目;FP為缺陷文本負類正確的樣本數(shù)目;TN,F(xiàn)N為與缺陷文本實際分類預測相反的樣本數(shù)目。
由表1可知,缺陷文本分類是多分類問題,且數(shù)據(jù)集分布不平衡,“危急”缺陷樣本數(shù)目較少。因此為了保證評價結果的合理性,本文還采用宏平均綜合指標F1對模型的全局性能進行評估,宏平均綜合指標將多分類問題拆分成多個二分類問題來綜合每個類別的分類準確情況,定義如下:
為了最大限度保留缺陷文本中電氣專業(yè)詞匯信息,本文根據(jù)變壓器缺陷文本特點總結了相關領域詞典,以Jieba分詞工具為基礎實現(xiàn)缺陷文本的分詞。此外,為了降低缺陷文本冗余度,結合哈工大停用詞表設立了停用詞,并補充了地址等對判斷缺陷等級無用的詞匯,進一步提升特征提取的準確率。缺陷文本預處理流程示意圖如圖6所示。
圖6 缺陷文本預處理示意圖Fig.6 Schematic diagram of defect text preprocessing
3.3.1 預訓練對缺陷文本分類結果的影響
傳統(tǒng)的靜態(tài)詞向量模型雖然有效解決了維數(shù)災難等問題,但缺乏對上下文語境信息的考慮。為了驗證ERNIE 對缺陷文本分類準確率的提升,在文本表示階段,選取了Word2Vec,GloVe兩種靜態(tài)詞向量模型和BERT預訓練語言模型與其進行對比。圖7給出各模型在訓練過程中的準確率變化曲線。
從圖7中可以看出,隨著迭代次數(shù)的增加,所有模型均呈現(xiàn)整體上升趨勢,預訓練語言模型均能在迭代次數(shù)較少的時候取得不錯的效果,并且由于ERNIE 基于中文語料進行建模,能以最少的迭代次數(shù)達到最優(yōu)。而傳統(tǒng)的靜態(tài)詞向量模型準確率在迭代過程中波動幅度較大,且準確率始終低于預訓練語言模型。最終實驗結果如圖8所示。
圖7 訓練集準確率變化曲線Fig.7 Training set accuracy curves
圖8 詞向量模型對分類結果的影響Fig.8 Influence of word vector model on classification results
從圖8 中可以看出,Word2Vec 的分類準確率最低,主要原因是缺陷文本記錄內容表達多樣化,自行編撰的領域詞典難以概括全部內容;GloVe 由于引入了缺陷文本的全局統(tǒng)計信息,故性能要略優(yōu)于Word2Vec。傳統(tǒng)的靜態(tài)詞向量無法解決變壓器缺陷文本中錯字等情況,例如“變壓氣”等。
預訓練語言模型對于分類性能的提升非常明顯。相較于Word2Vec 只能在單個字符或詞匯上提取缺陷文本特征信息,BERT 結合了缺陷文本的全部內容,對每個字符都進行概率預測,提取句子層面語義信息。而ERNIE 對變壓器缺陷文本進行動態(tài)語義編碼優(yōu)于BERT 的原因主要有兩方面,ERNIE 通過知識增強的方法引入了實體、短語級別的多階段掩碼策略,學習到真實的缺陷文本語義關系,而BERT 只能對字符進行掩碼學習,兩者掩碼策略上的區(qū)別如圖9所示。
圖9 ERNIE和BERT掩碼策略的差異Fig.9 The different masking strategybetween ERNIE and BERT
從圖9 中可以看出,BERT 通過學習局部的“變”和“開”字,能夠成功預測被掩碼的“主”和“關”字,但單一基于字符的掩碼策略缺乏對實體單元及語義關系的建模學習,例如BERT 無法建?!白兩钡牡降资恰肮枘z”還是“呼吸器”;ERNIE由于引入了短語和實體級別的語義知識,能夠學習完整的實體單元,例如“分接開關”,同時能夠建模“硅膠”和“變色”之間的語義關系,提高模型的可解釋性。并且ERNIE 是一種基于多種中文語料庫訓練出來的語言模型,訓練語料的擴展不僅提高了ERNIE 的語義表示能力,也顯著提高了其處理缺陷文本時的泛化能力,使其在面對電力文本挖掘的不同應用場景時具備更好的魯棒性。
為了驗證BiLSTM 在缺陷文本分類問題上的優(yōu)勢,在文本分類階段,選取了支持向量機(support vector machine,SVM)和KNN 兩種機器學習算法及卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)以及LSTM 作為對比,實驗結果如表2所示。
表2 不同文本分類模型結果統(tǒng)計Tab.2 Statistical results of different text classification models
從表2 中可以看出,SVM 和KNN 兩種機器學習算法分類性能要顯著低于深度學習。傳統(tǒng)機器學習方法依賴詞向量的質量,而深度學習方法具有更強的泛化能力,能夠自適應提取缺陷文本特征,提高分類準確率。
由于CNN 使用固定窗口作為缺陷文本的上下文信息,因此只能學習到局部特征,卷積核大小對分類性能影響較大;RNN 無法解決長距離依賴問題,在面對長文本時容易丟失重要語義信息。LSTM 雖然克服了CNN 和RNN 的缺點,但忽略了未來信息和局部語義特征對缺陷文本的影響。BiLSTM 通過雙向編碼學習融合了全局上下文的特征信息,為缺陷文本分類準確率提供雙重保證。并且BiLSTM 在解決長文本分類問題上優(yōu)勢會更為明顯,具有良好的泛化性能,能應用于不同的電力文本挖掘問題,例如操作票、調度文本等長文本內容。
針對缺陷文本的特點,本文提出一種基于ERNIE 和BiLSTM 融合的電力設備缺陷文本分類方法。ERNIE 預訓練語言模型通過多階段知識遮蔽策略生成包含缺陷文本上下文信息的詞向量,BiLSTM 進一步提取缺陷文本的句義特征。所提模型能有效提升缺陷文本分類準確率,減少運維人員的工作量。此外,采用人工智能的技術能改善因經(jīng)驗差異導致的部分亞健康缺陷難以判斷缺陷等級的情況,促進電網(wǎng)的智能化發(fā)展。