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