摘 要:文本分類是自然語言處理中的一項(xiàng)重要任務(wù),用計(jì)算機(jī)做文本分類能夠大大提高文本分類效率,方便人們的生活,該文主要介紹如何用支持向量機(jī)做文本分類。該文前面主要介紹文本分類背景、意義和應(yīng)用,之后對(duì)中文分詞、文檔建模、分類器訓(xùn)練和評(píng)估原理做了重點(diǎn)介紹,包括了自然語言處理中的統(tǒng)計(jì)語言模型,機(jī)器學(xué)習(xí)中的SVM算法、NNLM模型。
關(guān)鍵詞:文檔建模;文本分類;SVM算法;中文分詞
中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)志碼:A
1 文本分類概述
1.1 文本分類背景
隨著社會(huì)的發(fā)展,電子文本逐漸代替書面文本成為文本信息的主要載體。據(jù)統(tǒng)計(jì),現(xiàn)今網(wǎng)絡(luò)上已經(jīng)有百億級(jí)的HTML網(wǎng)頁(yè),并且以每天數(shù)千萬的數(shù)量級(jí)在增長(zhǎng)。面對(duì)這樣基數(shù)龐大且呈指數(shù)增長(zhǎng)的信息世界,如何有效組織文本信息,從中找到有效信息成為一個(gè)新的挑戰(zhàn)。為了解決這個(gè)問題,需要對(duì)信息進(jìn)行分類、檢索,而文本分類是其中一個(gè)非常重要的環(huán)節(jié)。傳統(tǒng)的文本分類都是由人工完成的,這種方式效率低下、浪費(fèi)人力,已經(jīng)不能滿足這么龐大的文本信息分類需求。利用計(jì)算機(jī)進(jìn)行文本分類成為文本分類目前的主要研究方向。
1.2 文本分類任務(wù)
文本分類是用電腦對(duì)文本集(或其他實(shí)體或物件)按照一定的分類體系或標(biāo)準(zhǔn)進(jìn)行自動(dòng)分類標(biāo)記。在自然語言處理任務(wù)中,文本分類是一個(gè)基礎(chǔ)任務(wù),有著廣泛的應(yīng)用,同時(shí)也是各種其他自然語言處理任務(wù)的基礎(chǔ)。文本分類和一般的監(jiān)督學(xué)習(xí)方法一樣,需要從已知標(biāo)記的文本上學(xué)習(xí)到模型,保存學(xué)習(xí)好的模型,對(duì)于新的文本,輸入模型中,模型會(huì)自動(dòng)給出類別。但是和其他監(jiān)督學(xué)習(xí)任務(wù)不同的是,計(jì)算機(jī)無法直接從原始文本信息中提取信息,因此需要進(jìn)行文本的特征表示。文本特征表示是將文本信息用統(tǒng)計(jì)信息或者語義信息表示成計(jì)算機(jī)能夠識(shí)別的內(nèi)容,通常是用特征向量表示,常用的特征表示方式有TF-IDF和各種詞向量。
文本分類給人們帶來了許多益處:1)極大縮短資料整理時(shí)間。2)文本分類能夠?qū)π畔⑦M(jìn)行過濾檢索。3)文本分類有助于文檔歸類、存儲(chǔ)、管理。
通過分類人們可以區(qū)分和認(rèn)知事物,在文本分類的應(yīng)用上,在4個(gè)領(lǐng)域進(jìn)行了研究:1)冗余過濾。2)文檔組織。3信息檢索。4)信息過濾。
2 研究現(xiàn)狀
2.1 國(guó)內(nèi)外研究現(xiàn)狀
文本分類于20世紀(jì)60年代興起,最早是基于知識(shí)工程,即人為制定規(guī)則進(jìn)行分類。90年代后,研究者開始用機(jī)器學(xué)習(xí)的方法進(jìn)行文本分類,這種不需要專家干預(yù)的分類方式迅速發(fā)展,成為文本分類的主流。1971年Rocchio提出修正權(quán)重的線性分類器。1979年van Rijsbergen對(duì)信息檢索進(jìn)行了總結(jié),提出了諸如準(zhǔn)確率、召回率等概念,這些概念后面廣泛用于分類任務(wù)中;1992年Lewis在他的博士論文中系統(tǒng)地介紹了文本分類的各種細(xì)節(jié),并且建立數(shù)據(jù)集自主進(jìn)行測(cè)試;1995年Vipnik提出利用支持向量機(jī)進(jìn)行分類;隨著當(dāng)前深度學(xué)習(xí)的崛起,神經(jīng)網(wǎng)絡(luò)開始廣泛地應(yīng)用到文本分類任務(wù)中,并且取得了很好的效果。
2.2 當(dāng)前研究熱點(diǎn)
隨著文本分類研究的深入,在取得了很多成果的同時(shí)也出現(xiàn)了很多問題,這些問題也成為當(dāng)前的研究熱點(diǎn),分別有4點(diǎn)。1)多語種分類:如何用一個(gè)分類器對(duì)不同語言文本進(jìn)行分類。2)噪聲問題:如何解決文本中存在的噪聲問題,特別是短文本。3)大量文本分類:如何在大規(guī)模文本上搭建一個(gè)高效準(zhǔn)確的分類器。4)層次化文本分類:文本類別之間存在依賴關(guān)系,如何進(jìn)行層次分級(jí)分類。
3 文本分類
文本分類的主流是,在統(tǒng)計(jì)學(xué)的基礎(chǔ)上,對(duì)現(xiàn)有的標(biāo)記過的數(shù)據(jù)采用機(jī)器學(xué)習(xí)的方法進(jìn)行統(tǒng)計(jì)分析,獲得規(guī)律,得到模型,再運(yùn)用訓(xùn)練好的模型對(duì)未知的數(shù)據(jù)做預(yù)測(cè)分析,得到分類結(jié)果。機(jī)器很難按照人類的方式理解文本,要讓機(jī)器能夠高效處理文本,需要找到一種理想的形式化表示方法。訓(xùn)練好的模型是否能夠應(yīng)用取決于模型分類結(jié)果的好壞,需要找到一種評(píng)價(jià)方式評(píng)價(jià)模型的好壞。因此,該文從文檔建模、文本分類器構(gòu)建和分類器評(píng)價(jià)3個(gè)部分介紹文本分類的一般步驟。
3.1 文檔建模
目前比較常用的文檔建模方式是用一個(gè)特征向量表示文檔。這種表示方式下,首先需要通過中文分詞技術(shù)把文檔分成一個(gè)個(gè)有意義的詞,然后利用神經(jīng)網(wǎng)絡(luò)訓(xùn)練Word2vec模型,在語料庫(kù)級(jí)別上得到詞到向量的映射,最后將組成文檔的詞對(duì)應(yīng)的詞向量做加和平均,可以得到文檔的特征表示。
中文分詞有非常多的做法,該文介紹了一種基于統(tǒng)計(jì)的中文分詞方法,主要用到了語言模型,可以用簡(jiǎn)單的語言將分詞過程進(jìn)行表述,若S表示一個(gè)完整的句子,假設(shè)句子S有3種不同分詞方式。
S=A1, A2, …, Ak
S=B1, B2, …, Bm
S=C1, C2, …, Cn
其中A1, A2, …,B1, B2, …, C1, C2, …等為分詞得到的詞,假設(shè)這3種分詞方式得到的詞串都不一樣, k, m, n分類表示這3種分詞方式下詞的數(shù)量。根據(jù)統(tǒng)計(jì)語言模型的思想,最佳分詞方式是使得分詞后組成句子的概率最大,不同詞串下的概率可以用統(tǒng)計(jì)語言模型和大數(shù)定理計(jì)算得到。
詞向量有2種重要表示方式,即獨(dú)熱表示與分布式表示。獨(dú)熱表示是將單詞表示為維度與詞典大小一致,并且只有單詞對(duì)應(yīng)位置為1,其余均為0的特征向量,one-hot是BoW的基本形式,但仍有巨大缺點(diǎn):1)維度大,易發(fā)生維度災(zāi)難。2)詞匯之間有鴻溝,無法捕捉詞與詞之間的相似度。而隨著深度學(xué)習(xí)的發(fā)展應(yīng)用,建立起來的分布式表示則很好地解決了這一缺點(diǎn),即將單詞表示為共現(xiàn)矩陣,從而有效地解決了上述缺點(diǎn),更加靈活地捕捉上下文信息。分布式詞向量可以由NNLM模型訓(xùn)練得到。
3.2 支持向量機(jī)做文本分類
支持向量機(jī)由Vapnik提出,通過控制超平面的間隔度量和核技巧能夠解決線性和非線性分類問題。最大間隔分類器是支持向量機(jī)的一種,是通過在特征空間找到一個(gè)超平面將不同類別分割開,因此最大間隔分類器只能適用于線性可分的二分類問題。最大間隔分類器需要在保證2類樣本無錯(cuò)誤的分開的同時(shí),使得2個(gè)類別的分類間隔最大,如圖1所示,在超平面H1、H、H2都能將2個(gè)類別分割開的同時(shí),H具有最大邊界,為支持向量機(jī)尋找的超平面。
對(duì)于上述二分類問題,可以用數(shù)學(xué)形式表示:對(duì)于樣本集合(x1,y1),(x2,y2),…(xm,ym),x∈Rn,y∈{-1,+1},支持向量機(jī)尋找一個(gè)最優(yōu)超平面,使得分類間隔最大,在上圖中H1、H2為2類分類樣本離分類線最近且平行于分類線的直線,這2條線之間的距離稱之為分類間隔。設(shè)分類方程為x·w+b=0,y∈{-1,+1},yi[(w·xi+b)]>0,i=1,2,3…, m, 則分類間隔是2/||w||, 使分類間隔最大等價(jià)于||w||最小,滿足上述約m束條件,并且使得||w||最小的分類線就是最優(yōu)分類線。這樣就可以完成二分類問題,對(duì)于多分類問題,可以采用one vs rest的方式訓(xùn)練多個(gè)二分類器達(dá)到多分類的效果。對(duì)于文本分類任務(wù),將文檔建模后,將數(shù)據(jù)放入模型中,訓(xùn)練即可得到模型,達(dá)到文本分類的目的。
3.3 分類器評(píng)估
在完成一個(gè)分類后,需要用一些量化指標(biāo)表示分類器好壞。在分類問題中,常用的指標(biāo)有準(zhǔn)確率、召回率和F度量值。對(duì)于二分類任務(wù),準(zhǔn)確率表示在所有分類器分類為正類的樣本中真實(shí)為正類的比例,召回率表示在所有正類樣本中有多少能被分類器正確分類,F(xiàn)度量值為正確率和召回率的幾何平均。若用T/F表示分類正確/失敗,P/N表示正類/負(fù)類,上述指標(biāo)可以用公式表示如下:
precsion p=TP/(TP+FP)
recall r=TP/(TP+FN)
F=2×p×r/(p+r)
4 結(jié)語
該文主要介紹了用支持向量機(jī)完成文本分類的過程,用統(tǒng)計(jì)語言模型做中文分詞,能夠達(dá)到較好的效果,用NNLM模型訓(xùn)練詞向量,用支持向量機(jī)做分類。其中本文介紹支持向量機(jī)能夠找到最大間隔超平面,但是只能用于線性可分情況,限制了這種分類器在很多情況下的使用,后續(xù)擬在支持向量機(jī)上添加核方法使得能夠適合非線性的情況。
目前深度學(xué)習(xí)發(fā)展迅速,利用深度學(xué)習(xí)的方式進(jìn)行文本分類變得更加常見,通過查閱論文可以了解如何用深度學(xué)習(xí)的方式完成文本分類工作,認(rèn)識(shí)到分類器的準(zhǔn)確率比傳統(tǒng)的機(jī)器學(xué)習(xí)方式高很多,后續(xù)將會(huì)繼續(xù)學(xué)習(xí)一些深度學(xué)習(xí)的知識(shí),嘗試用深度學(xué)習(xí)的方式完成文本分類工作。
參考文獻(xiàn)
[[1]程軍.基于統(tǒng)計(jì)的文本分類研究[D].北京:中國(guó)科學(xué)院文獻(xiàn)情報(bào)中心,2005.
[2]駱昌日.基于統(tǒng)計(jì)方法的中文文本自動(dòng)分類研究[D].武漢:華中師范大學(xué),2004.
[3]李榮陸.文本分類相關(guān)技術(shù)研究[D].上海:復(fù)旦大學(xué),2005.
[4]楊昂.文本分類算法研究[D].長(zhǎng)沙:湖南大學(xué),2002.
作者地址:李蕓初,男,河南省洛陽(yáng)市西工區(qū)凱旋東路80號(hào)院23號(hào)樓一門棟402室。