李楚貞,吳新玲,余育文
(1. 廣東理工學(xué)院信息技術(shù)學(xué)院,廣東 肇慶 526100;2. 廣東技術(shù)師范大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,廣東 廣州 510665;
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各種文本信息和數(shù)據(jù)飛速增加,如何在海量文本信息中有效篩選出更加有價(jià)值的信息是目前社會(huì)各界學(xué)者研究的主要內(nèi)容[1,2]。國內(nèi)外相關(guān)專家給出了一些較好的研究成果,例如肖琳等人[3]針對語義信息和文章內(nèi)容間的對應(yīng)關(guān)系,利用標(biāo)簽語義注意力機(jī)制獲取不同文檔的權(quán)重取值,同時(shí)對各個(gè)標(biāo)簽的重要性進(jìn)行分析,實(shí)現(xiàn)分類。李校林等人[4]分別在訓(xùn)練和測試樣本的相似性,同時(shí)將相似性結(jié)果進(jìn)行對比,實(shí)現(xiàn)分類。以上兩種算法由于未能加入卷積神經(jīng)網(wǎng)絡(luò),導(dǎo)致分類結(jié)果不準(zhǔn)確,分類復(fù)雜度增加,容錯(cuò)率下降。為了更好地解決上述問題,提出一種全新的復(fù)雜文本多標(biāo)簽分類算法。仿真結(jié)果表明,所提算法能夠獲取理想的分類結(jié)果,提升容錯(cuò)率,降低分類復(fù)雜度。
文本特征選擇操作步驟具體如圖1所示。
圖1 復(fù)雜文本的特征選擇流程圖
以下主要通過Bootstrap方法進(jìn)行復(fù)雜文本抽樣,具體的操作步驟如下所示:
(1)
接下來對抽取的特征進(jìn)行評價(jià),由于復(fù)雜環(huán)境下的文本標(biāo)簽具有一定的特殊性,需要在特征選擇階段對各個(gè)文本進(jìn)行二元分解,同時(shí)將其劃分為多個(gè)數(shù)據(jù)子集,各數(shù)據(jù)子集中還含有一個(gè)二元類標(biāo)簽。
為了更好提升算法的整體性能,進(jìn)行特征選擇前需要進(jìn)行數(shù)據(jù)集抽取[7],將抽取的特征進(jìn)行評價(jià),最終通過投票的方式確定權(quán)重的取值,具體的計(jì)算式為
(1)
式中,Wi代表特征的相關(guān)性;L代表參與投票的總?cè)藬?shù)。
將獲取的特征權(quán)重按順序進(jìn)行排列,用戶根據(jù)自身需求選擇對應(yīng)的權(quán)重。
通過Word2vec工具將復(fù)雜文本特征提取結(jié)果轉(zhuǎn)換為詞向量,同時(shí)將句子整理為向量矩陣的形式。進(jìn)而利用粒子群算法對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,最終達(dá)到分類的目的。
卷積神經(jīng)網(wǎng)絡(luò)(如圖2)由四個(gè)層次組成,其中,輸入層重點(diǎn)負(fù)責(zé)數(shù)據(jù)的整合和向量矩陣的組建;卷積層負(fù)責(zé)文本數(shù)據(jù)的特征提??;池化層負(fù)責(zé)文本特征的二次提?。欢B接層負(fù)責(zé)對提取的特征進(jìn)行分析,得到各個(gè)文本的類別信息,同時(shí)將其劃分為概率最大的類中,有效實(shí)現(xiàn)分類。以下重點(diǎn)對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,具體的操作步驟如圖2所示。
圖2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
1)輸入層
為了將卷積神經(jīng)網(wǎng)絡(luò)模型更好地應(yīng)用于復(fù)雜文本多標(biāo)簽分類中,需要將上述獲取的特征作為模型輸入。在卷積神經(jīng)網(wǎng)絡(luò)的輸入層中,使用一種比較直接的特征組織方式,即將詞向量的維度設(shè)定為矩陣的橫向維度[8,9],各個(gè)短文本中包含的詞語即為矩陣的縱向維度,以此為依據(jù)完成詞粒度特征向句子粒度特征的轉(zhuǎn)換。
2)卷積層
在卷積核中,主要使用長度為h的卷積窗口對文本進(jìn)行卷積操作,得到的輸出特征如式(2)所示
si=f(W*ai:i+h-1+b)
(2)
式中,b代表卷積的偏置項(xiàng);f代表激活函數(shù)。以下將Leaky ReLU函數(shù)設(shè)定為激活函數(shù),具體的計(jì)算式為
(3)
式中,ai代表(1,∞)區(qū)間內(nèi)的固定參數(shù)。在卷積核中對輸入數(shù)據(jù)進(jìn)行卷積操作,能夠獲取全新的特征向量圖(S∈Rm-h+1),具體的表現(xiàn)形式如式(4)所示
S=[S1,S2,…,Sm-h+1]T
(4)
一般情況下,一個(gè)卷積層中只含有一個(gè)卷積核。但是為了獲取更加理想的分類效果,使用Text-CNNM模型設(shè)定三個(gè)規(guī)格不同的卷積核,通過其提取文本的局部特征。當(dāng)經(jīng)過卷積核操作后,會(huì)形成三種不同的特征圖。
3)池化層
在CNN架構(gòu)中連續(xù)卷積層會(huì)定期插入池化層,池化層在輸入體積的各個(gè)深度切片中單獨(dú)進(jìn)行體積采集。以下在池化層中主要通過Max-pooling操作,即提取池化窗口中取值最大的數(shù)據(jù)局部最優(yōu)特征,進(jìn)而實(shí)現(xiàn)輸入數(shù)據(jù)到提取的全部過程。
4)全連接層
通過全連接層完成文本多標(biāo)簽分類。以下將Softmax函數(shù)作為全連接層的損失函數(shù),根據(jù)各個(gè)句子的類別概率完成文本分類。Softmax比較適用在分類和回歸任務(wù)中,將獲取的輸出概率進(jìn)行對比,選取取值最大的作為最終的分類結(jié)果。其中,各個(gè)元素的Softmax值如式(5)所示
(5)
其中,卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程如下所示:
1)通過隨機(jī)值對全部過濾器的參數(shù)和權(quán)重進(jìn)行初始化操作。
2)網(wǎng)絡(luò)主要將訓(xùn)練數(shù)據(jù)作為輸入,通過前向傳播步驟獲取不同類別的輸出概率。
3)計(jì)算輸出層的誤差總值。
4)通過反向傳播計(jì)算權(quán)重的梯度誤差,同時(shí)采用梯度下降法更新濾波器中的權(quán)重取值和參數(shù)[10]。
5)對訓(xùn)練集中的全部數(shù)據(jù)重復(fù)步驟2)~4),直至網(wǎng)絡(luò)狀態(tài)穩(wěn)定。
雖然,CNN模型的功能是十分強(qiáng)大的,但是需要進(jìn)化的參數(shù)也是十分多的。以下主要采用粒子群算法對CNN模型參數(shù)進(jìn)行優(yōu)化,進(jìn)而實(shí)現(xiàn)文本多標(biāo)簽分類。
基于卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜文本多標(biāo)簽分類算法是對文本特征向量進(jìn)行高層次提取和壓縮的過程。為了得到更加理想的分類結(jié)果,以下使用粒子群算法對卷積神經(jīng)進(jìn)行優(yōu)化,有效解決卷積神經(jīng)網(wǎng)絡(luò)的局部極小值和參數(shù)泛濫等問題,具體的操作流程如圖3所示。
圖3 基于粒子群算法的卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化
由于粒子群算法對于參數(shù)的變化十分敏感,在解決不同問題的過程中,設(shè)置的參數(shù)取值也會(huì)存在十分明顯的差異。但是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間較長,假設(shè)直接在神經(jīng)網(wǎng)絡(luò)中進(jìn)行參數(shù)調(diào)試,會(huì)浪費(fèi)大量的時(shí)間。為了有效節(jié)省時(shí)間,選取粒子群算法對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化。分析粒子群算法的基本原則,對粒子群的優(yōu)化速度和位置更新影響力最大的參數(shù)如下所示:
1)慣性權(quán)重ω
當(dāng)ω的取值較大時(shí),粒子的全局搜索能力較強(qiáng);反之,局部搜索能力更強(qiáng)。ω的取值主要包含以下幾種情況,如式(6)所示
(6)
2)學(xué)習(xí)因子常量c1和c2
c1和c2兩者的取值大小決定了粒子向更優(yōu)解接近的變化速率。通常情況下,兩者的取值如以下公式所示
(7)
3)粒子群種群數(shù)量pop-size
主要用來描述粒子群的規(guī)模,規(guī)模越大,則說明優(yōu)化耗時(shí)越多。
通過上述對比分析,確定最終的參數(shù)組合。當(dāng)粒子群算法確定不同的參數(shù)之后,即可將粒子群算法代入到卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。當(dāng)樣本規(guī)模較小時(shí),粒子群算法的尋優(yōu)效果要更好一些;但是當(dāng)規(guī)模較大時(shí),粒子群算法容易陷入局部最優(yōu)。通過對粒子群算法進(jìn)行分析可知,將各個(gè)樣本設(shè)定為神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的一個(gè)約束。當(dāng)樣本數(shù)量越多[11],約束也會(huì)相應(yīng)低增加,粒子群算法的探索能力也會(huì)受到不同程度的影響。為了獲取更加精準(zhǔn)的分類結(jié)果,需要對網(wǎng)絡(luò)權(quán)值參數(shù)進(jìn)行訓(xùn)練,直至適應(yīng)度收斂到一定范圍內(nèi)。以下詳細(xì)給出使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行復(fù)雜樣本多標(biāo)簽分類的主要操作流程:
1)設(shè)定參數(shù):
設(shè)定卷積神經(jīng)網(wǎng)絡(luò)中各個(gè)參數(shù)的取值,其中包含粒子的位置和速度等。
2)計(jì)算適應(yīng)度:
分析各個(gè)粒子在卷積神經(jīng)網(wǎng)絡(luò)中的作用,同時(shí)結(jié)合前向傳播進(jìn)行適應(yīng)度計(jì)算,如式(8)所示
(8)
式中,V代表速度;r1和r2代表分布在[0,1]范圍內(nèi)的隨機(jī)變量;pbest(i,t)代表局部搜索最佳位置;gbest(i,t)代表全局搜索最優(yōu)位置。
3)如果誤差能夠收斂到一定范圍內(nèi),則停止計(jì)算,同時(shí)輸出最優(yōu)值;反之,則通過式(9)對粒子的位置和速度進(jìn)行更新
(9)
式中,i代表粒子的索引;Np代表粒子的總數(shù);t代表當(dāng)前迭代次數(shù)。
4)將經(jīng)過更新的粒子位置和速度設(shè)定為權(quán)值,全部代入到神經(jīng)網(wǎng)絡(luò)中,同時(shí)使用前向傳播進(jìn)行誤差計(jì)算[12]。
5)返回至步驟3)再次進(jìn)行迭代,直至粒子群算法停止。
6)選取適應(yīng)度靠前的20個(gè)位置不鄰近的粒子,同時(shí)梯度下降法進(jìn)行訓(xùn)練。其中,輸出結(jié)果的最優(yōu)解即為模型的最終參數(shù)。
7)當(dāng)卷積神經(jīng)網(wǎng)絡(luò)模型完成訓(xùn)練后,將數(shù)據(jù)輸入到模型進(jìn)行分類。
為了驗(yàn)證所提算法的有效性,以基于標(biāo)簽語義注意力的多標(biāo)簽文本分類方法和基于質(zhì)心的多標(biāo)簽文本分類方法為對比方法,在表1所示的實(shí)驗(yàn)環(huán)境下進(jìn)行仿真分析:
表1 仿真環(huán)境
實(shí)驗(yàn)主要采用THUCnews數(shù)據(jù)集,其中主要包含體育以及財(cái)經(jīng)等多種類型的文本數(shù)據(jù)。
1)分類結(jié)果
實(shí)驗(yàn)優(yōu)先對各個(gè)算法分類性能的好壞進(jìn)行對比,選取召回率和分類錯(cuò)誤率作為測試指標(biāo),其中,召回率取值越高,分類錯(cuò)誤率取值越低,則說明分類結(jié)果越準(zhǔn)確,具體實(shí)驗(yàn)對比結(jié)果如圖4所示。
圖4 不同算法的分類結(jié)果
分析圖4中的實(shí)驗(yàn)數(shù)據(jù)可知,隨著樣本類別數(shù)量的持續(xù)增加,各個(gè)算法的召回率和分類錯(cuò)誤率均發(fā)生了明顯的變化。其中所提方法的召回率明顯更高一些,分類錯(cuò)誤率明顯更低一些。由此可見,所提算法能夠獲取高精度的分類結(jié)果。
2)容錯(cuò)率/%
為了更好驗(yàn)證所提算法的綜合性能,以下實(shí)驗(yàn)測試重點(diǎn)對比三種不同算法的容錯(cuò)率,具體實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 容錯(cuò)率
分析圖5中的實(shí)驗(yàn)數(shù)據(jù)可知,隨著實(shí)驗(yàn)次數(shù)的持續(xù)增加,各個(gè)算法的容錯(cuò)率也發(fā)生了十分明顯的變化。由于所提算法進(jìn)行分類的過程中,加入卷積神經(jīng)網(wǎng)絡(luò)對模型進(jìn)行訓(xùn)練,有效提升了算法的整體性能。
3)分類復(fù)雜度/%
以下實(shí)驗(yàn)測試重點(diǎn)對比三種不同算法的分類復(fù)雜度,具體實(shí)驗(yàn)對比結(jié)果如表2所示。
表2 不同算法的分類復(fù)雜度對比
分析表2中的實(shí)驗(yàn)數(shù)據(jù)可知,所提算法由于在分類的過程中加入了卷積神經(jīng)網(wǎng)絡(luò),有效簡化了算法的操作步驟,最終達(dá)到降低分類復(fù)雜度的目的,分類復(fù)雜度在三種算法中最低。
為了更好解決傳統(tǒng)分類算法存在的問題,結(jié)合卷積神經(jīng)網(wǎng)絡(luò),提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的復(fù)雜文本多標(biāo)簽分類算法。測試結(jié)果表明,所提算法能夠獲取理想的分類效果,降低分類復(fù)雜度,同時(shí)提升算法的容錯(cuò)率。