徐清越, 左 敏*, 張青川, 蔡圓媛
(1.北京工商大學計算機與信息工程學院, 北京 100048; 2.農產品質量安全追溯技術及應用國家工程實驗室,北京 100048; 3.食品安全大數據技術北京市重點實驗室, 北京 100048)
核技術利用設備廣泛應用于人們生活的方方面面,在使用過程中若不加以防范可能會造成非常嚴重的后果,設備必須得到及時、精準的監管,因此利用智能化手段輔助監管以確保設備使用安全具有重要意義。建立文本語義分類模型能夠大大提高有關部門的監管效率和質量。
近年來,深度學習在自然語言處理(NLP)領域應用非常廣泛,且取得了非常不錯的成效,它能很好地從語料中挖掘出深度語義信息,實現文本分類。現主要應用于文本語義分類的深度學習神經網絡主要循環神經網絡(RNN)、長短期記憶神經網絡(LSTM)、卷積神經網絡(CNN)等。Mikolov等[1]將RNN用于文本分類中,由于RNN能夠充分學習文本上、下文信息,所以取得了不錯的成果,但RNN面臨著梯度消失的問題。為了解決該問題,Liu等[2]建立LSTM文本分類模型,將LSTM應用到文本分類中來,但由于其結構的復雜性, 導致計算需要大量的時間和空間。Kim[3]提出了運用CNN進行文本分類的一種模型。隨著CNN在文本分類領域的不斷發展,人們發現它能夠很好地降低文本特征提取的難度。另外,在CNN文本分類中,不少研究比較了字符級和詞語級兩種嵌入力度對分類效果的影響,Kim等[4]提出了一種通過字符級CNN來利用子詞信息的模型,劉龍飛等[5]用實驗證明了中文文本處理中,字符級特征表示的優越性。
此外,Bahdanau等[6]首先將attention機制(注意力機制)應用到自然語言處理領域中,Yin等[7]介紹了CNN和attention的三種結合方式,這是attention機制在CNN中的首次嘗試。但目前的attention機制并沒有考慮到文本關鍵詞的位置信息。
現提出一種基于位置感知attention機制的字詞雙路文本語義分類模型,將字符級和詞語級兩種嵌入粒度的特征向量輸入到雙路CNN中,避免因為非結構化的、缺少規范的文本語料,造成特征提取不全面而損失的分類精準度,并且引入位置感知attention機制,將文本關鍵詞的重要作用充分發揮,有效提高文本語義分類效果。
核安全是為了核活動、核材料、核設施和放射性物質的安全使用,采取充分和必要的監管、保護、預防等保障措施,防止核安全事故的發生,并且盡可能控制事故引發的放射性后果。現階段,中國核安全體系基本建成,但還存在著監管手段與標準體系建設落后的問題。
本研究語料人為填寫語料,屬于非結構化、非標準化語料,且不可避免地存在因人為填寫而產生的口語化及因填寫人不同而產生的表達差異化。值得注意的是,語料中包含核安全領域專有詞匯、法律法規名稱等,結構性弱、領域性強、向量化難度大。
1.2.1 增量訓練
針對語料中領域專有詞匯難以用現有詞向量訓練工具向量化、分詞困難的問題,首先在一個公共開放的預訓練模型的基礎上進行語料擴充,增加公開的10 GB百度百科語料,并爬取領域詞匯百科、新聞語料共2 GB,進行詞向量模型的訓練,向量維度為128維,窗口大小為5,最小詞頻為10。此后每隔一段時間,當積累了一定的核技術利用單位的檢察建議語料時,對詞向量模型再進行增量訓練。因為隨著時間的推移,未來可能出現新的領域詞匯,而且業務情景可能發生變更,持續的增量訓練可以使得詞向量模型能學習到新詞匯的向量表示并適應最新語料的語義關系,更好地將文本向量化,以提升后續算法準確性。
1.2.2 詞語向量化
將文本分詞處理后,需要將其轉化為神經網絡能夠識別的詞向量才能用于訓練分類模型,所以向量化的質量對模型性能的好壞有著直接且重要的影響。使用word2vec提取文本語義特征,將其作為雙路卷積神經網絡的其中一路輸入。
word2vec一般分為CBOW(continuous bag-of-words)與skip-gram兩種模型,兩者都包含輸入層、投影層、輸出層。CBOW模型是用當前詞的上、下文相關詞作為輸入來預測當前詞,而skip-gram是用當前詞作為輸入來預測上下文詞語。訓練初始時,每個詞都有一個N維隨機權重矩陣,隨后在訓練過程中不斷優化,隨機權重矩陣也不斷更新,訓練結束后得到的N維權重矩陣就是該詞的詞向量。模型結構如圖1所示。

