徐清越, 左 敏*, 張青川, 蔡圓媛
(1.北京工商大學(xué)計(jì)算機(jī)與信息工程學(xué)院, 北京 100048; 2.農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國家工程實(shí)驗(yàn)室,北京 100048; 3.食品安全大數(shù)據(jù)技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室, 北京 100048)
核技術(shù)利用設(shè)備廣泛應(yīng)用于人們生活的方方面面,在使用過程中若不加以防范可能會(huì)造成非常嚴(yán)重的后果,設(shè)備必須得到及時(shí)、精準(zhǔn)的監(jiān)管,因此利用智能化手段輔助監(jiān)管以確保設(shè)備使用安全具有重要意義。建立文本語義分類模型能夠大大提高有關(guān)部門的監(jiān)管效率和質(zhì)量。
近年來,深度學(xué)習(xí)在自然語言處理(NLP)領(lǐng)域應(yīng)用非常廣泛,且取得了非常不錯(cuò)的成效,它能很好地從語料中挖掘出深度語義信息,實(shí)現(xiàn)文本分類?,F(xiàn)主要應(yīng)用于文本語義分類的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)主要循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)等。Mikolov等[1]將RNN用于文本分類中,由于RNN能夠充分學(xué)習(xí)文本上、下文信息,所以取得了不錯(cuò)的成果,但RNN面臨著梯度消失的問題。為了解決該問題,Liu等[2]建立LSTM文本分類模型,將LSTM應(yīng)用到文本分類中來,但由于其結(jié)構(gòu)的復(fù)雜性, 導(dǎo)致計(jì)算需要大量的時(shí)間和空間。Kim[3]提出了運(yùn)用CNN進(jìn)行文本分類的一種模型。隨著CNN在文本分類領(lǐng)域的不斷發(fā)展,人們發(fā)現(xiàn)它能夠很好地降低文本特征提取的難度。另外,在CNN文本分類中,不少研究比較了字符級(jí)和詞語級(jí)兩種嵌入力度對(duì)分類效果的影響,Kim等[4]提出了一種通過字符級(jí)CNN來利用子詞信息的模型,劉龍飛等[5]用實(shí)驗(yàn)證明了中文文本處理中,字符級(jí)特征表示的優(yōu)越性。
此外,Bahdanau等[6]首先將attention機(jī)制(注意力機(jī)制)應(yīng)用到自然語言處理領(lǐng)域中,Yin等[7]介紹了CNN和attention的三種結(jié)合方式,這是attention機(jī)制在CNN中的首次嘗試。但目前的attention機(jī)制并沒有考慮到文本關(guān)鍵詞的位置信息。
現(xiàn)提出一種基于位置感知attention機(jī)制的字詞雙路文本語義分類模型,將字符級(jí)和詞語級(jí)兩種嵌入粒度的特征向量輸入到雙路CNN中,避免因?yàn)榉墙Y(jié)構(gòu)化的、缺少規(guī)范的文本語料,造成特征提取不全面而損失的分類精準(zhǔn)度,并且引入位置感知attention機(jī)制,將文本關(guān)鍵詞的重要作用充分發(fā)揮,有效提高文本語義分類效果。
核安全是為了核活動(dòng)、核材料、核設(shè)施和放射性物質(zhì)的安全使用,采取充分和必要的監(jiān)管、保護(hù)、預(yù)防等保障措施,防止核安全事故的發(fā)生,并且盡可能控制事故引發(fā)的放射性后果。現(xiàn)階段,中國核安全體系基本建成,但還存在著監(jiān)管手段與標(biāo)準(zhǔn)體系建設(shè)落后的問題。
本研究語料人為填寫語料,屬于非結(jié)構(gòu)化、非標(biāo)準(zhǔn)化語料,且不可避免地存在因人為填寫而產(chǎn)生的口語化及因填寫人不同而產(chǎn)生的表達(dá)差異化。值得注意的是,語料中包含核安全領(lǐng)域?qū)S性~匯、法律法規(guī)名稱等,結(jié)構(gòu)性弱、領(lǐng)域性強(qiáng)、向量化難度大。
1.2.1 增量訓(xùn)練
針對(duì)語料中領(lǐng)域?qū)S性~匯難以用現(xiàn)有詞向量訓(xùn)練工具向量化、分詞困難的問題,首先在一個(gè)公共開放的預(yù)訓(xùn)練模型的基礎(chǔ)上進(jìn)行語料擴(kuò)充,增加公開的10 GB百度百科語料,并爬取領(lǐng)域詞匯百科、新聞?wù)Z料共2 GB,進(jìn)行詞向量模型的訓(xùn)練,向量維度為128維,窗口大小為5,最小詞頻為10。此后每隔一段時(shí)間,當(dāng)積累了一定的核技術(shù)利用單位的檢察建議語料時(shí),對(duì)詞向量模型再進(jìn)行增量訓(xùn)練。因?yàn)殡S著時(shí)間的推移,未來可能出現(xiàn)新的領(lǐng)域詞匯,而且業(yè)務(wù)情景可能發(fā)生變更,持續(xù)的增量訓(xùn)練可以使得詞向量模型能學(xué)習(xí)到新詞匯的向量表示并適應(yīng)最新語料的語義關(guān)系,更好地將文本向量化,以提升后續(xù)算法準(zhǔn)確性。
1.2.2 詞語向量化
將文本分詞處理后,需要將其轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)能夠識(shí)別的詞向量才能用于訓(xùn)練分類模型,所以向量化的質(zhì)量對(duì)模型性能的好壞有著直接且重要的影響。使用word2vec提取文本語義特征,將其作為雙路卷積神經(jīng)網(wǎng)絡(luò)的其中一路輸入。
word2vec一般分為CBOW(continuous bag-of-words)與skip-gram兩種模型,兩者都包含輸入層、投影層、輸出層。CBOW模型是用當(dāng)前詞的上、下文相關(guān)詞作為輸入來預(yù)測(cè)當(dāng)前詞,而skip-gram是用當(dāng)前詞作為輸入來預(yù)測(cè)上下文詞語。訓(xùn)練初始時(shí),每個(gè)詞都有一個(gè)N維隨機(jī)權(quán)重矩陣,隨后在訓(xùn)練過程中不斷優(yōu)化,隨機(jī)權(quán)重矩陣也不斷更新,訓(xùn)練結(jié)束后得到的N維權(quán)重矩陣就是該詞的詞向量。模型結(jié)構(gòu)如圖1所示。
圖1 CBOW與skip-gram模型示意圖Fig.1 Schematic diagram of CBOW and skip-gram models
1.2.3 字符向量化
將文本按照字符級(jí)別進(jìn)行向量化,能夠解決因語法句法結(jié)構(gòu)復(fù)雜而產(chǎn)生分詞不當(dāng),從而造成誤差或丟失重要特征信息的問題;并且能夠避免由人為填寫文本的不規(guī)范和隨機(jī)性所導(dǎo)致的特性表達(dá)不到位的問題。
現(xiàn)采用拼音編碼方式來表示文本中的單個(gè)字,并對(duì)拼音編碼進(jìn)行向量化作為雙路CNN的另一路輸入。
將非結(jié)構(gòu)化的檢查建議分詞后的詞語和字符轉(zhuǎn)化為向量后,分別作為模型的輸入數(shù)據(jù)用于訓(xùn)練和預(yù)測(cè)?,F(xiàn)提出一種雙路CNN模型,能夠?qū)z查建議中提到的違法違規(guī)行為特征分別提取,結(jié)合兩種級(jí)別的向量輸入,減少重要特征的丟失,得到最終的分類。
卷積神經(jīng)網(wǎng)絡(luò)包括一個(gè)或多個(gè)卷積層和池化層。每個(gè)卷積層由一組具有可學(xué)習(xí)權(quán)重和偏差的神經(jīng)元組成。每個(gè)神經(jīng)元都用一些輸入進(jìn)行非線性運(yùn)算,旨在從大量樣本中自動(dòng)學(xué)習(xí)復(fù)雜,高維,非線性映射的特征[8]?,F(xiàn)提出一種基于位置感知注意力機(jī)制的雙維度CNN句子分類模型。首先將文本輸入按照詞語和字符兩種級(jí)別進(jìn)行分詞,并使用word2vec進(jìn)行向量化,然后對(duì)特征向量分別卷積,對(duì)卷積層的輸出進(jìn)行最大值池化,之后全連接兩路池化信息得到輸出。模型整體結(jié)構(gòu)如圖2所示。
圖2 模型整體結(jié)構(gòu)圖Fig.2 Model overall structure
2.1.1 輸入層
作為CNN模型的輸入,樣本的維度是一致的,故每個(gè)句子所含詞數(shù)應(yīng)是固定的,現(xiàn)采用90百分位數(shù)的方法確定單句詞數(shù)和字?jǐn)?shù)。假設(shè)詞數(shù)(或字?jǐn)?shù))的90百分位數(shù)為n,不足詞數(shù)(或字?jǐn)?shù))n的句子采用零填充,超出詞數(shù)(或字?jǐn)?shù))n的句子采取截?cái)啻胧瑨仐壍趎個(gè)詞(或字)之后的部分。
2.1.2 卷積層
卷積層的作用是在輸入上進(jìn)行局部特征的提取,得到高層次抽象特征。針對(duì)檢查建議的非結(jié)構(gòu)化等語言問題,使用幾種不同尺寸的卷積核(filter),并且設(shè)置適合的滑動(dòng)步長(stride),更全面地提取出語義特征。滑動(dòng)步長越小,提取的特征越多,但考慮到時(shí)間效率的問題,一般不取1;滑動(dòng)步長也不能太大,否則會(huì)漏掉一些信息。另外,為避免中間區(qū)域提取次數(shù)較多,邊緣部分提取次數(shù)較少,采取padding操作(Pad=1即外圍補(bǔ)1圈零)。
假設(shè)卷積層輸入維度為Win=Lengthin×Widthin,輸出維度Wout的計(jì)算如下:
Wout=Lengthout×Widthout
(1)
(2)
(3)
式中:Lengthout表示輸出層向量的長度;Widthout表示輸出層向量的寬度;Filter為卷積核尺寸;Stride為滑動(dòng)步長,這兩項(xiàng)參數(shù)的值根據(jù)具體實(shí)驗(yàn)情況進(jìn)行設(shè)定。此外,設(shè)定約束條件Wout=Win,即卷積輸出的維度與輸入一致,可提高程序可維護(hù)性和泛化性。Filter、Stride、確定后,根據(jù)約束條件,即可得到Pad。
2.1.3 池化層
卷積層輸出后,提取出的特征通常維度較高,運(yùn)算壓力較大。池化層(也叫作下采樣層)的作用是對(duì)卷積層的輸出進(jìn)行特征壓縮。采用最大值池化,即選擇原來某個(gè)區(qū)域的最大值代替表示該區(qū)域,并設(shè)定過濾器為2×2,步長為2,經(jīng)過池化處理后,特征矩陣被壓縮為原來的1/4,能夠在盡可能保留抽象特征的同時(shí)有效提高計(jì)算效率。
2.1.4 全連接層
雙路池化輸出后,在全連接層中將所有經(jīng)池化濃縮后的局部特征重新通過權(quán)值矩陣整合到一起,成為完整的特征信息,而后輸入到分類器。
2.1.5 合并輸出層
合并輸出層的每個(gè)神經(jīng)元與雙路全連接層的每個(gè)神經(jīng)元相連,從而合并兩路的特征信息,然后使用分類器實(shí)現(xiàn)分類。此外,為避免對(duì)訓(xùn)練集學(xué)習(xí)能力太好造成的過擬合,設(shè)置一定概率的dropout,即在訓(xùn)練過程中將隱含層的部分權(quán)重或輸出隨機(jī)歸零,從而降低節(jié)點(diǎn)間的相互依賴性,提高模型泛化性。
現(xiàn)使用softmax函數(shù)作為分類器,將神經(jīng)元的數(shù)值型輸出轉(zhuǎn)化為分類相對(duì)概率。假設(shè)Zi為每一個(gè)神經(jīng)元的數(shù)值型輸出,yi則為與之對(duì)應(yīng)的分類相對(duì)概率,應(yīng)滿足條件:1>yi>0,∑yi=1。yi的具體計(jì)算為
(4)
注意力機(jī)制最早是在視覺圖像領(lǐng)域提出來的,該機(jī)制的思想是借鑒了人類的注意力機(jī)制,即人類視覺通過注意力聚焦對(duì)需要重點(diǎn)關(guān)注的區(qū)域投入更多注意力資源,且忽略那些無用的信息,這種方法大大提高了信息處理的效率及準(zhǔn)確性。在文本分類的問題中,文本中的每個(gè)詞對(duì)分類的影響是不同的(即詞的重要性不同),結(jié)合注意力機(jī)制能夠充分發(fā)揮文本關(guān)鍵詞的影響作用,而在本研究中,針對(duì)核安全檢查建議的語義分類問題,核輻射領(lǐng)域關(guān)鍵詞有著非常重要的影響,關(guān)鍵詞周圍的臨近詞也有著不可忽視的作用,因此在注意力機(jī)制中引入位置感知,充分利用領(lǐng)域詞的位置信息以提高模型性能。
由于用拼音編碼的方式進(jìn)行字嵌入可以避免人工手動(dòng)填寫造成的語義或語法結(jié)構(gòu)誤差,并且消除分詞環(huán)節(jié)帶來的誤差,從而降低分類誤差;但詞嵌入就不得不考慮到分詞和領(lǐng)域關(guān)鍵詞對(duì)分類結(jié)果的影響,因此,在詞嵌入時(shí)加入位置感知attention機(jī)制,這樣做可以將領(lǐng)域關(guān)鍵詞融入其中,提高分類準(zhǔn)確性。
2.2.1 位置感知影響力傳播
基于領(lǐng)域關(guān)鍵詞的臨近詞應(yīng)得到更多注意力的規(guī)則,本研究使用高斯核函數(shù)[式(5)]來表示位置感知影響力,該函數(shù)在信息檢索模型中已被證明有效性。
(5)
式(5)中:d為關(guān)鍵詞與當(dāng)前詞的距離;δ為一個(gè)約束傳播范圍的參數(shù);Kernel(d)為基于內(nèi)核距離為d相應(yīng)的影響力。當(dāng)d=0時(shí),即當(dāng)前詞就是一個(gè)關(guān)鍵詞,則得到的傳播影響力最大,傳播影響力隨著距離的增加而減弱;對(duì)于傳播范圍,最優(yōu)值可能隨著此而變化,本研究中用一個(gè)常量δ來表示。
2.2.2 位置感知影響力向量
基于關(guān)鍵詞對(duì)特定距離的影響力遵循隱層維度上的高斯分布的假設(shè),定義影響力基礎(chǔ)矩陣為K,矩陣中的每個(gè)元素被定義為K(i,d),即在第i維中,與關(guān)鍵詞距離為d時(shí)相應(yīng)的傳播影響力。且K(i,d)~N[Kernel(d),δ′],即Kernel(d)的期望與標(biāo)準(zhǔn)差δ′服從正態(tài)分布,N為正態(tài)密度。
利用影響力基礎(chǔ)矩陣,并結(jié)合所有關(guān)鍵詞的累積影響,得到某一位置詞語的位置感知影響力向量:
pj=Kcj
(6)
式(6)中:pj為在j位置詞語的累積影響力向量;cj為距離計(jì)數(shù)向量,表示對(duì)于在j位置詞語、距離為d的所有關(guān)鍵詞計(jì)數(shù),cj(d)的計(jì)算式為
(7)
式(7)中:Q為一條檢查建議中包含的多個(gè)關(guān)鍵詞;pos(q)為關(guān)鍵詞q在句子中出現(xiàn)的位置集合;[·]是一個(gè)指標(biāo)功能,條件滿足則為1,不滿足則為0。
2.2.3 位置感知注意力機(jī)制
傳統(tǒng)LSTM注意力機(jī)制模型中,詞語的注意力權(quán)重依賴于隱層表示,機(jī)制模型如圖3所示。
ri表示傳統(tǒng)模型求出的注意力分配系數(shù)圖3 傳統(tǒng)LSTM注意力機(jī)制模型Fig.3 Traditional LSTM attention mechanism model
該模型沒有考慮位置信息,現(xiàn)將位置感知影響力與傳統(tǒng)注意力機(jī)制結(jié)合,突出關(guān)鍵詞的重要性,位置感知注意力機(jī)制模型如圖4所示。
圖4 位置感知注意力機(jī)制模型Fig.4 Location-aware attention mechanism model
檢查建議中,在j位置詞語的注意力為
(8)
式(8)中:hj是j位置詞語的隱層向量;pj是累積的位置感知影響力向量;len為一句檢查建議中詞的個(gè)數(shù);hk為句子中某詞的隱層向量;pk為該詞累積的位置感知影響力向量;a(·)為用于測(cè)量基于隱層向量和位置感知影響力向量的詞的重要性。a(·)的具體形式為
a(i,len)=vTφ(WHhj+WPpj+b1)+b2
(9)
式(9)中:WH、WP為hj、pj的權(quán)重矩陣;b1是屬于第一層參數(shù)的偏置向量;φ(·)=max(0,x)為ReLU函數(shù);v為一個(gè)全局向量;b2是屬于第二層參數(shù)的偏置向量。
求出各位置詞語的權(quán)重后,加權(quán)句子中所有隱層向量,得到最終的注意力分配系數(shù)(attention value)ra為
(10)
3.1.1 硬件環(huán)境
處理器: Intel i7 8700。
顯卡:Nvidia GTX 1080 Ti。
內(nèi)存:16GB DDR4。
硬盤:1TB SSD。
3.1.2 軟件環(huán)境
操作系統(tǒng):Windows10。
編程語言:Python 3.5。
深度學(xué)習(xí)框架:tensorflow-gpu-V1.0.0。
本研究語料數(shù)據(jù)來自環(huán)境保護(hù)部核與輻射安全中心,為監(jiān)管部門每次對(duì)核技術(shù)利用單位實(shí)行監(jiān)管檢查后,根據(jù)檢查結(jié)果所填寫的不合格方面及改正建議(其中包括核設(shè)備使用、人員配備等方面的問題指出及部分改進(jìn)建議)。主要分為許可證、輻射、設(shè)備、人員、管理、監(jiān)管、文件、應(yīng)急8大類檢查建議如表1所示,結(jié)果為分層隨機(jī)5折檢查驗(yàn)證得到。
對(duì)于神經(jīng)網(wǎng)絡(luò)分類模型來說,訓(xùn)練和分類的效果一定程度上取決于超參數(shù)設(shè)置的優(yōu)劣。因此,將各參數(shù)調(diào)整到適合的范圍是模型訓(xùn)練的重要工作?,F(xiàn)采用貝葉斯優(yōu)化[9]進(jìn)行模型的自動(dòng)調(diào)參,輸入優(yōu)化目標(biāo)函數(shù)和參數(shù)名稱(關(guān)鍵詞個(gè)數(shù)、filter、batch size、學(xué)習(xí)率等),以及其范圍即可進(jìn)行參數(shù)調(diào)整,且分為兩階段尋優(yōu):給定各參數(shù)的范圍,全局范圍尋優(yōu);explore操作,即在第一步找到的最優(yōu)參數(shù)附近仔細(xì)尋找,最終得到最優(yōu)參數(shù)組合。調(diào)參結(jié)果如圖5所示。
表1 檢查建議數(shù)據(jù)集
圖5 貝葉斯優(yōu)化調(diào)參結(jié)果Fig.5 Results of Bayesian optimization tuning
由圖5可知,在第7次迭代時(shí),模型精度最高達(dá)到98.28%。
使用位置感知注意力機(jī)制,旨在突出領(lǐng)域關(guān)鍵詞的重要性,幫助提高分類準(zhǔn)確性,因此,將本文提出模型和傳統(tǒng)注意力機(jī)制模型、無注意力機(jī)制模型在同一數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 位置感知影響力實(shí)驗(yàn)結(jié)果
可以看到,雙路CNN模型和CNN模型相比,準(zhǔn)確率更高,說明使用兩種嵌入級(jí)別得出的特征向量作為輸入,能夠更加全面地提取到文本特征;傳統(tǒng)注意力機(jī)制和無注意力機(jī)制的模型相比,注意力機(jī)制能夠幫助分類模型更好地使用文本中的重要特征信息,但這些模型都忽略了關(guān)鍵詞的位置信息。關(guān)鍵詞的位置信息對(duì)于領(lǐng)域文本的分類來說具有非常重要的作用,實(shí)驗(yàn)證明,加入位置感知注意力雙路CNN文本分類模型具有很好的分類效果。
為更好地說明本文模型的有效性,將本文模型與幾種神經(jīng)網(wǎng)絡(luò)模型在同一數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)CNN+attention;RNN+attention;LSTM+attention;文獻(xiàn)[10]以網(wǎng)絡(luò)層次結(jié)合的方式設(shè)計(jì)了CRNN網(wǎng)絡(luò)(卷積循環(huán)神經(jīng)網(wǎng)絡(luò)),并引入attention機(jī)制,提出一種 Text-CRNN+attention模型,實(shí)驗(yàn)結(jié)果如表3所示。
表3 各模型對(duì)比結(jié)果
可以看到,本文提出的模型在文本分類中取得了不錯(cuò)的效果,證實(shí)了本文模型的有效性,即證實(shí)了結(jié)合字符和詞語兩種級(jí)別的嵌入對(duì)于全面提取文本特征的有益性;領(lǐng)域關(guān)鍵詞的位置信息對(duì)于分類的重要性。
根據(jù)核輻射監(jiān)管部門的現(xiàn)實(shí)需要,提出了基于詞向量注意力機(jī)制的雙路CNN語義分類模型。模型使用兩種嵌入級(jí)別的特征表示,并結(jié)合位置感知信息實(shí)現(xiàn)了監(jiān)管數(shù)據(jù)中違法違規(guī)行為的自動(dòng)研判。實(shí)驗(yàn)表明,該模型具有良好的特征提取和分類性能。
接下來的工作應(yīng)在優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)超參數(shù)、縮短訓(xùn)練耗時(shí)的問題上繼續(xù)研究與改進(jìn),實(shí)現(xiàn)對(duì)現(xiàn)有模型的進(jìn)一步優(yōu)化。