王宏剛, 紀(jì)鑫,2, 武同心, 楊智偉, 何禹德
(1.國家電網(wǎng)有限公司大數(shù)據(jù)中心, 北京 100031; 2.北京航空航天大學(xué), 北京 100191)
隨著智能電網(wǎng)的發(fā)展和新能源并網(wǎng)政策的有序化展開,對電力設(shè)備的可靠、穩(wěn)定運(yùn)行提出更高要求,設(shè)備缺陷的早發(fā)現(xiàn)、早預(yù)防至關(guān)重要[1-2]。電力設(shè)備的缺陷調(diào)查工作通常會涉及到大量事故或缺陷文本的整理和分析。電網(wǎng)企業(yè)已建立了諸多與設(shè)備健康相關(guān)的標(biāo)準(zhǔn),如分別針對輸變電設(shè)備和配電網(wǎng)設(shè)備的缺陷分類標(biāo)準(zhǔn)、設(shè)備狀態(tài)評價(jià)導(dǎo)則、狀態(tài)檢修試驗(yàn)規(guī)程等,這些文本的價(jià)值密度高,是電網(wǎng)企業(yè)寶貴的數(shù)據(jù)資產(chǎn),如果能夠?qū)@些電力缺陷文本進(jìn)行挖掘和分析,則能夠提取出文本中蘊(yùn)含的豐富故障問題信息、故障原因及檢修方法等關(guān)鍵特征,對于指導(dǎo)設(shè)備狀態(tài)評價(jià)與運(yùn)維檢修具有重要意義。
目前,針對電力領(lǐng)域的設(shè)備缺陷文本檢測,國內(nèi)外展開了大量的理論研究與試驗(yàn)工作,并取得了顯著成果[3-10]。在電力專業(yè)詞匯識別的任務(wù)中,文獻(xiàn)[3]根據(jù)電力領(lǐng)域詞匯的語言學(xué)特征提出了一種面向電力領(lǐng)域的無監(jiān)督專業(yè)詞匯發(fā)現(xiàn)方法。文獻(xiàn)[4]基于依存句法分析技術(shù)和樹匹配算法提出了一種針對電力設(shè)備缺陷信息的辨識方法。而在電力領(lǐng)域缺陷文本的分類任務(wù)中,文獻(xiàn)[5]提出了基于注意力機(jī)制的雙向長短期記憶神經(jīng)網(wǎng)絡(luò)對電力設(shè)備缺陷文本進(jìn)行分類。文獻(xiàn)[6]則針對缺陷描述文本的復(fù)雜語義等特點(diǎn),提出了基于多頭注意力循環(huán)卷積神經(jīng)網(wǎng)絡(luò)的電力設(shè)備缺陷分類方法。此外,針對通用領(lǐng)域事件檢測,研究人員提出了很多針對事件檢測任務(wù)的方法和模型,并取得了越來越好的檢測效果[11-17]。但是,目前大多數(shù)事件檢測的方法都基于監(jiān)督學(xué)習(xí)方式,因此對標(biāo)注數(shù)據(jù)有較強(qiáng)的依賴,所以難以解決標(biāo)注數(shù)據(jù)較少的特定領(lǐng)域事件檢測任務(wù)。
文章為實(shí)現(xiàn)基于少量標(biāo)注數(shù)據(jù)的電力領(lǐng)域設(shè)備缺陷早發(fā)現(xiàn),在事件檢測模型訓(xùn)練前,在電力領(lǐng)域數(shù)據(jù)上進(jìn)行了預(yù)訓(xùn)練,并基于掩碼語言模型設(shè)計(jì)了事件三元組預(yù)訓(xùn)練方式,從而讓模型在預(yù)訓(xùn)練中就學(xué)習(xí)到更多與事件相關(guān)的語義信息。此外,文中構(gòu)造電力設(shè)備缺陷檢測數(shù)據(jù)集,該數(shù)據(jù)集基于國家電網(wǎng)企業(yè)反事故措施落實(shí)情況的工作報(bào)告以及一些典型的缺陷報(bào)告文本。實(shí)驗(yàn)表明,經(jīng)過預(yù)訓(xùn)練的模型能更精準(zhǔn)發(fā)現(xiàn)電力設(shè)備缺陷,可以有效實(shí)現(xiàn)對電力領(lǐng)域缺陷報(bào)告文本的事件檢測。
設(shè)計(jì)了事件三元組(SPO)預(yù)訓(xùn)練方式,通過替換和預(yù)測事件三元組以及將三元組拼接到句子頭部的方式,增強(qiáng)了語言模型對語料的表征能力。受預(yù)訓(xùn)練模型[18-22]啟發(fā),文中在進(jìn)行事件檢測任務(wù)之前,也借鑒了掩碼語言模型的任務(wù)對模型進(jìn)行了預(yù)訓(xùn)練,從而讓模型能夠更好地學(xué)習(xí)對語料的表征。對任意輸入文本S=[w1,w2,...,p,...,wn],其中n為句子長度,p為候選觸發(fā)詞。文中使用了其中的語義角色標(biāo)注工具對句子進(jìn)行分析[19],以觸發(fā)詞為給定謂詞,標(biāo)注出施事和受事的語義角色,即觸發(fā)詞對應(yīng)的主語和賓語。將主語、謂語和賓語提取出來并組合在一起,從而構(gòu)成了事件三元組。如圖1所示。
圖1 SPOBERT預(yù)訓(xùn)練Fig.1 SPOBERT pre-trained model
圖1中對于句子“電網(wǎng)企業(yè)對刀閘器室內(nèi)收集的粉塵、燒蝕物進(jìn)行成分分析”,觸發(fā)詞p為“進(jìn)行”,主語s為“電網(wǎng)企業(yè)”,賓語o為“成分分析”,將它們提取出來并且組合到一起之后,就得到了事件三元組“電網(wǎng)企業(yè)進(jìn)行成分分析”,抽取的事件三元組表示為:
A=(s,p,o)
(1)
完成了句子中事件三元組的解析工作后,為了增強(qiáng)模型在預(yù)測過程中對事件要素的注意力,將解析出的三元組拼接到了句子的前面。最終,在添加了上述內(nèi)容并將事件三元組中的詞依次使用[MASK]進(jìn)行替換之后,就得到了訓(xùn)練所需的文本,再將句子輸入到BERT模型中,即可對模型進(jìn)行預(yù)訓(xùn)練。因此,預(yù)訓(xùn)練語言模型的輸入可表示為:
T=[s;o;w1,w2,...,[MASK],...,wn]
(2)
式中 [MASK]是要預(yù)測的候選觸發(fā)詞。
文中設(shè)計(jì)的事件檢測模型分為數(shù)據(jù)預(yù)處理部分和分類器部分。數(shù)據(jù)預(yù)處理部分將輸入的句子轉(zhuǎn)化為特征向量,分類器部分則根據(jù)特征向量進(jìn)行分類。事件檢測模型的示意圖如圖2所示。
圖2 電力領(lǐng)域設(shè)備缺陷檢測模型Fig.2 Device defect detection model in power field
電力領(lǐng)域設(shè)備缺陷檢測模型主要包括文本初始化表征和缺陷檢測分類器兩個(gè)模塊,具體如下:
(1)文本初始化表征。在文中定義的數(shù)據(jù)集中,存在單句多事件情況,即一個(gè)句子中存在多個(gè)候選觸發(fā)詞。為了能夠更好地解決這種情況,使句子在不同觸發(fā)詞下的特征差別更加明顯,文中首先要做的是在原文本基礎(chǔ)上拼接觸發(fā)詞(Trigger)。然后,將新得到的文本語料輸入到上一階段中已經(jīng)預(yù)訓(xùn)練好的BERT模型中,從而獲得通用的文本特征表示。之后,文中對觸發(fā)詞和原文本的特征表示分別做最大池化(Maxpooling)操作,并拼接兩部分池化后的結(jié)果,得到最終的特征向量zsent;
(2)缺陷檢測分類器。文中將上一步中得到的特征向量zsent輸入到分類器中,并由分類器識別出具體的事件類型,最終完成事件檢測的任務(wù)。模型使用的分類器為線性分類器,特征向量zsent輸入到分類器后所得到的新的結(jié)果為:
y=σ(W*zsent+b)
(3)
式中σ為sigmoid激活函數(shù),目的是為分類器提供非線性的建模能力。根據(jù)這一結(jié)果以及真實(shí)標(biāo)簽t,文中使用BCE交叉熵?fù)p失函數(shù)計(jì)算模型的損失,并根據(jù)損失值更新模型參數(shù),損失函數(shù)為:
(4)
式中n是多分類的類別個(gè)數(shù)。模型訓(xùn)練過程中使用到了優(yōu)化器Adam。Adam是一種梯度下降的優(yōu)化算法,可以根據(jù)梯度的一階距估計(jì)和二階距估計(jì)更新步長。該算法簡單、計(jì)算效率高、且所需內(nèi)存較少。除此之外,文中還使用了FGM算法來對模型進(jìn)行對抗訓(xùn)練,從而增強(qiáng)了模型的魯棒性。
基于某電力公司公開的設(shè)備缺陷案例,文中構(gòu)造了一個(gè)針對電力缺陷事件檢測的數(shù)據(jù)集。這些文本總計(jì)有700余頁,從中抽取出了共5 182個(gè)事件。文中將這些事件的種類劃分為兩個(gè)層級,共計(jì)6大類21小類,具體類型如表1所示。
表1 電力領(lǐng)域缺陷事件類型Tab.1 Types of power field defect event
在數(shù)據(jù)預(yù)處理的過程中,文中將數(shù)據(jù)分為了訓(xùn)練集、驗(yàn)證集和測試集三個(gè)集合。為了訓(xùn)練模型正確判斷觸發(fā)詞的能力,針對每一個(gè)句子,有30%的概率隨機(jī)選取句子中的一個(gè)非觸發(fā)詞生成負(fù)樣本,這些負(fù)樣本對應(yīng)的事件類型為“無”。訓(xùn)練集、驗(yàn)證集、測試集中的正負(fù)樣本個(gè)數(shù)如表2所示。
表2 數(shù)據(jù)集統(tǒng)計(jì)信息Tab.2 Dataset statistics
在5 182個(gè)事件中,各種類型事件的個(gè)數(shù)如圖3所示,其中圖3(a)是6大類事件個(gè)數(shù)的統(tǒng)計(jì)圖,圖3(b)是21小類事件個(gè)數(shù)的統(tǒng)計(jì)圖。按照大類進(jìn)行劃分,事件個(gè)數(shù)最多的類型為“發(fā)生”類事件,共計(jì)2 049個(gè),占比39.54%;個(gè)數(shù)最少的事件類型為“措施”類事件,共計(jì)403個(gè),占比7.78%。按照小類進(jìn)行劃分,事件個(gè)數(shù)最多的類型為“檢查”類事件,共計(jì)743個(gè);個(gè)數(shù)最少的事件類型為“變形”類事件,共計(jì)11個(gè)。事件個(gè)數(shù)最多的類型和個(gè)數(shù)最少的事件類型之間的差距非常大,說明21個(gè)小類的長尾現(xiàn)象較為明顯。因此模型在檢測分布最少幾個(gè)類型時(shí)會存在一定的困難。
圖3 事件類型數(shù)統(tǒng)計(jì)Fig.3 Numbers statistic of event types
表3統(tǒng)計(jì)了數(shù)據(jù)集中單句多事件的情況,即一個(gè)句子中存在多個(gè)事件。從表3中可以看出,絕大部分句子中只有一個(gè)事件,但也存在一些句子中有兩個(gè)以上的事件。對這種存在多個(gè)事件的句子進(jìn)行事件檢測時(shí),需要結(jié)合給定的觸發(fā)詞進(jìn)行事件類型的判斷,并充分利用事件間的關(guān)聯(lián)。
表3 單句事件數(shù)統(tǒng)計(jì)Tab.3 Statistics of single sentence events
電力領(lǐng)域缺陷報(bào)告中對設(shè)備的缺陷描述往往精簡口語化,這增加了設(shè)備缺陷檢測的難度。如圖4所示,統(tǒng)計(jì)數(shù)據(jù)集中句子長度頻率分布。
從圖4可以看出,數(shù)據(jù)集中句子最大長度為224,最短句子長度為6,大多數(shù)句子長度在[10,30]區(qū)間內(nèi),占數(shù)據(jù)集總量的72%。數(shù)據(jù)集句子平均長度為18.88,可以看出數(shù)據(jù)集文本長度短,有限的上下文信息增加了基于預(yù)訓(xùn)練語言模型實(shí)現(xiàn)領(lǐng)域事件檢測的難度。此外,在這些短文本中還包含大量的專業(yè)術(shù)語,增大文本語義理解的難度。
圖4 句子長度頻率分布Fig.4 Frequency distribution of sentence length
在文中的預(yù)訓(xùn)練和事件檢測任務(wù)中所涉及到的主要參數(shù)以及參數(shù)介紹如表4所示。
表4 模型主要參數(shù)Tab.4 Main parameters of the model
在預(yù)訓(xùn)練任務(wù)中,評估預(yù)訓(xùn)練效果的指標(biāo)為模型預(yù)測被替換單詞的準(zhǔn)確率;在事件檢測任務(wù)中,評估任務(wù)效果的指標(biāo)為精確率、召回率、以及F1值。其中,精確率是指返回的真正例占所有返回的正例的比例,召回率是指返回的真正例占所有正例的比例,F(xiàn)1值則是精確率和準(zhǔn)確率的調(diào)和均值。
預(yù)訓(xùn)練基線模型包括:BERT模型[22]、SpanBERT模型[23]、ERINIE模型[24]、RoBERTa模型[25]。缺陷檢測基線模型包括:CNN、DMCNN[26]、MLBiNet[27]、GCN[28]、EE-GCN[29]、BERT+CRF[30]、BERT+BiLSTM[30]和DMBERT[31]。
與模型框架相對應(yīng),主實(shí)驗(yàn)分為預(yù)訓(xùn)練實(shí)驗(yàn)和事件檢測實(shí)驗(yàn)兩個(gè)部分來進(jìn)行。兩個(gè)實(shí)驗(yàn)的步驟均為先對模型進(jìn)行訓(xùn)練,然后再對模型的效果進(jìn)行評估。
在預(yù)訓(xùn)練實(shí)驗(yàn)中,我們比較不同預(yù)訓(xùn)練模型對電力領(lǐng)域數(shù)據(jù)的預(yù)測能力,見表5。SPOBERT預(yù)訓(xùn)練實(shí)驗(yàn)是基于BERT語言模型進(jìn)行的,采用SPO預(yù)訓(xùn)練任務(wù)。對預(yù)訓(xùn)練后的語言模型的評估實(shí)驗(yàn)為:對數(shù)據(jù)集中的每個(gè)句子,隨機(jī)選擇30%的詞用[MASK]進(jìn)行替換,然后由模型來預(yù)測被替換掉的詞,記錄預(yù)測準(zhǔn)確率。文中模型在測試集準(zhǔn)確率為56.59%,相比BERT、SpanBERT、ERINIE和RoBERTa模型,SPOBERT經(jīng)過SPO預(yù)訓(xùn)練模型性能最好,實(shí)驗(yàn)表明通過學(xué)習(xí)事件三元組能提升預(yù)訓(xùn)練語言模型語義學(xué)習(xí)能力,增強(qiáng)了語言模型對電力領(lǐng)域語料的表征能力。
表5 預(yù)訓(xùn)練模型性能Tab.5 Pre-trained model performance
在缺陷檢測實(shí)驗(yàn)中,模型在訓(xùn)練集上進(jìn)行訓(xùn)練,在測試集上進(jìn)行評估,并與缺陷檢測基線模型性能比較,缺陷檢測實(shí)驗(yàn)中的評估結(jié)果如表6所示?;赟POBERT的缺陷檢測模型在精確率、召回率和F1值都達(dá)到最優(yōu),缺陷檢測模型的F1值最高達(dá)到了80.34%,相比BERT+BiLSTM高1.72%。實(shí)驗(yàn)結(jié)果表面經(jīng)過SPOBERT預(yù)訓(xùn)練的模型有更好的事件表達(dá)能力。
表6 電力設(shè)備缺陷檢測性能Tab.6 Power equipment defect detection performance
為了證明文中的模型確實(shí)有效,還需要進(jìn)行消融實(shí)驗(yàn)。使用沒有經(jīng)過預(yù)訓(xùn)練的BERT模型,以及通過隨機(jī)替換詞的方式來預(yù)訓(xùn)練的BERT模型,來進(jìn)行事件檢測任務(wù)。分別評估這兩種模型在預(yù)訓(xùn)練任務(wù)和事件檢測任務(wù)上的效果,并與主實(shí)驗(yàn)中的評估結(jié)果進(jìn)行對比。實(shí)驗(yàn)結(jié)果如表7所示。
表7中,如果使用沒有預(yù)訓(xùn)練的模型進(jìn)行事件檢測任務(wù),F(xiàn)1值最高為78.23%;但在進(jìn)行SPO預(yù)訓(xùn)練之后,F(xiàn)1值最高達(dá)到了80.34%。通過對這兩種消融實(shí)驗(yàn)的研究,文中證明了在進(jìn)行事件檢測任務(wù)之前,先執(zhí)行SPO預(yù)訓(xùn)練的方法,的確提高了模型的表征能力,使得事件檢測任務(wù)的效果更好。
表7 消融實(shí)驗(yàn)Tab.7 Ablation experiments
文章旨在解決電力領(lǐng)域缺陷報(bào)告事件檢測的任務(wù),主要貢獻(xiàn)有:(1)設(shè)計(jì)了基于事件三元替換預(yù)訓(xùn)練任務(wù)的事件檢測模型。其中,事件三元組替換預(yù)訓(xùn)練任務(wù)可以有效提高模型對文本的表征能力;(2)構(gòu)造了一個(gè)電力領(lǐng)域缺陷事件檢測的數(shù)據(jù)集,該數(shù)據(jù)集可以指導(dǎo)訓(xùn)練電力相關(guān)領(lǐng)域的事件檢測模型。未來隨著電力領(lǐng)域智能化水平不斷提高,有望實(shí)現(xiàn)對電力領(lǐng)域缺陷報(bào)告的自動化檢測與分析,有效提高電力管理部門的工作效率。