圖1 CBOW與skip-gram模型示意圖Fig.1 Schematic diagram of CBOW and skip-gram models
1.2.3 字符向量化
將文本按照字符級別進行向量化,能夠解決因語法句法結構復雜而產生分詞不當,從而造成誤差或丟失重要特征信息的問題;并且能夠避免由人為填寫文本的不規范和隨機性所導致的特性表達不到位的問題。
現采用拼音編碼方式來表示文本中的單個字,并對拼音編碼進行向量化作為雙路CNN的另一路輸入。
將非結構化的檢查建議分詞后的詞語和字符轉化為向量后,分別作為模型的輸入數據用于訓練和預測。現提出一種雙路CNN模型,能夠將檢查建議中提到的違法違規行為特征分別提取,結合兩種級別的向量輸入,減少重要特征的丟失,得到最終的分類。
卷積神經網絡包括一個或多個卷積層和池化層。每個卷積層由一組具有可學習權重和偏差的神經元組成。每個神經元都用一些輸入進行非線性運算,旨在從大量樣本中自動學習復雜,高維,非線性映射的特征[8]。現提出一種基于位置感知注意力機制的雙維度CNN句子分類模型。首先將文本輸入按照詞語和字符兩種級別進行分詞,并使用word2vec進行向量化,然后對特征向量分別卷積,對卷積層的輸出進行最大值池化,之后全連接兩路池化信息得到輸出。模型整體結構如圖2所示。

圖2 模型整體結構圖Fig.2 Model overall structure
2.1.1 輸入層
作為CNN模型的輸入,樣本的維度是一致的,故每個句子所含詞數應是固定的,現采用90百分位數的方法確定單句詞數和字數。假設詞數(或字數)的90百分位數為n,不足詞數(或字數)n的句子采用零填充,超出詞數(或字數)n的句子采取截斷措施,拋棄第n個詞(或字)之后的部分。
2.1.2 卷積層
卷積層的作用是在輸入上進行局部特征的提取,得到高層次抽象特征。針對檢查建議的非結構化等語言問題,使用幾種不同尺寸的卷積核(filter),并且設置適合的滑動步長(stride),更全面地提取出語義特征。滑動步長越小,提取的特征越多,但考慮到時間效率的問題,一般不取1;滑動步長也不能太大,否則會漏掉一些信息。另外,為避免中間區域提取次數較多,邊緣部分提取次數較少,采取padding操作(Pad=1即外圍補1圈零)。
假設卷積層輸入維度為Win=Lengthin×Widthin,輸出維度Wout的計算如下:
Wout=Lengthout×Widthout
(1)

(2)

(3)
式中:Lengthout表示輸出層向量的長度;Widthout表示輸出層向量的寬度;Filter為卷積核尺寸;Stride為滑動步長,這兩項參數的值根據具體實驗情況進行設定。此外,設定約束條件Wout=Win,即卷積輸出的維度與輸入一致,可提高程序可維護性和泛化性。Filter、Stride、確定后,根據約束條件,即可得到Pad。
2.1.3 池化層
卷積層輸出后,提取出的特征通常維度較高,運算壓力較大。池化層(也叫作下采樣層)的作用是對卷積層的輸出進行特征壓縮。采用最大值池化,即選擇原來某個區域的最大值代替表示該區域,并設定過濾器為2×2,步長為2,經過池化處理后,特征矩陣被壓縮為原來的1/4,能夠在盡可能保留抽象特征的同時有效提高計算效率。
2.1.4 全連接層
雙路池化輸出后,在全連接層中將所有經池化濃縮后的局部特征重新通過權值矩陣整合到一起,成為完整的特征信息,而后輸入到分類器。
2.1.5 合并輸出層
合并輸出層的每個神經元與雙路全連接層的每個神經元相連,從而合并兩路的特征信息,然后使用分類器實現分類。此外,為避免對訓練集學習能力太好造成的過擬合,設置一定概率的dropout,即在訓練過程中將隱含層的部分權重或輸出隨機歸零,從而降低節點間的相互依賴性,提高模型泛化性。
現使用softmax函數作為分類器,將神經元的數值型輸出轉化為分類相對概率。假設Zi為每一個神經元的數值型輸出,yi則為與之對應的分類相對概率,應滿足條件:1>yi>0,∑yi=1。yi的具體計算為

