陳農(nóng)田,李俊輝,滿永政
(中國(guó)民用航空飛行學(xué)院,四川 廣漢 618307)
文本分類是自然語言處理經(jīng)典的任務(wù),吸引了學(xué)者們的廣泛關(guān)注.文本分類主要包括樣本的預(yù)處理、文本表示、特征工程和分類器四方面的工作[1].文本分類的核心體現(xiàn)在特征工程的選取和分類器的構(gòu)建.Bengio等[2]最先構(gòu)造出語言模型,為神經(jīng)網(wǎng)絡(luò)在NLP的發(fā)展提供了思路.在文本表示方面,Mikolov等[3]提出了兩種詞向量模型,利用形態(tài)學(xué)改進(jìn)word embedding的工作.2014年Jeffrey等[4]等提出Glove方法,此方法能夠通過全局詞匯信息,來訓(xùn)練詞向量,從而表示效果得到了提升.在特征提取方面,Kim[5]將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)應(yīng)用到了文本分類任務(wù),采用多窗口方式提取關(guān)鍵信息,從而能夠更好地捕獲局部信息.Lee等[6]把循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)與CNN相結(jié)合,證明了添加時(shí)序性可以提升分類效果.門控循環(huán)單元(Gate Recurrent Unit,GRU)[7]是RNN的一種,是考慮序列的長(zhǎng)期時(shí)間性和反向傳播過程中存在的梯度上升或下降等問題而提出來的.雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(BiGRU)[8]為正反向兩個(gè)GRU組成,此網(wǎng)絡(luò)模型能有效獲取上下文語義信息.
近些年,深度學(xué)習(xí)在自然語言處理方面取得了一定成果,出現(xiàn)了一些新的文本分類模型.Bahdanau等[9]最早提出注意力機(jī)制,后來應(yīng)用到了文本處理中,以區(qū)分文本中信息的重要性大小.隨著技術(shù)的進(jìn)步與人員的投入,學(xué)者們開始使用多個(gè)模型結(jié)合,以提高分類效果.Guo等[10]通過多通道TextCNN引入加權(quán)詞嵌入來改善文本分類.余本功等[11]針對(duì)對(duì)話問句長(zhǎng)度較短、特征稀疏等特點(diǎn),提出一種層級(jí)注意力多通道卷積雙向GRU分類模型,彌補(bǔ)問句意圖理解不準(zhǔn)確的不足,提高了問題分類性能.Liu等[12]使用六個(gè)情感分類數(shù)據(jù)集和一個(gè)問題分類數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證,證實(shí)了AC-BiLSTM在分類準(zhǔn)確性方面優(yōu)于其他文本分類方法.林思琦等[13]提出了一種融入觀點(diǎn)句特征的漢越雙語新聞情感分類方法,利用CNN與GRU模型相結(jié)合對(duì)特征進(jìn)行識(shí)別,最后通過Softmax函數(shù)情感極性進(jìn)行分類,提升了分類準(zhǔn)確性.張帥[14]提出一種GM-CNN模型,提升了文本泛化信息和記憶信息能力.李文慧等[15]針對(duì)短文本信息量少、其網(wǎng)絡(luò)易受干擾的特點(diǎn),提出了一種利用注意力機(jī)制和對(duì)抗訓(xùn)練改進(jìn)雙向長(zhǎng)短期記憶網(wǎng)絡(luò)的多層級(jí)短文本分類模型,有效地解決了短文本分類效果差的問題.謝金寶等[16]利用CNN、LSTM、Attention結(jié)合構(gòu)成多元特征融合的文本分類模型,用來提取不同層級(jí)的特征,提升模型辨別力.張志遠(yuǎn)等[17]利用CNN與LSTM模型結(jié)合改進(jìn),利用LSTM替代CNN中的最大池化層,以減少局部信息丟失,從而實(shí)現(xiàn)了短文本情感分類的研究.
綜上所述,國(guó)內(nèi)在自然語言處理領(lǐng)域取得了系列成果,但在分類模型與仿真方面還有待深入.本文在借鑒國(guó)內(nèi)外學(xué)者研究基礎(chǔ)上,提出一種多通道TextCNN-BiGRU-att中文文本分類模型,通過word2vec對(duì)初始文本向量化選取窗口值組成三通道,運(yùn)用CNN提取局部特征,利用雙向門控循環(huán)單元(BiGRU)提取上下文全局信息,運(yùn)用注意力層與池化層獲取并優(yōu)化重要特征,采用softmax函數(shù)使誤差loss極小化,最后進(jìn)行分類模型仿真實(shí)驗(yàn)驗(yàn)證性能效果.
基于多通道TextCNN-BiGRU-att的中文文本多分類模型如圖1所示.
圖1 TextCNN-BiGRU-att分類模型網(wǎng)絡(luò)結(jié)構(gòu)圖
在文本分析前,需要將計(jì)算機(jī)不認(rèn)識(shí)的詞匯、句子等轉(zhuǎn)化成能夠識(shí)別的數(shù)值形式.目前有兩種熱門轉(zhuǎn)換技術(shù):傳統(tǒng)機(jī)器學(xué)習(xí)中的one-hot編碼方式和基于神經(jīng)網(wǎng)絡(luò)的詞嵌入技術(shù).
one-hot編碼是一種稀疏編碼結(jié)果,這種表征方法一般有兩個(gè)缺陷:第一是容易造成維數(shù)災(zāi)難;第二個(gè)則在于這種表征方式不能分辨詞匯與詞匯之間的相似性.因此詞嵌入技術(shù)隨之誕生,其基本想法是將詞匯表中的每個(gè)單詞表示為一個(gè)普通向量,從而解決了one-hot編碼維度過多的問題.
word2vec模型是詞嵌入的典型技術(shù),如圖2所示,由輸入層(input)、隱藏層(hidden)、輸出層(output)構(gòu)成.模型的輸入是一個(gè)獨(dú)熱(one-hot)向量,即文本信息用{x1,x2,…,xV}表示.假設(shè)詞匯表的大小為V,每個(gè)隱藏層的維度為N,則隱藏層的輸入由V×N大小的矩陣W表示.以同樣的方式,可以通過N×V的矩陣W′使隱藏層與輸出層連接,得到詞向量.通常有兩種語言模型,一種是根據(jù)上下文來預(yù)測(cè)中間詞的CBOW(連續(xù)詞袋模型),另一種是根據(jù)中間詞來預(yù)測(cè)上下文的skip-gram模型[18].
圖2 word2vec結(jié)構(gòu)示意圖 圖3 本文CNN模型結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)的核心思想是捕捉局部特征,對(duì)于文本來說,局部特征就是由若干單詞組成的滑動(dòng)窗口,其優(yōu)勢(shì)在于將不同抽象層次的語義信息進(jìn)行提取與合并.由于本文設(shè)置BiGRU后連接激活函數(shù)與全連接層,故認(rèn)為CNN主體有3部分構(gòu)成:輸入層、卷積層、池化層,如圖3所示.
采用word2vec詞嵌入技術(shù)對(duì)文本進(jìn)行向量化作為CNN結(jié)構(gòu)的輸入,每個(gè)詞的詞向量為yi,yi∈RV×N.
卷積層通過設(shè)定好的濾波器對(duì)句子矩陣進(jìn)行卷積操作,從而完成信息的抽取工作:
Si=f(G×yi:i+r-1+b)
(1)
式中:G代表卷積核,r為卷積核的大小,yi:i+r-1是i到i+r-1,b為偏置項(xiàng),通過卷積層得到的特征矩陣Si,Si=[c1,c2,…,cn-r+1].為了不改變特征向量維度,與減少最大池化后某些特征的丟失,本文在池化層前先加入BiGRU模型進(jìn)行全局特征的提取,經(jīng)實(shí)驗(yàn)選取3,4,5窗口作為不同卷積核,得到S1,S2,S3三個(gè)序列結(jié)構(gòu)的特征矩陣,將此分別作為BiGRU的輸入,最終求得全局與局部特征向量,三者結(jié)合后得到綜合特征矩陣C.
池化層,為了獲得局部值得最優(yōu)解,采用MaxPooling技術(shù)將綜合特征矩陣C進(jìn)行下采樣,如式(2)所示:
(2)
即對(duì)于池化后的向量有全連接層連接,得到池化后特征矩陣U,如(3)式:
U=[M1,M2,…,Mn]
(3)
GRU有效克服RNN存在的梯度問題與長(zhǎng)期依賴問題,以LSTM模型為結(jié)構(gòu)基礎(chǔ),合并細(xì)胞狀態(tài)與隱藏層狀態(tài),并將遺忘門與輸入們結(jié)合為更新門(update gate),輸出門更名為重置門.GRU比LSTM少了一個(gè)門,且所需參數(shù)減少,因此訓(xùn)練速度要快于LSTM.Rana[19]已在實(shí)際運(yùn)用中證實(shí)RNN兩個(gè)變體實(shí)力相當(dāng),但GRU運(yùn)行效率提升了18.16%.GRU單元詳細(xì)結(jié)構(gòu)圖如圖4所示.其具體的計(jì)算過程如(4)~(7)式所示:
圖4 GRU模型
zt=σ(wz·[ht-1,Ct])
(4)
rt=σ(wr·[ht-1,Ct])
(5)
(6)
(7)
BiGRU為兩個(gè)不同方向的GRU組成.GRU能有效捕獲文本序列信息,但文本數(shù)據(jù)的一般表達(dá)為從左至右,單一方向的GRU只能捕獲某一時(shí)刻前的信息.因此,本文采用雙向GRU網(wǎng)絡(luò)來改善這一問題,利用正反兩方向所捕獲的信息結(jié)合,從整體提取綜合特征,其結(jié)構(gòu)如圖1中GRU模型部分.
注意力模型是用來表示詞語于輸出的結(jié)果之間的相關(guān)性.通過對(duì)語義編碼分配不同的權(quán)重值,從而區(qū)別文本信息的不同重要程度,提升分類效果.本文采用前饋神經(jīng)注意力模型進(jìn)行實(shí)驗(yàn).其相關(guān)公式如(8)~(10).
生成目標(biāo)注意力權(quán)重vt,ht為隱藏單元:
vt=tanh(ht)
(8)
為了使計(jì)算機(jī)能識(shí)別不同類型的文本,將softmax函數(shù)引入,生成概率向量ut:
(9)
通過將注意力權(quán)重配置給ht,使注意力機(jī)制發(fā)揮作用,at為ht的加權(quán)平均值:
(10)
本文研究的是文本多分類問題,故選擇分類函數(shù)為softmax,將輸出概率映射到0到1之間,且所有概率的和將等于1.
(11)
式中:z是一個(gè)向量,zi和zj是其中元素,k為類別數(shù).
求得最小化損失函數(shù)是訓(xùn)練的目標(biāo),故選擇與softmax對(duì)應(yīng)的交叉熵?fù)p失函數(shù),如式(12)所示.
(12)
式中:n為訓(xùn)練數(shù)據(jù)的總數(shù),yj表示真實(shí)標(biāo)記的分布,aj則為訓(xùn)練后的模型的預(yù)測(cè)標(biāo)記分布.
模型優(yōu)化器選擇Adam,此優(yōu)化器結(jié)合了AdaGrad與RMSProp兩種算法的優(yōu)點(diǎn),參數(shù)更新不受梯度影響.如式(13)~(17).
mt=β1mt-1+(1-β1)gt
(13)
vt=β2vt-1+(1-β2)gt2
(14)
(15)
(16)
(17)
式中:α=0.01,β1=0.9,β2=0.999,gt代表時(shí)間步長(zhǎng),ε=10-8.01.
采用10 000條10種不同類別的新聞公開數(shù)據(jù)集作為實(shí)驗(yàn)的語料庫(kù),其各類別數(shù)量如表1所示,且取0.15%作為測(cè)試集.由于是中文語料,對(duì)其進(jìn)行分詞與停用詞預(yù)處理,并設(shè)置文本長(zhǎng)度不超過256個(gè)詞語.利用word2vec將文本內(nèi)容向量化,將類別one-hot編碼進(jìn)行實(shí)驗(yàn).
表1 新聞文本各類別數(shù)量
仿真實(shí)驗(yàn)語言為python3.7,在spyder工具下使用tensorflow-keras框架,CPU處理器.
參數(shù)對(duì)分類效果起直接作用,經(jīng)調(diào)試,具體的參數(shù)設(shè)置如表2所示.
表2 參數(shù)設(shè)置
在NLP中通常用準(zhǔn)確度(Accuracy)、精準(zhǔn)度(Precision)、召回率(Recall)、F1值(Fθ)作為常用評(píng)判模型優(yōu)劣性標(biāo)準(zhǔn).
設(shè)總的測(cè)試集個(gè)數(shù)為TP+TN+FP+FN,其各自代表含義如表3所示.
表3 評(píng)估指標(biāo)參數(shù)相關(guān)含義
準(zhǔn)確度越高,說明分類能力越好,其計(jì)算公式如式(18).
(18)
精準(zhǔn)度的計(jì)算公式如下:
(19)
召回率是對(duì)查全率的評(píng)估,如式(20)所示:
(20)
F1為綜合評(píng)估指標(biāo),如式(21)所示:
(21)
多通道TextCNN-BiGRU-att模型和傳統(tǒng)機(jī)器學(xué)習(xí)方法支持向量機(jī)(SVM)、深度學(xué)習(xí)網(wǎng)絡(luò)TextCNN-att、GRU-att、BiGRU-att、TextCNN-GRU-att比較,在測(cè)試集上計(jì)算準(zhǔn)確率、精準(zhǔn)度、召回率、F1值進(jìn)行評(píng)估,測(cè)得的結(jié)果對(duì)比如表4所示.
表4 不同模型結(jié)果對(duì)比
從表4顯示的6種模型可以看出:通過準(zhǔn)確度、精準(zhǔn)度、召回率、F1值四個(gè)綜合評(píng)估指標(biāo)對(duì)比,本模型的準(zhǔn)確度能達(dá)到94.5%,且所有指標(biāo)都優(yōu)于其他對(duì)比模型.SVM能取得較好的分類效果,但其他6組深度學(xué)習(xí)模型明顯優(yōu)于SVM.考慮到attention機(jī)制用來表示詞語于輸出的結(jié)果之間的相關(guān)性,故對(duì)每一個(gè)深度模型都設(shè)置這一機(jī)制進(jìn)行比較.第2、3組模型為單一的網(wǎng)絡(luò)模型,從結(jié)果分析可以看出,單一思路的局部特征提取和序列特征提取的兩種方法分類效果相近,但四個(gè)綜合評(píng)估指標(biāo)未達(dá)優(yōu)值.設(shè)置3、4組實(shí)驗(yàn)對(duì)比,雙向門控循環(huán)單元效果較優(yōu).第5、6組與之前的3種深度模型對(duì)比,聯(lián)合模型解決了單一思想的不足,有效提高了分類的準(zhǔn)確度,且都高于90%.考慮神經(jīng)網(wǎng)絡(luò)的復(fù)雜程度可能對(duì)分類效果產(chǎn)生影響,設(shè)置5、6組實(shí)驗(yàn)對(duì)比,在本實(shí)驗(yàn)中,5組從四項(xiàng)評(píng)估指標(biāo)看出分類效果略低于6組本文模型.
為了更加直觀反映本文設(shè)置的幾種深度模型的優(yōu)劣,本文選擇繪制出驗(yàn)證集在10個(gè)epoch下的準(zhǔn)確度(acc)和損失率(loss)變化圖,分別如圖5、圖6所示.
圖5 驗(yàn)證集準(zhǔn)確度變化 圖6 驗(yàn)證集損失率變化
從圖5準(zhǔn)確度變化圖可以看出:從宏觀上看,這5種深度模型的準(zhǔn)確度都呈上升趨勢(shì),兩種聯(lián)合模型相對(duì)趨勢(shì)較平穩(wěn),對(duì)于前3種深度模型比波動(dòng)性較小.從微觀上看經(jīng)過4個(gè)epoch后5種模型的準(zhǔn)確度都在80%以上,其中兩種聯(lián)合模型的準(zhǔn)確度都在90%以上.兩種聯(lián)合模型比較,本文提出的模型只有在第9個(gè)epoch時(shí)低于另一聯(lián)合模型,而其余epoch下都較高.本文提出的多通道TextCNN-BiGRU-att模型在較少的epoch下就能獲得較高準(zhǔn)確度,說明能達(dá)到較好的分類效果.
對(duì)于損失率,數(shù)值越小收斂性越好.從圖6可以看出:5種深度模型都在前3個(gè)epoch出現(xiàn)不同程度的下降,CNN模型的下降幅度最大.本文所提出的模型變化趨勢(shì)平穩(wěn),在調(diào)整權(quán)重的過程中,第8個(gè)epoch時(shí)出現(xiàn)上升后下降波動(dòng).其原因可能是某個(gè)參數(shù)的突變影響,這時(shí)模型需要重新學(xué)習(xí)一個(gè)新的數(shù)值,使梯度重新下降.但此模型從總體上看,損失率都低于其他對(duì)比模型,且穩(wěn)定在0.22%左右,即體現(xiàn)出本模型收斂速度快、準(zhǔn)確度高等特點(diǎn).
考慮若只在單一數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),不能保證泛化能力,可能會(huì)出現(xiàn)因?yàn)閿?shù)據(jù)量不足出現(xiàn)過擬合現(xiàn)象.因此,將以本模型為基礎(chǔ),用于航空不安全信息文本之中,進(jìn)行泛化能力實(shí)驗(yàn)的分析.
美國(guó)航空安全事故報(bào)告在線數(shù)據(jù)庫(kù)(ASRS)是世界目前最大的由航空前線人員(包括飛行員、管制員、機(jī)械師、乘務(wù)員和調(diào)度員)提供的自愿性機(jī)密安全信息庫(kù),其中反映了當(dāng)前航空系統(tǒng)中存在的漏洞與隱患.報(bào)告通常包括事故日期(地點(diǎn))、飛行環(huán)境(計(jì)劃、階段、任務(wù))、事故類型及結(jié)果等結(jié)構(gòu)化數(shù)據(jù)和對(duì)整個(gè)航空事件經(jīng)過進(jìn)行描述的非結(jié)構(gòu)化數(shù)據(jù).選擇ASRS為主要數(shù)據(jù)來源,并收集篩選我國(guó)飛行不安全事件或事故對(duì)語料庫(kù)進(jìn)行擴(kuò)充,共產(chǎn)生 2 267 條數(shù)據(jù).
將文本按照上述模型步驟進(jìn)行分析,其結(jié)果與劉夢(mèng)娜[20]所建立的ASRS文本分類模型進(jìn)行比較,其結(jié)果如表5所示.
表5 ASRS文本分類模型比較結(jié)果
本文模型與比較模型準(zhǔn)確度相差不大,雖然其準(zhǔn)確度只提高了0.2%,但足以證明其模型的泛化能力良好,故為后續(xù)研究提供了參考.
提出了多通道TextCNN-BiGRU-att文本分類模型,利用TextCNN抽取文本在3,4,5大小的窗口下的局部特征信息.同時(shí)將所提取的特征利用BiGRU深度學(xué)習(xí)其相互之間的聯(lián)系,從而提高模型的特征表示能力.根據(jù)仿真實(shí)驗(yàn)可以看出多通道TextCNN-BiGRU-att較傳統(tǒng)模型有效提升了分類準(zhǔn)確率,且收斂速度較快.并且將此模型應(yīng)用于ASRS航空不安全信息文本之中,具有較為良好的泛化能力,因此,為該領(lǐng)域的相關(guān)研究工作提供了一定的思路.