胥心心 朱全銀 孫紀舟 王文川
(淮陰工學院計算機與軟件工程學院 淮安 223001)
由于工業的飛速發展,危化品事故多發,造成重大人員傷亡以及嚴重的社會后果。例如,2015年的“8.12天津濱海新區爆炸事故”傷亡慘重,直接經濟損失巨大,是近年來中國代價最高的災難事件之一。經調查組認定瑞海公司違法建設危險貨物堆場,違規存儲危險貨物,安全管理混亂。2018 年北京交通大學實驗室發生鎂粉粉塵云爆炸事故,造成現場3 名學生死亡。而經事故調查組認定北京交通大學相關人員違規開展試驗、冒險作業,違法存儲危險化學品。因此,危險化學品的監管意義重大,加強對危化品的安全監管是一項非常緊迫的任務。危化品信息問答系統輔助相關工作人員對于危化品的生產、存儲等環節進行監管,從而強化相關人員的操作安全行為和安全意識。
信息檢索可以定位包含相關信息的文檔,用戶需要從有序列表中提取有用信息[1]。與信息檢索系統不同,問答系統直接根據用戶的問題提供精確的答案[2],而不是整篇文檔。而整篇文檔需用戶選擇有效信息,用戶搜索相關答案效率較低。典型的問答系統主要由問題處理、文檔處理、答案處理[3]三個階段組成,每個階段都有特定的挑戰和問題。
問題處理是問答系統的重要環節,問句分類[4]作為問題處理中最基礎的任務,為問答系統答案處理環節提供重要支撐。問句分類是根據給定問題將其映射到相應類別中,以確定問句所屬類型,從而有效縮小候選答案范圍[5]。同時問句分類也是答案抽取制定策略的關鍵因素[6]。
每日用戶在危化品社區問答中提問達千余條,而目前主要依賴人工和淺層學習模型篩選特征對問答數據進行管理。人工處理需要耗費大量人力物力而且響應時間長,淺層學習模型不能很好的理解語義信息,且危化品問句語義復雜、文本長度較短,導致文本特征信息提取、語義理解困難,進而影響危化品問句分類準確度,進一步影響危化品問答系統答案抽取準確度。本文使用人工構建專業詞典用于Bert(Bidirectional Encoder Representations from Transformers)模型[7]預訓練,再利用訓練好的Bert語言模型處理問句文本,得到的輸出作為雙層BiLSTM+Attention[8~9]和卷積神經網絡[10]的輸入來提取問句文本特征,再將融合后的特征輸入softmax 層分類。融合危化品專業詞匯表的Bert 模型可以增強專業詞匯的語義表達能力。使用雙層BiLSTM 更好地捕捉長期依賴關系,提取全局特征信息,同時加入注意力機制為特征添加權重,降低噪聲干擾。而卷積神經網絡能更好地提取文本的局部特征,從不同語義空間增強關鍵特征和語義信息表達。通過該模型能更好地抽取出危化品問句的語義信息以及關鍵特征。
中文問句分類是文本分類任務之一。問句分類的準確性對問答系統答案處理有重要作用,問句分類準確度越高,問答系統整體性能越好。1960年,Maron 和Kuhns[11]根據關鍵詞對文本進行分類。早期的文本分類都是基于規則的思想對文本進行分類,遷移性差,具有很大的局限性。90 年代,基于規則的分類方法已經不適用于處理大量復雜的文本數據。隨著機器學習算法的流行,Wu等[12]提出將自然語言處理技術應用于問答系統以獲得性能優良的問答系統。問答系統的問句分類問題開始受到越來越多學者關注,Cortes 等[13]提出支持向量機模型(Support Vector Machine,SVM)解決了線性分類器的線性不可分問題。Hasan 等[14]提出了一種基于支持向量機和模式匹配的問句分類方法,將問題分類三大類,即“誰”“哪里”和“什么”。引入五種模式分析“什么”問題,并用“定義”“人”“位置”或“對象”標記問題,在數據集Sahih Al-Bukhari上實驗結果較佳。Yin 等[15]提出了一種位置隱私保護方法,利用信息樹模型解決了位置信息由于高稀疏性的特點而難以表達的問題,同時引入噪聲信息覆蓋原軌跡和位置信息。Barigou 等[16]從分類精度、分類效率等方面分析基于KNN(K-Nearest Neighbor,K 最近鄰)算法對文本分類的影響。
機器學習方法在文本分類上取得良好的效果,但是問句分類主要是通過線性或淺層非線性模型。當面對大量復雜的文本時,機器學習算法效果較差并且人工處理大量文本效率較低。隨著深度學習在自然語言處理領域嶄露頭角,研究者提出了許多應用于文本分類的深度學習模型,在文本分類數據集上取得很好的表現。Bengio 等[17]首次使用神經網絡模型訓練數據,解決維度爆炸問題。Collobert等[18]提出利用訓練好的詞向量來解決自然語言處理中的任務,首次將卷積神經網絡(Convolutional Neural Network,CNN)用于自然語言處理任務。Kalchbrenner等[19]將卷積神經網絡用于問句分類和情感分類。Dachapally等[20]提出了一種擴展的CNN結構,提升了小類預測的準確度。
循環神經網絡(Recurrtent Neural Network,RNN)能更好地捕捉上下文依賴。Wang 等[21]提出一種堆疊式雙向長短期記憶網絡從問句中順序讀取單詞,然后輸出相關性系數。Rozental 等[22]將GRU(Gate Recurrent Unit,門循環單元)與CNN 結合訓練每個子任務的堆疊模型,在情感分類上取得較好的分類結果。王輝等[23]提出一種改進的加權連續詞袋與注意力雙向長短期記憶網絡的文本分類模型,在復旦大學語料分類任務中分類效果提升明顯。Ruder 等[24]使用分層雙向LSTM 對評論中句子的相互依賴性建模,實驗結果表明分層模型優于兩個非分層基線。
隨著注意力機制(Attention)的提出,研究人員開始將其應用到問題分類中。Yang 等[25]使用注意力機制來關注每個單詞和句子的重要性。Yu 等[26]提出一種用于問題分類的多級注意力卷積LSTM神經網絡(Mutil-level Attention Convolutional-Long Short-Term Memory,MAC-LSTM)。該模型利用疑問詞注意機制來關注問題語境中的疑問詞特征,同時利用混合網絡的有點捕獲全局特征、局部特征以及時間序列特征。實驗表明比傳統的機器學習方法具有更好的性能。
現有的危化品問句文本較短,而使用傳統分類方法無法解決特征信息提取以及語義理解困難的問題,從而導致問句文本分類效果較差,進一步影響危化品問答答案抽取準確度。上述研究都不是針對危化品問答領域進行的研究,所以文本有必要在這方面進行一些研究。因此,本文提出了一種基于多特征融合的ATT-BiLSTM-CNN 危化品問句分類方法對危化品領域的問答系統中的問句分類問題進行研究來提升危化品問句分類模型的準確度。
本文提出了一種基于多特征融合的ATT-BiLSTM-CNN 危化品問句分類的模型,以下將該模型簡稱為QCBCA(Question Classification based on BiLSTM-CNN-Attention Network)模型。QCBCA 模型主要由三個部部分組成,包括文本表示層、特征提取層和輸出層。文本表示層利用Bert 模型增強語義表達。特征提取層利用CNN 更好地提取局部特征信息,而使用雙層BiLSTM 模型提高特征提取能力以及彌補CNN 在時序上特征提取的劣勢。在雙層BiLSTM 模型中引入Attention機制增強關鍵特征降低非關鍵特征噪聲。模型具體結構如圖1 所示。

