程彭圣男,劉雪梅,李海瑞
(華北水利水電大學(xué)信息工程學(xué)院,河南 鄭州 450046)
輸水工程具有線路長、道路河流交叉、沿線地質(zhì)條件復(fù)雜的特點[1,2]。在長期的運行過程中,事故率較高會給沿岸居民和輸水工程安全造成影響。巡檢人員每日巡檢記錄了大量的巡檢文本[3,4]。這些文本數(shù)據(jù)被非結(jié)構(gòu)化的格式存入后臺,難以發(fā)揮價值。另一方面,大量的巡檢文本需要管理人員人工標(biāo)注并按照問題的嚴(yán)重等級分類,通常分為II類、III類和其他類,其中II 類表示較為嚴(yán)重問題,III 類表示一般問題,其他類表示普通問題如衛(wèi)生問題。這種人工標(biāo)注方式效率較低,費時費力,且每個管理人員經(jīng)驗知識不同,對于問題的分類分級具有一定的主觀性問題,使得分類準(zhǔn)確性收到一定影響。智能分類技術(shù)可以有效減輕人工分類的工作量,并在保證分類準(zhǔn)確率的同時一定程度上減少分類時的主觀性問題。智能分類也可以保證巡檢文本中的問題能被及時發(fā)現(xiàn)并上報。
傳統(tǒng)的機器學(xué)習(xí)文本分類模型往往采用機器學(xué)習(xí)方法,如決策樹[5]、K 均值聚類算法(K-means)[6]、貝葉斯[7]、支持向量機[8]等淺層機器學(xué)習(xí)方法。近年來,隨著深度學(xué)習(xí)在自然語言處理領(lǐng)域的應(yīng)用,基于深度學(xué)習(xí)的文本分類模型得到發(fā)展并應(yīng)用到多個領(lǐng)域,廖勝蘭等[9]建立循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(Text-RCNN),對電力文本進(jìn)行分類,取得了較高準(zhǔn)確率;胡萬亭等[10]基于加權(quán)詞向量設(shè)計了一種卷積神經(jīng)網(wǎng)絡(luò)(CNN),算例表明該模型準(zhǔn)確率優(yōu)于傳統(tǒng)CNN模型;吳峰等[11]提出一種基于跨領(lǐng)域遷移的AM-AdpGRU 金融文本分類模型,通過學(xué)習(xí)相關(guān)領(lǐng)域數(shù)據(jù)的分類準(zhǔn)則將其遷移到目標(biāo)領(lǐng)域數(shù)據(jù),在金融數(shù)據(jù)集上,較其他模型平均準(zhǔn)確率有顯著提升;王祥翔等[12]提出一種基于樸素貝葉斯的文化旅游文本分類模型,實驗選取描述文本,實現(xiàn)了旅游文本的自動分類。因此使用深度學(xué)習(xí)方法作為輸水工程巡檢文本分類器具有很大潛力。
在深度學(xué)習(xí)方法中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)[13]和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)[14]是主流的兩種分類模型。RNN 是處理序列數(shù)據(jù)的常規(guī)方法之一,可以處理任意長度的數(shù)據(jù)。但是在處理長文本上RNN 的表現(xiàn)不佳,由于RNN 只能記憶最近的序列,并且存在梯度消失和梯度爆炸的情況,這些情況導(dǎo)致RNN無法學(xué)習(xí)長期的依賴關(guān)系。CNN 雖然可以并行計算提高效率,但是也存在著不能處理任意長度序列和難以提取序列中相關(guān)性特征的問題。雙向長短期記憶(BiLSTM)作為RNN 的變體之一,增加了門結(jié)構(gòu)獲取長文本的特征,并且可以同時在兩個方向?qū)ξ谋具M(jìn)行遍歷提升模型的性能,能更好捕獲雙向的語義依賴。工程巡檢文本具有長文本的特征,因此適合使用BiLSTM 模型來學(xué)習(xí)工程巡檢文本的特征。另一方面?zhèn)鹘y(tǒng)文本分類模型多是需要使用glove[15]或word2vec[16]詞向量模型將文本轉(zhuǎn)化成空間向量。在巡檢文本中,存在一詞多義的情況,詞向量模型無法解決詞的歧義問題。其次,詞向量模型的建立還需要專業(yè)分詞。但是,目前尚未有針對水利專業(yè)詞匯的詞庫,也就無法對巡檢文本進(jìn)行準(zhǔn)確的分詞。這些情況都會影響詞向量的效果。BERT 是一種預(yù)訓(xùn)練模型。BERT 是基于變形器(Transformer)[17]的雙向編碼器,旨在通過在左右上下文中共有的條件計算來預(yù)先訓(xùn)練來自無標(biāo)號文本的深度雙向表示。BERT 模型可以生成字符級的嵌入層(Embedding)輸入,且BERT 訓(xùn)練時還會獲取當(dāng)前字符的上下文信息特征,和當(dāng)前字符的位置信息特征。單個字符表示也可以為錯誤拼寫和未登錄詞提供魯棒性[18]。因此本研究中使用BERT 模型作為輸入層將巡檢文本轉(zhuǎn)化為字符向量,以解決詞向量模型的弊端,進(jìn)而改進(jìn)雙向長短期記憶(BiLSTM)分類模型。
所以本文選擇使用BERT[17]和BiLSTM[19]模型結(jié)合,用于對輸水工程巡檢文本進(jìn)行問題等級分類。模型使用BERT 作為嵌入層提取字符級特征,然后作為嵌入層傳入BiLSTM,最后使用全連接層輸出分類。通過實驗驗證了該模型的有效性,實驗表明,該模型使用BERT 模型生成字符級特征向量,解決了沒有水利專業(yè)詞庫的問題。其次使用BERT 模型改進(jìn)BiLSTM 模型的嵌入層,提高了模型獲取文本特征的能力,提高了巡檢文本分類模型的準(zhǔn)確率和可靠性,可為輸水工程運行維護(hù)提供新的智能化手段。
BERT 中使用的transformer 是基于自注意力機制(self-attention)[20],所以在計算過程中會弱化位置信息,而在BiLSTM可以學(xué)習(xí)到序列中的依賴關(guān)系。因此,本文提出了BERT-BiLSTM 模型,將BiLSTM 模型與BERT 模型結(jié)合。如圖1 所示,總體框架由4個部分組成,第一,數(shù)據(jù)預(yù)處理,對巡檢文本清理、去除停用詞等。第二使用BERT 將處理過的文本向量化處理。第三使用BiLSTM 模型對BERT 生成的向量化文本進(jìn)行挖掘提取特征。最后使用softmax分類器輸出巡檢文本分類結(jié)果。
圖1 BERT-BiLSTM 模型總體架構(gòu)Fig.1 Structure of BERT-BiLSTM model
在巡檢過程中,由于巡檢人員為附近雇傭的村民,所以提交上來的巡檢文本中往往存在著影響文本分類的噪聲信息,如錯別字、重復(fù)等問題。因此,在對巡檢文本挖掘的過程中,文本預(yù)處理是必不可少的一步。如圖1 中所示,在將巡檢文本輸入到BERT之前,需要將文本進(jìn)行三步預(yù)處理:第一步,數(shù)據(jù)清洗,將文本中錯別字、標(biāo)點符號無用的字母等無用數(shù)據(jù)刪除。第二步,去除停用詞,將文本中常用的停用詞去除,如的、了等無用字符,這些字符不影響文本分類,但是會降低效率。第三步,將文本中所有字符分割,在分割過程中記錄并儲存成字典的格式,使每個字符都有對應(yīng)的數(shù)字id供BERT模型使用。如“黃水河支出口裹頭的下部截流溝里漿砌石縫內(nèi)--咋草過多?!?,經(jīng)處理后變?yōu)椤包S水河支出口裹頭下部截流溝漿砌石縫雜草過多”。
本文選用哈工大訊飛聯(lián)合實驗室發(fā)布的基于全詞Mask 的中文預(yù)訓(xùn)練模型BERT-wwm-ext[21],模型針對中文自然語言處理任務(wù)進(jìn)行了進(jìn)一步的優(yōu)化,提升了中文自然語言處理任務(wù)的效果。模型由12層transformers構(gòu)成。其中E為輸入向量,中間層使用Transformer解碼器,T為Bert模型的輸出向量。
BERT 的輸入是字符的段嵌入、標(biāo)記嵌入和字符對應(yīng)位置嵌入相加的和。標(biāo)記嵌入的開頭為[cls],結(jié)尾為[sep],中間部分為單個字符。位置嵌入的下標(biāo)表示文本中字符的位置。圖2為例句“圍網(wǎng)松動”對應(yīng)的文本輸入。
圖2 BERT模型結(jié)構(gòu)Fig.2 Structure of BERT model
Transfomer 解碼器在論文Attention is ALL You Need 中提出,主要有編碼器(Encoders)和解碼器(Decoders)兩部分組成,其結(jié)構(gòu)如圖6 所示。在Encoder 中,是由自注意力機制層(selfattention)和前饋神經(jīng)網(wǎng)絡(luò)(Feed Forward)組成;在Decoder 中,是由self-attention,編碼解碼注意力層(Encoder-Decoder)和Feed Forward層組成。Encoders和Decoders的結(jié)構(gòu)如圖3。
圖3 Transformer模型結(jié)構(gòu)Fig.3 Structure of Transformer
其中Transformer 解碼器最重要的是self-attention。self-attention的輸入為詞的詞向量,transformer會將詞向量與3個矩陣相乘,從而得到3個新向量,3個新向量分別是查詢向量Q、鍵向量K和值向量V。最終Attention 計算的公式如下,其中為比例因數(shù):
另一方面為了增強模型關(guān)注不同位置的能力,Bert 模型中還增加了多頭注意力機制(Multihead-attention),即多個selfattention拼接,公式如下:
式中:W0為隨機初始化矩陣。
如圖1 所示,本研究與BERT 和BiLSTM 簡單疊加模型不同的是,只使用BERT 模型生成的字向量作為BiLSTM 的嵌入層,而不訓(xùn)練BERT 模型。隨后使用BiLSTM 模型提取巡檢文本特征,進(jìn)而進(jìn)行分類。這樣的結(jié)合可以獲取更復(fù)雜的巡檢文本特征,并且不會因為訓(xùn)練BERT層而增加整體模型訓(xùn)練的復(fù)雜度。
Hochreiter[22]提出了LSTM模型,來應(yīng)對RNN存在的梯度爆炸和長期依賴問題。圖4所示為LSTM單元。
圖4 LSTM單元結(jié)構(gòu)Fig.4 Structure of LSTM unit
圖5 BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Structure of BiLSTM model
具體計算過程如下:
式中:it、ft、ot為輸入門、遺忘門和輸出門;Ct和ht為記憶細(xì)胞狀態(tài)和輸出;W為權(quán)重矩陣;b為偏置量;σ為sigmoid激活函數(shù)。
單向的LSTM 模型容易忽視下文信息,因此通過拼接兩個方向的LSTM網(wǎng)絡(luò)的方法,可以讓模型更好的捕捉雙向的語義。
為了使模型學(xué)習(xí)到前后兩個方向上的特征,通常選取BiLSTM 模型。BiLSTM 通過拼接一個向前一個向后的LSTM 神經(jīng)網(wǎng)絡(luò),來為每個節(jié)點輸出上下文的信息。圖6所示為BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖6 BERT模型向量化輸出Fig.6 Output of BERT model
這樣向量ht就包含了上文和下文的特征,對比LSTM 模型,效率有明顯提升。
最后將BiLSTM 層提取到的特征輸入到softmax分類器中來預(yù)測文本的標(biāo)簽y,公式如下:
式中:H為隱藏層輸出,W為分類器參數(shù)。
本文采用南水北調(diào)中線管理局的巡檢文本數(shù)據(jù),數(shù)據(jù)包括問題所屬的分局、管理處、問題信息等。該數(shù)據(jù)共有5 859 條巡檢文本,每條巡檢文本都有標(biāo)記的問題類別信息。共3種類別,分別為II 類、III 類和其他類。其中II 類表示較為嚴(yán)重問題,III類表示一般問題,其他類表示普通問題如衛(wèi)生問題。表1 顯示了各類問題巡檢文本的實例。
表1 巡檢文本數(shù)據(jù)集樣例Tab.1 Sample inspection text dataset
表2 BERT-BiLSTM 參數(shù)設(shè)置Tab.2 BERT BiLSTM parameter settings
本研究從5 859 條巡檢文本中隨機選取1 000 條作為測試數(shù)據(jù),即4 859 條訓(xùn)練數(shù)據(jù),1 000 條測試數(shù)據(jù)。為了避免測試數(shù)據(jù)偏差,測試數(shù)據(jù)集中其他類數(shù)據(jù)有343 條,II 類數(shù)據(jù)有327條,III類數(shù)據(jù)有330條。比例基本一致。
經(jīng)過數(shù)據(jù)預(yù)處理,巡檢文本會首先根據(jù)字典處理成數(shù)字模式,如例句:“肖樓南橋左岸上游引道外坡坡肩混凝土壓頂板下掏空,坡面沉陷?!睍绒D(zhuǎn)化為:“1 1383 1344 5052 4415 1905 8024 7770 1856 3175 1217 1743 7555 4680, 886 4500 4638 4118 3841 1327 1213 6134 7030 4923 6814 1920 511 4385,1767 4118 102”經(jīng)過BERT 文本向量化后,數(shù)據(jù)會轉(zhuǎn)化為向量格式,如圖6。
BERT 模型輸出為每個巡檢文本768 維向量。之后進(jìn)入BiLSTM 網(wǎng)絡(luò)模型之后會轉(zhuǎn)換為256 維向量。之后進(jìn)入softmax分類器進(jìn)行最終分類。
本研究使用Intel(R) Core(TM) i7-8700 CPU 和16GB RAM的服務(wù)器上訓(xùn)練。實驗使用Python3.6作為開發(fā)語言和Keras深度學(xué)習(xí)庫。
本研究采用計算準(zhǔn)確率(Precision,P)、召回率(Recall,R)、F1 值(F1-score)來評價算法的效果。TP、FP、FN分別為真陽性、假陽性和假陰性。公式如下:
從表3 中可以看出,較為嚴(yán)重的II 類準(zhǔn)確率、召回率、F1 值都是3 類中最高的,而III 類問題和其他類問題召回率略低一些,但也達(dá)到了90%以上。
表3 BERT-BiLSTM 模型試驗混淆矩陣結(jié)果Tab.3 Confusion matrix results of BERT-BiLSTM model test
為了進(jìn)一步評估BERT-BiLSTM 模型分類效果,本研究選取了3 種深度學(xué)習(xí)網(wǎng)絡(luò)作為對比,分別為文本卷積神經(jīng)網(wǎng)絡(luò)(TextCNN)、BiLSTM 和BERT 模型。BERT-BiLSTM 模型和其他深度學(xué)習(xí)模型結(jié)果如表4 所示,每種類別在模型中的F1 最高值、平均準(zhǔn)確率最高值和平均召回率最高值均有粗體顯示。從表中可見BERT-BiLSTM 模型在3 種巡檢文本類別中均表現(xiàn)最好,其他類F1 值為0.902 5,II 類F1 值為0.9637,III 類F1 值為0.904 1。達(dá)到平均0.923 0。而BiLSTM 和TextCNN 模型F1 值為0.869 3 和0.887 0 未達(dá)到0.9。與BERT 模型相比較BERTBiLSTM模型將準(zhǔn)確率,召回率和F1值均提升了1.6%。
表4 深度學(xué)習(xí)模型性能比較結(jié)果Tab.4 Performance comparison results of deep learning models in BERT-BiLSTM model tests
圖7 各模型平均F1值Fig.7 Comparison of models’Average F1 score
本文通過將BERT 模型引入BiLSTM 模型,實現(xiàn)了輸水工程巡檢文本的智能分類,并得到以下結(jié)論:①本文提出的Bert-BiLSTM 在應(yīng)用時無須進(jìn)行分詞,不依賴專業(yè)詞庫,基于字符層面的嵌入向量不受巡檢安全文本中存在的口語化表達(dá)、錯別字及未登錄詞等的影響,因此具有一定的普適性。②BERT-BiLSTM 與傳統(tǒng)BiLSTM 相比,F(xiàn)1 值提升了約6%,對比其他模型,BERT與BiLSTM 結(jié)合后,準(zhǔn)確率、召回率、F1值等均優(yōu)于其他模型。顯現(xiàn)了BERT-BiLSTM 模型的優(yōu)越性。③BERT-BiLSTM模型在輸水工程巡檢文本分類上準(zhǔn)確率達(dá)到90%以上,在工程上具有較大的適用性和實用性。
綜上所述,本研究的BERT-BiLSTM 模型對巡檢文本挖掘效果優(yōu)于其他深度學(xué)習(xí)模型,該方法改進(jìn)了BiLSTM 模型的嵌入層,使用BERT 作為嵌入層提取了更多文本的特征。該模型解決了目前人工分析巡檢文本效率低下的問題,且與其他模型比較,準(zhǔn)確率更高。模型分類結(jié)果有助于運維管理人員在日常運維管理過程中做出更加正確的決定,減少了未來事故發(fā)生率。
目前模型在數(shù)據(jù)均衡的條件下表現(xiàn)較好,未來將考慮模型針對樣本不均衡的情況做出優(yōu)化,提高模型的魯棒性。