程彭圣男,劉雪梅,李海瑞
(華北水利水電大學(xué)信息工程學(xué)院,河南 鄭州 450046)
輸水工程具有線路長(zhǎng)、道路河流交叉、沿線地質(zhì)條件復(fù)雜的特點(diǎn)[1,2]。在長(zhǎng)期的運(yùn)行過(guò)程中,事故率較高會(huì)給沿岸居民和輸水工程安全造成影響。巡檢人員每日巡檢記錄了大量的巡檢文本[3,4]。這些文本數(shù)據(jù)被非結(jié)構(gòu)化的格式存入后臺(tái),難以發(fā)揮價(jià)值。另一方面,大量的巡檢文本需要管理人員人工標(biāo)注并按照問(wèn)題的嚴(yán)重等級(jí)分類,通常分為II類、III類和其他類,其中II 類表示較為嚴(yán)重問(wèn)題,III 類表示一般問(wèn)題,其他類表示普通問(wèn)題如衛(wèi)生問(wèn)題。這種人工標(biāo)注方式效率較低,費(fèi)時(shí)費(fèi)力,且每個(gè)管理人員經(jīng)驗(yàn)知識(shí)不同,對(duì)于問(wèn)題的分類分級(jí)具有一定的主觀性問(wèn)題,使得分類準(zhǔn)確性收到一定影響。智能分類技術(shù)可以有效減輕人工分類的工作量,并在保證分類準(zhǔn)確率的同時(shí)一定程度上減少分類時(shí)的主觀性問(wèn)題。智能分類也可以保證巡檢文本中的問(wèn)題能被及時(shí)發(fā)現(xiàn)并上報(bào)。
傳統(tǒng)的機(jī)器學(xué)習(xí)文本分類模型往往采用機(jī)器學(xué)習(xí)方法,如決策樹(shù)[5]、K 均值聚類算法(K-means)[6]、貝葉斯[7]、支持向量機(jī)[8]等淺層機(jī)器學(xué)習(xí)方法。近年來(lái),隨著深度學(xué)習(xí)在自然語(yǔ)言處理領(lǐng)域的應(yīng)用,基于深度學(xué)習(xí)的文本分類模型得到發(fā)展并應(yīng)用到多個(gè)領(lǐng)域,廖勝蘭等[9]建立循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(Text-RCNN),對(duì)電力文本進(jìn)行分類,取得了較高準(zhǔn)確率;胡萬(wàn)亭等[10]基于加權(quán)詞向量設(shè)計(jì)了一種卷積神經(jīng)網(wǎng)絡(luò)(CNN),算例表明該模型準(zhǔn)確率優(yōu)于傳統(tǒng)CNN模型;吳峰等[11]提出一種基于跨領(lǐng)域遷移的AM-AdpGRU 金融文本分類模型,通過(guò)學(xué)習(xí)相關(guān)領(lǐng)域數(shù)據(jù)的分類準(zhǔn)則將其遷移到目標(biāo)領(lǐng)域數(shù)據(jù),在金融數(shù)據(jù)集上,較其他模型平均準(zhǔn)確率有顯著提升;王祥翔等[12]提出一種基于樸素貝葉斯的文化旅游文本分類模型,實(shí)驗(yàn)選取描述文本,實(shí)現(xiàn)了旅游文本的自動(dòng)分類。因此使用深度學(xué)習(xí)方法作為輸水工程巡檢文本分類器具有很大潛力。
在深度學(xué)習(xí)方法中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)[13]和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)[14]是主流的兩種分類模型。RNN 是處理序列數(shù)據(jù)的常規(guī)方法之一,可以處理任意長(zhǎng)度的數(shù)據(jù)。但是在處理長(zhǎng)文本上RNN 的表現(xiàn)不佳,由于RNN 只能記憶最近的序列,并且存在梯度消失和梯度爆炸的情況,這些情況導(dǎo)致RNN無(wú)法學(xué)習(xí)長(zhǎng)期的依賴關(guān)系。CNN 雖然可以并行計(jì)算提高效率,但是也存在著不能處理任意長(zhǎng)度序列和難以提取序列中相關(guān)性特征的問(wèn)題。雙向長(zhǎng)短期記憶(BiLSTM)作為RNN 的變體之一,增加了門(mén)結(jié)構(gòu)獲取長(zhǎng)文本的特征,并且可以同時(shí)在兩個(gè)方向?qū)ξ谋具M(jìn)行遍歷提升模型的性能,能更好捕獲雙向的語(yǔ)義依賴。工程巡檢文本具有長(zhǎng)文本的特征,因此適合使用BiLSTM 模型來(lái)學(xué)習(xí)工程巡檢文本的特征。另一方面?zhèn)鹘y(tǒng)文本分類模型多是需要使用glove[15]或word2vec[16]詞向量模型將文本轉(zhuǎn)化成空間向量。在巡檢文本中,存在一詞多義的情況,詞向量模型無(wú)法解決詞的歧義問(wèn)題。其次,詞向量模型的建立還需要專業(yè)分詞。但是,目前尚未有針對(duì)水利專業(yè)詞匯的詞庫(kù),也就無(wú)法對(duì)巡檢文本進(jìn)行準(zhǔn)確的分詞。這些情況都會(huì)影響詞向量的效果。BERT 是一種預(yù)訓(xùn)練模型。BERT 是基于變形器(Transformer)[17]的雙向編碼器,旨在通過(guò)在左右上下文中共有的條件計(jì)算來(lái)預(yù)先訓(xùn)練來(lái)自無(wú)標(biāo)號(hào)文本的深度雙向表示。BERT 模型可以生成字符級(jí)的嵌入層(Embedding)輸入,且BERT 訓(xùn)練時(shí)還會(huì)獲取當(dāng)前字符的上下文信息特征,和當(dāng)前字符的位置信息特征。單個(gè)字符表示也可以為錯(cuò)誤拼寫(xiě)和未登錄詞提供魯棒性[18]。因此本研究中使用BERT 模型作為輸入層將巡檢文本轉(zhuǎn)化為字符向量,以解決詞向量模型的弊端,進(jìn)而改進(jìn)雙向長(zhǎng)短期記憶(BiLSTM)分類模型。
所以本文選擇使用BERT[17]和BiLSTM[19]模型結(jié)合,用于對(duì)輸水工程巡檢文本進(jìn)行問(wèn)題等級(jí)分類。模型使用BERT 作為嵌入層提取字符級(jí)特征,然后作為嵌入層傳入BiLSTM,最后使用全連接層輸出分類。通過(guò)實(shí)驗(yàn)驗(yàn)證了該模型的有效性,實(shí)驗(yàn)表明,該模型使用BERT 模型生成字符級(jí)特征向量,解決了沒(méi)有水利專業(yè)詞庫(kù)的問(wèn)題。其次使用BERT 模型改進(jìn)BiLSTM 模型的嵌入層,提高了模型獲取文本特征的能力,提高了巡檢文本分類模型的準(zhǔn)確率和可靠性,可為輸水工程運(yùn)行維護(hù)提供新的智能化手段。
BERT 中使用的transformer 是基于自注意力機(jī)制(self-attention)[20],所以在計(jì)算過(guò)程中會(huì)弱化位置信息,而在BiLSTM可以學(xué)習(xí)到序列中的依賴關(guān)系。因此,本文提出了BERT-BiLSTM 模型,將BiLSTM 模型與BERT 模型結(jié)合。如圖1 所示,總體框架由4個(gè)部分組成,第一,數(shù)據(jù)預(yù)處理,對(duì)巡檢文本清理、去除停用詞等。第二使用BERT 將處理過(guò)的文本向量化處理。第三使用BiLSTM 模型對(duì)BERT 生成的向量化文本進(jìn)行挖掘提取特征。最后使用softmax分類器輸出巡檢文本分類結(jié)果。