圖1 模型整體框架圖
首先構建危化品專業詞匯表,其次對危化品問句文本進行處理,包括數據清洗、數據預處理等操作,然后將處理后的文本作為Bert 模型的輸入,得到向量化文本。接著,將向量化文本分別作為雙層BiLSTM+Attention 和CNN 的輸入,進行特征提取操作。最后融合提取到的特征并將其作為softmax 層的輸入得到類別輸出。
危化品問句中的化工詞匯專業性強,造成問句文本的語義表達困難。傳統的深度學習方法是基于非動態字符或詞向量作為輸入,一個詞只有一個詞向量,這種相對就簡單的信息覆蓋不能很好地區分歧義并為后續步驟提供更深層次的語義信息。
為了解決上述問題,本文通過人工收集并構建危化品專業詞匯表,并利用專業詞匯訓練Bert 模型。將處理后的危化品問句文本作為訓練好的Bert 語言模型輸入,進行訓練得到問句詞向量表示。Bert輸入部分是一個線性序列,嵌入層包含三種embedding,如圖2所示。

圖2 Bert模型嵌入層
Token embeddings 將輸入的句子詞向量化,第一個單詞是CLS,用于Segmentation embeddings 層的分類任務。Segmentation embeddings 用來區別兩個句子,涉及預訓練任務中對下一句的預測。Position embeddings 表示位置信息,使模型反映句子的順序信息。
3.3.1 BiLSTM
LSTM(Long Short-Term Memory Network,長短期記憶網絡)是一種循環神經網絡,該網絡利用遺忘門和輸入們不斷更新記憶信息,從而有效解決梯度消失和梯度爆炸問題。LSTM結構如圖3所示。

