胡春濤,夏玲玲*,張 亮,王 超,韓 旭
(1.江蘇警官學(xué)院 計(jì)算機(jī)信息與網(wǎng)絡(luò)安全系,江蘇 南京 210031;2.南京市玄武分局,江蘇 南京 210000)
近年來,由于神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征自動(dòng)分析能力,在自然語言處理與圖像識別等方面有著極為廣泛的應(yīng)用,其高準(zhǔn)確率、高自動(dòng)化的特性吸引了越來越多的學(xué)習(xí)者,也推動(dòng)了人工智能行業(yè)的進(jìn)一步發(fā)展。作為自然語言處理的一項(xiàng)重要應(yīng)用,輿情信息處理技術(shù)也因神經(jīng)網(wǎng)絡(luò)的推動(dòng)而發(fā)展。類似于開采出的原油需要進(jìn)一步的提煉和加工才能獲得不同種類、不同用途的產(chǎn)品,輿情信息處理的首要任務(wù)就是將文本數(shù)據(jù)分類,篩選出有價(jià)值的信息。隨著TensorFlow,Keras等深度學(xué)習(xí)框架的相繼推出,初學(xué)者能夠很容易地上手并搭建起一個(gè)基本的神經(jīng)網(wǎng)絡(luò)模型,應(yīng)用于文本分類等一系列任務(wù)。然而,模型的通用性給研究者帶來便利的同時(shí),卻降低了模型適用特定分類任務(wù)的準(zhǔn)確性,導(dǎo)致現(xiàn)有框架在特定文本分類任務(wù)上難以取得良好的效果,尤其是在處理具有個(gè)性化需求的分類任務(wù)時(shí),只能作為基線模型使用。因此需要模型設(shè)計(jì)者根據(jù)不同分類任務(wù)相應(yīng)地改變神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),將不同的神經(jīng)網(wǎng)絡(luò)有側(cè)重地進(jìn)行融合和重組,提高模型對于特定信息的捕捉能力和語義的理解能力,從而使模型在準(zhǔn)確率、召回率、F1值、收斂速度、遷移能力等方面相比于普通框架具有顯著的提高。
在文本分類領(lǐng)域研究早期,主要采用向量空間模型、情感詞典等方法。朱華宇等人[1]提出一種基于向量空間模型的中文文本分類方法,通過特征提取、空間降維、層次分類和分類器訓(xùn)練等技術(shù)實(shí)現(xiàn)分類。姚清耘[2]提出一種基于向量空間模型的中文文本聚類方法,在搜狗實(shí)驗(yàn)室的開源語料上得到了較好的聚類結(jié)果。郭葉[3]提出將句中詞語傾向值加權(quán)求和以及選用支持向量機(jī)兩種方法,并在特征選取和規(guī)則后處理方面進(jìn)行了改進(jìn),使準(zhǔn)確率和召回率有較大提高。周城[4]提出基于情感詞典的分類方法,發(fā)現(xiàn)該方法性能上優(yōu)于基于文本分類的方法。近年涌現(xiàn)出一批將經(jīng)典深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于文本處理任務(wù)的研究。Hochreiter等人[5]設(shè)計(jì)了長短期記憶網(wǎng)絡(luò)模型(long short-term memory,LSTM),但結(jié)構(gòu)的復(fù)雜性導(dǎo)致LSTM的計(jì)算代價(jià)比較高。Cho等人[6]提出一種LSTM的替代方案—門限循環(huán)單元(gated recurrent unit,GRU)。GRU模型相比LSTM模型,結(jié)構(gòu)簡單,可以提高模型的訓(xùn)練速度,并且還能解決RNN存在的梯度消失問題。除了使用循環(huán)神經(jīng)網(wǎng)絡(luò)以外,也有一些將卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)用于文本特征提取的研究。Kim等人[7]將預(yù)訓(xùn)練好的詞向量作為輸入,利用CNN實(shí)現(xiàn)情感分類。Kalchbrenner等人[8]提出一種動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)(dynamic convolution neural network,DCNN)模型用于句子特征學(xué)習(xí),并取得了較好的效果。但這些都只是使用單層神經(jīng)網(wǎng)絡(luò),特征提取能力、編碼能力較弱。因此,需要結(jié)構(gòu)更加復(fù)雜的神經(jīng)網(wǎng)絡(luò)的組合。陳潔等人[9]提出使用并行混合神經(jīng)網(wǎng)絡(luò)模型,將文本映射成字符級詞向量并組成句子矩陣,對句子矩陣分別連接雙向GRU和CNN,并分別后接注意力層、池化層,將兩個(gè)網(wǎng)絡(luò)的輸出向量進(jìn)行拼接,得到句子的特征表示,最后使用全連接神經(jīng)網(wǎng)絡(luò)作為分類器,模型在AI Challenger2018用戶評論情感數(shù)據(jù)集上最高準(zhǔn)確率達(dá)到0.868 2,F(xiàn)1值達(dá)到0.865 6。該方法僅通過不同網(wǎng)絡(luò)的并行處理獲得對文本的不同表示,未能對文本實(shí)現(xiàn)更加復(fù)雜的抽象和提取。劉月等人[10]提出利用CNN提取短語序列的特征表示,利用N-LSTM(nested long short-term memory)學(xué)習(xí)文本的特征表示,引入注意力機(jī)制,突出關(guān)鍵短語以優(yōu)化特征提取,使模型不但能捕捉句子局部特征及上下文語義信息,還能突出輸入文本各部分對文本類別的影響程度,在3個(gè)公開數(shù)據(jù)集上性能比基線模型有了明顯提高。由于在文本上進(jìn)行CNN操作不同于在圖像上,細(xì)小的信息損失極有可能導(dǎo)致結(jié)果偏差。因此CNN連接N-LSTM的方式有待改進(jìn)。張沖[11]設(shè)計(jì)了Attention-Based LSTM模型用于特征提取,得到含有輸入序列節(jié)點(diǎn)注意力概率分布的語義編碼,并將其作為分類器的輸入,減少了特征向量提取過程中的信息丟失和信息冗余。在膠囊網(wǎng)絡(luò)(capsule network)應(yīng)用于文本分類的研究中,Zhao等人[12]在英文語料的基礎(chǔ)上,將Capsule Network連接卷積網(wǎng)絡(luò),受標(biāo)注成本的限制,作者用單標(biāo)簽數(shù)據(jù)對模型進(jìn)行訓(xùn)練,并在多標(biāo)簽數(shù)據(jù)上進(jìn)行測試,在訓(xùn)練了5.8k的數(shù)據(jù)后,發(fā)現(xiàn)Capsule Network的性能遠(yuǎn)遠(yuǎn)高于LSTM、CNN等單一神經(jīng)網(wǎng)絡(luò)。該文僅在英文語料上進(jìn)行了實(shí)驗(yàn),忽略了中文分詞、語法結(jié)構(gòu)對分類結(jié)果產(chǎn)生的影響,在文中未能解釋膠囊網(wǎng)絡(luò)性能更優(yōu)的根本原因。
而膠囊網(wǎng)絡(luò)的發(fā)展也經(jīng)歷了從提出到愈發(fā)多樣的過程。Sabour等人[13]于2017年首次提出了膠囊網(wǎng)絡(luò),它將神經(jīng)元的輸入由標(biāo)量變?yōu)橄蛄浚ㄟ^動(dòng)態(tài)路由調(diào)整參數(shù)加強(qiáng)網(wǎng)絡(luò)對特征的整合能力。2018年Hinton等人[14]提出使用期望最大化路由(EM routing)的矩陣膠囊網(wǎng)絡(luò),該實(shí)驗(yàn)通過圖像數(shù)據(jù)表明膠囊網(wǎng)絡(luò)還能有效學(xué)習(xí)物體不同視點(diǎn)的變化。其實(shí),膠囊網(wǎng)絡(luò)的本質(zhì)就是聚類算法思想在模型中的實(shí)現(xiàn)。Sabour等人提出的動(dòng)態(tài)路由是基于K-Means算法的實(shí)現(xiàn),文獻(xiàn)[14]則是將高斯混合模型(GMM)融合到特征整合過程中,通過期望最大化路由對網(wǎng)絡(luò)參數(shù)及進(jìn)行調(diào)整。上述這些使用膠囊網(wǎng)絡(luò)或基于原始網(wǎng)絡(luò)改進(jìn)的模型都在各自的任務(wù)上取得了較好的效果,具有廣闊的應(yīng)用前景。
當(dāng)前膠囊網(wǎng)絡(luò)多用于英文語料的分類,鑒于中文和英文在語法、語義結(jié)構(gòu)等方面存在差異,文中在中文語料上對模型的結(jié)構(gòu)進(jìn)行相應(yīng)改進(jìn)。在總結(jié)上述方法的優(yōu)缺點(diǎn)后,構(gòu)建了LSTM連接膠囊網(wǎng)絡(luò)的文本分類模型,其中膠囊網(wǎng)絡(luò)基于K-Means動(dòng)態(tài)路由算法試驗(yàn),并與多個(gè)基線模型進(jìn)行比較,通過準(zhǔn)確率、召回率、F1值等指標(biāo)來評價(jià)模型性能優(yōu)劣。
文中爬取了“今日頭條”公開的新聞數(shù)據(jù)集,原始數(shù)據(jù)集總共分為15大類,包括民生、文化、娛樂、體育、財(cái)經(jīng)、房產(chǎn)、汽車、教育、科技、軍事、旅游、國際、證券、農(nóng)業(yè)、電競。由于平臺自身數(shù)據(jù)不均衡,證券類新聞數(shù)量明顯少于其他類別,因此將證券類劃歸入財(cái)經(jīng)類,使得數(shù)據(jù)分布較為均勻,表1為各類別的樣本數(shù)據(jù)統(tǒng)計(jì)情況。
模型第一層去除停用詞后將詞語編碼成詞向量。文中使用的詞向量模型word2vec基于“Zhihu_QA知乎問答”語料訓(xùn)練,將詞語轉(zhuǎn)化為256維的向量。
第二層在詞向量層上添加雙向LSTM對文本進(jìn)行編碼。經(jīng)統(tǒng)計(jì),文本平均長度為276,通過計(jì)算將神經(jīng)元個(gè)數(shù)設(shè)置為300可以覆蓋99%的文本長度。為避免過擬合,在兩層LSTM中間添加隱藏層,將20%的權(quán)重歸為零。
第三層在雙向LSTM后接膠囊網(wǎng)絡(luò),設(shè)置輸入膠囊的個(gè)數(shù)為64。
第四層在膠囊網(wǎng)絡(luò)之后連接全連接網(wǎng)絡(luò)層,用softmax函數(shù)輸出分類結(jié)果,模型結(jié)構(gòu)如圖1所示。
為了便于比較,文中所有模型均使用相同數(shù)據(jù)集,并設(shè)計(jì)了CNN單模型,雙向LSTM單模型,和胡西祥[15]提出的雙向LSTM連接CNN的融合模型,在同等條件下使用控制變量的方法對多組結(jié)果進(jìn)行比較。
第一組將CNN單模型、雙向LSTM單模型與LSTM連接CNN的模型進(jìn)行比較,其中CNN均使用一維卷積,卷積核個(gè)數(shù)設(shè)置為64,通過多次實(shí)驗(yàn)發(fā)現(xiàn)卷積核大小設(shè)置為3*256時(shí)模型取得最高F1值,后接全連接網(wǎng)絡(luò)使用softmax函數(shù)作為分類器,借以證明融合神經(jīng)網(wǎng)絡(luò)模型的分類效果是否優(yōu)于單模型。
第二組將含有膠囊網(wǎng)絡(luò)的模型與雙向LSTM連接CNN進(jìn)行比較,借以證明膠囊網(wǎng)絡(luò)[16]在文本特征提取能力方面是否優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)。
仔細(xì)分析一中的Capsule層,得到如圖2所示的膠囊網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)。
其中包含多層的膠囊層,每一層都被分成許多組向量神經(jīng)元(膠囊),因此每個(gè)神經(jīng)元具有長度和方向的概念。在文本中,長度用來衡量某個(gè)詞存在的概率,方向代表該詞的各種屬性(如位置、語意特征、語境含義等)。圖2中每個(gè)底層膠囊對應(yīng)4個(gè)變換矩陣,即對底層神經(jīng)元進(jìn)行四個(gè)維度信息的提取。由于文本長度通常是不固定的,使用權(quán)值共享的膠囊網(wǎng)絡(luò),即對于固定的上層膠囊Sj,它與所有底層膠囊連接的變換矩陣是共用的,如圖2中u1和u2共享同一個(gè)W1。
低級別的向量神經(jīng)元需要決定如何將其經(jīng)過不同維度提取的輸出向量發(fā)送到更高一級的向量神經(jīng)元,該過程由耦合系數(shù)c來決定,耦合系數(shù)c本質(zhì)上是一個(gè)權(quán)重,定義了低層神經(jīng)元到高層神經(jīng)元的概率分布,采用“動(dòng)態(tài)路由”算法[13]進(jìn)行更新。下面通過對該算法的介紹將更有利于說明膠囊網(wǎng)絡(luò)相比CNN在傳播原理上的差異。
(1)
(2)
其中,c為耦合系數(shù),一層膠囊網(wǎng)絡(luò)所有的耦合系數(shù)和為1,即圖2中c11+c21+c12+c22+c13+c23+c14+c24=1。該耦合系數(shù)由動(dòng)態(tài)路由(routing softmax)算法迭代更新,且softmax函數(shù)中的bij初始化為0,耦合系數(shù)cij計(jì)算方式如式(3)[13]所示:
(3)
(4)
膠囊網(wǎng)絡(luò)使用Squash作為激活函數(shù),輸出v的計(jì)算方式如式(5)[13]所示:
(5)
該激活函數(shù)前一部分是輸入向量sj的縮放尺度,后一部分是sj的單位向量,既保留了輸入向量的方向,又將輸入向量的模壓縮到[0,1)之間,能有效避免梯度爆炸問題的出現(xiàn)。在整個(gè)網(wǎng)絡(luò)中,耦合系數(shù)cij通過動(dòng)態(tài)路由進(jìn)行更新,而整個(gè)網(wǎng)絡(luò)其他參數(shù)包括Wij在內(nèi)都需要根據(jù)損失函數(shù)進(jìn)行更新。在損失函數(shù)方面,文中使用多分類對數(shù)損失函數(shù)(categorical_crossentropy),優(yōu)化器使用Adam。
表2將膠囊網(wǎng)絡(luò)和卷積網(wǎng)絡(luò)的傳播過程進(jìn)行對比,進(jìn)一步分析其差異。
表2 膠囊網(wǎng)絡(luò)和卷積網(wǎng)絡(luò)傳播對比
動(dòng)態(tài)路由算法的運(yùn)行邏輯可以做如下解釋:
初始化讓所有bij初始化為0,目的是為了保證耦合系數(shù)cij的均勻分布,同時(shí)說明低層的向量神經(jīng)元要傳輸?shù)侥膫€(gè)高層神經(jīng)元是不確定的。
動(dòng)態(tài)路由就是找到每個(gè)低層神經(jīng)元最有可能傳輸?shù)侥膫€(gè)高層神經(jīng)元,具體到實(shí)例就是含有“華為”和“小米”的句子最有可能屬于科技、文化或是其他類別。動(dòng)態(tài)路由在每一次循環(huán)中都做了歸一、預(yù)測、加總、壓縮和更新五個(gè)步驟。
起初由于bij全為0,那么:
(6)
(7)
(8)
(9)
(10)
通過耦合系數(shù)cij進(jìn)行加權(quán)求和:
(11)
(12)
加權(quán)求和可以理解成“華為”和“小米”等多個(gè)低層神經(jīng)元共同作用得到融合多個(gè)語義的高層語義類別s1,s2。
壓縮,即單位化語義類別向量:
(13)
(14)
通過預(yù)測結(jié)果更新參數(shù)bij,就是從“華為”和“小米”推出科技或文化類別的可能性。
(15)
(16)
圖3 計(jì)算vj和的向量一致性更新cij
最后用softmax函數(shù)更新概率分布,由“華為”推出科技類的概率:
(17)
(18)
最終b11>b12,即c11>c12,b21>b22,即c21>c22,故兩個(gè)詞路由到科技類的概率變大。圖2中演示了4種變換矩陣,即向量神經(jīng)元有四種不同的方向,可以從4個(gè)維度對信息進(jìn)行提取,如語義、位置、上下文語境、詞語類別等,原理和上述相同。
重復(fù)以上預(yù)測,加權(quán),壓縮,更新的步驟,直到每個(gè)耦合系數(shù)cij趨于穩(wěn)定。
圖4展示了膠囊網(wǎng)絡(luò)內(nèi)部向量神經(jīng)元經(jīng)過一個(gè)維度矩陣變換的傳播過程。
圖4 膠囊網(wǎng)絡(luò)內(nèi)部傳播過程示意圖
不同模型的最優(yōu)分類結(jié)果如表3所示。
表3 不同模型最優(yōu)分類結(jié)果
對比模型1和模型2發(fā)現(xiàn),單模型BiLSTM分類性能優(yōu)于CNN。對比模型2和模型3發(fā)現(xiàn)融合模型的分類性能要高于單模型,LSTM適用于對文本信息進(jìn)行編碼,CNN相比而言更適用于對特征進(jìn)行提取。對比模型3和模型4發(fā)現(xiàn)連接膠囊網(wǎng)絡(luò)的模型在精確率和召回率兩方面均優(yōu)于連接CNN的模型,其原因主要有以下幾點(diǎn):
(1)CNN使用特征檢測器,從一維的向量序列中提取局部模式,并使用最大值池化減少參數(shù)數(shù)量。但作為一個(gè)空間不敏感模型,CNN在處理文本中更長更復(fù)雜的結(jié)構(gòu)和語句順序時(shí)(例如倒裝,前置等復(fù)雜結(jié)構(gòu)),就會由于卷積核長度的限制而難以提取到有關(guān)特征。
(2)CNN的池化操作會丟失一些空間信息,尤其是對高層信息的池化。在對圖像的操作中,池化能在保證圖像重要特征不缺失的情況下減少參數(shù),使得全連接層能以較少的參數(shù),較高的準(zhǔn)確率完成分類任務(wù)。但在自然語言處理中,語義并不像圖像特征,可能一個(gè)詞語順序的顛倒就會導(dǎo)致整句語義的變化。因此池化容易忽略蘊(yùn)藏在文本中的細(xì)節(jié)特征,造成最后分類結(jié)果的誤差,池化操作如圖5所示。
圖5 池化操作示意圖
池化操作類似于兩層網(wǎng)絡(luò)之間的信使,它告訴下一層在輸入圖片的左上角最大值是2,右上角最大值是4,但不知道這個(gè)2和4是具體從哪里來的。就好比在池化文本信息時(shí),只提取了特征性最強(qiáng)的信息,但忽略了文本蘊(yùn)含的語句結(jié)構(gòu)信息。
(3)膠囊網(wǎng)絡(luò)通過變換矩陣和耦合系數(shù)去自動(dòng)學(xué)習(xí)哪些是文本重要信息,重要的信息其輸出的概率(耦合系數(shù))更大,次要信息輸出的概率較小。因此能夠?qū)崿F(xiàn)對信息的有效鑒別和提取。另外,膠囊網(wǎng)絡(luò)不受特征檢測器結(jié)構(gòu)和大小的限制,能夠?qū)W習(xí)文本整體與部分的內(nèi)在空間關(guān)系,自動(dòng)歸納出新的感受域,從而讓網(wǎng)絡(luò)能靈活地學(xué)習(xí)文本內(nèi)在復(fù)雜的關(guān)系結(jié)構(gòu)。正如Hinton[14]所說,膠囊網(wǎng)絡(luò)不僅用來捕捉特定變體的特征,更是用來捕捉特征及其變體的可能性。因此訓(xùn)練膠囊網(wǎng)絡(luò)的目的不僅在于檢測特征,還在于學(xué)習(xí)變體,相比于CNN更適合對文本信息的特征提取。
在中文新聞分類數(shù)據(jù)集標(biāo)注準(zhǔn)確和分布均勻的基礎(chǔ)上,針對卷積神經(jīng)網(wǎng)絡(luò)不能有效提取復(fù)雜語意結(jié)構(gòu)和池化操作容易丟失大量特征信息等問題,使用了膠囊網(wǎng)絡(luò)代替CNN并提出了一種LSTM連接Capsule Network的多網(wǎng)絡(luò)融合模型。通過對比實(shí)驗(yàn)有效證明了膠囊網(wǎng)絡(luò)在文本特征提取能力上相較于CNN的優(yōu)勢。在后續(xù)的工作中,將嘗試使用BERT(bidirectional encoder representation from transformers)模型對中文文本的每個(gè)字給出一個(gè)動(dòng)態(tài)向量表示,并結(jié)合膠囊網(wǎng)絡(luò)進(jìn)一步改善模型的分類效果。