圖1 BERT-BiLSTM 模型總體架構(gòu)Fig.1 Structure of BERT-BiLSTM model
在巡檢過(guò)程中,由于巡檢人員為附近雇傭的村民,所以提交上來(lái)的巡檢文本中往往存在著影響文本分類的噪聲信息,如錯(cuò)別字、重復(fù)等問(wèn)題。因此,在對(duì)巡檢文本挖掘的過(guò)程中,文本預(yù)處理是必不可少的一步。如圖1 中所示,在將巡檢文本輸入到BERT之前,需要將文本進(jìn)行三步預(yù)處理:第一步,數(shù)據(jù)清洗,將文本中錯(cuò)別字、標(biāo)點(diǎn)符號(hào)無(wú)用的字母等無(wú)用數(shù)據(jù)刪除。第二步,去除停用詞,將文本中常用的停用詞去除,如的、了等無(wú)用字符,這些字符不影響文本分類,但是會(huì)降低效率。第三步,將文本中所有字符分割,在分割過(guò)程中記錄并儲(chǔ)存成字典的格式,使每個(gè)字符都有對(duì)應(yīng)的數(shù)字id供BERT模型使用。如“黃水河支出口裹頭的下部截流溝里漿砌石縫內(nèi)--咋草過(guò)多。”,經(jīng)處理后變?yōu)椤包S水河支出口裹頭下部截流溝漿砌石縫雜草過(guò)多”。
本文選用哈工大訊飛聯(lián)合實(shí)驗(yàn)室發(fā)布的基于全詞Mask 的中文預(yù)訓(xùn)練模型BERT-wwm-ext[21],模型針對(duì)中文自然語(yǔ)言處理任務(wù)進(jìn)行了進(jìn)一步的優(yōu)化,提升了中文自然語(yǔ)言處理任務(wù)的效果。模型由12層transformers構(gòu)成。其中E為輸入向量,中間層使用Transformer解碼器,T為Bert模型的輸出向量。
BERT 的輸入是字符的段嵌入、標(biāo)記嵌入和字符對(duì)應(yīng)位置嵌入相加的和。標(biāo)記嵌入的開(kāi)頭為[cls],結(jié)尾為[sep],中間部分為單個(gè)字符。位置嵌入的下標(biāo)表示文本中字符的位置。圖2為例句“圍網(wǎng)松動(dòng)”對(duì)應(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 中,是由自注意力機(jī)制層(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會(huì)將詞向量與3個(gè)矩陣相乘,從而得到3個(gè)新向量,3個(gè)新向量分別是查詢向量Q、鍵向量K和值向量V。最終Attention 計(jì)算的公式如下,其中為比例因數(shù):
另一方面為了增強(qiáng)模型關(guān)注不同位置的能力,Bert 模型中還增加了多頭注意力機(jī)制(Multihead-attention),即多個(gè)selfattention拼接,公式如下:
式中:W0為隨機(jī)初始化矩陣。
如圖1 所示,本研究與BERT 和BiLSTM 簡(jiǎn)單疊加模型不同的是,只使用BERT 模型生成的字向量作為BiLSTM 的嵌入層,而不訓(xùn)練BERT 模型。隨后使用BiLSTM 模型提取巡檢文本特征,進(jìn)而進(jìn)行分類。這樣的結(jié)合可以獲取更復(fù)雜的巡檢文本特征,并且不會(huì)因?yàn)橛?xùn)練BERT層而增加整體模型訓(xùn)練的復(fù)雜度。
Hochreiter[22]提出了LSTM模型,來(lái)應(yīng)對(duì)RNN存在的梯度爆炸和長(zhǎng)期依賴問(wèn)題。圖4所示為L(zhǎng)STM單元。