圖3 LSTM結構圖
如圖3 所示的水平線表示LSTM 的單元狀態,而單元狀態是LSTM 的關鍵。LSTM 首先通過遺忘門的sigmoid 層決定丟棄哪種信息。以ht-1和xt為輸入,在Ct-1單元輸出一個介于0 和1 之間的數。其中1 代表完全保留,0 代表完全遺忘。tanh 層創建一個新的候選向量。再將舊單元狀態Ct-1更新為Ct。tanh 將狀態值映射到-1~1 之間,再將其與sigmoid門輸出值相乘,得到最終輸出結果。
由圖1 可知,將Bert 模型處理后得到的中文問句的詞向量作為BiLSTM(Bi-directional Long Short-Term Memory Network,雙向長短期記憶網絡)的輸入。BiLSTM 是對長期記憶網絡的改進,有兩層LSTM,分別從正反兩個方向讀取詞向量,然后計算輸出一個固定維度的向量。BiLSTM 包含前向LSTM 和 后向LSTM 分別 讀取的特征序列。BiLSTM的輸出如下所示:
為能更好地提取文本特征,本文在BiLSTM 結構基礎上增加了一層雙向的LSTM。雙層BiLSTM按時序展開結構如圖4所示。

圖4 雙層BiLSTM結構圖
雙層BiLSTM將第一層的每個時間步的輸出作為第二層的時間步的輸入,最后將向量進行拼接。每層的LSTM 將上文信息與下文信息進行拼接作為當前向量。第一層的雙向LSTM 學習句法特征,第二層的雙向LSTM 學習詞義特征。最后將句法特征與詞義特征融合作為softmax 層的輸入,計算得到問句最終所屬類別。雙層雙向LSTM 可以根據上下文動態調整word embedding,從而解決一詞多義問題。雙層BiLSTM可以更深層次地提取問句文本特征,解決梯度爆炸問題,并且能夠很好地處理時序預測問題。
3.3.2 Attention
危化品問句文本在特征提取過程中會存在一些非關鍵特征的干擾從而影響分類效果,所以本文在雙層BiLSTM 模型中引入Attention為特征分配權重。注意力機制中的注意力模塊自動學習注意力權重αij,自動捕獲編碼器隱藏在狀態?i和解碼器隱藏狀態si之間的相關性。注意力權重用于構建內容向量C并且將該向量作為輸入傳遞給解碼器。內容向量Cj是編碼器所有隱藏狀態即相應的注意力權重的加權和,公式如下:
其中,αij表示注意力權重,?i為候選狀態,Cj表示每個解碼位置j的內容向量C。
Attention 為雙層BiLSTM 層的每個輸出分配權重,而權重的分配大小將會影響問句分類的最終結果。注意力機制可以為不同的特征表示分配權重,增強最相關特征表示,忽略噪聲和冗余。因此本文在BiLSTM 網絡中加入注意力模型,通過檢查權重來評估首選嵌入下游任務的嵌入,提高可解釋性以及更深入地了解BiLSTM神經網絡的內部工作。雙層BiLSTM+Attention 在進行特征提取時忽略無關的特征。融合Attenion 的雙層BiLSTM 結構如圖5所示。

圖5 雙層BiLSTM+Attention結構圖
圖5 使用Bert 模型的輸出作為輸入訓練雙層BiLSTM+Attention 模型,問句分類操作后能夠得到相關問句類型,而答案候選類型應與問句類型一致,因此在答案抽取階段就會將無關的候選答案過濾,從而縮小答案候選范圍,提升危化品問句分類模型的準確度。
3.3.3 CNN
卷積神經網絡是由卷積層和池化層兩部分組成。CNN是一種前饋神經網絡,卷積層和池化層交錯。卷積層由計算單元組成,每個計算單元對應輸入的一個小區域,而這些小區域覆蓋整個數據。RNN 具有循環連接,可以一次讀取單詞以及前一個單詞的輸出,但在并行處理上效果較差。雖然RNN 和CNN 都可以使用詞序,但是CNN 的并行處理能力在面臨大量的文本訓練數據計算時效果更好并且CNN 可以有效提取局部特征,充分利用關鍵信息提升危化品問句分類效果。本文使用尺寸為5*5 的卷積核對輸入分別進行卷積計算,接著對所有輸出部分的通道進行時序最大池化操作,再將池化后的結果向量進行拼接,最后將拼接后的向量輸出。
在輸出層,將CNN 卷積神經網絡和雙層BiLSTM+Attention 模型提取到的特征進行融合,將融合后的特征作為softmax 層的輸入得到分類結果。softmax 層計算每個分類的概率,根據計算得到概率最大的問句分類類別作為輸出。sofmax 將多個神經元的輸出映射到(0,1)區間從而進行分類。公式如下:
其中,z表示上一層輸出,zi表示上一層輸出Z 中的第i個元素,維度為C,s(z)i表示預測對象屬于第C類的概率。
本文使用公用數據集THCNEWS 和自采集數據集作為實驗數據。THCNEWS 是清華大學自然語言處理組根據新浪新聞2005-2011 年間的歷史數據篩選過濾生成的,從中抽取5 萬條作為實驗數據。本文使用網絡爬蟲技術采集危化品相關網站的問答文本作為自采集實驗數據,共52146 條危化品問答文本數據。首先對采集到的數據進行清洗、預處理,再以7∶3 的比例劃分數據為訓練集、測試集用于實驗。自采集實驗數據分布如表1所示。

