葛 艷,鄭利杰,杜軍威,陳 卓
(青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,青島 266061)
隨著化工領(lǐng)域的迅速發(fā)展,由于化工生產(chǎn)品中易燃易爆、有腐蝕性、有毒的物質(zhì)比較多,化工事故也在頻頻發(fā)生[1].因此,有必要對發(fā)生的化工事故進(jìn)行分析,知道是哪些行為、哪些物品或者哪些事件造成了化工事故的發(fā)生.這對化工事故的監(jiān)管,預(yù)警以及處理等方面有著重要意義.
文本自動分類是信息處理的重要研究方向[2].目前分類方法有很多,常用的有樸素貝葉斯Naive-Bayes、卷積神經(jīng)網(wǎng)絡(luò)CNN、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 等分類方法.
羅慧欽針對樸素貝葉斯模型屬性間條件獨(dú)立假設(shè)不完全符合實(shí)際的問題,提出只考慮屬性間的依賴關(guān)系的基于隱樸素貝葉斯模型的商品情感分類方法[3].但樸素貝葉斯模型無法根據(jù)文本上下文的語義信息做出有效的特征提取.
CNN 在很多自然語言處理任務(wù)中得到較好的結(jié)果.Kim Y 等人用CNN 完成文本分類任務(wù),具有很少的超參數(shù)調(diào)整和靜態(tài)向量,在多個(gè)基準(zhǔn)測試中獲得較好的結(jié)果[4].Zhang X 等人使用字符級卷積網(wǎng)絡(luò)(ConvNets)進(jìn)行文本分類,并取得了較好的結(jié)果[5].但由于CNN模型需要固定卷積核窗口的大小,導(dǎo)致其無法建立更長的序列信息[6].
Auli 等人提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的聯(lián)合語言和翻譯模型[7].邵良杉等人基于LSTM改進(jìn)的RNN 模型實(shí)現(xiàn)互聯(lián)網(wǎng)中在線評論文本的情感傾向分類任務(wù).RNN 能夠解決人工神經(jīng)網(wǎng)絡(luò)無法解決的文本序列前后關(guān)聯(lián)問題,但無法解決長時(shí)依賴問題[8],并且存在梯度消失問題,對上下文的處理受到限制[9].
長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[10]是一種時(shí)間遞歸神經(jīng)網(wǎng)絡(luò)[3],也是一種特定形式的RNN (Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò)).可以解決RNN 無法處理的長距離依賴問題,但容易造成前面的信息缺失以及不同時(shí)刻信息的重要度得不到體現(xiàn)[11].萬勝賢等人提出局部雙向LSTM 模型,對高效的提取一些局部文本特征有重要意義[12].LSTM 和雙向LSTM是典型的序列模型,能夠?qū)W習(xí)詞語之間的依賴信息但不能區(qū)分不同詞語對文本分類任務(wù)的貢獻(xiàn)程度[13],有效的表達(dá)文本語義特征[14].
Attention 機(jī)制[15]的一大優(yōu)點(diǎn)就是方便分析每個(gè)輸入對結(jié)果的影響,可以自動關(guān)注對分類具有決定性影響的詞,捕獲句子中最重要的語義信息,而無需使用額外的知識和NLP 系統(tǒng)[16].另外,Attention 機(jī)制[15]在關(guān)系抽取任務(wù)上也有相關(guān)的應(yīng)用[17].
針對以上分析,本文提出一種基于Attention 機(jī)制的BLSTM (BLSTM-Attention)神經(jīng)網(wǎng)絡(luò)模型對化工新聞文本進(jìn)行特征提取,實(shí)現(xiàn)事故文本分類.模型的BLSTM 層實(shí)現(xiàn)對文本上下文語義信息的高級特征提取;在BLSTM 層后引用Attention 機(jī)制實(shí)現(xiàn)對不同詞和句子分配不同權(quán)重,合并成更高級的特征向量.
化工事故新聞數(shù)據(jù)包含新聞內(nèi)容,標(biāo)題信息以及新聞來源等多個(gè)方面的信息,其中,新聞內(nèi)容的文本對上下文具有較強(qiáng)的依賴性.另外,事故新聞數(shù)據(jù)集有其獨(dú)有的一些特征,有些分類算法在化工領(lǐng)域數(shù)據(jù)集上并不完全適用.本文選取清洗完成的化工事故新聞標(biāo)題、內(nèi)容作為分類的依據(jù),新聞來源作為新聞的可靠性分析依據(jù).將本文的模型分類方法與Naive-Bayes、CNN、RNN、BLSTM 方法在相同的化工事故新聞數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對比.實(shí)驗(yàn)結(jié)果表明,本文提出的BLSTM-Attention 神經(jīng)網(wǎng)絡(luò)模型在化工事故新聞數(shù)據(jù)集上的效果要更優(yōu)于其他方法模型.
本文將Attention 機(jī)制與雙向LSTM 神經(jīng)網(wǎng)絡(luò)相結(jié)合,構(gòu)成BLSTM-Attention 模型,該模型由4 個(gè)部分組成:(1)輸入層:輸入訓(xùn)練好的詞向量;(2)BLSTM 層:根據(jù)輸入層的信息獲取高級特征;(3)Attention 層:產(chǎn)生權(quán)重向量,并通過乘以權(quán)重向量,將每個(gè)時(shí)間步長的詞級特征合并為句子級特征向量;(4)輸出層:根據(jù)從Attention 層獲得的輸出信息完成分類任務(wù)并輸出結(jié)果.模型結(jié)構(gòu)如圖1所示.