(4)
注意力機制最早是在視覺圖像領域提出來的,該機制的思想是借鑒了人類的注意力機制,即人類視覺通過注意力聚焦對需要重點關注的區域投入更多注意力資源,且忽略那些無用的信息,這種方法大大提高了信息處理的效率及準確性。在文本分類的問題中,文本中的每個詞對分類的影響是不同的(即詞的重要性不同),結合注意力機制能夠充分發揮文本關鍵詞的影響作用,而在本研究中,針對核安全檢查建議的語義分類問題,核輻射領域關鍵詞有著非常重要的影響,關鍵詞周圍的臨近詞也有著不可忽視的作用,因此在注意力機制中引入位置感知,充分利用領域詞的位置信息以提高模型性能。
由于用拼音編碼的方式進行字嵌入可以避免人工手動填寫造成的語義或語法結構誤差,并且消除分詞環節帶來的誤差,從而降低分類誤差;但詞嵌入就不得不考慮到分詞和領域關鍵詞對分類結果的影響,因此,在詞嵌入時加入位置感知attention機制,這樣做可以將領域關鍵詞融入其中,提高分類準確性。
2.2.1 位置感知影響力傳播
基于領域關鍵詞的臨近詞應得到更多注意力的規則,本研究使用高斯核函數[式(5)]來表示位置感知影響力,該函數在信息檢索模型中已被證明有效性。

(5)
式(5)中:d為關鍵詞與當前詞的距離;δ為一個約束傳播范圍的參數;Kernel(d)為基于內核距離為d相應的影響力。當d=0時,即當前詞就是一個關鍵詞,則得到的傳播影響力最大,傳播影響力隨著距離的增加而減弱;對于傳播范圍,最優值可能隨著此而變化,本研究中用一個常量δ來表示。
2.2.2 位置感知影響力向量
基于關鍵詞對特定距離的影響力遵循隱層維度上的高斯分布的假設,定義影響力基礎矩陣為K,矩陣中的每個元素被定義為K(i,d),即在第i維中,與關鍵詞距離為d時相應的傳播影響力。且K(i,d)~N[Kernel(d),δ′],即Kernel(d)的期望與標準差δ′服從正態分布,N為正態密度。
利用影響力基礎矩陣,并結合所有關鍵詞的累積影響,得到某一位置詞語的位置感知影響力向量:
pj=Kcj
(6)
式(6)中:pj為在j位置詞語的累積影響力向量;cj為距離計數向量,表示對于在j位置詞語、距離為d的所有關鍵詞計數,cj(d)的計算式為

(7)
式(7)中:Q為一條檢查建議中包含的多個關鍵詞;pos(q)為關鍵詞q在句子中出現的位置集合;[·]是一個指標功能,條件滿足則為1,不滿足則為0。
2.2.3 位置感知注意力機制
傳統LSTM注意力機制模型中,詞語的注意力權重依賴于隱層表示,機制模型如圖3所示。

ri表示傳統模型求出的注意力分配系數圖3 傳統LSTM注意力機制模型Fig.3 Traditional LSTM attention mechanism model
該模型沒有考慮位置信息,現將位置感知影響力與傳統注意力機制結合,突出關鍵詞的重要性,位置感知注意力機制模型如圖4所示。

圖4 位置感知注意力機制模型Fig.4 Location-aware attention mechanism model
檢查建議中,在j位置詞語的注意力為

