胥心心 朱全銀 孫紀舟 王文川
(淮陰工學院計算機與軟件工程學院 淮安 223001)
由于工業(yè)的飛速發(fā)展,危化品事故多發(fā),造成重大人員傷亡以及嚴重的社會后果。例如,2015年的“8.12天津濱海新區(qū)爆炸事故”傷亡慘重,直接經(jīng)濟損失巨大,是近年來中國代價最高的災難事件之一。經(jīng)調(diào)查組認定瑞海公司違法建設危險貨物堆場,違規(guī)存儲危險貨物,安全管理混亂。2018 年北京交通大學實驗室發(fā)生鎂粉粉塵云爆炸事故,造成現(xiàn)場3 名學生死亡。而經(jīng)事故調(diào)查組認定北京交通大學相關人員違規(guī)開展試驗、冒險作業(yè),違法存儲危險化學品。因此,危險化學品的監(jiān)管意義重大,加強對?;返陌踩O(jiān)管是一項非常緊迫的任務。危化品信息問答系統(tǒng)輔助相關工作人員對于?;返纳a(chǎn)、存儲等環(huán)節(jié)進行監(jiān)管,從而強化相關人員的操作安全行為和安全意識。
信息檢索可以定位包含相關信息的文檔,用戶需要從有序列表中提取有用信息[1]。與信息檢索系統(tǒng)不同,問答系統(tǒng)直接根據(jù)用戶的問題提供精確的答案[2],而不是整篇文檔。而整篇文檔需用戶選擇有效信息,用戶搜索相關答案效率較低。典型的問答系統(tǒng)主要由問題處理、文檔處理、答案處理[3]三個階段組成,每個階段都有特定的挑戰(zhàn)和問題。
問題處理是問答系統(tǒng)的重要環(huán)節(jié),問句分類[4]作為問題處理中最基礎的任務,為問答系統(tǒng)答案處理環(huán)節(jié)提供重要支撐。問句分類是根據(jù)給定問題將其映射到相應類別中,以確定問句所屬類型,從而有效縮小候選答案范圍[5]。同時問句分類也是答案抽取制定策略的關鍵因素[6]。
每日用戶在?;飞鐓^(qū)問答中提問達千余條,而目前主要依賴人工和淺層學習模型篩選特征對問答數(shù)據(jù)進行管理。人工處理需要耗費大量人力物力而且響應時間長,淺層學習模型不能很好的理解語義信息,且?;穯柧湔Z義復雜、文本長度較短,導致文本特征信息提取、語義理解困難,進而影響?;穯柧浞诸悳蚀_度,進一步影響?;穯柎鹣到y(tǒng)答案抽取準確度。本文使用人工構建專業(yè)詞典用于Bert(Bidirectional Encoder Representations from Transformers)模型[7]預訓練,再利用訓練好的Bert語言模型處理問句文本,得到的輸出作為雙層BiLSTM+Attention[8~9]和卷積神經(jīng)網(wǎng)絡[10]的輸入來提取問句文本特征,再將融合后的特征輸入softmax 層分類。融合?;穼I(yè)詞匯表的Bert 模型可以增強專業(yè)詞匯的語義表達能力。使用雙層BiLSTM 更好地捕捉長期依賴關系,提取全局特征信息,同時加入注意力機制為特征添加權重,降低噪聲干擾。而卷積神經(jīng)網(wǎng)絡能更好地提取文本的局部特征,從不同語義空間增強關鍵特征和語義信息表達。通過該模型能更好地抽取出?;穯柧涞恼Z義信息以及關鍵特征。
中文問句分類是文本分類任務之一。問句分類的準確性對問答系統(tǒng)答案處理有重要作用,問句分類準確度越高,問答系統(tǒng)整體性能越好。1960年,Maron 和Kuhns[11]根據(jù)關鍵詞對文本進行分類。早期的文本分類都是基于規(guī)則的思想對文本進行分類,遷移性差,具有很大的局限性。90 年代,基于規(guī)則的分類方法已經(jīng)不適用于處理大量復雜的文本數(shù)據(jù)。隨著機器學習算法的流行,Wu等[12]提出將自然語言處理技術應用于問答系統(tǒng)以獲得性能優(yōu)良的問答系統(tǒng)。問答系統(tǒng)的問句分類問題開始受到越來越多學者關注,Cortes 等[13]提出支持向量機模型(Support Vector Machine,SVM)解決了線性分類器的線性不可分問題。Hasan 等[14]提出了一種基于支持向量機和模式匹配的問句分類方法,將問題分類三大類,即“誰”“哪里”和“什么”。引入五種模式分析“什么”問題,并用“定義”“人”“位置”或“對象”標記問題,在數(shù)據(jù)集Sahih Al-Bukhari上實驗結(jié)果較佳。Yin 等[15]提出了一種位置隱私保護方法,利用信息樹模型解決了位置信息由于高稀疏性的特點而難以表達的問題,同時引入噪聲信息覆蓋原軌跡和位置信息。Barigou 等[16]從分類精度、分類效率等方面分析基于KNN(K-Nearest Neighbor,K 最近鄰)算法對文本分類的影響。
機器學習方法在文本分類上取得良好的效果,但是問句分類主要是通過線性或淺層非線性模型。當面對大量復雜的文本時,機器學習算法效果較差并且人工處理大量文本效率較低。隨著深度學習在自然語言處理領域嶄露頭角,研究者提出了許多應用于文本分類的深度學習模型,在文本分類數(shù)據(jù)集上取得很好的表現(xiàn)。Bengio 等[17]首次使用神經(jīng)網(wǎng)絡模型訓練數(shù)據(jù),解決維度爆炸問題。Collobert等[18]提出利用訓練好的詞向量來解決自然語言處理中的任務,首次將卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)用于自然語言處理任務。Kalchbrenner等[19]將卷積神經(jīng)網(wǎng)絡用于問句分類和情感分類。Dachapally等[20]提出了一種擴展的CNN結(jié)構,提升了小類預測的準確度。
循環(huán)神經(jīng)網(wǎng)絡(Recurrtent Neural Network,RNN)能更好地捕捉上下文依賴。Wang 等[21]提出一種堆疊式雙向長短期記憶網(wǎng)絡從問句中順序讀取單詞,然后輸出相關性系數(shù)。Rozental 等[22]將GRU(Gate Recurrent Unit,門循環(huán)單元)與CNN 結(jié)合訓練每個子任務的堆疊模型,在情感分類上取得較好的分類結(jié)果。王輝等[23]提出一種改進的加權連續(xù)詞袋與注意力雙向長短期記憶網(wǎng)絡的文本分類模型,在復旦大學語料分類任務中分類效果提升明顯。Ruder 等[24]使用分層雙向LSTM 對評論中句子的相互依賴性建模,實驗結(jié)果表明分層模型優(yōu)于兩個非分層基線。
隨著注意力機制(Attention)的提出,研究人員開始將其應用到問題分類中。Yang 等[25]使用注意力機制來關注每個單詞和句子的重要性。Yu 等[26]提出一種用于問題分類的多級注意力卷積LSTM神經(jīng)網(wǎng)絡(Mutil-level Attention Convolutional-Long Short-Term Memory,MAC-LSTM)。該模型利用疑問詞注意機制來關注問題語境中的疑問詞特征,同時利用混合網(wǎng)絡的有點捕獲全局特征、局部特征以及時間序列特征。實驗表明比傳統(tǒng)的機器學習方法具有更好的性能。
現(xiàn)有的危化品問句文本較短,而使用傳統(tǒng)分類方法無法解決特征信息提取以及語義理解困難的問題,從而導致問句文本分類效果較差,進一步影響?;穯柎鸫鸢赋槿蚀_度。上述研究都不是針對?;穯柎痤I域進行的研究,所以文本有必要在這方面進行一些研究。因此,本文提出了一種基于多特征融合的ATT-BiLSTM-CNN ?;穯柧浞诸惙椒▽ξ;奉I域的問答系統(tǒng)中的問句分類問題進行研究來提升危化品問句分類模型的準確度。
本文提出了一種基于多特征融合的ATT-BiLSTM-CNN ?;穯柧浞诸惖哪P?,以下將該模型簡稱為QCBCA(Question Classification based on BiLSTM-CNN-Attention Network)模型。QCBCA 模型主要由三個部部分組成,包括文本表示層、特征提取層和輸出層。文本表示層利用Bert 模型增強語義表達。特征提取層利用CNN 更好地提取局部特征信息,而使用雙層BiLSTM 模型提高特征提取能力以及彌補CNN 在時序上特征提取的劣勢。在雙層BiLSTM 模型中引入Attention機制增強關鍵特征降低非關鍵特征噪聲。模型具體結(jié)構如圖1 所示。
圖1 模型整體框架圖
首先構建?;穼I(yè)詞匯表,其次對?;穯柧湮谋具M行處理,包括數(shù)據(jù)清洗、數(shù)據(jù)預處理等操作,然后將處理后的文本作為Bert 模型的輸入,得到向量化文本。接著,將向量化文本分別作為雙層BiLSTM+Attention 和CNN 的輸入,進行特征提取操作。最后融合提取到的特征并將其作為softmax 層的輸入得到類別輸出。
?;穯柧渲械幕ぴ~匯專業(yè)性強,造成問句文本的語義表達困難。傳統(tǒng)的深度學習方法是基于非動態(tài)字符或詞向量作為輸入,一個詞只有一個詞向量,這種相對就簡單的信息覆蓋不能很好地區(qū)分歧義并為后續(xù)步驟提供更深層次的語義信息。
為了解決上述問題,本文通過人工收集并構建危化品專業(yè)詞匯表,并利用專業(yè)詞匯訓練Bert 模型。將處理后的危化品問句文本作為訓練好的Bert 語言模型輸入,進行訓練得到問句詞向量表示。Bert輸入部分是一個線性序列,嵌入層包含三種embedding,如圖2所示。
圖2 Bert模型嵌入層
Token embeddings 將輸入的句子詞向量化,第一個單詞是CLS,用于Segmentation embeddings 層的分類任務。Segmentation embeddings 用來區(qū)別兩個句子,涉及預訓練任務中對下一句的預測。Position embeddings 表示位置信息,使模型反映句子的順序信息。
3.3.1 BiLSTM
LSTM(Long Short-Term Memory Network,長短期記憶網(wǎng)絡)是一種循環(huán)神經(jīng)網(wǎng)絡,該網(wǎng)絡利用遺忘門和輸入們不斷更新記憶信息,從而有效解決梯度消失和梯度爆炸問題。LSTM結(jié)構如圖3所示。
圖3 LSTM結(jié)構圖
如圖3 所示的水平線表示LSTM 的單元狀態(tài),而單元狀態(tài)是LSTM 的關鍵。LSTM 首先通過遺忘門的sigmoid 層決定丟棄哪種信息。以ht-1和xt為輸入,在Ct-1單元輸出一個介于0 和1 之間的數(shù)。其中1 代表完全保留,0 代表完全遺忘。tanh 層創(chuàng)建一個新的候選向量。再將舊單元狀態(tài)Ct-1更新為Ct。tanh 將狀態(tài)值映射到-1~1 之間,再將其與sigmoid門輸出值相乘,得到最終輸出結(jié)果。
由圖1 可知,將Bert 模型處理后得到的中文問句的詞向量作為BiLSTM(Bi-directional Long Short-Term Memory Network,雙向長短期記憶網(wǎng)絡)的輸入。BiLSTM 是對長期記憶網(wǎng)絡的改進,有兩層LSTM,分別從正反兩個方向讀取詞向量,然后計算輸出一個固定維度的向量。BiLSTM 包含前向LSTM 和 后向LSTM 分別 讀取的特征序列。BiLSTM的輸出如下所示:
為能更好地提取文本特征,本文在BiLSTM 結(jié)構基礎上增加了一層雙向的LSTM。雙層BiLSTM按時序展開結(jié)構如圖4所示。
圖4 雙層BiLSTM結(jié)構圖
雙層BiLSTM將第一層的每個時間步的輸出作為第二層的時間步的輸入,最后將向量進行拼接。每層的LSTM 將上文信息與下文信息進行拼接作為當前向量。第一層的雙向LSTM 學習句法特征,第二層的雙向LSTM 學習詞義特征。最后將句法特征與詞義特征融合作為softmax 層的輸入,計算得到問句最終所屬類別。雙層雙向LSTM 可以根據(jù)上下文動態(tài)調(diào)整word embedding,從而解決一詞多義問題。雙層BiLSTM可以更深層次地提取問句文本特征,解決梯度爆炸問題,并且能夠很好地處理時序預測問題。
3.3.2 Attention
?;穯柧湮谋驹谔卣魈崛∵^程中會存在一些非關鍵特征的干擾從而影響分類效果,所以本文在雙層BiLSTM 模型中引入Attention為特征分配權重。注意力機制中的注意力模塊自動學習注意力權重αij,自動捕獲編碼器隱藏在狀態(tài)?i和解碼器隱藏狀態(tài)si之間的相關性。注意力權重用于構建內(nèi)容向量C并且將該向量作為輸入傳遞給解碼器。內(nèi)容向量Cj是編碼器所有隱藏狀態(tài)即相應的注意力權重的加權和,公式如下:
其中,αij表示注意力權重,?i為候選狀態(tài),Cj表示每個解碼位置j的內(nèi)容向量C。
Attention 為雙層BiLSTM 層的每個輸出分配權重,而權重的分配大小將會影響問句分類的最終結(jié)果。注意力機制可以為不同的特征表示分配權重,增強最相關特征表示,忽略噪聲和冗余。因此本文在BiLSTM 網(wǎng)絡中加入注意力模型,通過檢查權重來評估首選嵌入下游任務的嵌入,提高可解釋性以及更深入地了解BiLSTM神經(jīng)網(wǎng)絡的內(nèi)部工作。雙層BiLSTM+Attention 在進行特征提取時忽略無關的特征。融合Attenion 的雙層BiLSTM 結(jié)構如圖5所示。
圖5 雙層BiLSTM+Attention結(jié)構圖
圖5 使用Bert 模型的輸出作為輸入訓練雙層BiLSTM+Attention 模型,問句分類操作后能夠得到相關問句類型,而答案候選類型應與問句類型一致,因此在答案抽取階段就會將無關的候選答案過濾,從而縮小答案候選范圍,提升?;穯柧浞诸惸P偷臏蚀_度。
3.3.3 CNN
卷積神經(jīng)網(wǎng)絡是由卷積層和池化層兩部分組成。CNN是一種前饋神經(jīng)網(wǎng)絡,卷積層和池化層交錯。卷積層由計算單元組成,每個計算單元對應輸入的一個小區(qū)域,而這些小區(qū)域覆蓋整個數(shù)據(jù)。RNN 具有循環(huán)連接,可以一次讀取單詞以及前一個單詞的輸出,但在并行處理上效果較差。雖然RNN 和CNN 都可以使用詞序,但是CNN 的并行處理能力在面臨大量的文本訓練數(shù)據(jù)計算時效果更好并且CNN 可以有效提取局部特征,充分利用關鍵信息提升危化品問句分類效果。本文使用尺寸為5*5 的卷積核對輸入分別進行卷積計算,接著對所有輸出部分的通道進行時序最大池化操作,再將池化后的結(jié)果向量進行拼接,最后將拼接后的向量輸出。
在輸出層,將CNN 卷積神經(jīng)網(wǎng)絡和雙層BiLSTM+Attention 模型提取到的特征進行融合,將融合后的特征作為softmax 層的輸入得到分類結(jié)果。softmax 層計算每個分類的概率,根據(jù)計算得到概率最大的問句分類類別作為輸出。sofmax 將多個神經(jīng)元的輸出映射到(0,1)區(qū)間從而進行分類。公式如下:
其中,z表示上一層輸出,zi表示上一層輸出Z 中的第i個元素,維度為C,s(z)i表示預測對象屬于第C類的概率。
本文使用公用數(shù)據(jù)集THCNEWS 和自采集數(shù)據(jù)集作為實驗數(shù)據(jù)。THCNEWS 是清華大學自然語言處理組根據(jù)新浪新聞2005-2011 年間的歷史數(shù)據(jù)篩選過濾生成的,從中抽取5 萬條作為實驗數(shù)據(jù)。本文使用網(wǎng)絡爬蟲技術采集?;废嚓P網(wǎng)站的問答文本作為自采集實驗數(shù)據(jù),共52146 條?;穯柎鹞谋緮?shù)據(jù)。首先對采集到的數(shù)據(jù)進行清洗、預處理,再以7∶3 的比例劃分數(shù)據(jù)為訓練集、測試集用于實驗。自采集實驗數(shù)據(jù)分布如表1所示。
表1 危化品問句類別分布
根據(jù)國家技術監(jiān)督局發(fā)布的文件《常用危險化學品的分類及標志》將化學品分類分為9 類,第一類:爆炸品;第二類:壓縮氣體和液化氣體;第三類:易燃液體;第四類:易燃固體、自燃物品和遇濕易燃物品;第五類:氧化劑和有機過氧化物;第六類:有毒品;第七類:放射性物品;第八類:腐蝕品;第九類:非危險化學品。因此,本文實驗將以此標準進行分類類別實驗。
本文首先對爬取到的?;穯柧湮谋緮?shù)據(jù)進行清洗、預處理,接著對問句文本進行人工標注。隨機抽取36503 條用于模型訓練,15643 條用于驗證模型效果。
在模型訓練過程中,使用的模型參數(shù)設置如表2所示。
表2 訓練參數(shù)
為了驗證本文問句分類模型的有效性,將其與CNN、BiLSTM、BiLSTM+CNN、BiLSTM+Attention+CNN 進行對比測試。本文采用準確率(Precision)、召回率(Recall)、F1 值作為實驗評價標準,實驗結(jié)果如表3所示。
實驗結(jié)果可以看出BCAQC 模型比其他模型效果好,表明該模型的優(yōu)越性。由實驗結(jié)果可見混合模型的準確度比單模型的準確度高,驗證了混合模型增強特征提取的能力。加入Attention 的混合模型比未引入Attention 的模型準確度分別提高了1.45%、1.53%、1.45%,可見Attention 能夠增強關鍵特征,進而提高問句分類的準確度。表3 使用雙層BiLSTM 模型的效果分別提高了0.9%、0.89%、0.88%,可見雙層BiLSTM 特征提取能力優(yōu)于BiLSTM。使用了Bert 模型可以增強語義表征,提高模型分類性能。由于?;吩~匯專業(yè)性較強,對于特征提取、語義理解效果較差,而融合危化品專業(yè)詞匯表后的Bert模型在?;穯柧浞诸愔斜憩F(xiàn)較佳,可以更好地提高專業(yè)詞匯的語義表達。
表4 是使用BCAQC 模型對?;穯柧湮谋具M行處理,在爆炸品;壓縮氣體和液化氣體;易燃液體;易燃固體、自燃物品和遇濕易燃物品;氧化劑和有機過氧化物;有毒品;放射性物品;腐蝕品;非危險化學品9 個類別的分類精確率、召回率和F1 值。平均精確率94.79%,平均召回率95.27%,平均F1值94.67%,在?;穯柧浞诸惾蝿罩斜憩F(xiàn)良好。由于易燃固體、自燃物品和遇濕易燃物品是常見問題,文本數(shù)據(jù)量最多,而深度學習模型需要大量數(shù)據(jù)支撐,由表4 可見在第八類中精確率、召回率和F1值分別達到了97.81%、98.13%、97.85%。第二類文本數(shù)據(jù)量最少,與其他類別相比效果較弱,因此數(shù)據(jù)量會影響模型分類效果。
表4 模型類別分類結(jié)果/%
本文將THCNEWS 數(shù)據(jù)集劃分為14 個分類類別,包括財經(jīng)、彩票、房產(chǎn)、股票、家居、教育、科技、社會、時尚、時政、體育、星座、游戲、娛樂。利用THCNEWS 數(shù)據(jù)作為實驗數(shù)據(jù),驗證本文問句分類模型的有效性,實驗結(jié)果如表5所示。
表5 模型分類結(jié)果/%
由表5 可以看出本文提出的QCBCA 模型分類效果最佳。該模型與CNN、BiLSTM、BiLSTM+CNN、BiLSTM+Attention+CNN 等算法相比精確率、召回率和F1 值分別提高了7.05%~10.2%、8.09%~11.38%、9.28%~15.28%。
綜上,本文提出的模型可以有效提取問句特征并且增強關鍵特征,進一步提高問句文本的語義理解能力,在?;分形膯柧浞诸惾蝿丈媳憩F(xiàn)出了優(yōu)越的性能。
在自然語言處理任務上,與傳統(tǒng)的機器學習方法相比,深度學習抽象了文本之間的聯(lián)系。問句分類作為問答系統(tǒng)的關鍵部分,問句分類的準確度影響問答系統(tǒng)中的答案抽取的準確度。針對?;穯柧湮谋镜奶攸c,本文提出了一種基于多特征融合的ATT-BiLSTM-CNN 問句分類模型,增強?;穯柧湮谋镜年P鍵特征、語義理解,滿足?;沸畔柎鹣到y(tǒng)的實際需求。實驗結(jié)果表明該問句分類模型的F1 值、準確率、召回率均有提升。將多種不同類型的特征進行組合以及在更深層次的分類任務中進一步優(yōu)化?;穯柧浞诸惸P蛯⑹俏磥硌芯康闹饕较?。