孟鑫淼
摘? 要: 文本數(shù)據(jù)具有規(guī)模大、特征維數(shù)高等特點,當前文本分類方法無法刻畫文本變化特點,使得文本分類正確率低、誤差大、分類時間長,為了獲得理想的文本分類效果,設(shè)計基于大數(shù)據(jù)挖掘技術(shù)的文本分類方法。首先對當前文本分類的研究進展進行分析,找出導(dǎo)致當前文本分類效果差的原因;然后,提取文本分類原始特征,并引入核主成分分析算法對原始特征進行處理,降低特征維數(shù),簡化文本分類器的結(jié)構(gòu);最后,采用大數(shù)據(jù)挖掘技術(shù)構(gòu)建文本分類器,并與其他文本分類方法進行對比測試。測試結(jié)果表明,所提方法可以更好地描述文本變化特點,能夠?qū)Ω鞣N類型文本進行準確識別和分類,文本分類精度超過95%,明顯高于當前其他文本分類方法,并且所提方法的文本分類時間顯著減少,具有更好的文本分類效果。
關(guān)鍵詞: 大規(guī)模文本數(shù)據(jù); 高維特征; 大數(shù)據(jù)挖掘技術(shù); 文本分類器; 分類精度; 分類時間
中圖分類號: TN911.1?34; TP391.9? ? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)17?0126?04
Abstract: Text data are of characteristics of large scale and high feature dimension. The current text classification methods fail to depict the characteristics of text change, which results in low accuracy, large error and long duration of the classification. In order to get an ideal text classification effect, a text classification method based on big data mining technology is designed. The current research progress of text classification is analyzed to find out the reasons for the poor effect of current text classification. And then, the original features of text classification are extracted, and the kernel principal component analysis (KPCA) algorithm is introduced to process the original features, reduce the feature dimension and simplify the structure of text categorizer. Finally, the text categorizer is constructed with big data mining technology and compared with other text classifiers. The results of contrastive test show that the proposed method can better describe the characteristics of text change, and accurately recognize and classify various types of texts. The accuracy of text classification of the proposed method is above 95%, which is significantly higher than other current text classification methods. Moreover, the classification duration is significantly reduced and the classification effect is better.
Keywords: large?scale text data; high?dimensional feature; big data mining technology; text classifier; classification accuracy; classification duration
0? 引? 言
隨著互聯(lián)網(wǎng)技術(shù)的不斷成熟和迅速發(fā)展,每天會產(chǎn)生大量的數(shù)據(jù),其中電子文本是一種最常用的數(shù)據(jù)形式,可以采用網(wǎng)頁、郵件、微博等形式表示[1?3]。相比普通文本,電子文本是一種自然、非結(jié)構(gòu)的數(shù)據(jù),如何從大量的電子文本中找到用戶真正想要的數(shù)據(jù)至關(guān)重要。文本分類是快速、準確搜索電子文本的基礎(chǔ),因此,如何建立更優(yōu)的文本分類方法具有十分重要的意義[4?6]。
在20世紀中期,一些發(fā)達國家已經(jīng)開始對文本分類問題進行研究,如有學者提出了基于詞頻統(tǒng)計的文本分類方法,有學者提出了基于樸素貝葉斯的文本分類方法,它們均屬于基于傳統(tǒng)統(tǒng)計學理論的概率分類方法,需要一定的專家參與,文本分類自動化程度低、分類效率低、準確性差,具有十分明顯的局限性[7?9]。近年來,隨著機器學習理論研究的不斷深入和快速發(fā)展,其慢慢取代了傳統(tǒng)統(tǒng)計學理論的文本分類方法,成為現(xiàn)代文本分類的主要研究方向[10?12]。當前主要有基于BP神經(jīng)網(wǎng)絡(luò)的文本分類方法、基于支持向量機的文本分類方法。BP神經(jīng)網(wǎng)絡(luò)屬于經(jīng)驗風險的機器學習算法,訓(xùn)練過程中收斂效率低、文本分類結(jié)果不穩(wěn)定,使得文本分類結(jié)果的可信度低;支持向量機屬于結(jié)構(gòu)風險的機器學習算法,文本分類效果要優(yōu)于BP神經(jīng)網(wǎng)絡(luò),但其訓(xùn)練時間耗費長,影響文本分類效率,無法適應(yīng)當前大規(guī)模電子文本計算處理的發(fā)展需求[13?15]。文本分類特征的選擇十分關(guān)鍵,特征太多,使得文本分類結(jié)構(gòu)過于復(fù)雜,當前采用主成分分析算法對文本分類特征進行選擇,認為特征之間有一種線性聯(lián)系,這與實際情況不相符,無法獲得較好的文本特征選擇結(jié)果[16]。
為了解決當前文本分類方法存在精度低、分類時間長等不足,本文設(shè)計了基于大數(shù)據(jù)挖掘技術(shù)的文本分類方法(KPCA?ELM),并與其他文本分類方法進行對比測試,驗證了KPCA?ELM的文本分類的有效性和優(yōu)越性。
1? 文本分類的基本原理
文本分類屬于模式識別的研究范圍,就是根據(jù)文本特征將文本劃分為多種類型。由于文本是一種特殊數(shù)據(jù),因此,首先需要對文本數(shù)據(jù)進行預(yù)處理,主要包括:分詞、去停用詞等操作;然后從預(yù)處理后的文本數(shù)據(jù)中提取文本分類原始特征,并從原始特征選擇最優(yōu)的文本特征,減少文本分類的輸入向量數(shù)量;最后選擇一種算法建立文本分類器,文本分類的基本原理可以采用圖1進行描述。
2? 大數(shù)據(jù)挖掘技術(shù)的文本分類方法具體設(shè)計
2.1? 文本預(yù)處理
文本是一種特殊數(shù)據(jù),其不僅包括文本信息,同時還有超鏈接、動態(tài)圖等其他非文本信息。這些非文本信息對文本分類結(jié)果沒有影響,因此需要對文本進行預(yù)處理,去除這些無效信息,保留有用文本信息,主要包括:分詞操作、去停用詞操作。本文首先采用基于字典匹配的分詞技術(shù),將一個句子拆分成一個個詞語,然后進行去除停用詞操作,去除一些對文本內(nèi)容理解沒有貢獻的詞,如虛詞,減少分類器的時間消耗。
2.2? 提取文本分類特征
采用[F]作為文本分類的原始特征,由于[F]包含了許多特征,特征的維數(shù)高,而且一些特征之間會互相干擾,因此,對原始特征進行選擇,減少文本分類特征數(shù)量。
2.3? 選擇文本分類特征
當前文本特征選擇的方法比較多,本文采用核主成分分析(KPCA)算法選擇最有效的文本分類特征。KPCA引入函數(shù)[Φ]將原始文本分類特征向量[xk]進行轉(zhuǎn)換,應(yīng)滿足:
選擇前[k]個值較大的文本分類特征作為有效的特征進行建模。
2.4? 文本分類算法
極限學習機(ELM)是只有一個單層的向前神經(jīng)網(wǎng)絡(luò),其工作原理和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同,如BP神經(jīng)網(wǎng)絡(luò)的權(quán)值通過梯度下降算法得到,而ELM的權(quán)值通過解析表達式得到,沒有中間迭代計算,ELM的運行速度更快。設(shè)[x]表示輸入樣本的值,隱藏層的閾值、權(quán)值和節(jié)點分別為[bi],[ai]和[L],那么ELM的輸出值為:
2.5? 大數(shù)據(jù)挖掘技術(shù)的文本分類步驟
大數(shù)據(jù)挖掘技術(shù)的文本分類步驟具體如下:
Step1:從互聯(lián)網(wǎng)上收集大量電子文本數(shù)據(jù),并對每一類型進行分詞和去停用詞處理。
Step2:計算每一篇電子文本的詞的權(quán)值,所有詞的權(quán)值組成原始特征向量集合。
Step3:采用KPCA從原始特征向量集合中提取重要特征向量。
Step4:將重要特征向量作為輸入,文本類型作為輸出,采用ELM對訓(xùn)練樣本集進行學習,建立文本分類器。
Step5:對于文本分類的測試數(shù)據(jù)集,提取和選擇特征,并用建立的分類器進行分類,輸出文本分類結(jié)果。
綜上可知,基于大數(shù)據(jù)挖掘技術(shù)的文本分類流程如圖2所示。
3? 仿真測試
3.1? 測試環(huán)境設(shè)置
為了分析基于大數(shù)據(jù)挖掘技術(shù)的文本分類方法(KPCA?ELM)的有效性,采用Python語言編程實現(xiàn)文本分類算法,測試環(huán)境參數(shù)設(shè)置如表1所示。
本文采集多種類型的文本數(shù)據(jù),包括文化、經(jīng)濟、政治、體育、軍事、旅游,它們的訓(xùn)練樣本和測試樣本數(shù)量具體如表2所示。
為了測試基于大數(shù)據(jù)挖掘技術(shù)的文本分類方法的優(yōu)越性,選擇基于BP神經(jīng)網(wǎng)絡(luò)(BPNN)、支持向量機(SVM)進行對比測試,采用文本分類精度、訓(xùn)練時間和測試時間對文本分類效果進行評價。
3.2 文本分類精度對比
采用BPNN,SVM和KPCA?ELM對表2中的文本訓(xùn)練數(shù)據(jù)進行學習,建立文本分類器,并采用文本分類器對表2中的測試樣本進行分類,統(tǒng)計每一類文本的分類精度,得到它們的平均精度如圖3所示。
對圖3的每一類的文本分類精度進行對比和分析,可以得到:
1) BPNN的全部文本分類精度最低,這表明其無法描述各種文本的類型,文本分類的錯誤率高,主要是由于BPNN易出現(xiàn)“過擬合”分類結(jié)果,因此,文本分類效果差。
2) SVM的文本分類精度高于BPNN,這是因為SVM克服了BPNN的“過擬合”分類缺陷,提高了文本正確分類的成功率,減少了文本的分類錯誤次數(shù)。
3) KPCA?ELM的文本分類精度最高,這主要是因為KPCA?ELM通過KPCA對文本特征進行處理,去掉了一些對文本分類結(jié)果有不利影響的特征,并且采用ELM建立了更優(yōu)的文本分類器,得到了理想的文本分類結(jié)果,對比測試體現(xiàn)了KPCA?ELM的文本分類的優(yōu)越性。
3.3? 文本分類的訓(xùn)練和測試時間對比
統(tǒng)計SVM,BPNN和KPCA?ELM的文本分類的訓(xùn)練和測試時間,分別如圖4和圖5所示。
從圖4可以發(fā)現(xiàn):SVM的文本分類的訓(xùn)練時間最長,這是因為其文本分類的訓(xùn)練時間復(fù)雜度高,BPNN的文本分類訓(xùn)練時間次之,KPCA?ELM的文本分類訓(xùn)練時間最短,加快了文本分類的訓(xùn)練速度。同時,從圖5可以看出:KPCA?ELM的文本分類測試時間明顯少于SVM,BPNN的文本分類訓(xùn)練時間,提升了文本分類效果,可用于大規(guī)模文本分類。
4? 結(jié)? 語
結(jié)合文本數(shù)據(jù)的變化特點,以提高文本分類效果為目標,本文設(shè)計了基于KPCA?ELM的文本分類方法,采用KPCA對文本分類原始特征進行處理,簡化特征,然后采用ELM構(gòu)建文本分類器,文本分類測試結(jié)果表明,KPCA?ELM的分類精度高,文本分類時間少,可以滿足文本處理的實際應(yīng)用要求。