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