郭 宇,李英娜,劉愛蓮,馬鑫堃
(昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500)
電力技術(shù)不斷發(fā)展,電力作業(yè)人員在操作設(shè)備、現(xiàn)場工作的安全極其重要[1]。電網(wǎng)的安全作業(yè)都是文本化形式,且多類文本并存,沒有一個完整、詳細的安全作業(yè)圖譜,查詢各類安全作業(yè)之間關(guān)聯(lián)及設(shè)備安全使用方法直接的聯(lián)系存在一定的阻礙。提取各類實體關(guān)鍵詞是將知識圖譜構(gòu)建出來的第一步。隨著人工智能技術(shù)的不斷發(fā)展,從自然語言中提取實體、關(guān)系、屬性等高層次結(jié)構(gòu)化語義信息并用來處理各個行業(yè)的需求是當下的研究熱點[2-3]。在電力行業(yè),大多數(shù)電力安全作業(yè)為非結(jié)構(gòu)化文本[4],相比結(jié)構(gòu)化的表格,更加詳細地描述了各類場景下應(yīng)該注意的安全規(guī)范,但對于實體識別難度較大,且準備工作前期需要標注數(shù)據(jù)。因此,對電力安全作業(yè)文本進行實體識別的難度相對較大。
命名實體識別(Named Entity Recognition,NER)技術(shù)[5]傳統(tǒng)上采用基于字典+匹配的方法[6-7],隨著技術(shù)的發(fā)展,出現(xiàn)了機器學(xué)習中隱馬爾科夫、支持向量機、隨機條件場(Conditional Random Field,CRF)等方法[8-9],這些方法依賴手工設(shè)計的特征和特定任務(wù)的訓(xùn)練數(shù)據(jù),因此人工開發(fā)成本就變得高昂,同時,訓(xùn)練出來的實體模型難以應(yīng)用到新任務(wù)以及新領(lǐng)域。當下,基于深度學(xué)習的方法展現(xiàn)出很多優(yōu)勢,逐漸成為主流。循環(huán)神經(jīng)網(wǎng)絡(luò)(Rerrent Neural Network,RNN)以及雙向長短時記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)等模型[10-11]近年來在通用領(lǐng)域表現(xiàn)優(yōu)秀,具有時效性強、準確率高等特點。
電力專業(yè)領(lǐng)域需要對數(shù)據(jù)進行處理、標注。目前,電網(wǎng)的諸多領(lǐng)域都開展了基于深度學(xué)習方法的深入研究,但少有基于深度學(xué)習的電力文本實體識別[12],對于電力安全規(guī)程方面的命名實體識別仍處于空白。文獻[13-14]采用了循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(RNN)對1 000余條變壓器的故障類文本進行分類,根據(jù)故障現(xiàn)象、故障位置等信息將設(shè)備狀態(tài)分為“故障/普通/一般”3種類型。馮斌等人[15]采用BiLSTM+Attention模型進行電力設(shè)備缺陷文本分類,融入了注意力機制,重點挑選出對文本分類具有影響的電力信息。上述兩種方法在分類種類不多的情況下準確率可達到90%以上,但缺乏對電力文本具體信息識別的研究,不能直接用于知識圖譜的搭建。蔣晨等人[16]提出了一種新的電力實體信息識別方法,對560份電力設(shè)備故障檢修文本進行實體識別,最終該算法的識別結(jié)果比目前常用算法的F1值高出2.33%~11.25%,該算法模型對硬件要求高,且處理時間較長。
為實現(xiàn)電力安全作業(yè)的命名實體識別的高準確率,提高在知識圖譜中的實用性,本文構(gòu)建了基于百度百科、電網(wǎng)文件等多數(shù)據(jù)來源的電力安全規(guī)程領(lǐng)域語料集,對數(shù)據(jù)集進行處理并提出了一種融合注意力機制與ALBERT-BiGRU-CRF的識別方法。
電力安全規(guī)程(以下簡稱安規(guī))文本實體識別具有以下難點。
(1)相比其他電力計量、電力文本分類,安全規(guī)程文本實體識別的實體識別對象是安全規(guī)程中的信息詞語、具體操作,更加細致且均為非結(jié)構(gòu)化數(shù)據(jù)。通用的分詞工具算法對于專業(yè)電力術(shù)語安規(guī)的準確率一般,如“室內(nèi)高壓斷路器”就會被分割為“室內(nèi)”“高壓”“斷路器”,從而造成一些語義丟失、不當。
(2)安全作業(yè)文本中有一些相同的設(shè)備、注意事項,但描述不同,容易產(chǎn)生歧義。
(3)對于一些具體的數(shù)值如距離30 m、電壓220 V等,對這些數(shù)值術(shù)語的實體判斷需要結(jié)合上下文語境進行識別。
為了對每一個字符的向量表示進行上下文的語義信息融合,將電力安規(guī)文本通過句子的形式迭入ALBERT語義編碼層進行預(yù)訓(xùn)練,將包含全局信息的字向量輸入到BiGRU層,預(yù)測實體信息文本的時序特征和上下文信息,并且結(jié)合多頭自注意力機制,用來獲取文本序列的全局特征表示以及各種字符之間的關(guān)聯(lián)強度。程序最終將以上兩個模塊的輸出結(jié)合,共同輸入CRF層,用來獲得最終的輸出結(jié)果標簽。算法模型架構(gòu)如圖1所示。
圖1 本文算法模型架構(gòu)
當前主流的embedding層中對于字向量、詞向量的預(yù)測大多使用bert語言模型[17]。其中以字符為單位的預(yù)訓(xùn)練成為掩碼預(yù)測。在該階段,ALBERT對輸入的句子選取15%作遮掩處理,其中80%替換成[MASK]掩碼符號,10%保持不變,10%隨機替換成其他字符。如圖2所示,隨機選取句子中的字符,例如,對“絕、緣、等”進行3種遮掩處理,其中“絕”用符號[MASK]代替,“緣”變?yōu)殡S機字符,“等”不變,完成該遮掩步驟,利用ALBERT對句子進行預(yù)測,過程中,根據(jù)上下文信息對當前字符用向量來表示,對于誤差進行反向傳播來修正參數(shù)模型。
ALBERT可以整合整句信息來預(yù)測,信息提取范圍更大,相比傳統(tǒng)的word2vec方法只能通過一個字符的上下有限個字符預(yù)訓(xùn)練有了顯著提升,為下游任務(wù)提供了更方便的操作。從圖2可以看出,ALBERT實現(xiàn)了句子層面的電力安規(guī)文本特征提取,模型的參數(shù)得到進一步優(yōu)化。ALBERT網(wǎng)絡(luò)結(jié)構(gòu)更加復(fù)雜,采用了殘差連接和歸一化來解決訓(xùn)練緩慢和梯度消失的問題,使得下游自然語言處理任務(wù)得以提升準確率。
圖2 ALBERT掩碼預(yù)測
本文設(shè)計的訓(xùn)練模型的編碼器和解碼器基于BiGRU實現(xiàn)。GRU算法[18]模型由CHO等人提出,近幾年,其基于結(jié)構(gòu)簡潔、高效等優(yōu)勢被得到廣泛應(yīng)用。GRU由門控單元調(diào)節(jié)單元內(nèi)部的信息流。當下深度學(xué)習中廣泛應(yīng)用的長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)中有3個門控單元——輸入門、遺忘門、輸出門,這3個門控單元分別控制輸入值、記憶值、輸出值。而在GRU中只有兩個門控單元——更新門和重置門。兩者性能相似,GRU模型的結(jié)構(gòu)更加簡單,因此預(yù)測時間短。
BiGRU模型由兩個獨立的GRU模型構(gòu)成,經(jīng)過ALBERT層處理之后輸出的文本向量輸入BiGRU轉(zhuǎn)換為輸入序列,分別輸入前向GRU和后向GRU,由此得到的文本特征信息都包含了上下文的關(guān)聯(lián)性。BiGRU模型結(jié)構(gòu)如圖3所示。
圖3 BiGRU模型結(jié)構(gòu)
在時刻t,BiGRU由兩個獨立的GRU共同決定,計算公式如式(1)~式(3)所示:
BiGRU層的作用主要是對句子間的長距離依賴關(guān)系進行提取和識別,通過該算法可以進一步提取電力安規(guī)文本的深層次特征。經(jīng)過該層提取后,得到更準確豐富的文本特征信息。
注意力機制可以重點捕捉句子間的信息結(jié)構(gòu)[19],并學(xué)習詞之間的依賴關(guān)系。在NER方面,詞與詞之間的依賴關(guān)系、句子間的結(jié)構(gòu)信息等對于提升命名實體識別的質(zhì)量而言都具有重要意義。尤其是電力安全作業(yè)文本,包含了許多術(shù)語,結(jié)構(gòu)多樣,且專業(yè)名詞豐富,多頭注意力機制對于該類復(fù)雜內(nèi)容進行解析,有助于分析復(fù)雜的安規(guī)文本內(nèi)容。通過對當前詞語的隱狀態(tài)單頭注意力權(quán)重訓(xùn)練,再對多頭單元注意力進行結(jié)合,輸出多頭注意力。
對當前詞語的隱狀態(tài)單頭注意力權(quán)重訓(xùn)練的計算式為:
式中:wm為權(quán)重參數(shù);h代表拼接的數(shù)量,且每個單頭注意力輸出之間不共享參數(shù)。
CRF(條件隨機場)是一種序列化標注算法[20],充分考慮到相鄰字符之間的約束條件和依賴關(guān)系,給定訓(xùn)練數(shù)據(jù)集。CRF模型用極大似然估計得到條件概率模型。
模型訓(xùn)練中,CRF標注流程如圖4所示。以“通信設(shè)備”為例,首先,字向量經(jīng)過ALBERT層和融合注意力機制的BiGRU層得到字符的隱藏向量h1~h4,其中向量的維度對應(yīng)各個安全作業(yè)實體的得分,在CRF層中根據(jù)得分高低以及不用標簽的轉(zhuǎn)移來計算最終得分,對比情況,選出一條得分最大的標簽路徑作為最優(yōu)標注,即圖中綠線所示,“通信設(shè)備”標注結(jié)果為“B-SUBJ,I-SUBJ,I-SUBJ,I-SUBJ”。
圖4 CRF標注流程
3.1.1 數(shù)據(jù)集
通用領(lǐng)域的實體識別語料集,目前網(wǎng)上公開數(shù)據(jù)很多,如微博數(shù)據(jù)、1998人民日報數(shù)據(jù)等,且都經(jīng)過標注,具有很強大的普適性,命名格式相對統(tǒng)一。但在電力領(lǐng)域,目前尚未有公開的數(shù)據(jù)集可供直接訓(xùn)練,各類信息錯綜復(fù)雜,格式不一。因此,本文自主構(gòu)建了電力安規(guī)的文本語料庫。
語料庫的數(shù)據(jù)來源于百度文庫、中國南方電網(wǎng)公司安規(guī)文本、中國電力百科網(wǎng)(http://www.ceppedu.com/) 上各類通知文本、相關(guān)規(guī)定以及一些期刊論文所用的數(shù)據(jù)。其中大多都為非結(jié)構(gòu)化數(shù)據(jù)。
3.1.2 電力安規(guī)實體標注策略
相比通用領(lǐng)域的文本,電力安規(guī)文本具有專業(yè)性且更為復(fù)雜,常常存在命名實體邊界模糊的問題。例如,“巡視電氣設(shè)備”可以認為是一個電力現(xiàn)象實體,也可以認為“巡視”是一個動作,“電氣”是電力對象實體,“設(shè)備”是電力對象實體;“阻波器短接”能看做是一個電力現(xiàn)象實體,也可將“阻波器”看作電力現(xiàn)象實體,“短接”為電力動作實體。
針對這種邊界模糊的現(xiàn)象,結(jié)合電力專家建議和相關(guān)知識文獻及資料,決定采用序列標注BIO(B-begin,I-inside,O-outside)的標注方法。其中,標注的實體分為主(SUBJ)-謂(PRED)-賓(OBJ)三種詞性的實體,分別對其進行識別。對標注完的整段預(yù)料,利用標注的分隔符進行程序處理,字符切分、格式重構(gòu)、單據(jù)空行、一個句號為一個單位,構(gòu)建了33 726條的數(shù)據(jù)集,并將語料集按照5∶1的比例劃分為訓(xùn)練集與測試集,且測試集是隨機抽取的,抽出來的為測試集,剩余數(shù)據(jù)為訓(xùn)練集。
3.2.1 實驗環(huán)境設(shè)置
本文算法實驗環(huán)境采用Keras2.4深度學(xué)習框架,底層為TensorFlow 1.13.2版本,使用Python作為編程語言,運行環(huán)境為Ubuntu系統(tǒng)、PyCharm軟件,內(nèi)存32 GB。實驗過程中需要多次調(diào)整參數(shù),超參數(shù)的設(shè)置在每次實驗完成后根據(jù)結(jié)果的準確率、損失率進行調(diào)整,最終得到理想效果,batch_size設(shè)置為16,epoch為80次。epoch對應(yīng)的F1值如圖5 所示。
圖5 epoch對應(yīng)的F1值
3.2.2 評價標準
本文采用的評價指標有精確率P(precision)、召回率R(recall)和F1值(F1-score)。計算公式如式(6)~式(8)所示。
式中:TP(Ture Positives)代表所有正樣本中正確識別正樣本的數(shù)量,F(xiàn)P(False Positives)代表負樣本被識別為正樣本的數(shù)量,F(xiàn)N(False Negatives)代表正樣本被錯誤識別為負樣本的數(shù)量。
這三類指標中,精確率P與召回率R分別是以查準和查全作為指標對本文模型進行評價。精確率是對該模型識別出的結(jié)果中正確實體個數(shù)的比例,因此在計算過程中沒有將未識別的實體個數(shù)納入其中,只計算了識別出的實體和其標簽的對應(yīng)情況。召回率則是針對標注的樣本,表示樣本中被正確識別出的實體個數(shù)比例。將召回率與精確率的調(diào)和平均數(shù)F1值作為綜合評價指標,F(xiàn)1值越高,代表該模型的識別效果越好。
驗證本文提出的模型對電力安規(guī)數(shù)據(jù)集的有效性,將融合注意力機制與ALBERT-BiGRU-CRF算法模型與當下主流高效的算法模型進行對比。
采用BiLSTM-CRF雙向長短時記憶網(wǎng)絡(luò)進行對比,BiLSTM可以預(yù)測每一個字屬于不同標簽的概率,但沒有考慮標簽間的聯(lián)系,加入CRF層以考慮標簽之間的相關(guān)性。
采用ALBERT-BiLSTM-CRF進行對比,相較于BiLSTM-CRF算法模型,引入了ALBERT預(yù)訓(xùn)練模型,使得訓(xùn)練后的輸出數(shù)據(jù)進入BiLSTM層后的識別效果更佳。
三種算法對于本文數(shù)據(jù)集中的實體識別結(jié)果如表1所示,可以看出,本文算法模型的識別效果明顯好于上述兩種算法。對于三種算法的F1值比較,本文算法明顯具有較強的識別效果,對于SUBJ、PRED、OBJ三者都有比當下主流算法的效果好。
表1 三種算法在數(shù)據(jù)集上的實驗結(jié)果
ALBERT預(yù)訓(xùn)練電力安規(guī)文本,使embeding輸出能夠根據(jù)文本的上下文對語句中的每個字符進行編碼,將原始的語言符號轉(zhuǎn)換為后續(xù)算法處理的語義向量形式,從而使得在實體標簽層中運用到的有效文本信息更多,F(xiàn)1值更高。本文算法融合了注意力機制和BiGRU,識別效果提升顯著,首先,BiGRU相對于BiLSTM,輸出門改為兩個,具有更簡單的模型結(jié)構(gòu);其次,處理速度更快,模型實現(xiàn)效果好;最后,融合注意力機制到BiGRU算法模型中,利用并行的結(jié)構(gòu),充分結(jié)合不同層次、不同角度的相關(guān)特征,從而增強了模型的表示能力,提升了整體性能。
電力安全作業(yè)的實體識別是開展電力知識圖譜構(gòu)建最基礎(chǔ)的一個環(huán)節(jié),主流算法模型識別效果未能達到理想F1值,特征能力不足。本文改進的算法模型與主流算法對比,具有較強的性能效果,提升了電力安全作業(yè)實體識別的準確率。然而,本文算法模型也存在一定的局限性,采用標注好的數(shù)據(jù)集,還未確定對于其他數(shù)據(jù)集的性能評估,在未來的工作學(xué)習中,將會利用其他數(shù)據(jù)集來測試本文算法模型的可擴展性和泛化能力。本文所提的方法為電力安規(guī)知識圖譜的構(gòu)建奠定了堅實的基礎(chǔ),對于電網(wǎng)現(xiàn)場安全作業(yè)、監(jiān)督安全施工方案,應(yīng)用價值較高。