圖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
具體計(jì)算過(guò)程如下:
式中:it、ft、ot為輸入門(mén)、遺忘門(mén)和輸出門(mén);Ct和ht為記憶細(xì)胞狀態(tài)和輸出;W為權(quán)重矩陣;b為偏置量;σ為sigmoid激活函數(shù)。
單向的LSTM 模型容易忽視下文信息,因此通過(guò)拼接兩個(gè)方向的LSTM網(wǎng)絡(luò)的方法,可以讓模型更好的捕捉雙向的語(yǔ)義。
為了使模型學(xué)習(xí)到前后兩個(gè)方向上的特征,通常選取BiLSTM 模型。BiLSTM 通過(guò)拼接一個(gè)向前一個(gè)向后的LSTM 神經(jīng)網(wǎng)絡(luò),來(lái)為每個(gè)節(jié)點(diǎn)輸出上下文的信息。圖6所示為BiLSTM 網(wǎng)絡(luò)結(jié)構(gòu)圖。

圖6 BERT模型向量化輸出Fig.6 Output of BERT model
這樣向量ht就包含了上文和下文的特征,對(duì)比LSTM 模型,效率有明顯提升。
最后將BiLSTM 層提取到的特征輸入到softmax分類器中來(lái)預(yù)測(cè)文本的標(biāo)簽y,公式如下:
式中:H為隱藏層輸出,W為分類器參數(shù)。
本文采用南水北調(diào)中線管理局的巡檢文本數(shù)據(jù),數(shù)據(jù)包括問(wèn)題所屬的分局、管理處、問(wèn)題信息等。該數(shù)據(jù)共有5 859 條巡檢文本,每條巡檢文本都有標(biāo)記的問(wèn)題類別信息。共3種類別,分別為II 類、III 類和其他類。其中II 類表示較為嚴(yán)重問(wèn)題,III類表示一般問(wèn)題,其他類表示普通問(wèn)題如衛(wèi)生問(wèn)題。表1 顯示了各類問(wèn)題巡檢文本的實(shí)例。

表1 巡檢文本數(shù)據(jù)集樣例Tab.1 Sample inspection text dataset