表1 危化品問句類別分布
根據國家技術監督局發布的文件《常用危險化學品的分類及標志》將化學品分類分為9 類,第一類:爆炸品;第二類:壓縮氣體和液化氣體;第三類:易燃液體;第四類:易燃固體、自燃物品和遇濕易燃物品;第五類:氧化劑和有機過氧化物;第六類:有毒品;第七類:放射性物品;第八類:腐蝕品;第九類:非危險化學品。因此,本文實驗將以此標準進行分類類別實驗。
本文首先對爬取到的危化品問句文本數據進行清洗、預處理,接著對問句文本進行人工標注。隨機抽取36503 條用于模型訓練,15643 條用于驗證模型效果。
在模型訓練過程中,使用的模型參數設置如表2所示。

表2 訓練參數
為了驗證本文問句分類模型的有效性,將其與CNN、BiLSTM、BiLSTM+CNN、BiLSTM+Attention+CNN 進行對比測試。本文采用準確率(Precision)、召回率(Recall)、F1 值作為實驗評價標準,實驗結果如表3所示。
實驗結果可以看出BCAQC 模型比其他模型效果好,表明該模型的優越性。由實驗結果可見混合模型的準確度比單模型的準確度高,驗證了混合模型增強特征提取的能力。加入Attention 的混合模型比未引入Attention 的模型準確度分別提高了1.45%、1.53%、1.45%,可見Attention 能夠增強關鍵特征,進而提高問句分類的準確度。表3 使用雙層BiLSTM 模型的效果分別提高了0.9%、0.89%、0.88%,可見雙層BiLSTM 特征提取能力優于BiLSTM。使用了Bert 模型可以增強語義表征,提高模型分類性能。由于危化品詞匯專業性較強,對于特征提取、語義理解效果較差,而融合危化品專業詞匯表后的Bert模型在危化品問句分類中表現較佳,可以更好地提高專業詞匯的語義表達。
表4 是使用BCAQC 模型對危化品問句文本進行處理,在爆炸品;壓縮氣體和液化氣體;易燃液體;易燃固體、自燃物品和遇濕易燃物品;氧化劑和有機過氧化物;有毒品;放射性物品;腐蝕品;非危險化學品9 個類別的分類精確率、召回率和F1 值。平均精確率94.79%,平均召回率95.27%,平均F1值94.67%,在危化品問句分類任務中表現良好。由于易燃固體、自燃物品和遇濕易燃物品是常見問題,文本數據量最多,而深度學習模型需要大量數據支撐,由表4 可見在第八類中精確率、召回率和F1值分別達到了97.81%、98.13%、97.85%。第二類文本數據量最少,與其他類別相比效果較弱,因此數據量會影響模型分類效果。

表4 模型類別分類結果/%
本文將THCNEWS 數據集劃分為14 個分類類別,包括財經、彩票、房產、股票、家居、教育、科技、社會、時尚、時政、體育、星座、游戲、娛樂。利用THCNEWS 數據作為實驗數據,驗證本文問句分類模型的有效性,實驗結果如表5所示。

表5 模型分類結果/%
由表5 可以看出本文提出的QCBCA 模型分類效果最佳。該模型與CNN、BiLSTM、BiLSTM+CNN、BiLSTM+Attention+CNN 等算法相比精確率、召回率和F1 值分別提高了7.05%~10.2%、8.09%~11.38%、9.28%~15.28%。
綜上,本文提出的模型可以有效提取問句特征并且增強關鍵特征,進一步提高問句文本的語義理解能力,在危化品中文問句分類任務上表現出了優越的性能。
在自然語言處理任務上,與傳統的機器學習方法相比,深度學習抽象了文本之間的聯系。問句分類作為問答系統的關鍵部分,問句分類的準確度影響問答系統中的答案抽取的準確度。針對危化品問句文本的特點,本文提出了一種基于多特征融合的ATT-BiLSTM-CNN 問句分類模型,增強危化品問句文本的關鍵特征、語義理解,滿足危化品信息問答系統的實際需求。實驗結果表明該問句分類模型的F1 值、準確率、召回率均有提升。將多種不同類型的特征進行組合以及在更深層次的分類任務中進一步優化危化品問句分類模型將是未來研究的主要方向。