(8)
式(8)中:hj是j位置詞語的隱層向量;pj是累積的位置感知影響力向量;len為一句檢查建議中詞的個數;hk為句子中某詞的隱層向量;pk為該詞累積的位置感知影響力向量;a(·)為用于測量基于隱層向量和位置感知影響力向量的詞的重要性。a(·)的具體形式為
a(i,len)=vTφ(WHhj+WPpj+b1)+b2
(9)
式(9)中:WH、WP為hj、pj的權重矩陣;b1是屬于第一層參數的偏置向量;φ(·)=max(0,x)為ReLU函數;v為一個全局向量;b2是屬于第二層參數的偏置向量。
求出各位置詞語的權重后,加權句子中所有隱層向量,得到最終的注意力分配系數(attention value)ra為

(10)
3.1.1 硬件環境
處理器: Intel i7 8700。
顯卡:Nvidia GTX 1080 Ti。
內存:16GB DDR4。
硬盤:1TB SSD。
3.1.2 軟件環境
操作系統:Windows10。
編程語言:Python 3.5。
深度學習框架:tensorflow-gpu-V1.0.0。
本研究語料數據來自環境保護部核與輻射安全中心,為監管部門每次對核技術利用單位實行監管檢查后,根據檢查結果所填寫的不合格方面及改正建議(其中包括核設備使用、人員配備等方面的問題指出及部分改進建議)。主要分為許可證、輻射、設備、人員、管理、監管、文件、應急8大類檢查建議如表1所示,結果為分層隨機5折檢查驗證得到。
對于神經網絡分類模型來說,訓練和分類的效果一定程度上取決于超參數設置的優劣。因此,將各參數調整到適合的范圍是模型訓練的重要工作。現采用貝葉斯優化[9]進行模型的自動調參,輸入優化目標函數和參數名稱(關鍵詞個數、filter、batch size、學習率等),以及其范圍即可進行參數調整,且分為兩階段尋優:給定各參數的范圍,全局范圍尋優;explore操作,即在第一步找到的最優參數附近仔細尋找,最終得到最優參數組合。調參結果如圖5所示。

表1 檢查建議數據集

圖5 貝葉斯優化調參結果Fig.5 Results of Bayesian optimization tuning
由圖5可知,在第7次迭代時,模型精度最高達到98.28%。
使用位置感知注意力機制,旨在突出領域關鍵詞的重要性,幫助提高分類準確性,因此,將本文提出模型和傳統注意力機制模型、無注意力機制模型在同一數據集上進行實驗,實驗結果如表2所示。

表2 位置感知影響力實驗結果
可以看到,雙路CNN模型和CNN模型相比,準確率更高,說明使用兩種嵌入級別得出的特征向量作為輸入,能夠更加全面地提取到文本特征;傳統注意力機制和無注意力機制的模型相比,注意力機制能夠幫助分類模型更好地使用文本中的重要特征信息,但這些模型都忽略了關鍵詞的位置信息。關鍵詞的位置信息對于領域文本的分類來說具有非常重要的作用,實驗證明,加入位置感知注意力雙路CNN文本分類模型具有很好的分類效果。
為更好地說明本文模型的有效性,將本文模型與幾種神經網絡模型在同一數據集上進行對比實驗CNN+attention;RNN+attention;LSTM+attention;文獻[10]以網絡層次結合的方式設計了CRNN網絡(卷積循環神經網絡),并引入attention機制,提出一種 Text-CRNN+attention模型,實驗結果如表3所示。

表3 各模型對比結果
可以看到,本文提出的模型在文本分類中取得了不錯的效果,證實了本文模型的有效性,即證實了結合字符和詞語兩種級別的嵌入對于全面提取文本特征的有益性;領域關鍵詞的位置信息對于分類的重要性。
根據核輻射監管部門的現實需要,提出了基于詞向量注意力機制的雙路CNN語義分類模型。模型使用兩種嵌入級別的特征表示,并結合位置感知信息實現了監管數據中違法違規行為的自動研判。實驗表明,該模型具有良好的特征提取和分類性能。
接下來的工作應在優化網絡結構超參數、縮短訓練耗時的問題上繼續研究與改進,實現對現有模型的進一步優化。