楊 祎,崔其會,秦佳峰,鄭文杰,喬 木
(1.國網(wǎng)山東省電力公司電力科學(xué)研究院,山東 濟(jì)南 250003;2.國網(wǎng)山東省電力公司,山東 濟(jì)南 250001)
隨著信息化的快速發(fā)展,電網(wǎng)企業(yè)在電網(wǎng)輸變電設(shè)備故障檢修與維護(hù)環(huán)節(jié)積累了大量的電網(wǎng)設(shè)備缺陷、故障及檢修記錄等文本數(shù)據(jù)[1]。其中包含了設(shè)備故障及檢修的詳細(xì)內(nèi)容,具有很高的專業(yè)價值,是故障診斷的寶貴經(jīng)驗[2]。檢修人員可從相似案例中獲取檢修流程、技術(shù)、手段、效果的相關(guān)知識,對檢修工作具有很大參考價值[3-4]。然而,由于其體量大、內(nèi)容豐富,人工查閱學(xué)習(xí)周期長,無法直接利用大量的故障案例文本的信息價值。
當(dāng)前,電網(wǎng)領(lǐng)域的文本匹配技術(shù)應(yīng)用研究成果較少,大多數(shù)文本匹配的方法都是通過構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)來構(gòu)建孿生網(wǎng)絡(luò),預(yù)測兩個故障案例的相似度。但是,卷積神經(jīng)網(wǎng)絡(luò)與長短期記憶網(wǎng)絡(luò)均忽略了海量無標(biāo)簽文本數(shù)據(jù)中潛在的深層語義信息,無法準(zhǔn)確把握每條案例的深層信息,造成對預(yù)測上準(zhǔn)確率不高并且存在較大的誤傷。
本文從大量的電網(wǎng)輸變電故障案例數(shù)據(jù)出發(fā),分析故障案例特點,提取案例過程、案例分析、經(jīng)驗體會、案例名稱等關(guān)鍵信息;相似案例推送需要用戶先給出一個案例作為輸入,模型從眾多候選案例中選出與輸入案例匹配度高的案例進(jìn)行推送。傳統(tǒng)的文本分類解決的問題是輸入一個案例,給出案例屬于哪一類,不能直接推送匹配度高的相似案例。本文為實現(xiàn)相似案例推送,將該問題轉(zhuǎn)換為文本中的特征句子對的二分類問題,以改進(jìn)的預(yù)訓(xùn)練語言模型(Bidirectional Encoder Representations from Transformers,BERT)為基礎(chǔ),構(gòu)建了故障案例文本匹配模型。文本匹配模型能充分提取兩個句子的特征并計算出匹配程度,根據(jù)匹配程度計算案例之間的相似程度,選擇相似度高的進(jìn)行推送。通過實驗和分析,基于改進(jìn)版的BERT 的故障案例匹配模型所達(dá)到的分類準(zhǔn)確率能夠滿足案例推送需求,是具有可行性的解決方法之一。
文本匹配研究兩段文本之間的關(guān)系,即可以看作分類問題也可以看作回歸問題。自然語言推理、文本相似度計算、問答系統(tǒng)、信息檢索等,都可以看作針對不同數(shù)據(jù)和場景的文本匹配應(yīng)用。文本匹配[5]一直以來是自然語言處理領(lǐng)域里一個重要又困難的技術(shù),尤其是將其與各專業(yè)領(lǐng)域結(jié)合應(yīng)用。近兩年自然語言處理技術(shù)在互聯(lián)網(wǎng)、金融、電商等領(lǐng)域發(fā)展迅速,且取得了不錯的成果,而在電網(wǎng)領(lǐng)域仍處于起步階段[6]。在國外,谷歌公司將文本匹配應(yīng)用到搜索引擎[7]中,從億萬數(shù)據(jù)中檢索出用戶輸入的相關(guān)聯(lián)內(nèi)容。在國內(nèi),一些電商公司將文本匹配應(yīng)用到智能客服[8-9]中,先對用戶輸入的問題做相似問題匹配,并對該問題做出回答,大幅度提升工作效率,減少人工客服的投入。隨著深度學(xué)習(xí)的快速發(fā)展與計算機(jī)算力的不斷拓展,文本匹配技術(shù)取得了很大的進(jìn)展。根據(jù)神經(jīng)網(wǎng)絡(luò)的架構(gòu)方式可以分為兩類,基于表示的模型和基于交互的模型[10-11]。
基于表示的模型一般是采用神經(jīng)網(wǎng)絡(luò)分別學(xué)習(xí)句子對的分布式表示,再拼接兩個向量輸入到分類器中進(jìn)行二分類任務(wù)。文獻(xiàn)[12]描述一種類似潛在語義空間模型,利用兩個深度前饋神經(jīng)網(wǎng)絡(luò)將句子對投影到潛在空間中的相同長度的低維表示向量中,并利用多層感知機(jī)預(yù)測相似度。文獻(xiàn)[13]和文獻(xiàn)[14]使用卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)文本的低維語義向量,相比于使用普通的前饋神經(jīng)網(wǎng)絡(luò),能學(xué)習(xí)句子對的上下文信息。
基于交互的模型關(guān)注兩個句子之間的語義交互特征,生成語義交互矩陣并提取匹配特征,利用神經(jīng)網(wǎng)絡(luò)中的全連接層預(yù)測分類結(jié)果。文獻(xiàn)[15]將句子對的低層文本匹配矩陣作為原始圖像,并采用卷積神經(jīng)網(wǎng)絡(luò),逐層抽象,捕獲豐富的匹配特征。
在基于交互模型的基礎(chǔ)上,并結(jié)合語言模型預(yù)訓(xùn)練的文本匹配模型近來受到廣泛關(guān)注。2018年,谷歌公司人工智能團(tuán)隊在國際會議上發(fā)表了一篇關(guān)于自然語言處理技術(shù)的高水平論文,提出了一種新型的語言模型預(yù)訓(xùn)練方法BERT[16],該方法在大量文本語料(維基百科)上訓(xùn)練了一個通用的“語言理解”模型。BERT 相比之前的文本表示方法表現(xiàn)得更為出色,因為它是第一個在預(yù)訓(xùn)練語言模型上的使用無監(jiān)督、深度雙向編碼方法[17]。無監(jiān)督意味著只需要用純文本語料來訓(xùn)練,不需要進(jìn)行額外的人工數(shù)據(jù)標(biāo)注;深度雙向編碼意味著其能提取到更豐富的語義特征及句法特征。BERT中的關(guān)鍵的特征提取方法是Attention機(jī)制[18],其擁有許多優(yōu)點,包括:通過query、key、value的向量點積計算方法捕獲詞與詞之間的語義與句法特征,把模型注意力聚集到關(guān)鍵的詞語上;可以靈活的捕捉全局和局部的聯(lián)系,對長期依賴關(guān)系捕捉能力強(qiáng);可以進(jìn)行并行計算減少模型訓(xùn)練時間,每一步計算不依賴于上一步的計算結(jié)果。
在進(jìn)行相似故障案例檢索過程中,案例庫數(shù)據(jù)量較大,對每一個案例與目標(biāo)案例進(jìn)行相似度計算將造成巨大算力浪費(fèi),時間浪費(fèi)。因此,采用以下方法來避免這個問題,其流程如圖1 所示。首先根據(jù)輸入的案例,利用模糊查找技術(shù)確定其設(shè)備類別,如變壓器;然后,從數(shù)據(jù)樣本中找出所有的同類別案例樣本,即變壓器案例;接著,將輸入的故障案例文本與篩選出的樣本數(shù)據(jù)構(gòu)成句子對,輸入到文本匹配模型中計算文本相似度;最后,對文本相似度的結(jié)果進(jìn)行排序,按照從高到低的順序輸出。
圖1 相似故障案例檢索流程
其中,利用文本匹配模型計算相似度是核心部分,該部分計算出了文本對之間的匹配得分,可以根據(jù)得分的高低決定最后的推送結(jié)果,以下兩節(jié)將介紹電網(wǎng)輸變電設(shè)備相似故障案例推送過程中的文本匹配模型及其訓(xùn)練方法。
BERT是在大量通用文本上訓(xùn)練的語言模型,能將其應(yīng)用到自然語言處理的各個專業(yè)領(lǐng)域,如文本分類、文本匹配、情感分析、閱讀理解、命名實體識別、實體關(guān)系抽取等。改進(jìn)版BERT 的文本匹配模型框架如圖2 所示,從下至上依次是輸入層、嵌入層、編碼層、池化層、特征拼接層、預(yù)測層。
圖2 文本匹配框架
1)輸入層。BERT 維護(hù)一個字典,該字典涵蓋了常見中文字,字典中每個字映射至一個獨特的序號(從0至N-1,N為字典的長度)。輸入層是根據(jù)字典將原始文本,映射到序號列表。原始文本包括兩個句子,模型給輸入的兩個句子添加了分類標(biāo)識符(Classification,CLS)及句子對分隔標(biāo)識符(Separator,SEP)。
2)嵌入層。在神經(jīng)網(wǎng)絡(luò)中,提取特征往往需要嵌入層。嵌入層實現(xiàn)了字的分布式表示,將每一個字映射為一個多維向量。
3)編碼層。編碼層是文本匹配模型的關(guān)鍵部分,實現(xiàn)了文本的特征抽取。編碼層通過多層雙向注意力機(jī)制網(wǎng)絡(luò),捕獲文本的語義、語法信息及文本之間的交互信息,完成了特征提取功能。
4)池化層。池化層是提取兩個句子的語義信息,每個句子的每一個字都對應(yīng)一個向量表示其特征,通過連接一層CNN 網(wǎng)絡(luò),再接入Pooling 層,得到兩個句子的各自語義信息。
5)特征拼接層。改進(jìn)版BERT捕獲到的特征來自三部分,包括CLS 標(biāo)識符對應(yīng)的特征及兩個句子通過池化層產(chǎn)生的語義特征。通過將這三個特征向量拼接起來,得到最后的文本匹配模型特征向量。
6)預(yù)測層。預(yù)測層實現(xiàn)了模型捕獲的特征轉(zhuǎn)化為分類結(jié)果的功能。輸出層主要是一個線性層,輸入維度為3 倍的BERT 編碼維度,輸出維度為分類種類數(shù)量。歸一化后得輸出向量的每一維分別表示輸出為該類標(biāo)簽的概率值,取概率值最大的一個標(biāo)簽作為分類結(jié)果。
基于文本匹配模型的相似案例檢索排序分為訓(xùn)練階段與預(yù)測階段兩個階段。訓(xùn)練階段通過不斷調(diào)整訓(xùn)練參數(shù)減少誤差,提高模型準(zhǔn)確率;測試階段使用訓(xùn)練好的模型對候選匹配文本數(shù)據(jù)進(jìn)行語義相似度計算。
在訓(xùn)練過程中,本文中的文本匹配模型為一對文本的二分類模型,標(biāo)簽為0 表示兩個文本為不相似文本對,標(biāo)簽為1 表示為兩個文本為相似文本。模型使用交叉熵函數(shù)作為損失函數(shù),計算公式為
式中:yi為樣本的標(biāo)簽,可以取值0 或者1;為預(yù)測為1的概率,取值為[0,1] ;n為樣本數(shù)量;L為在該批樣本下的損失函數(shù)。在預(yù)測過程中,需要對候選文本與目標(biāo)文本進(jìn)行相似度計算,根據(jù)計算結(jié)果按照從高到低的順序?qū)蜻x文本進(jìn)行排序。簡單的標(biāo)簽為0或者標(biāo)簽為1 只能表示兩者是否匹配,而不能捕獲兩個文本的相似匹配程度。修改基于BERT的文本匹配模型的輸出層,取標(biāo)簽為1 的概率值作為輸出結(jié)果表示兩個文本的匹配程度,替代之前的取概率值最大的一個標(biāo)簽作為分類結(jié)果。
在對電網(wǎng)輸變電設(shè)備的實際運(yùn)行、維護(hù)及檢修工作中,不斷地產(chǎn)生和積累故障設(shè)備的分析報告文檔,報告內(nèi)容通常包括案例名稱、設(shè)備類別、單位名稱、技術(shù)類別、案例經(jīng)過、案例分析、經(jīng)驗體會等內(nèi)容。案例經(jīng)過描述了設(shè)備故障的一些基本情況和周邊環(huán)境信息,案例分析則從理論角度分析故障的發(fā)生原因,最后經(jīng)驗體會總結(jié)了檢修工作中的詳細(xì)體會和后續(xù)設(shè)備維護(hù)的建議。報告中涵蓋了豐富的電網(wǎng)輸變電設(shè)備故障檢修專業(yè)指導(dǎo)信息,對檢修工作有很大的參考價值,因此電網(wǎng)輸變電故障案例匹配工作有著重要的意義。在本文中,選擇使用報告文檔中的案例名稱來作為故障案例匹配的文本數(shù)據(jù),原因為:
1)案例名稱中覆蓋了案例數(shù)據(jù)的主要關(guān)鍵信息:故障發(fā)生地點、檢修技術(shù)方法、故障類型及故障類別,如“安徽—紅外熱像檢測發(fā)現(xiàn)220 kV變壓器套管接頭發(fā)熱?!?/p>
2)報告其他的內(nèi)容(如案例經(jīng)過、案例分析等)雖然也描述了案例的基本關(guān)鍵的信息,但是文本長度過長,均為篇章級內(nèi)容,長度為1 500~2 000 字之間,不適于用作文本匹配的數(shù)據(jù),而案例名稱長度在20~40字之間,相比之下更適于文本匹配。
中文文本數(shù)據(jù)可以分為通用數(shù)據(jù)及專業(yè)領(lǐng)域數(shù)據(jù)。目前,國內(nèi)的研究學(xué)者大部分是使用通用數(shù)據(jù)展開各項任務(wù)的研究工作,這主要是因為:中文通用數(shù)據(jù)較之專業(yè)領(lǐng)域數(shù)據(jù)更加容易獲取,各行各業(yè)領(lǐng)域較多,無法一開始就將研究開展到所有的領(lǐng)域業(yè)務(wù);對通用數(shù)據(jù)的研究工作應(yīng)用更加廣泛,可以對通用數(shù)據(jù)的研究工作進(jìn)行優(yōu)化從而應(yīng)用至業(yè)務(wù)領(lǐng)域,但是數(shù)據(jù)之間存在偏移、分布不一致的情況,導(dǎo)致效果具有不確定性。
電網(wǎng)輸變電故障案例數(shù)據(jù)研究價值體現(xiàn)在,利用其進(jìn)行數(shù)據(jù)分析能給電網(wǎng)領(lǐng)域帶來技術(shù)提升、減少人力運(yùn)維,比如輸變電設(shè)備故障自動判定、相似故障案例推送等,基于電網(wǎng)領(lǐng)域數(shù)據(jù)并結(jié)合人工智能技術(shù)能解決許多難點、痛點問題,這些針對性是基于通用數(shù)據(jù)無法獲得較好效果的。文中對基于文本數(shù)據(jù)的預(yù)訓(xùn)練語言模型實現(xiàn)了從通用數(shù)據(jù)的文本匹配到電網(wǎng)領(lǐng)域的文本匹配的轉(zhuǎn)化,項目通用數(shù)據(jù)的訓(xùn)練效果有所提升。電網(wǎng)輸變電故障案例數(shù)據(jù)具有以下特點:
1)故障案例數(shù)據(jù)包含大量的電網(wǎng)輸變電設(shè)備及其故障類型的名詞,具有強(qiáng)烈的領(lǐng)域特性。對文本分詞并抽取其中的關(guān)鍵詞,最后根據(jù)詞頻分布繪制云圖如圖3 所示,圖中詞的字體越大表示該詞在數(shù)據(jù)集中出現(xiàn)的頻率越高,能有效展示數(shù)據(jù)所描述的關(guān)鍵內(nèi)容,同時也側(cè)面證實了數(shù)據(jù)具有強(qiáng)烈的領(lǐng)域特性,這使得對領(lǐng)域文本進(jìn)行分析具有很大的必要性。
圖3 詞頻云圖
2)故障案例數(shù)據(jù)格式分布統(tǒng)一,都是由故障發(fā)生地點、檢修技術(shù)方法、故障類型及故障類別組合而成,易于進(jìn)行數(shù)據(jù)分析,構(gòu)建文本匹配模型。
3)故障案例數(shù)據(jù)按照設(shè)備類型可以分為8類:輸電線路、變壓器、開關(guān)設(shè)備、互感器、避雷器、電纜、開關(guān)柜和其他設(shè)備,每種類型的數(shù)據(jù)數(shù)量如表1所示。
表1 數(shù)據(jù)類型及數(shù)量
試驗環(huán)境的硬件和軟件配置對試驗起著必要的支撐作用,本文試驗環(huán)境如表2所示。
表2 試驗環(huán)境配置
為研究本文構(gòu)建的文本匹配模型在電網(wǎng)輸變電故障設(shè)備案例匹配中的效果,選取某公司2009—2016年專業(yè)電網(wǎng)領(lǐng)域人工編寫的電網(wǎng)輸變電故障檢修報告共1 025 篇?;诠收显O(shè)備、故障類型及檢修手段的種類,人工對檢修報告進(jìn)行評估分類,將類似的檢修報告放至一個類中,最后共計有35 類數(shù)據(jù),平均每類30條數(shù)據(jù)。
生成數(shù)據(jù)集時,采取自動標(biāo)注的方法:對每個類的數(shù)據(jù)分別生成一個句子對,其標(biāo)簽為1;對每個類的任意一條數(shù)據(jù),在其他類中隨機(jī)取一條數(shù)據(jù)生成一個句子對,其標(biāo)簽為0。在本論文中,樣本數(shù)據(jù)有2 000 條,其中標(biāo)簽為1 的樣本數(shù)據(jù)有1 000 條,標(biāo)簽為0的樣本數(shù)據(jù)有1 000條。
為了充分驗證改進(jìn)版BERT 的文本匹配模型的有效性、增強(qiáng)對比性,選擇多個廣泛研究及應(yīng)用的深度學(xué)習(xí)算法,設(shè)置了對比試驗組:
1)基于CNN 的文本匹配模型。卷積神經(jīng)網(wǎng)絡(luò)(CNN)在計算機(jī)視覺領(lǐng)域有著廣泛的應(yīng)用,同時研究人員發(fā)現(xiàn)將其應(yīng)用到自然語言處理技術(shù)領(lǐng)域也有著很好的效果[19]。
2)基于LSTM的文本匹配模型。長短期記憶網(wǎng)絡(luò)(LSTM)的產(chǎn)生很好地解決了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)中的梯度消失及梯度爆炸問題,同時LSTM在捕獲長距離依賴問題上表現(xiàn)也很好[20]。
3)基于雙向長短期記憶網(wǎng)絡(luò)(Bidirectional Long-Short Term Memory,BiLSTM)的文本匹配模型。語言學(xué)具有雙向性的特點,BiLSTM[21]分別利用LSTM 網(wǎng)絡(luò)從正向和反向提取語義特征。
4)基于門循環(huán)單元網(wǎng)絡(luò)(Gate Recurrent Unit,GRU)的文本匹配模型。GRU[22]是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種,是LSTM的精簡版,有著更少的參數(shù)及門結(jié)構(gòu),經(jīng)常在性能上取得與LSTM差不多的效果。
5)基于BERT 的文本匹配模型。使用原生的BERT 作為文本匹配模型,直接使用CLS 標(biāo)簽生成的向量接入分類網(wǎng)絡(luò)。
6)本文提出的改進(jìn)版BERT模型。
模型的參數(shù)設(shè)置對模型的性能產(chǎn)生直接的影響,主要的模型參數(shù)包括:學(xué)習(xí)率、隱藏層大小、隱藏層層數(shù)等。各個對比模型的參數(shù)大小設(shè)置如表3所示。
表3 試驗參數(shù)設(shè)置
本文要解決的是一個句子對的二分類問題,其主要的評價指標(biāo)包括精確率(Precision)、召回率(Recall)、F1值,其中Precision 及Recall 可以通過混淆矩陣來計算,混淆矩陣如表4 所示。其中,TP表示算法預(yù)測值為正類,真實值也是正類的個數(shù);TN表示算法預(yù)測值為負(fù)類,真實值也是負(fù)類的個數(shù);FN表示算法預(yù)測值為負(fù)類,真實值是正類的個數(shù);FP表示算法預(yù)測值為正類,真實值是負(fù)類的個數(shù)。
表4 混淆矩陣
精確率、召回率及F1值的計算公式如式(2)—式(4)所示。精確率Ppr表示預(yù)測值為Positive 且預(yù)測正確的比例,召回率Pre表示真實值為Positive預(yù)測正確的數(shù)據(jù)比例。F1值是精確率和召回率的調(diào)和平均數(shù)。只有當(dāng)精確率和召回率二者都非常高的時候,它們的調(diào)和平均才會高,如果其中之一很低,調(diào)和平均就會被拉低接近其中較低的數(shù)。
CNN、LSTM、BiLSTM、GRU、BERT、改進(jìn)版BERT模型在電網(wǎng)輸變電案例數(shù)據(jù)集上的評測結(jié)果如表5所示,使用的評價指標(biāo)是F1值,綜合考慮精確率和召回率的影響。
表5 電網(wǎng)報告數(shù)據(jù)集評測結(jié)果對比
從試驗結(jié)果中可以看出,BERT 模型的F1值比CNN 模型、LSTM 模型、BiLSTM 模型及GRU 模型的F1高。BERT 模型的性能優(yōu)于CNN 模型,這是因為BERT是具有雙向的結(jié)構(gòu),能捕獲文本中各個詞之間的時序關(guān)系,而CNN 模型不具有這種特點,CNN 模型對局部特征提取能力較強(qiáng),這種機(jī)制使得BERT模型能考慮到文本的上下文信息。BERT模型的性能優(yōu)于LSTM 模型,這是因為相對于LSTM 模型、BiLSTM模型及GRU 模型,BERT 使用的是自注意力機(jī)制的編碼方式,而LSTM 使用的循環(huán)神經(jīng)網(wǎng)絡(luò)的編碼方式。自注意力機(jī)制的編碼方式比循環(huán)神經(jīng)網(wǎng)絡(luò)的編碼方式在提取文本中特征的能力強(qiáng),捕獲文本詞與詞之間的依賴性也更好,模型效果更佳。
同時,改進(jìn)版BERT 模型相比原生BERT 模型有了2.2%的提升,這證明了本文提出的改進(jìn)版模型的有效性。改進(jìn)版BERT模型針對文本匹配任務(wù)提出的優(yōu)化方法,提取BERT輸出的兩個句子的向量表示作為補(bǔ)充特征,有效提高了文本匹配模型的F1值。
研究電網(wǎng)輸變電故障設(shè)備的相似案例推送,基于推送案例挖掘出電網(wǎng)輸變電故障設(shè)備的故障原因、檢修方法等信息,對后續(xù)的檢修工作具有重要的輔助決策支持意義。其中,重點研究電網(wǎng)輸變電故障設(shè)備的相似案例的文本匹配工作,并通過試驗結(jié)果驗證本文模型的可行性和性能優(yōu)點。
試驗結(jié)果表明:BERT模型的性能顯然比神經(jīng)網(wǎng)絡(luò)中常見的CNN 模型及LSTM 模型要好;相比CNN模型使用卷積核提取特征及LSTM 模型使用長短期依賴提取特征,BERT模型使用的注意力機(jī)制提取語義特征的可解釋行更強(qiáng);利用基于改進(jìn)版BERT的文本匹配對下游的分類模型有較大的效果提升。