圖1 BLSTM-Attention 神經(jīng)網(wǎng)絡(luò)模型
給定一個(gè)由t個(gè)句子組成的訓(xùn)練文本d,即d={S1,S2,···,St},每個(gè)句子S又由n個(gè)詞語組成,則Si={w1,w2,···,wt}.本文利用Word2Vec 對數(shù)據(jù)進(jìn)行向量化,得到向量化表示的詞語xt作為BLSTM 層的輸入,稱為詞向量w∈?d,通過輸入層實(shí)現(xiàn)文本向量化.
LSTM 網(wǎng)絡(luò)信息的更新和保留是由輸入門、遺忘門、輸出門和一個(gè)cell 單元來實(shí)現(xiàn)的.長短時(shí)記憶網(wǎng)絡(luò)的基本思想是在原始的RNN 隱藏層只有一個(gè)對短期輸入非常敏感的狀態(tài),即隱藏層h基礎(chǔ)上再增加一個(gè)狀態(tài)單元c(cell state)來保存長期狀態(tài).
輸入門(input gate)決定了當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入xt有多少保存到單元狀態(tài)ct,可以避免當(dāng)前無關(guān)緊要的內(nèi)容進(jìn)入記憶.表示為:

其中,Wxi,Whi,Wci表示輸入門it所對應(yīng)的權(quán)重矩陣;xt表示輸入的詞向量;ht?1表示LSTM 層上一時(shí)刻的輸出結(jié)果;ct?1表示上一時(shí)刻的狀態(tài);bi表示一個(gè)常數(shù)向量.
遺忘門(forget gate)決定了上一時(shí)刻的單元狀態(tài)ct?1有多少保留到當(dāng)前時(shí)刻ct,可以保存很久很久之前的信息.表示為:

其中,Wxf,Whf,Wcf表示遺忘門ft所對應(yīng)的權(quán)重矩陣;bf表示一個(gè)常數(shù)向量.
輸出門(output gate)控制單元狀態(tài)ct有多少輸出到 LSTM 的當(dāng)前輸出值ht,可以控制長期記憶對當(dāng)前輸出的影響.表示為:

其中,Wxo,Who,Wco表示遺忘門ot所對應(yīng)的權(quán)重矩陣;bo表示一個(gè)常數(shù)向量.
當(dāng)前時(shí)刻狀態(tài)單元的狀態(tài)值由ct來表示:

其中,cm表示候選狀態(tài)單元值,公式表示為:

其中,Wxc,Whc,Wcc表示選狀態(tài)單元值cm所對應(yīng)的權(quán)重矩陣.

本文采用的BLSTM 神經(jīng)網(wǎng)絡(luò)包含了兩個(gè)隱藏層,這兩個(gè)隱藏層之間的鏈接是以相反的時(shí)間順序流動的,所以它是分別按前向與后向傳遞的.自前向后循環(huán)神經(jīng)網(wǎng)絡(luò)層的公式表示為:

自后向前循環(huán)神經(jīng)網(wǎng)絡(luò)層的公式表示為:

BLSTM 層疊加后輸入隱藏層公式表示為:

考慮到不同詞對文本的貢獻(xiàn)不大相同,本文采用能夠通過分配不同的注意力來獲得較高的權(quán)重的Attention 機(jī)制來對重要詞語和句子進(jìn)行特征提取.Attention 機(jī)制結(jié)合BLSTM 模型將利用每個(gè)時(shí)刻下狀態(tài)和最終狀態(tài),計(jì)算得到每個(gè)時(shí)刻狀態(tài)的注意力概率分配,以此來對最終狀態(tài)進(jìn)行更進(jìn)一步的優(yōu)化,得到最終的文本特征,并將Attention 機(jī)制接入全連接進(jìn)行分類.首先對BLSTM 層的輸出信息yt通過非線性變換得到隱含表示uit;然后,經(jīng)過隨機(jī)初始化注意力機(jī)制矩陣uw與uit進(jìn)行點(diǎn)乘運(yùn)算得到Attention 層的詞級別權(quán)重系數(shù) αit,并最終得到句子特征向量sit,表示為:

其中,Ww為權(quán)重矩陣,bw為偏置量.
同樣,采用與詞級別相同的方式對文章貢獻(xiàn)不同的句子賦予不同的權(quán)重參數(shù),通過句子級的Attention機(jī)制得到文章的特征向量.具體表示為:

本文采用計(jì)算簡單,效果顯著的Softmax 分類器對經(jīng)過Attention 機(jī)制得到的文章特征向量vt進(jìn)行歸一化得到預(yù)測分類.表示為:

另外,本文采用正則化的方法來提高模型的泛化能力,防止出現(xiàn)過擬合的情況.目標(biāo)函數(shù)用帶有L2 正則化的類別標(biāo)簽y的負(fù)對數(shù)似然函數(shù),表示為:

其中,ti是獨(dú)熱編碼(one-hot represented)表示的基礎(chǔ)值;yi∈?m是每個(gè)類的估計(jì)概率,m是類別的個(gè)數(shù);λ是L2正則化超參數(shù).
本文采用Python 程序爬取各大網(wǎng)站得到的4 萬多條事故新聞作為語料庫.語料庫中包括事故標(biāo)題、事故內(nèi)容以及新聞來源等信息,本文選取事故標(biāo)題、事故內(nèi)容作為事故類型分類的依據(jù).由于網(wǎng)站信息雜亂,新聞的重復(fù)報(bào)道以及與化工事故相關(guān)性不大等原因使得評論中存在較多的噪聲數(shù)據(jù),為保證實(shí)驗(yàn)質(zhì)量對數(shù)據(jù)進(jìn)行了清洗.通過相似度計(jì)算,打標(biāo)簽等方法對數(shù)據(jù)進(jìn)行預(yù)處理,清洗去掉重復(fù)以及非化工事故新聞3 萬4 千多條噪聲數(shù)據(jù),選取10 314 條數(shù)據(jù)進(jìn)行實(shí)驗(yàn).數(shù)據(jù)統(tǒng)計(jì)如圖2所示.

圖2 數(shù)據(jù)統(tǒng)計(jì)
圖2橫坐標(biāo)表示事故類別,縱坐標(biāo)表示每一類別的個(gè)數(shù).化工事故的類別基本分為5 大類:爆炸,火災(zāi),泄露,中毒以及其他.根據(jù)化工領(lǐng)域常舉行化工事故演練來加強(qiáng)官兵快速反應(yīng)能力和實(shí)戰(zhàn)能力,新增了演練這一類別,能夠訓(xùn)練模型將事故與演練區(qū)分開,防止因?yàn)槭鹿恃菥毝龀鲥e(cuò)誤事故的分析.這樣大大提升了我們對事故分析的準(zhǔn)確性和有效性,同時(shí)也提高了分類的準(zhǔn)確性.表1對數(shù)據(jù)做了進(jìn)一步說明.

表1 數(shù)據(jù)說明
本文將新聞標(biāo)題以及新聞內(nèi)容作為模型的輸入,考慮到標(biāo)題所包含的信息量比較少,將獲得的分類結(jié)果按照2:8 的比重進(jìn)行計(jì)算作為分類的最終結(jié)果.另外,由于新聞來源雜亂繁多,通過打標(biāo)簽的方式將其分為4 類:省級以上、省級、地市級以及其他類別,并對其進(jìn)行打分.新聞來源的可靠性通過其得分來判斷,化工事故新聞數(shù)據(jù)文本的得分情況如圖3所示.