表2 BERT-BiLSTM 參數(shù)設(shè)置Tab.2 BERT BiLSTM parameter settings
本研究從5 859 條巡檢文本中隨機(jī)選取1 000 條作為測(cè)試數(shù)據(jù),即4 859 條訓(xùn)練數(shù)據(jù),1 000 條測(cè)試數(shù)據(jù)。為了避免測(cè)試數(shù)據(jù)偏差,測(cè)試數(shù)據(jù)集中其他類數(shù)據(jù)有343 條,II 類數(shù)據(jù)有327條,III類數(shù)據(jù)有330條。比例基本一致。
經(jīng)過(guò)數(shù)據(jù)預(yù)處理,巡檢文本會(huì)首先根據(jù)字典處理成數(shù)字模式,如例句:“肖樓南橋左岸上游引道外坡坡肩混凝土壓頂板下掏空,坡面沉陷。”會(huì)先轉(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)過(guò)BERT 文本向量化后,數(shù)據(jù)會(huì)轉(zhuǎn)化為向量格式,如圖6。
BERT 模型輸出為每個(gè)巡檢文本768 維向量。之后進(jìn)入BiLSTM 網(wǎng)絡(luò)模型之后會(huì)轉(zhuǎn)換為256 維向量。之后進(jìn)入softmax分類器進(jìn)行最終分類。
本研究使用Intel(R) Core(TM) i7-8700 CPU 和16GB RAM的服務(wù)器上訓(xùn)練。實(shí)驗(yàn)使用Python3.6作為開(kāi)發(fā)語(yǔ)言和Keras深度學(xué)習(xí)庫(kù)。
本研究采用計(jì)算準(zhǔn)確率(Precision,P)、召回率(Recall,R)、F1 值(F1-score)來(lái)評(píng)價(jià)算法的效果。TP、FP、FN分別為真陽(yáng)性、假陽(yáng)性和假陰性。公式如下:
從表3 中可以看出,較為嚴(yán)重的II 類準(zhǔn)確率、召回率、F1 值都是3 類中最高的,而III 類問(wèn)題和其他類問(wèn)題召回率略低一些,但也達(dá)到了90%以上。

表3 BERT-BiLSTM 模型試驗(yàn)混淆矩陣結(jié)果Tab.3 Confusion matrix results of BERT-BiLSTM model test
為了進(jìn)一步評(píng)估BERT-BiLSTM 模型分類效果,本研究選取了3 種深度學(xué)習(xí)網(wǎng)絡(luò)作為對(duì)比,分別為文本卷積神經(jīng)網(wǎng)絡(luò)(TextCNN)、BiLSTM 和BERT 模型。BERT-BiLSTM 模型和其他深度學(xué)習(xí)模型結(jié)果如表4 所示,每種類別在模型中的F1 最高值、平均準(zhǔn)確率最高值和平均召回率最高值均有粗體顯示。從表中可見(jiàn)BERT-BiLSTM 模型在3 種巡檢文本類別中均表現(xiàn)最好,其他類F1 值為0.902 5,II 類F1 值為0.9637,III 類F1 值為0.904 1。達(dá)到平均0.923 0。而B(niǎo)iLSTM 和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
本文通過(guò)將BERT 模型引入BiLSTM 模型,實(shí)現(xiàn)了輸水工程巡檢文本的智能分類,并得到以下結(jié)論:①本文提出的Bert-BiLSTM 在應(yīng)用時(shí)無(wú)須進(jìn)行分詞,不依賴專業(yè)詞庫(kù),基于字符層面的嵌入向量不受巡檢安全文本中存在的口語(yǔ)化表達(dá)、錯(cuò)別字及未登錄詞等的影響,因此具有一定的普適性。②BERT-BiLSTM 與傳統(tǒng)BiLSTM 相比,F(xiàn)1 值提升了約6%,對(duì)比其他模型,BERT與BiLSTM 結(jié)合后,準(zhǔn)確率、召回率、F1值等均優(yōu)于其他模型。顯現(xiàn)了BERT-BiLSTM 模型的優(yōu)越性。③BERT-BiLSTM模型在輸水工程巡檢文本分類上準(zhǔn)確率達(dá)到90%以上,在工程上具有較大的適用性和實(shí)用性。
綜上所述,本研究的BERT-BiLSTM 模型對(duì)巡檢文本挖掘效果優(yōu)于其他深度學(xué)習(xí)模型,該方法改進(jìn)了BiLSTM 模型的嵌入層,使用BERT 作為嵌入層提取了更多文本的特征。該模型解決了目前人工分析巡檢文本效率低下的問(wèn)題,且與其他模型比較,準(zhǔn)確率更高。模型分類結(jié)果有助于運(yùn)維管理人員在日常運(yùn)維管理過(guò)程中做出更加正確的決定,減少了未來(lái)事故發(fā)生率。
目前模型在數(shù)據(jù)均衡的條件下表現(xiàn)較好,未來(lái)將考慮模型針對(duì)樣本不均衡的情況做出優(yōu)化,提高模型的魯棒性。