王根生,黃學(xué)堅
1(江西財經(jīng)大學(xué) 計算機實踐教學(xué)中心,南昌 330013)2(江西財經(jīng)大學(xué) 國際經(jīng)貿(mào)學(xué)院,南昌 330013)3(江西財經(jīng)大學(xué) 人文學(xué)院,南昌 330013)
文本分類是自然語言處理(NLP)領(lǐng)域的一個經(jīng)典問題,在上個世紀(jì)50年代就有學(xué)者進行了相關(guān)研究,提出通過先驗規(guī)則進行分類;到80年代,建立了使用專家知識構(gòu)建文本分類專家系統(tǒng);隨著90年代機器學(xué)習(xí)的發(fā)展,形成了基于人工特征工程的淺層分類模型,該模型中特征工程是極為關(guān)鍵的一個步驟,主要包括文本預(yù)處理、特征提取、特征表示、文本表示,該模型如圖1所示.
基于人工特征工程的淺層分類模型是現(xiàn)今主流的文本分類算法,國內(nèi)外許多學(xué)者對該模型的不同階段展開了相關(guān)研究.
1)文本預(yù)處理階段.文本預(yù)處理主要包括分詞和去除停用詞,傳統(tǒng)的分詞算法主要有基于字符串匹配、基于語義和句法、基于統(tǒng)計互信息等方法[1];隨著深度學(xué)習(xí)算法的發(fā)展,WordEmbedding+Bi-LSTM+CRF的深度學(xué)習(xí)文本分詞算法憑借無需構(gòu)建手工特征和出色的性能,成為了目前主流的分詞算法[2].停用詞處理主要針對文本中高頻出現(xiàn)的連詞、代詞、介詞等進行去除,因為這些詞不僅增加了文本表示的維度,而且對文本分類毫無作用.
圖1 基于人工特征工程的淺層分類模型Fig.1 Shallow classification model based on artificial feature engineering
2)特征提取階段.特征提取常用的方法有文件頻率(Document Frequency,DF)、信息增益(Information Gain,IG)、卡方檢測(chi-square test,CHI)等[3];DF[4]通過閾值,刪除低頻詞,但有些低頻詞對類別的判決具有很大貢獻;IG[5]通過計算特征詞對信息熵的影響進行選擇,但也會出對分類貢獻大的詞漏判;CHI[6]是以X2分布為基礎(chǔ),描述特征詞與類別的獨立性,缺點是對低頻詞的區(qū)分效果不好.針對這些傳統(tǒng)特征提取算法的不足,不少學(xué)者提出了相關(guān)的改進算法.趙倩針對CHI和IG方法的不足,提出一種基于詞頻、類間和類內(nèi)文檔頻的特征選擇方法[7];李明江通過引入類詞頻的概念,構(gòu)建“文檔+類+詞”的立方體模型進行特征選擇[8].隨著近年來Word2vec的提出,基于Word2vec詞向量特征選擇成為一個研究熱點,陳磊基于Word2vec進行文本特征選擇,并且發(fā)現(xiàn)基于該方法的分類效果好于傳統(tǒng)的特征選擇方法[9];Lei Zhu利用Word2vec詞向量和IG方法進行結(jié)合,改進IG的不足[10];Dongwen利用Word2vec詞向量計算和情感詞的余弦相似度進行情感特征詞的選取[11].
3)特征表示階段.傳統(tǒng)的表示方法有單詞網(wǎng)絡(luò)(WordNet)、獨熱編碼(one-hot encoding)、詞頻-逆文本頻率(TF-IDF)[12].WordNet是基于認(rèn)知語言學(xué)的英文字典,通過對不同詞性進行編碼,組成一個詞匯語義網(wǎng)[13].WordNet編碼保持了語義相似度,但對相鄰?fù)x詞的差別不能衡量,且它是主觀構(gòu)建的,維護和添加新詞的成本高[14];one-hot encoding[15]把詞編碼成一個稀疏向量,這種編碼方式簡單,但無法表達語義信息;TF-IDF使用詞語對文件的重要度進行特征表示[16],但依然無法表達語義信息.2013年,Mikolov基于神經(jīng)網(wǎng)絡(luò)提出了Word2vec模型[17],通過對詞語上下文和語義關(guān)系進行建模,將詞語映射到低維實數(shù)空間,語義相似的詞語在這個空間中也相近,這個特性使得Word2vec廣泛運用于自然語義處理(NLP)中,如聚類、標(biāo)注、詞性分析等任務(wù)[18].
4)文本表示與分類階段.文本表示傳統(tǒng)的方法為詞袋模型(bag-of-words,BOW)[19],該模型把文檔看成是一個無序的詞語集合,詞語間彼此獨立,忽略了詞語的上下文關(guān)系,并且存在高緯度、高稀疏性的問題;針對這兩個問題空間向量模型(Vector Space Model,VSM)[20]在詞袋模型的基礎(chǔ)上通過特征選擇與計算特征權(quán)重進行降維和增加稠密性;文本的分類器大部分都是基于統(tǒng)計學(xué)的機器學(xué)習(xí)算法,如樸素貝葉斯(Naive Bayes)[21]、KNN[22]、SVM[23]、和神經(jīng)網(wǎng)絡(luò)[24]等.
5)研究深入階段.在傳統(tǒng)的基于人工特征工程的淺層分類模型中,特征表達語義弱、文本表示維度高、詞序丟失、矩陣稀疏等問題是影響分類算法性能的重要因素.隨著研究的不斷深入,針對這些問題不少學(xué)者提出了相關(guān)改進算法.張謙針對特征維度高、語義弱提出Word2vec模型和SVM結(jié)合的分類算法[25];張群針對特征矩陣稀疏問題,設(shè)計了基于Word2vec與LAD主題模型相結(jié)合的文本分類算法[26];呂淑寶針對傳統(tǒng)機器學(xué)習(xí)文本分類算法準(zhǔn)確率低和分布不均的問題,提出基于深度學(xué)習(xí)的文本分類算法[27].
通過以上分析發(fā)現(xiàn),不同階段的算法都幾乎存在一些不足,且大部分改進型算法是基于某一個問題進行的局部改進,針對這一現(xiàn)象,本文提出基于Word2vec、改進型TP-IDF和卷積神經(jīng)網(wǎng)絡(luò)三者結(jié)合的文本分類模型(CTMWT).使用Word2vec進行詞語表示,得到的詞向量為低維稠密性實數(shù),并且很好的保留了語義信息,由于Word2vec無法表達詞匯的重要程度,所以引入TF-IDF算法計算每個詞向量在文本中的權(quán)重;TF-IDF算法中只考慮特征詞在整個語料庫中出現(xiàn)的頻率,忽略了在不同類別中的分布,針對這個問題本文提出基于類頻方差改進型TF-IDF算法,運用改進型TF-IDF算法構(gòu)成基于詞向量和權(quán)重的向量文本表示,這種文本表示很好的保留了詞語上下文關(guān)系;最后利用卷積神經(jīng)網(wǎng)絡(luò)從局部到全局相關(guān)性特征的學(xué)習(xí)能力,對大量文本向量進行深度學(xué)習(xí).
Word2vec是基于神經(jīng)網(wǎng)絡(luò)從大量文本庫中得到語義知識的模型,主要有CBOW和Skip-Gram兩種模型.Skip-Gram模型通過給定的輸入詞wt來預(yù)測其上下文Swt=(wt-k,…,wt-1,wt+1,…,wt+k),其中k為wt上下文窗口大小,即左右選取詞的個數(shù),CBOW模型則是根據(jù)上下文Swt去預(yù)測wt.Skip-Gram和CBOW訓(xùn)練目標(biāo)優(yōu)化函數(shù)分別如公式(1)和公式(2)所示:
(1)
(2)
其中C為文本庫中所有的詞語,k為wt上下文窗口大小.Word2vec模型的建立并不是為了處理新的預(yù)測任務(wù),而是為了得到訓(xùn)練后神經(jīng)網(wǎng)絡(luò)中隱藏層的參數(shù)矩陣,這些隱藏層參數(shù)才是Word2vec去學(xué)習(xí)的詞向量.
在對Word2vec模型進行訓(xùn)練時,樣本為(輸入詞,輸出詞),Skip-Gram模型的輸入詞和輸出詞分別為wt和Swt,CBOW模型與之相反.神經(jīng)網(wǎng)絡(luò)只能處理數(shù)值計算,所以需要對詞語進行數(shù)值編碼,常用的方法是基于訓(xùn)練樣本庫構(gòu)建詞語表(vocabulary),再根據(jù)詞語表中的索引對詞語進行one-hot編碼,但會發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)的參數(shù)矩陣會非常大.例如,包含10000詞語的詞匯表,每個詞one-hot編碼為10000維的向量,如果想構(gòu)造300維的詞向量,隱藏層就至少需要300個神經(jīng)元,輸入-隱藏層的參數(shù)矩陣將會有10000*300=300萬個參數(shù),在這么大規(guī)模的神經(jīng)網(wǎng)絡(luò)中進行梯度下降是很慢的,但由于one-hot編碼只有一個維度的數(shù)值為1,其余的所有為0,所以只需選取數(shù)值為1的輸入-隱藏層參數(shù)進行更新,為了算法的隨機性,再從數(shù)值為0的連接參數(shù)隨機選取5-10個,這樣需要更新的參數(shù)就大大減少,降低了訓(xùn)練復(fù)雜度.訓(xùn)練后模型的輸出為一個概率分布,使得公式(1)或公式(2)和訓(xùn)練樣本間的誤差最小,訓(xùn)練得到的每個輸入-隱藏層的參數(shù)數(shù)值就是該輸入詞的詞向量.這種訓(xùn)練方式,會使得有著相似上下文的詞語在詞向量空間也非常相近,而有著相似上下文的詞語他們的語義也是相近.
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是深度學(xué)習(xí)領(lǐng)域中一個重要的算法,在圖像處理方面取得了很好的效果.一個典型的卷積神經(jīng)網(wǎng)絡(luò)由輸入和輸出以及多個隱藏層構(gòu)成,隱藏層由卷積層、池化層和全連接層組成,其中卷積層和池化層配合組成卷積組,逐層學(xué)習(xí)局部到全局的特征,在最終通過若干個全連接層完成分類工作.
1)卷積層
卷積層是CNN的核心,具有權(quán)值共享和局部連接特征.卷積層由一組可學(xué)習(xí)卷積核(kernels)組成,每個卷積核和上層輸入數(shù)據(jù)的不同局部窗口進行卷積計算,如公式(3)所示:
s(t)=(X·W)(t)
(3)
其中X為輸入,W為卷積核,操作符(·)表示卷積,常見的二維卷積如公式(4)所示:
(4)
其中m,n分別代表卷積核窗口的高度和寬度,得到的卷積結(jié)果會作為激活函數(shù)f的輸入,經(jīng)過f處理后的結(jié)果為該層的輸出特征圖(feature maps),激活函數(shù)如公式(5)所示:
ci,j=f(s(i,j)+b)
(5)
激活函數(shù)f常用的為sigmoid或tanh等非線性函數(shù),b為偏置項.
2)池化層
池化層的任務(wù)是對卷積層的輸出特征圖進行下采樣,簡化卷積層的輸出,從而減少訓(xùn)練參數(shù),并且可以避免過擬合.常用的采樣方法為最大值下采樣(Max-Pooling)和平均值下采樣(Mean-Pooling).假設(shè)采樣窗口的寬度為w,高度為h,池化過程先以窗口的大小作為步長,把卷積層的輸出特征矩陣劃分為若干個w×h大小的子區(qū)域,在使用相關(guān)的采樣方法對每個子區(qū)域進行采樣.最大值下采樣方法得到的是該區(qū)域的最大特征值,平均值下采樣得到的是該區(qū)域所有特征的平均值.
3)全連接層
全連接(FC)處于卷積神經(jīng)網(wǎng)絡(luò)最后,通過多層的卷積層與池化層處理后,原始的輸入數(shù)據(jù)被映射到了隱含特征空間,全連接層則通過特征空間轉(zhuǎn)換,把得到的“分布式特征表示”映射為樣本的標(biāo)記空間.全連接層可由卷積操作實現(xiàn),使用w*h個1×1大小的卷積核對前層卷積輸出進行卷積計算,w,h分別代表前層卷積輸出的特征圖的寬和高.全連接給整個神經(jīng)網(wǎng)絡(luò)帶來了大量參數(shù),是限制算法性能的一個重要瓶頸,近期有學(xué)者提出了一些新的網(wǎng)絡(luò)模型,如ResNet和GoogLeNet等[28],這些模型使用全局平均池化(global average pooling,GAP)取代FC,來融合前層卷積得到的特征圖,仍采用softmax等非線性損失函數(shù)作為網(wǎng)絡(luò)目標(biāo)函數(shù)引導(dǎo)學(xué)習(xí)過程.
TF-IDF是一種計算詞語權(quán)重的經(jīng)典統(tǒng)計方法,由詞頻(term frequency,TF)和逆向文檔頻率(inverse document frequency,IDF)兩部分?jǐn)?shù)據(jù)組成,詞頻計算如公式(6)所示:
(6)
tfi,j代表詞語wi在文檔dj中出現(xiàn)頻率,ni,j為wi在文檔dj中出現(xiàn)的次數(shù),分母為文檔dj中所有詞語出現(xiàn)次數(shù)總和,k為文檔dj中不同詞語的個數(shù).逆向文檔頻率計算如公式(7)所示:
(7)
其中idfi代表詞語wi在文本庫d中的逆向文檔頻率,nd為文本庫d中文檔的總個數(shù),df(d,wi)為文檔庫d中包含詞語wi的文檔個數(shù),加1是為了防止df(d,wi)為零的情況.最后TF-IDF歸一化處理的計算如公式(8)所示:
(8)
通過公式可以看出,詞語wi對文檔dj的重要程度和它在文檔dj中出現(xiàn)的頻率成正比,和在整個文本庫d中包含詞語wi的文檔數(shù)成反比.
在文本分類研究中,文本庫中的文本通常被標(biāo)記成幾個不同類別,而TF-IDF算法只考慮特征詞在整個文本庫中出現(xiàn)的總頻率,忽略了在類別中的分布,例如某個詞語wi在文本庫中的幾個類別的文本中出現(xiàn)頻率較高,而在其他幾個類別的文本中出現(xiàn)頻率較低,說明該wi對文本的判別具有一定貢獻,而傳統(tǒng)的TF-IDF算法沒有考慮這種不同類別間的分布情況,導(dǎo)致某些對類別判斷具有貢獻的詞丟失.因此本文提出引入類頻方差的TF-IDF算法,類頻方差衡量的是詞語在不同類別的分布情況,計算如公式(9)所示:
(9)
τi為詞語wi的類頻方差,N為文本類別數(shù),df(d,wi)為整個文本庫d中包含詞語wi的文檔個數(shù),df(cj,wi)為在類別cj中包含詞語wi的文檔個數(shù).τi越大說明詞語wi在類別中波動越大,分布越不均勻,對類別的判斷作用越大,所以基于類頻方差的TF-IDF算法計算如公式(10)所示:
tf-idf-τi,j=tf-idfi,j*τi
(10)
tf-idfi,j和τi的計算分別如公式(8)、公式(9)所示.公式(10)就是本文提出的改進型TF-IDF算法.
針對傳統(tǒng)機器學(xué)習(xí)文本分類算法的語義特征表達弱、文本表示維度高、詞序丟失、矩陣稀疏等問題,本文提出基于Word2vec、改進型TF-IDF和卷積神經(jīng)網(wǎng)絡(luò)三者相結(jié)合的文本分類模型(CTMWT),如圖2所示.
1)Word2vec詞向量庫建設(shè)
Word2vec詞向量的獲取一般有兩種方式,一種是使用開源的全局詞向量庫,這種詞向量庫是通過對全網(wǎng)超大規(guī)模文本庫訓(xùn)練得到,如2018年北京師范大學(xué)和人民大學(xué)的自然語言處理小組開源的一套中文詞向量庫.還有一種方式是根據(jù)自己收集的文本庫訓(xùn)練,得到一個局部的詞向量庫.由于我們處理的是針對某個問題領(lǐng)域的文本分類,所以采用該領(lǐng)域的文本進行向量庫的訓(xùn)練,得出的詞向量更貼合該問題領(lǐng)域.具體詞向量庫建設(shè)流程如圖3所示.
文本庫包含所用的訓(xùn)練樣本和測試樣本,神經(jīng)網(wǎng)絡(luò)隱藏層神經(jīng)元的個數(shù)為100-300之間,隱藏層神經(jīng)元的個數(shù)即詞向量的維數(shù),針對大規(guī)模輸入-隱藏層參數(shù)矩陣訓(xùn)練時梯度下降慢的問題采用負(fù)采樣(negative sampling)技術(shù)改進.
2)文本向量表示
圖2 CTMWT模型Fig.2 CTMWT model
先對文本di進行分詞處理Wi=[wi,…,wn],n為詞語個數(shù).在根據(jù)Word2vec詞向量庫把分詞后的文本替換成低維數(shù)值向量VWi=[Vw1,…,Vwn],Vwi為詞wi的詞向量,Vwi=[v1,v2,…,vk],k為詞向量的維度.使文本表示從神經(jīng)網(wǎng)絡(luò)難處理的高緯度高稀疏傳統(tǒng)數(shù)據(jù),變成了類似圖像的連續(xù)稠密矩陣數(shù)據(jù)表示.并且這種文本表示免去了傳統(tǒng)機器學(xué)習(xí)文本分類算法中人工特征選擇的繁瑣工作,讓文本原始信息得到了最大程度保留.但Word2vec的詞向量不能刻畫詞語對文本的重要度,所以用公式(10)改進型TF-IDF算法進行向量詞權(quán)重計算,最終文本表示如公式(11)所示:
圖3 詞向量庫建設(shè)Fig.3 Construction of word vector library
(11)
其中tf-idf-τt,i的計算見公式(10).
3)卷積神經(jīng)網(wǎng)絡(luò)文本分類
通過公式(11)處理后的文本被表示成類似圖像的連續(xù)稠密矩陣數(shù)據(jù),深度學(xué)習(xí)算法具有很強的數(shù)據(jù)遷移性,在圖像領(lǐng)域取得很好效果的卷積神經(jīng)網(wǎng)絡(luò)也可以遷移到文本處理領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)文本分類模型如圖4所示.
卷積網(wǎng)絡(luò)一般是由多個卷積層、池化層連接組成,圖4只是畫出了一層.一個卷積層中有多個不同的卷積核w,w∈Rhk,h為卷積核的高度,k為詞向量的空間維度,卷積核以步長1向下滑動,每經(jīng)過一個文本向量h*k的窗口時進行卷積運算,產(chǎn)生一個新的特征值,計算如公式(12)所示:
ci=f(w·Wi:i+h+b)
(12)
圖4 卷積神經(jīng)網(wǎng)絡(luò)文本分類模型Fig.4 Text classification model based on convolutional neural network
實驗環(huán)境主要基于TensorFlow和Python3.6.實驗數(shù)據(jù)來源于清華大學(xué)自然語言處理實驗室的中文文本分類數(shù)據(jù)集THUCNews,該數(shù)據(jù)集根據(jù)新浪新聞RSS訂閱頻道2005-2011年間的歷史數(shù)據(jù)篩選過濾生產(chǎn),共包括14個新聞類別,共74萬篇新聞文檔,均為UTF-8的純文本格式.本實驗為了減少神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時間,從THUCNews數(shù)據(jù)集中選取了體育、財經(jīng)、房產(chǎn)、家居、教育、科技、時尚、時政、游戲、娛樂10個類別,每個類別12000篇新聞文檔,其中10000為訓(xùn)練集(train set)、1000為測試集(test set)、1000為驗證集(validation set),驗證集用于指導(dǎo)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的調(diào)整,總共訓(xùn)練集10萬,測試集1萬,驗證集1萬.實驗的第一步是要得到詞向量庫,使用所有的訓(xùn)練集、測試集、驗證集共12萬文本進行訓(xùn)練,對12萬的文本分詞后,得到近5000萬的詞匯,包含60萬個不同的詞,選取大小為4的上下文窗口,得到(輸入詞,輸出詞)的訓(xùn)練樣本近2億組,設(shè)定詞向量維度為100,采用CBOW模型進行訓(xùn)練得到詞向量庫.
4.2.1 CTMWT模型實驗
卷積神經(jīng)網(wǎng)搭建參數(shù)的不同也會影響到實驗效果,但這些不同參數(shù)的實驗對比不是本文重點,所以通過查閱相關(guān)資料,確定本實驗的卷積神經(jīng)網(wǎng)絡(luò)的主要參數(shù)如表1所示.
表1 卷積神經(jīng)網(wǎng)絡(luò)參數(shù)
Table 1 Convolution neural network parameters
參數(shù)名稱參數(shù)值詞向量維度100卷積核個數(shù)256卷積核窗口高度3,4,5池化方法1-max pooling全連接層神經(jīng)元個數(shù)128每批訓(xùn)練大小(batch_size)64迭代輪次(num_epochs)10丟棄率(dropout_keep_prob)0.5學(xué)習(xí)率1e-3
通過表1參數(shù)搭建卷積神經(jīng)網(wǎng)絡(luò),采用訓(xùn)練集(train set)對CTMWT模型進行訓(xùn)練,得出分類結(jié)果模型;再使用測試集(test set)對分類結(jié)果模型進行性能測試,分類算法的性能主要從精準(zhǔn)率(precision)、召回率(recall)、F1-Measure三個指標(biāo)進行評價,測試結(jié)果如表2所示.
表2 算法測試結(jié)果
Table 2 Algorithm test results
類別精準(zhǔn)率(%)召回率(%)F1-Measure(%)體育99.099.599.2財經(jīng)95.199.197.1房產(chǎn)99.999.699.7家居98.087.892.6教育90.892.391.5科技91.798.795.1時尚97.796.597.1時政93.895.794.8游戲98.496.797.5娛樂98.896.497.6平均值96.396.296.2
通過測試結(jié)果發(fā)現(xiàn),平均精準(zhǔn)率、召回率、F1-Measure分別達到了96.3%、96.2%、96.2%.
4.2.2 CTMWT模型與傳統(tǒng)機器學(xué)習(xí)文本分類算法實驗對比分析
為了進一步驗證CTMWT模型的有效性,分別選取樸素貝葉斯(NB)、K最近鄰(KNN)、支持向量機(SVM)三類傳統(tǒng)機器學(xué)習(xí)文本分類算法進行實驗對比,這三類傳統(tǒng)機器學(xué)習(xí)文本分類算法使用信息增益(IG)進行特征選擇、使用TF-IDF進行特征權(quán)重計算、使用向量空間模型進行文本表示.數(shù)據(jù)集依然使用4.1節(jié)介紹的試驗數(shù)據(jù),性能評價使用10個類別的平均F1-Measure指標(biāo),實驗結(jié)果圖5所示.
通過實驗發(fā)現(xiàn)CTMWT模型的性能明顯優(yōu)于傳統(tǒng)機器學(xué)習(xí)算法.為了進步和傳統(tǒng)機器學(xué)習(xí)文本分類算法對比,在分別選擇不同數(shù)量的訓(xùn)練數(shù)據(jù)進行實驗,訓(xùn)練數(shù)據(jù)從每個類別選取的數(shù)量從1000到10000之間遞增,每次增加1000,共10次對比.實驗結(jié)果如圖6所示.
通過圖6實驗結(jié)果發(fā)現(xiàn)在訓(xùn)練數(shù)據(jù)集比較小的情況下,CTMWT模型相比傳統(tǒng)的機器學(xué)習(xí)算法優(yōu)勢并不明顯,只有當(dāng)訓(xùn)練數(shù)據(jù)達到一定規(guī)模后優(yōu)勢才慢慢體現(xiàn),這是因為相比傳統(tǒng)機器學(xué)習(xí)算法,卷積神經(jīng)網(wǎng)絡(luò)中的學(xué)習(xí)參數(shù)更復(fù)雜,只有在大量訓(xùn)練樣本的情況下才能獲得較好的學(xué)習(xí)效果.并且發(fā)現(xiàn)CTMWT模型隨著訓(xùn)練數(shù)據(jù)的不斷增加,學(xué)習(xí)能力也隨之增加,而傳統(tǒng)機器學(xué)習(xí)算法在訓(xùn)練樣本達到一定規(guī)模后,隨著訓(xùn)練數(shù)據(jù)的增加,算法的學(xué)習(xí)能力并沒有得到明顯的提升,這也是傳統(tǒng)機器學(xué)習(xí)算法的一個弱點.
圖5 算法性能對比Fig.5 Algorithm performance comparison
圖6 不同訓(xùn)練集大小的性能對比Fig.6 Performance comparison of algorithms with different training set sizes
4.2.3 不同詞向量權(quán)重的CTMWT模型實驗對比分析
為了驗證改進型TF-IDF詞向量權(quán)重算法的有效性,分別對不加詞向量權(quán)重(NONE)、基于傳統(tǒng)TF-IDF計算詞向量權(quán)重(TF-IDF)和本文提出的權(quán)重計算方法(TF-IDF-τ)進行CTMWT模型實驗對比.實驗結(jié)果如圖7所示.
圖7 不同詞向量權(quán)重的CTMWT模型性能對比Fig.7 Performance comparison of CTMWT models with differ vector weights
通過實驗發(fā)現(xiàn),引入詞向量權(quán)重后,算法的性能有所提高,因為引入權(quán)重是對詞向量特征的增強.本文基于類頻方差改進 TF-IDF算法又比傳統(tǒng)的TF-IDF算法性能高,所以證明本文引入的詞向量權(quán)重計算方法是有效的.并且通過實驗發(fā)現(xiàn),就算不引入任何的詞向量權(quán)重,基于卷積神經(jīng)網(wǎng)絡(luò)的文本分類算法依然保持了較高的分類性能,這一方面得益于基于詞向量的文本表示最大程度的保留了文本原始信息,另一方面得益于卷積神經(jīng)網(wǎng)絡(luò)強大的學(xué)習(xí)能力.
隨著信息化和互聯(lián)網(wǎng)的快速發(fā)展,產(chǎn)出了海量的文本數(shù)據(jù),如何對這些文本進行準(zhǔn)確有效的分類一直是研究的熱點.本文針對傳統(tǒng)機器學(xué)習(xí)文本分類算法語義特征表達弱、文本表示維度高、詞序丟失、矩陣稀疏導(dǎo)致分類效果不佳的問題,提出基于Word2vec、改進型TF-IDF和卷積神經(jīng)網(wǎng)絡(luò)三者相結(jié)合的文本分類模型(CTMWT),使用Word2vec進行詞語表示,生產(chǎn)具有語義表達能力的低維稠密性詞向量;引入類頻方差改進型TF-IDF算法,計算每個詞向量在文本中的權(quán)重,構(gòu)建基于詞向量和權(quán)重的向量文本表示,保留詞語上下文關(guān)系;最后利用使用卷積神經(jīng)網(wǎng)絡(luò)強大學(xué)習(xí)能力,對大量文本向量進行深度學(xué)習(xí).通過實驗發(fā)現(xiàn)CTMWT模型不僅能實現(xiàn)文本的準(zhǔn)確分類,而且相比于傳統(tǒng)機器學(xué)習(xí)文本分類算法具有更好的分類性能.CTMWT模型免去了傳統(tǒng)機器學(xué)習(xí)文本分類算法中人工特征選擇的繁瑣工作,讓文本原始信息得到了最大程度保留,為卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)提供了良好的基礎(chǔ),但在實驗過程中也發(fā)現(xiàn)CTMWT模型訓(xùn)練時間復(fù)雜度遠(yuǎn)高于傳統(tǒng)機器學(xué)習(xí)文本分類算法,這是深度學(xué)習(xí)不可避免的問題,也是相關(guān)學(xué)者繼續(xù)深入研究的方向.