王弘中,劉漳輝,2,3,郭 昆,2,3
1(福州大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福州 350116)2(福建省網(wǎng)絡(luò)計(jì)算與智能信息處理重點(diǎn)實(shí)驗(yàn)室,福州 350116)3(空間數(shù)據(jù)挖掘與信息共享教育部重點(diǎn)實(shí)驗(yàn)室,福州 350116)
文本分類是自然語(yǔ)言處理中一項(xiàng)基本任務(wù),在信息檢索、搜索引擎、 問(wèn)答系統(tǒng)、主題分類與情感分析等領(lǐng)域發(fā)揮著十分重要的作用.
近年來(lái),利用深度學(xué)習(xí)來(lái)建立語(yǔ)言模型的研究思路逐漸走向成熟,大大提升了文本的特征質(zhì)量.2003年,Bengio[1]等人總結(jié)出了一套用神經(jīng)網(wǎng)絡(luò)建立統(tǒng)計(jì)語(yǔ)言模型的框架, 首次提出了詞向量的概念,隨后不斷有學(xué)者對(duì)該理論進(jìn)一步實(shí)現(xiàn):Mikolov[2]提出的 word2vec詞向量模型,是一種構(gòu)建上下文與目標(biāo)詞之間關(guān)系的神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型,根據(jù)訓(xùn)練方式的不同,word2vec又分為 CBOW 和Skip-gram兩種模型,其中,CBOW 模型通過(guò)將一個(gè)詞所在的上下文中的詞作為輸入,而該詞本身作為輸出的方式訓(xùn)練神經(jīng)網(wǎng)絡(luò); Skip-gram則相反,以一個(gè)詞作為輸入,該詞的上下文詞作為輸出來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò).通過(guò)在大規(guī)模語(yǔ)料上訓(xùn)練模型,得到了每個(gè)詞到網(wǎng)絡(luò)隱含層的每個(gè)維度的權(quán)重,也就是每個(gè)詞的向量;Pennington[3]等人分析了 Skip-gram 模型能夠挖掘出詞與詞之間線性關(guān)系的背后成因,然后通過(guò)在共現(xiàn)矩陣上構(gòu)造相似的條件,得到基于全局信息的 GloVe 詞向量模型.除此之外,F(xiàn)acebook公司提出的Fasttext詞向量[4]當(dāng)下也被廣泛使用在自然語(yǔ)言處理的眾多領(lǐng)域.這些詞向量模型得到的向量不僅維度低,而且相似語(yǔ)義的詞之間的相對(duì)距離較小,即詞的語(yǔ)義分布在向量的各個(gè)維度上適合機(jī)器理解計(jì)算,因此使得詞向量被廣泛地應(yīng)用在各種基于深度學(xué)習(xí)模型的文本任務(wù)中.
在詞向量作為深度學(xué)習(xí)輸入的基礎(chǔ)上,傳統(tǒng)的向量空間模型表示的文本向量存在稀疏性和高維度的缺點(diǎn),同時(shí)還忽略了詞與詞之間的語(yǔ)義關(guān)系難以去衡量?jī)蓚€(gè)向量的語(yǔ)義相關(guān)度.如何將神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與文本的詞向量進(jìn)行結(jié)合,構(gòu)建深度神經(jīng)網(wǎng)絡(luò)模型,從文本中挖掘更多的語(yǔ)義信息,提升模型的學(xué)習(xí)能力,成為當(dāng)前深度學(xué)習(xí)在文本分類乃至自然語(yǔ)言處理中一項(xiàng)重要挑戰(zhàn).
本文提出了一種混合詞向量的方法,首先,將兩種差異性大的詞向量進(jìn)行向量拼接,對(duì)于缺失詞部分通過(guò)利用Fasttext詞向量模型有對(duì)子詞進(jìn)行訓(xùn)練的特點(diǎn)去計(jì)算缺失詞與Fasttext子詞詞典詞匯的相似度,將具有最大相似度的詞典詞匯作為缺失詞的近義詞,對(duì)缺失詞進(jìn)行替換,并且為了防止Fasttext模型對(duì)于缺失詞計(jì)算時(shí)出現(xiàn)“過(guò)匹配”的現(xiàn)象,通過(guò)引入外部詞典對(duì)于字節(jié)小于8的缺失詞使用詞形還原的策略來(lái)降低其“過(guò)匹配”現(xiàn)象的出現(xiàn),并且采用實(shí)驗(yàn)自適應(yīng)調(diào)整相似度閾值的策略篩除相似度過(guò)低的缺失詞,防止給詞向量帶來(lái)過(guò)多噪聲數(shù)據(jù)從而得到少噪聲高信息量的混合詞向量.并且設(shè)計(jì)了一種融合膠囊網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)的混合神經(jīng)網(wǎng)絡(luò)模型,利用膠囊網(wǎng)絡(luò)獲得局部特征與整體之間的關(guān)聯(lián)特征信息,并利用循環(huán)神經(jīng)網(wǎng)絡(luò)GRU經(jīng)過(guò)最大池化層在提取上下文顯著特征信息的同時(shí)加快收斂防止梯度消失現(xiàn)象的出現(xiàn),最終將兩者特征進(jìn)行拼接融合得到含有豐富文本信息的高階特征從而更好地完成文本分類任務(wù).
本文主要貢獻(xiàn)如下:
1)設(shè)計(jì)了一種基于膠囊網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的混合深度網(wǎng)絡(luò)模型,利用膠囊網(wǎng)絡(luò)學(xué)習(xí)文本局部和整體的關(guān)聯(lián)信息,以及利用循環(huán)神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)最大池化層去提取顯著的上下文信息,融合兩個(gè)神經(jīng)模型的優(yōu)點(diǎn)從而更好地提高文本分類效果.
2)在嵌入層中提出一種混合詞向量的方法.對(duì)于兩種差異性大的詞向量進(jìn)行拼接,利用Fasttext詞向量模型單詞訓(xùn)練的特點(diǎn)對(duì)于缺失詞部分進(jìn)行補(bǔ)全,并且針對(duì)缺詞補(bǔ)全過(guò)程中可能出現(xiàn)的“過(guò)匹配”和“帶入過(guò)多噪聲詞向量”的問(wèn)題,采取兩種策略進(jìn)行解決從而獲得高信息量低噪聲的混合詞向量.
近年來(lái),在基于深度學(xué)習(xí)的文本分類任務(wù)中,最為常用的兩種深度神經(jīng)網(wǎng)絡(luò)為卷積神經(jīng)網(wǎng)絡(luò)(Convolutional NeuralNetwork, CNN)與循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN).卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用方面, Kim[5]等人較早將卷積神經(jīng)網(wǎng)絡(luò)用于句子分類,提出了一種經(jīng)典的網(wǎng)絡(luò)模型結(jié)構(gòu),模型以文本的詞向量矩陣作為輸入,在卷積層中,通過(guò)多個(gè)不同尺度的卷積核在詞向量矩陣上的滑動(dòng),計(jì)算出輸入文本的特征圖,然后對(duì)這些特征圖進(jìn)行池化操作提取主要特征.最后,在全連接層中,利用池化得到的特征及softmax 分類器,計(jì)算出輸入文本在各類別上的概率.Wang[6]等人提出了一種改進(jìn)雙通道CNN模型利用卷積神經(jīng)網(wǎng)絡(luò)雙通道來(lái)獲取更多特征信息從而提高文本分類的準(zhǔn)確度.
對(duì)于循環(huán)神經(jīng)網(wǎng)絡(luò),目前多采用如長(zhǎng)短期記憶網(wǎng)絡(luò)以及門控神經(jīng)網(wǎng)絡(luò)[7]等優(yōu)化的循環(huán)神經(jīng)網(wǎng)絡(luò)模型用來(lái)解決標(biāo)準(zhǔn)的循環(huán)神經(jīng)網(wǎng)絡(luò)存在梯度消失及梯度爆炸等問(wèn)題.在網(wǎng)絡(luò)中,文本中的詞按照其在文中的順序,被處理為一個(gè)有序序列,網(wǎng)絡(luò)中前一個(gè)輸入的詞信息會(huì)被傳遞到下一個(gè)輸入詞的計(jì)算中,循環(huán)層輸出經(jīng)過(guò)全連接層后計(jì)算文本屬于各類別的概率.Tang[8]等人提出一種層次神經(jīng)網(wǎng)絡(luò)用于長(zhǎng)文本分類,將文檔按照詞,句,文檔三個(gè)層次依次建模,每個(gè)層次通過(guò)門控循環(huán)單元編碼; Zhang[9]等人提出一種結(jié)合長(zhǎng)短期記憶網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的模型,該模型先將文本輸入至長(zhǎng)短期記憶網(wǎng)絡(luò)初步提取語(yǔ)義特征,然后將長(zhǎng)短期記憶網(wǎng)絡(luò)的輸出作為卷積層的輸入,進(jìn)一步提取出高階特征,從而提高文本分類效果.
由于CNN是通過(guò)不同的卷積窗口將底層的特征進(jìn)行加權(quán)求和來(lái)表示上層的特征信息,而這樣抽取出來(lái)的高階特征雖然考慮到了主要特征的影響,卻缺少了對(duì)于局部特征之間的層次關(guān)系,丟失了信息當(dāng)中大量的空間關(guān)聯(lián)特征信息,從而導(dǎo)致對(duì)象被錯(cuò)誤分類.
在CNN網(wǎng)絡(luò)中,神經(jīng)元是獨(dú)立運(yùn)行調(diào)整的,彼此之間并不存在著相互的聯(lián)系,Sabour等人[10]提出了基于動(dòng)態(tài)路由的膠囊網(wǎng)絡(luò)模型,將子層膠囊層的輸出向量通過(guò)轉(zhuǎn)換矩陣轉(zhuǎn)換來(lái)預(yù)測(cè)父層膠囊向量,并且提出了動(dòng)態(tài)路由算法的概念,其本質(zhì)上是一種聚類算法摒棄了反向傳播,取而代之的是通過(guò)多次的路由迭代調(diào)整權(quán)重,最后通過(guò)使用壓縮函數(shù)得到最終的父層膠囊向量表征.因?yàn)楦笇幽z囊向量是由子層膠囊向量通過(guò)迭代路由調(diào)整權(quán)重通過(guò)壓縮函數(shù)計(jì)算得來(lái),由多個(gè)神經(jīng)元一同決定與整體之間的關(guān)系,使得膠囊網(wǎng)絡(luò)能夠?qū)W習(xí)得到文本局部和整體之間的關(guān)聯(lián)信息.
因?yàn)槟z囊網(wǎng)絡(luò)擁有學(xué)習(xí)局部與整體空間位置關(guān)系信息的能力,使其在圖像處理方面得到了廣泛地應(yīng)用,然而在于自然語(yǔ)言方面目前來(lái)說(shuō)算是一個(gè)比較新的領(lǐng)域,可以應(yīng)用在文本分類領(lǐng)域之中用來(lái)提取文本段落與全文之間關(guān)聯(lián)特征信息,本文采用膠囊網(wǎng)絡(luò)作為混合模型的一部分用于提取局部與整體之間的關(guān)系作為整體高階特征組成的一部分,從而獲得信息更加豐富的高階特征來(lái)更好地預(yù)測(cè)地對(duì)文本進(jìn)行分類.
本文設(shè)計(jì)了一種新型的混合膠囊網(wǎng)絡(luò)模型并在嵌入層中提出了一種詞向量混合方法來(lái)提高詞向量質(zhì)量.首先在嵌入層中將輸入的文本通過(guò)詞向量映射成為分布式向量表示形式,并且在其中采用兩種不同的詞向量進(jìn)行映射,然后將映射完的詞向量進(jìn)行混合拼接,對(duì)于其中出現(xiàn)的缺失詞部分利用Fasttext模型有對(duì)子詞進(jìn)行訓(xùn)練的特性根據(jù)向量間余弦相似度進(jìn)行缺失詞補(bǔ)全,在其中采用兩種策略來(lái)防止“過(guò)匹配”現(xiàn)象的產(chǎn)生以及過(guò)濾噪聲缺失詞從而獲得高信息量低噪聲的混合詞向量.然后將混合后的詞向量輸入GRU循環(huán)神經(jīng)網(wǎng)絡(luò)層之中用于抽取文本特征信息,通過(guò)最大池化層將GRU層所獲得的特征向量抽取最為顯著的上下文特征作為高階特征的一部分.與此同時(shí),將GRU層所獲得的特征向量作為低階膠囊投入膠囊層之中,根據(jù)膠囊網(wǎng)絡(luò)的特性去學(xué)習(xí)獲得文本局部與整體之間的關(guān)聯(lián)特征信息即高階膠囊特征向量,最后將通過(guò)最大池化層所獲得的顯著高階上下文特征與高階膠囊特征信息進(jìn)行拼接獲得文本整體高階特征,將輸出經(jīng)過(guò)全連接后計(jì)算得到最終的文本分類結(jié)果,該基于混合詞向量的膠囊網(wǎng)絡(luò)模型簡(jiǎn)稱為CGMM(Capsule GRU Maxpool Mixed)模型,如圖1所示.
圖1 基于混合詞向量的膠囊網(wǎng)絡(luò)模型Fig.1 CGMM model
在嵌入層中提出一種混合詞向量方法,將兩種詞向量進(jìn)行混合并且采用兩種策略來(lái)減少噪聲詞向量的產(chǎn)生從而獲得語(yǔ)義豐富且少噪聲的高質(zhì)量詞向量.CGMM模型采用Glove詞向量[3]同F(xiàn)asttext詞向量[4]進(jìn)行詞向量拼接,來(lái)增強(qiáng)詞向量的健壯性并且在拼接的過(guò)程之中利用Fasttext模型對(duì)缺失詞進(jìn)行處理,通過(guò)計(jì)算詞典中詞匯與缺失詞的相似度,找到字典之中同缺失詞相似度最大的詞即缺失詞的近義詞進(jìn)行替換,在Fasttext缺失詞補(bǔ)全方法中采用兩種策略來(lái)減少噪聲詞向量從而將缺失的語(yǔ)義進(jìn)行補(bǔ)充,豐富了詞向量的語(yǔ)義信息,更好地去理解文本語(yǔ)義,從而獲得高信息量的混合詞向量用來(lái)提升文本分類效果.
3.2.1 Fasttext計(jì)算缺失詞相似度
Fasttext詞向量模型對(duì)于每個(gè)單詞通過(guò)使用不同的向量來(lái)進(jìn)行表示,由于其詞向量預(yù)訓(xùn)練過(guò)程中使用到skipgram模型將單詞進(jìn)行拆分,忽略了單詞的內(nèi)部結(jié)構(gòu)使得每個(gè)詞可以由多種不同的分詞組合而成.Bojanowski[4]等人在論文中提出了一個(gè)不同的評(píng)分函數(shù),如公式(1)所示,以便考慮到子詞信息考慮在內(nèi),每個(gè)單詞w都是由多個(gè)n字節(jié)片段序列所組成的詞袋,在單詞的開(kāi)頭和結(jié)尾添加了特殊的邊界符號(hào)
假設(shè)有一本n字節(jié)片段字典,其分詞總數(shù)量為g,給定一個(gè)詞w,用Gw?{1,…g}來(lái)代表在詞w中出現(xiàn)的n字節(jié)片段序列的集合.對(duì)于每一個(gè)n字節(jié)片段序列獲得其的向量表示,記為Zp,最后將單詞w的所有的n字節(jié)片段序列Zp進(jìn)行相加求和最后進(jìn)行求平均得到單詞w的詞向量表示,見(jiàn)公式(2).
(1)
(2)
根據(jù)公式(2)可得知Fasttext詞向量的每個(gè)單詞表示中含有子詞、前綴以及后綴的信息.由于Fasttext獨(dú)特的詞向量表示方法,一個(gè)單詞由它在單詞字典中的索引和它所包含的一組的n字節(jié)片段序列子詞表示,其中也包括了前后綴以及單詞子詞的信息,使得其可以根據(jù)單詞子詞信息通過(guò)余弦相似度計(jì)算得到與缺失詞之間相對(duì)可靠的表示,這便是CGMM模型利用Fasttext詞向量模型進(jìn)行缺失詞補(bǔ)全的理論依據(jù).
3.2.2 過(guò)匹配現(xiàn)象以及簡(jiǎn)單詞糾錯(cuò)策略
根據(jù)Fasttext詞向量中包含的子詞信息對(duì)于缺失詞進(jìn)行相似度計(jì)算,能夠?yàn)槿笔г~找到詞典中詞形相近的單詞并且在一定程度上有拼寫糾錯(cuò)的能力,但是在實(shí)驗(yàn)當(dāng)中發(fā)現(xiàn)其糾錯(cuò)能力是有限的.由于使用到的Fasttext詞向量模型[4]是在維基百科數(shù)據(jù)集中訓(xùn)練出來(lái)的300維的詞向量,子詞信息結(jié)構(gòu)豐富,對(duì)于字節(jié)長(zhǎng)的單詞由于詞向量其中包含著前后綴信息可以較為準(zhǔn)確地找到近義詞,然而由于子詞信息過(guò)于豐富會(huì)造成對(duì)于一些簡(jiǎn)單詞匯的拼寫錯(cuò)誤出現(xiàn)“過(guò)匹配”問(wèn)題,如圖2所示.
圖2 Fasttext相似度過(guò)匹配問(wèn)題
Fig.2 Fasttext similarity overmatch problem
由圖2可以看出,因?yàn)楹?jiǎn)單詞的字節(jié)數(shù)較短難以通過(guò)分詞去學(xué)習(xí)其中的有用信息,對(duì)于一些簡(jiǎn)單詞的拼寫錯(cuò)誤Fasttext模型的糾錯(cuò)能力有限,容易過(guò)匹配成為一些詞形類似的分詞,如果將這些分詞進(jìn)行表示為詞向量形式則容易帶入噪聲數(shù)據(jù),這顯然會(huì)對(duì)模型分類預(yù)測(cè)產(chǎn)生影響,所以CGMM模型對(duì)于簡(jiǎn)單詞匯首先采用單詞糾錯(cuò)的策略對(duì)于詞匯進(jìn)行處理,然后再使用Fasttext模型進(jìn)行相似度預(yù)測(cè)能夠在一定程度上減少過(guò)匹配現(xiàn)象的產(chǎn)生.
arg maxc∈candidatesp(c|w)
(3)
(4)
arg maxc∈candidatesP(c)
(5)
其中P(w)表示外部字典中單詞總數(shù),P(c)表示經(jīng)過(guò)簡(jiǎn)單詞形還原的詞匯在外部詞典中該詞匯出現(xiàn)的概率,P(w|c)表示在詞典中該單詞正確的概率,由于沒(méi)辦法合理評(píng)估P(w|c)大小,所以實(shí)驗(yàn)?zāi)J(rèn)值設(shè)置為1,又因?yàn)槭窃谕槐咀值渲羞M(jìn)行查詢所以P(w)相同,因此可以得到公式(5)的結(jié)論即選擇在外部詞典中出現(xiàn)率最高的的單詞作為詞形還原的單詞將不完整的簡(jiǎn)單詞匯進(jìn)行替換.
3.2.3 基于缺詞補(bǔ)全的混合詞向量方法
基于缺詞補(bǔ)全的混合詞向量方法步驟:
步驟1.是否遍歷完所有唯一單詞?是則進(jìn)入步驟6,否則進(jìn)入步驟2;
步驟2.該單詞是否存在于Fasttext詞向量中,是則將詞向量前300維填入Fasttext詞向量然后進(jìn)入步驟3,否則,進(jìn)入步驟2.1;
步驟2.1.判斷是否該單詞字節(jié)大于8個(gè)字節(jié),如果大于8字節(jié)則進(jìn)入步驟2.2.如果不大于則使用單詞還原策略,并把詞的字節(jié)數(shù)設(shè)置為9防止重復(fù)進(jìn)入單詞還原決策,將經(jīng)過(guò)單詞還原之后的詞進(jìn)入步驟2.
步驟2.2.根據(jù)公式(2)Fasttext子詞訓(xùn)練特性計(jì)算得到與其相似度較高的詞,通過(guò)實(shí)驗(yàn)去噪優(yōu)化閾值,提取其中相似度最大詞作為近義詞替換缺失詞,將詞向量前300維補(bǔ)入Fasttext詞向量然后進(jìn)入步驟3,如果單詞相似度低于優(yōu)化閾值則進(jìn)入步驟2.3.
步驟2.3.將詞向量600維全部補(bǔ)零返回步驟1.
步驟3.單詞是否存在于Glove詞向量中,是則進(jìn)入步驟4,否則進(jìn)入步驟3.1;
步驟3.1.詞向量后300維補(bǔ)零,進(jìn)入步驟5;
步驟4.詞向量后300維補(bǔ)Glove詞向量,進(jìn)入步驟5;
步驟5.返回步驟1;
步驟6.詞向量混合部分完成輸出經(jīng)過(guò)缺詞補(bǔ)全的混合詞向量.
混合詞向量生成流程圖如圖3所示.
圖3 混合詞向量生成流程圖Fig.3 Mixed word vector generation flow chart
綜上所述,F(xiàn)asttext模型是根據(jù)子詞訓(xùn)練得到的,其中子詞豐富,因此對(duì)簡(jiǎn)單拼寫錯(cuò)誤詞容易出現(xiàn)過(guò)度匹配成子詞從而帶來(lái)噪聲,故采用簡(jiǎn)單詞糾錯(cuò)策略對(duì)于簡(jiǎn)單詞先進(jìn)行還原,來(lái)減少“過(guò)匹配”現(xiàn)象的出現(xiàn);并且采取實(shí)驗(yàn)的方式自適應(yīng)調(diào)整優(yōu)化閾值的策略,將Fasttext模型計(jì)算得到缺失詞的最大相似度值進(jìn)行提取,引入閾值對(duì)相似度低于閾值的缺失詞進(jìn)行過(guò)濾從而最終獲得高質(zhì)量低噪聲的詞向量表示.
RNN模型在許多的自然語(yǔ)言任務(wù)中表現(xiàn)出了很強(qiáng)的學(xué)習(xí)能力,它能夠?qū)π蛄袛?shù)據(jù)進(jìn)行很好建模,充分利用到序列前后的信息,然而傳統(tǒng)的RNN模型在處理長(zhǎng)期依賴的問(wèn)題上在訓(xùn)練過(guò)程中會(huì)面臨梯度爆炸或者梯度消失的現(xiàn)象,因此許多的優(yōu)化結(jié)構(gòu)被提出,而LSTM(長(zhǎng)短期記憶網(wǎng)絡(luò))和GRU門限模型被作為其中兩個(gè)經(jīng)典的改進(jìn)模型被廣泛使用,它們的優(yōu)勢(shì)在于在訓(xùn)練的過(guò)程之中,可以對(duì)之前的信息通過(guò)設(shè)置一些門限來(lái)決定接受或是遺忘多少信息,并且向后傳遞信息.
zt=σ(Wzxt+Uzht-1)
(6)
rt=σ(Wrxt+Urht-1)
(7)
hc=tanh(Wxt+rtUht-1)
(8)
ht=(1-zt)·ht-1+zt·hc
(9)
圖4 GRU模型Fig.4 GRU model
膠囊網(wǎng)絡(luò)當(dāng)中的膠囊向量是一組神經(jīng)元,而不是單獨(dú)的神經(jīng)元節(jié)點(diǎn).膠囊層輸入輸出向量表示為特定實(shí)體類別的屬性,使用動(dòng)態(tài)路由算法在訓(xùn)練過(guò)程之中通過(guò)不斷迭代來(lái)調(diào)整子層膠囊向量與父層膠囊向量的關(guān)系強(qiáng)度即權(quán)重cij,子層膠囊向量根據(jù)多次迭代調(diào)整后的權(quán)重通過(guò)壓縮函數(shù)共同來(lái)決定某父層膠囊向量表示,最后將通過(guò)動(dòng)態(tài)路由得到的所有父層膠囊向量進(jìn)行拼接來(lái)得到最終的高階膠囊向量表示.
(10)
(11)
(12)
(13)
(14)
bij=bij+aij
(15)
將由GRU層所提取得到的特征作為子階膠囊向量輸入到膠囊網(wǎng)絡(luò)層中進(jìn)行處理.假設(shè)有ns個(gè)父層膠囊向量,首先,每一個(gè)父層膠囊向量通過(guò)上述的動(dòng)態(tài)路由過(guò)程來(lái)增加或者減少與低階膠囊向量之間的連接強(qiáng)度,然后將修正之后的耦合系數(shù)通過(guò)公式(13)計(jì)算得到父層膠囊向量vj,最后將所有父層膠囊向量進(jìn)行拼接從而得到最終高階膠囊向量表示vc=
(16)
最后將總體高階向量特征vf輸入全連接層,二分類問(wèn)題使用sigmoid函數(shù),多分類問(wèn)題使用softmax函數(shù)作為激活函數(shù)進(jìn)行歸一化處理,最終計(jì)算出最后的文本分類結(jié)果.
分別通過(guò)在4個(gè)常規(guī)文本分類數(shù)據(jù)集中對(duì)提出的CGMM模型進(jìn)行評(píng)估,使用準(zhǔn)確度作為各模型的評(píng)價(jià)指標(biāo),指在通過(guò)二分類以及多分類數(shù)據(jù)集當(dāng)中進(jìn)行實(shí)驗(yàn),來(lái)驗(yàn)證該模型和方法的有效性.
IMDB(Maas et al.,2011)[11]是爛番茄影評(píng)的數(shù)據(jù)集,一共有50000條數(shù)據(jù),標(biāo)簽設(shè)置共有兩類,正面情感和負(fù)面情感,其中訓(xùn)練集和測(cè)試集都為25000條.
MR(2005)(Pang and Lee,2005)[12]是一個(gè)電影評(píng)論二分類數(shù)據(jù)集,其中包括5331條積極評(píng)論,5331條消極評(píng)論.
Subj(Pang and Lee,2004)[13],主觀性二分類評(píng)論數(shù)據(jù)集.
AG′s(Conneau et al.,2017)[14]新聞種類分類數(shù)據(jù)集,其中有127600條數(shù)據(jù),一共將新聞文本數(shù)據(jù)分成World、Sport、Business以及Science四類.
表1 各數(shù)據(jù)集詳細(xì)情況表Table 1 Details of each dataset
這些數(shù)據(jù)集包含情感分類、觀點(diǎn)分類以及新聞分類等經(jīng)典的文本分類數(shù)據(jù)集,覆蓋了文本二分類以及文本多分類方面的自然語(yǔ)言處理任務(wù).主要數(shù)據(jù)集主要細(xì)節(jié)見(jiàn)表1.
模型實(shí)驗(yàn)采用準(zhǔn)確率作為度量標(biāo)準(zhǔn),見(jiàn)公式(17).
(17)
其中predict_correct表示模型預(yù)測(cè)正確的文本數(shù)量,test_correct表示模型預(yù)測(cè)的文本總數(shù).
表2中的gru_len表示GRU層的隱藏層節(jié)點(diǎn)數(shù)量,Routing膠囊網(wǎng)絡(luò)路由迭代次數(shù),Num_capsule膠囊個(gè)數(shù),Dim_capsule膠囊維度.
CGMM模型是在Keras平臺(tái)上進(jìn)行實(shí)驗(yàn),在預(yù)訓(xùn)練詞向量方面,使用從各網(wǎng)站爬取語(yǔ)料庫(kù)中進(jìn)行預(yù)訓(xùn)練得到的包含220萬(wàn)詞匯的Glove詞向量[3],以及維基百科中預(yù)訓(xùn)練得到的300維Fasttext詞向量[4]通過(guò)提出的混合詞向量方法得到高質(zhì)量的600維詞嵌入表示.采用Adam優(yōu)化方法,學(xué)習(xí)率設(shè)置為0.01,輟學(xué)率設(shè)置為0.25,batch_size為100,以真實(shí)類別與預(yù)測(cè)類別的交叉熵作為損失函數(shù),以最小化損失函數(shù)來(lái)訓(xùn)練整個(gè)模型,其余模型超參設(shè)置見(jiàn)表2.
表2 膠囊網(wǎng)絡(luò)中的超參數(shù)設(shè)置Table 2 Hyperparameter settings in the capsule network
將CGMM模型同14個(gè)文本分類目前為止相對(duì)先進(jìn)的模型及它們?cè)?個(gè)數(shù)據(jù)集上表現(xiàn)最優(yōu)的方法進(jìn)行比較,采用準(zhǔn)確率作為評(píng)價(jià)指標(biāo),來(lái)驗(yàn)證CGMM模型的有效性.
CNN-rand/CNN-static/CNN-non-static(Kim,2014)來(lái)自Kim[15]等人提出采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行語(yǔ)義分類,包含論文中涉及的三種改進(jìn)算法,DSCNN(2015)為Zhang[16]等人提出的一種結(jié)合了CNN和LSTM的混合模型,CL-CNN(2015)Zhang[17]等人提出的基于字符嵌入的卷積神經(jīng)網(wǎng)絡(luò)模型,VDCNN(2017)為Conneau[18]等人提出的一種深層卷積網(wǎng)絡(luò)模型,LSTM/bi-LSTM(2014)是由Cho[19]等人提出的長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò),Tree-LSTM(2015)為Tai[20]等人提出的樹(shù)形長(zhǎng)短期記憶網(wǎng)絡(luò)模型,LR-LSTM(2016)為Qian[21]等人提出的通過(guò)知識(shí)回歸進(jìn)行正則化處理的模型,capsule-A/capsule-B(2018)為Zhao[22]等人提出的結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與膠囊網(wǎng)絡(luò)的兩種混合膠囊網(wǎng)絡(luò)模型,dynamic/static-routing(2018)為Kim[23]等人提出的膠囊網(wǎng)絡(luò)基于動(dòng)態(tài)路由和靜態(tài)路由的兩種膠囊網(wǎng)絡(luò)模型.
表3以準(zhǔn)確度作為評(píng)價(jià)指標(biāo),其中CGMM-A模型是指不使用詞向量混合方法的CGMM模型,將兩種模型與14種不同的對(duì)比模型在各數(shù)據(jù)集上最優(yōu)的方法進(jìn)行比較,其中最佳實(shí)驗(yàn)結(jié)果用粗體標(biāo)出.從表3中可以看出CGMM模型在4個(gè)常規(guī)文本分類數(shù)據(jù)集中與對(duì)比算法相比表現(xiàn)出很好的準(zhǔn)確度,尤其在IMDB數(shù)據(jù)集中比最優(yōu)模型提升了2.14%,AG′s數(shù)據(jù)集中提升了0.93%.
表3 不同模型在各數(shù)據(jù)集上的準(zhǔn)確度結(jié)果對(duì)比表Table 3 Comparison of accuracy results of different models on each dataset
由此證明提出的CGMM模型在文本分類任務(wù)上的能有效地提高文本分類的準(zhǔn)確度,并且同傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)和2018年提出的4個(gè)膠囊網(wǎng)絡(luò)模型相對(duì)比,CGMM模型在4個(gè)數(shù)據(jù)集上均有一定的提高,這說(shuō)明了該混合模型在一定程度上可以更好地彌補(bǔ)單一神經(jīng)模型所缺失的學(xué)習(xí)能力.
表4表示基于Fasttext詞向量在4個(gè)文本分類數(shù)據(jù)集中缺失詞的個(gè)數(shù)統(tǒng)計(jì),各個(gè)數(shù)據(jù)集中經(jīng)過(guò)詞去重之后單詞總數(shù)稱為唯一詞總數(shù),缺失率是指缺失詞在唯一詞總數(shù)中的占比.
表4 各個(gè)數(shù)據(jù)集缺失詞數(shù)量表Table 4 Number of missing words in each dataset
在4個(gè)數(shù)據(jù)集中,使用CGMM-A模型在5種情況之下進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果是通過(guò)5次5折檢驗(yàn)取平均計(jì)算得出,通過(guò)比較在5種處理情況下的實(shí)驗(yàn)結(jié)果,從而驗(yàn)證缺失詞補(bǔ)全方法的有效性.表5中Glove_300d_840表示僅使用Glove詞向量作為詞向量映射的情況,Wiki_fasttext表示僅使用Fasttext詞向量作為詞向量映射的情況,Wooovmix表示將Glove詞向量同F(xiàn)asttext詞向量進(jìn)行混合,Mix_norestore在混合詞向量過(guò)程中采用缺失詞補(bǔ)全方法中沒(méi)有對(duì)于簡(jiǎn)單詞進(jìn)行還原的情況,Mix表示在混合詞向量過(guò)程中采用缺失詞補(bǔ)全方法使用優(yōu)化策略的情況,最佳實(shí)驗(yàn)結(jié)果用粗體標(biāo)出.
表5 詞向量在5種處理情況下準(zhǔn)確度對(duì)比表Table 5 Comparison of accuracy results of the word vector in 5 cases
對(duì)于表5進(jìn)行分析可以得出,在IMDB數(shù)據(jù)集中經(jīng)過(guò)缺失詞補(bǔ)全方法后的詞向量相較于其他情況中的最好結(jié)果提升了0.27%;在MR數(shù)據(jù)集中,盡管Fasttext詞向量在該數(shù)據(jù)集中表現(xiàn)不佳,然而混合之后的詞向量相較于Fasttext詞向量提升了1.8%,與僅用Glove詞向量的結(jié)果相近,可以看出混合詞向量不因單個(gè)詞向量訓(xùn)練效果不佳從而帶來(lái)不好的效果,體現(xiàn)了混合詞向量的健壯性;在Subj數(shù)據(jù)集中經(jīng)過(guò)詞向量混合之后的實(shí)驗(yàn)結(jié)果相較于單獨(dú)使用一個(gè)詞向量提升了0.4%證明了通過(guò)詞向量混合使得詞向量擁有更加豐富的語(yǔ)義信息能更好地理解語(yǔ)義,并通過(guò)表4可得知Subj數(shù)據(jù)集中的缺失率僅為1.65%,缺失詞補(bǔ)全方法在該數(shù)據(jù)集當(dāng)中進(jìn)行使用大致提升了0.1%,可以看出在缺失率不大的數(shù)據(jù)集中使用該補(bǔ)全方法所能帶來(lái)的提升有限;在AG′s數(shù)據(jù)集中,詞向量混合帶來(lái)了0.12%的提升,引入缺失詞補(bǔ)全方法再次提升了0.36%,這是由于AG′s數(shù)據(jù)集的缺失率高達(dá)55.8%說(shuō)明該數(shù)據(jù)集中缺失詞的數(shù)量比較大,缺失詞補(bǔ)全方法對(duì)于該數(shù)據(jù)集的缺失詞向量進(jìn)行近義詞詞向量補(bǔ)全的數(shù)量相對(duì)比較多,該方法對(duì)于缺失詞進(jìn)行語(yǔ)義補(bǔ)全豐富了原本語(yǔ)義,所以帶來(lái)了相較于其他數(shù)據(jù)集更多的提升,相較于不使用缺詞補(bǔ)全方法提升了0.48%,證明了基于缺失詞補(bǔ)全的混合詞向量方法的有效性,并且在缺失詞數(shù)量比較大的數(shù)據(jù)集中該方法會(huì)提升會(huì)更加明顯.
使用CGMM模型在AG′s數(shù)據(jù)集中進(jìn)行文本分類實(shí)驗(yàn),在其中對(duì)于CGMM模型的閾值進(jìn)行自適應(yīng)優(yōu)化,將閾值范圍設(shè)置為[0.7-0.9]之間,閾值初始化設(shè)為0.7,以0.05作為一個(gè)跨度,通過(guò)5折交叉驗(yàn)證對(duì)模型進(jìn)行多次試驗(yàn),根據(jù)實(shí)驗(yàn)準(zhǔn)確度結(jié)果反饋來(lái)調(diào)整閾值,并將實(shí)驗(yàn)準(zhǔn)確度最高的閾值作為優(yōu)化閾值,最佳實(shí)驗(yàn)結(jié)果用粗體標(biāo)出,如表6所示,其中閾值為0表示不采用閾值調(diào)整策略,閾值為1表示對(duì)于缺失詞全部過(guò)濾.
表6 基于閾值優(yōu)化的噪聲缺失詞過(guò)濾對(duì)比表Table 6 Noise-missing word filtering based on threshold optimization
由表6可以看出,當(dāng)閾值設(shè)置為0.7時(shí)準(zhǔn)確度為93.43%其中缺詞填補(bǔ)率為75.20%,而當(dāng)閾值設(shè)為0.8時(shí)相較于閾值設(shè)置為0.7準(zhǔn)確率提升0.1%其中缺詞填補(bǔ)率降低到30.17%,可以看出并不是補(bǔ)充越多的缺失詞向量越好,在數(shù)據(jù)集中的缺失詞并不是全部都是有必要的,其中可能是因?yàn)閿?shù)據(jù)采集時(shí)出現(xiàn)的特殊符號(hào)也可能是由于分詞處理之后出現(xiàn)的片段字母串,這些缺失詞本身就無(wú)意義,如果對(duì)于所有的缺失詞進(jìn)行引入顯然是不合理的.
圖5 基于閾值優(yōu)化的噪聲 缺失詞過(guò)濾方法Fig.5 Noise-missing word filtering method based on threshold optimization
引入閾值過(guò)大會(huì)導(dǎo)致絕大部分的缺失詞的詞向量得不到補(bǔ)充從而無(wú)法學(xué)習(xí)缺失詞中的語(yǔ)義信息,閾值過(guò)小會(huì)導(dǎo)致部分Fasttext模型也無(wú)法很好分辨的缺失詞被引入,給文本分類判別帶來(lái)過(guò)多的噪聲詞向量從而影響分類效果.通過(guò)閾值自適應(yīng)調(diào)整選擇適當(dāng)閾值的策略將Fasttext模型所預(yù)測(cè)出的缺失詞最大相似度進(jìn)行提取,將低于閾值的缺失詞進(jìn)行剔除采用統(tǒng)一詞向量進(jìn)行表示,由圖5可知當(dāng)閾值設(shè)置為0.8時(shí)文本分類的準(zhǔn)確度最高,所以以0.8作為優(yōu)化閾值進(jìn)行過(guò)濾能達(dá)到引入缺失詞近似向量的同時(shí)減少噪聲詞向量的效果.通過(guò)實(shí)驗(yàn)可得知,采用自適應(yīng)調(diào)整閾值的策略與未使用閾值自適應(yīng)調(diào)整策略相比提升了0.3%的文本分類準(zhǔn)確度,與將缺失詞全部過(guò)濾的情況相比提升了0.36%,證明了該策略方法能有效地對(duì)噪聲詞向量進(jìn)行過(guò)濾,獲得高質(zhì)量詞向量從而更好地進(jìn)行文本分類任務(wù).
本文提出了一種基于混合詞向量的膠囊網(wǎng)絡(luò)模型應(yīng)用在文本分類任務(wù)之中,并在包含文本二分類以及多分類任務(wù)的數(shù)據(jù)集中對(duì)模型進(jìn)行評(píng)估.通過(guò)與目前為止相較流行多種模型的最優(yōu)方法進(jìn)行對(duì)比實(shí)驗(yàn),表明了提出的混合膠囊網(wǎng)絡(luò)模型在考慮到了上下文的語(yǔ)義信息的同時(shí)通過(guò)膠囊網(wǎng)絡(luò)去學(xué)習(xí)到了局部與整體之間的關(guān)系深入理解文本的位置信息,從而更加地豐富了語(yǔ)義信息,優(yōu)化了特征提取過(guò)程之中信息大量丟失的問(wèn)題,并且提出了一種基于Fasttext詞向量模型缺失詞補(bǔ)全的混合詞向量方法,采用兩種策略防止“過(guò)匹配”現(xiàn)象的產(chǎn)生、降低了噪聲詞向量的引入從而得到高質(zhì)量的單詞表示向量,并通過(guò)實(shí)驗(yàn)證明了其的有效性.
在未來(lái)的研究工作中,針對(duì)上述詞向量混合方法進(jìn)行改進(jìn),本實(shí)驗(yàn)缺失詞的補(bǔ)全過(guò)于依賴Fasttext詞向量的訓(xùn)練質(zhì)量,在今后的研究中會(huì)對(duì)于混合方法進(jìn)行優(yōu)化改進(jìn),并且研究更多關(guān)于膠囊網(wǎng)絡(luò)的模型,使本文中的混合膠囊網(wǎng)絡(luò)模型能夠在文本分類中獲得更好的表現(xiàn),并且考慮將其應(yīng)用在不同的場(chǎng)景之中,擴(kuò)展其應(yīng)用范圍.