圖3 新聞數(shù)據(jù)得分
圖3的橫坐標(biāo)表示新聞的得分,縱坐標(biāo)表示獲得相應(yīng)分?jǐn)?shù)的新聞個(gè)數(shù).從圖3看出,新聞得分為0 的新聞數(shù)并不是很多,大多數(shù)的新聞都有可靠的來源,具有較強(qiáng)的可靠性.
本文采用Adam 優(yōu)化方法,其學(xué)習(xí)率設(shè)為0.001;經(jīng)過多次實(shí)驗(yàn)后選取結(jié)果最優(yōu)參數(shù)設(shè)置:迭代次數(shù)設(shè)為20;詞嵌入維度設(shè)為200;神經(jīng)元個(gè)數(shù)為[256,128].為了防止過擬合現(xiàn)象,目標(biāo)函數(shù)加入L2 正則化項(xiàng),正則化的因子取值設(shè)為10–5;另外,還加入dropout 策略,并把它應(yīng)用在輸入層和BLSTM 層,經(jīng)過多輪試驗(yàn),當(dāng)dropout rate 為0.5 的時(shí)候,模型能夠達(dá)到比較好的性能.根據(jù)實(shí)驗(yàn)過程中的最佳實(shí)驗(yàn)效果選取各個(gè)模型的參數(shù),具體參數(shù)設(shè)置如表2所示.
本文采用jieba 分詞工具對數(shù)據(jù)做分詞處理,Word2Vec 訓(xùn)練數(shù)據(jù)產(chǎn)生所需要的詞向量.網(wǎng)絡(luò)模型設(shè)置好之后,不需要借助GPU 在自己的電腦上就能夠?qū)崿F(xiàn),實(shí)現(xiàn)成本低,運(yùn)算復(fù)雜度并不高.另外,本文采用準(zhǔn)確率和F1 值來評估模型效果.

表2 模型參數(shù)設(shè)置
圖4、圖5分別表示BLSTM 和BLSTM-Attention神經(jīng)網(wǎng)絡(luò)模型在模型訓(xùn)練時(shí)損失值隨迭代次數(shù)的變化圖.

圖4 BLSTM 模型訓(xùn)練損失變化圖(10314)

圖5 BLSTM-Attention 模型訓(xùn)練損失變化圖(10314)
從圖4和圖5中可以看出函數(shù)損失值是逐漸下降的,并且最終趨于穩(wěn)定收斂狀態(tài).BLSTM-Attention 模型與BLSTM 模型相比,起始的損失值相差不大,但收斂速度明顯增加,也更加穩(wěn)定,并且最終收斂的損失值較小.
為了驗(yàn)證BLSTM-Attention 神經(jīng)網(wǎng)絡(luò)模型的有效性,與Naive-Bayes、CNN、RNN 以及BLSTM 方法模型在相同的數(shù)據(jù)集上做對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示.

表3 不同分類模型的平均分類結(jié)果比較
從表3的各個(gè)模型的對比實(shí)驗(yàn)結(jié)果能夠看出,在相同的數(shù)據(jù)集上,除了RNN 的實(shí)驗(yàn)效果較差,以Word2Vec 訓(xùn)練的詞向量作為文本特征的其他分類實(shí)驗(yàn)結(jié)果的效果都不錯(cuò).能夠說明Word2Vec 訓(xùn)練的詞向量可以很好地描述文本特征.
BLSTM 神經(jīng)網(wǎng)絡(luò)模型相較于其他分類模型的分類效果更好,這也說明BLSTM 模型在學(xué)習(xí)詞語之間的依賴信息和反映文本上下文語義信息上有著重要作用.
BLSTM-Attention 模型與BLSTM 模型相比,實(shí)驗(yàn)結(jié)果表明Attention 機(jī)制對不同詞語和句子所分配的權(quán)重對文本的特征提取有一定的意義,提升了文本分類的準(zhǔn)確度.
為了解決化工新聞文本的語義特征提取及對上下文的依賴問題,本文提出一種應(yīng)用于化工事故領(lǐng)域的基于雙向LSTM-Attention 機(jī)制的神經(jīng)網(wǎng)絡(luò)模型.BLSTM-Attention 模型能夠?qū)崿F(xiàn)對詞語之間以及句子之間的特征學(xué)習(xí)和提取,并且通過Attention 機(jī)制對不同的詞語和句子分配不同的權(quán)重.
本文采用Word2Vec 對清洗好的數(shù)據(jù)訓(xùn)練得到詞向量;將BLSTM-Attention 神經(jīng)網(wǎng)絡(luò)模型與 Naive-Bayes、CNN、RNN 以及不加Attention 機(jī)制的BLSTM方法模型在相同的化工數(shù)據(jù)集上做對比實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,Word2Vec 訓(xùn)練的詞向量可以很好地描述文本特征.另外,相較于Naive-Bayes、CNN、RNN 以及不加Attention 機(jī)制的BLSTM 方法模型,BLSTMAttention 模型能夠?qū)崿F(xiàn)對詞語之間以及句子之間的特征學(xué)習(xí)和提取,并且通過Attention 機(jī)制對不同的詞語和句子給予不同的關(guān)注度,對提高分類性能有一定作用.本文提出的BLSTM-Attention 模型能夠更有效地提取出文本特征,對于文本分類效果有一定的提升.