摘要:文本分類作為機器學習和信息檢索之間的交叉學科,涉及到多個領域的技術。它的完善有賴于各個相關領域的技術發展和提高,該文介紹了文本分類過程中的各個關鍵技術和存在的問題,討論了文本表示模型、分類算法、分類器性能評價原理和方法,最后并對今后的發展進行了展望。
關鍵詞:文本分類;分類算法;VSM(Vector Space Model);語義網絡;特征提取
中圖分類號:TP354文獻標識碼:A文章編號:1009-3044(2009)32-9023-03
Research of Text Categorization Technique
CAO Feng, ZHANG Dai-yuan
(School of Computer, Nanjing University of Posts Telecommunications, Nanjing 210003, China)
Abstract: As an intersection of machine learning and information retrieve, text categorization refers to technology of multi-field. Its improvements rely on the technology development of multi-fields. In the paper, key technologies and problems of text categorization are presented. The model of text representation, algorithm of text categorization and text categorization classifier evaluation are discussed. In the end, the prospect of categorization techniques is given.
Key words: text categorization; categorization method; VSM(vector space model); semantic network; feature selection
文本分類是信息檢索技術的一個重要研究領域,它主要是用來對信息進行標注分類,幫助人們高效率的組織和管理文本信息。這一技術被廣泛的應用到自動文摘(Automatic Document Indexing)、文本過濾(Document Filtering)、詞義消歧(Word Sense Disambiguation)和文檔組織(Document Organization)等多個領域 。
1 文本分類過程
按照文本分類過程中各個處理的先后秩序,我們可以簡單的把文本分類劃分為,文本分類預處理階段;文本分類訓練、選擇階段;文本分類評價階段。其各個階段所涉及的技術可以簡單的由表1給出。
2 文本預處理
人在閱讀文章的時候,可以根據自己對文章內容的理解、分析來對文章所屬的類別進行判斷,而當把文章交給計算機時,計算機是無法對文章的內容形成自己的理解的,它只能對文章進行簡單的存儲,或根據一定的規則進行機械的計算。如果讓計算機對文本進行分類,那么擺在面前首要的問題便是如何把文本表示成計算機能夠按規則處理的形式,也就是我們說的文本表示模型。目前文本表示模型可以分成兩大類,一類是符號表示模型,另一類是語意表示模型。
2.1 符號表示模型
符號表示模型中對文本僅僅進行符號層面的建模,忽略文本詞義的連貫性,和單詞之間的聯系,把各個單詞看成是互不相關獨立的信息體。目前主流的文本表示模型Salton提出的向量空間模型(Vector Space Model)就是符號表示模型的一種。在該模型中,文檔空間被視為一組正交詞條向量張成的向量空間,每個文本di都可以映射為此空間中的一個特征向量,V(di) =((ti1 , wi1) , (ti2 , wi2) , …, (tin , win))其中tij為詞條項權重wij表示特征項tij對文本di分類的貢獻程度(例如詞頻),文本di簡化為以特征項權重為分量的向量(wi1, wi2, … , win )表示,文本的分類問題轉化為向量空間中向量夾角計算的問題,大大減小了問題的復雜性。計算兩個文本相似程度也就轉化為計算兩個文本向量夾角的余弦值:
2.2 語義表示模型
語義表示模型是有別于符號表示模型的另一種模型。由于符號表示模型具有機械性和語義的隔斷性,其分類的精度和分類的靈活性受到了一定的影響,因此為了提高分類的準確性,文本的語義表示模型也開始蓬勃發展。目前這方面研究比較突出的是WordNet,語義網絡以及本體論(Ontology)。WordNet是由Princeton大學的心理學家,語言學家和計算機工程師聯合設計的一種基于認知語言學的英語詞典。它不是光把單詞以字母順序排列,而且按照單詞的意義組成一個“單詞的網絡”,但是對于概念間的關系推理支持不夠,因此同基于詞的符號模型比較來說,雖然有了進步,但仍然有限。語義網絡(Semantic Network)常被用作知識表示的一種形式。它是一個有向圖,圖的頂點代表概念,而邊則用于表示這些概念之間的語義關系。它專注于概念之間的關系與推理研究,由于沒有一個統一的知識工程作為基礎,雖然在關系建模方面有所建樹,但應用的領域十分狹窄,前期的知識建模工程浩大,很難投入到實際應用中去。本體論力圖構建一種統一的語義模型,當有新的領域加入時,可以方便的利用本體論框架讓領域專家構建起領域知識模型。這樣隨著越來越多的領域知識的構建,可以逐步構建起一套完整的計算機語義模型。目前本體論的研究剛剛起步,有各種各樣基于本體論的模型。國內現在比較有影響力的是知網。
知網是一個以漢語和英語的詞語所代表的概念為描述對象,以揭示概念之間以及概念所具有的屬性之間的基本內容的常識知識庫。使用義原的組合來標注各種各樣的單純或復雜的概念,其標注時按其特征的重要性從大到小順序來定義概念。知網概括了八百多個事件義原,通過義原的組合來標注各種各樣的單純的或復雜的概念,以及各個概念與概念之間、概念的屬性與屬性之間的關系。現在知網已經初具規模,其應用現在也蓬勃發展。
2.3 分詞技術
在文本的向量空間模型中一項重要的技術便是分詞,只有對文本進行準確的分詞,文本在表示成詞條向量時才能盡可能的帶有文本所屬類別的信息,也才能保證對文本進行準確的分類。目前中文分詞技術經過20多年的發展已經日趨成熟。其主要有基于字符串匹配的分詞,基于統計的分詞,基于理解的分詞等分詞技術。目前中文分詞處于領先的是中科院的ICTCLAS分詞系統,這個分詞系統已有多個語言版本處于應用階段。
2.4 文本特征提取技術
一篇文章中可能出現大量的詞匯,如果把這些詞全部加入的詞條向量中,那么向量的維數將是難以處理的,怎么樣選取詞匯加入到詞條向量中,使得這些詞匯最大可能的帶有文本的特征屬性,而又不致使得詞條向量的維數過大,便是文本特征提取技術所要解決的問題。文本特征提取主要有以下技術:
文檔頻次(DF):文檔頻次是指有該詞條出現的文檔數量。在訓練文本集中對每個詞條計算它的文檔頻次,并且剔除在特征空間中文檔頻次小于預先定義的閾值的詞條。文檔詞頻是縮減詞條的最簡單的方法。它通過在訓練文檔數量中計算線性近似復雜度來衡量巨大的文檔集,該方法通常被認為是一個提高效率的特別方法,而不僅僅是一個選擇特征詞的規則標準,因為在信息提取中有一個廣泛承認的規則標準。低的文檔頻次被認為和文本分類任務不相關。
信息增益(IG):信息增益在機器學習中經常被用作特征詞評判的標準,它是一個基于熵的評估方法,涉及較多的數學理論和復雜的熵理論公式,定義為某特征在文檔中出現前后的信息熵之差。假設有詞條t和類別系統c,c中有類別ci(i=1,2,…,n)。則詞條t信息增益值的計算公式如下:
互信息(MI):互信息衡量的是某個詞和某個類別之間的統計獨立關系,它普遍應用在相關詞統計語言建模中。假設有詞條t和類別c,互信息定義如下:
其中P(t∧c)表示為單詞t和類別c同時出現的概率,P(t)為單詞t出現的概率,P(c)為類c出現的概率。如果某個詞和某一類別在分布上統計獨立,那么P(t∧c)=P(t)×P(c)從而I(t,c)=0也就是說詞條t不含有c類別的信息量。在實際計算中,這些概率可以用訓練集中相應的出現頻率予以近似。定義t和c在訓練集中的同現頻率為A,N為訓練集中文本的數目,B為t在訓練集中出現的文本頻數,C為c在訓練集中出現的文本頻數,那么互信息I(t, c)可以近似為
3 文本分類算法
從數學角度來看,文本分類是一個映射的過程,它將未標明類別的文本映射到已有的類別中。該映射可以是一一映射,也可以是一對多的映射,因為通常一篇文本可以同多個類別相關聯,用數學公式可表示為f: A—>B,其中A為待分類的文本集合,B為分類體系中的類別集合。f為A到B的映射文本分類的映射規則是系統根據己經掌握的每類若干樣本的數據信息,總結出分類的規律性而建立的判別公式和判別規則。當遇到新文本時,根據己經總結出的判別規則,確定文本相關的類別。
從數據挖掘的角度來說,自動分類是一個有指導(supervised Learning )的學習過程。在這個學習過程中,它根據一個己經被人工處理過的訓練文本集合(Training set )去挖掘出文本屬性和文本類別之間的關系模型,然后跟據學習得到的這種關系模型對新到來的文本測試集合(Test set)進行自動的類別判斷。文本分類算法主要有以下幾類:
3.1 K-最近鄰分類法(K_Nearest _neighbor)
這是一種基于統計的分類方法,它通過計算文本之間的相似度,來達到分類的目的。K-鄰近算法的分類過程是先找到和待分類文本最相似的K個已分類文本,根據這K個文本的類別來判斷待分類文本的類別值。在算法中K為一個由用戶指定的參數,這個參數是一個經驗值,在實際的系統中,待分類文檔會計算它與所有文檔間的相似度,然后對這個相似度進行排序,再取出K個文本。所以K的大小不會影響到系統的整個性能。K-鄰近算法是一種惰性學習算法,因為在訓練階段K-鄰近算法并沒有作很多工作,僅僅將訓練文本表示成向量形式。當進行分類時計算量較大,一是要計算文檔之間的相似度,二是要排序。所以分類階,該算法運行期間可能消耗大量的系統資源,不能滿足響應速度快的要求。K-鄰近算法分類時計算復雜度和訓練集中的文檔數目成正比,也就是說,如果訓練集中文檔總數為n,那么K-鄰近算法的分類時間復雜度為O(n)。
3.2 樸素貝葉斯分類方法(NB)
這是一種利用概率模型來進行文本分類的方法。其基本思想是:首先計算出特征詞條屬于每個類別的先驗概率,在新文本到達時,根據特征詞的先驗概率計算該文本屬于每一個類別的后驗概率,最后取后驗概率最大的類別作為分類結果。樸素貝葉斯分類方法是基于貝葉斯假設的,即文檔中的詞匯在確定文本類別的作用上相互獨立。
3.3 支持向量機方法(SVM)
支持向量機方法是由V.Vapnik與其領導的貝爾實驗室的小組一起開發出來的一種機器學習技術,它是基于線性模型的一種算法。SVM的理論基礎來自于從沖Vapnik等提出來的統計學習理論。它的基本思想是,對于一個給定的具有有限數量訓練樣本的學習任務,如何在準確性和機器容量進行折中,以得到最佳的推廣性能。它采用結構風險最小化(Structural Risk Minimization)原則。
3.4 神經網絡方法
神經網絡是隨著信息技術的發展,尤其是人工智能的產生和發展而興起的一門新興學科,已有許多中外學者對某些結構的神經網絡做了一定的研究。神經網絡分類算法是網絡模型的一種代表算法,它的基本思想是一組連接的輸入/輸出單元,輸入單元代表詞條,輸入單元表示文本的歸屬值,單元之間的連接都有相應的權值,訓練階段,通過某種算法調整權值,使測試文本能夠根據調整后的權值正確地學習。20世紀80年代中期,Rumelhart等人提出了一種誤差反向傳播(BP)的多層人工神經網絡(ANN)學習算法,它是被采用最多的網絡之一,具有很強的自學習、自適應、自組織能力,通過對有代表性的樣本的學習能掌握被學習對象的內在規律。也是目前用于文本分類最多的神經網絡算法。
當然除了以上的幾種分類算法外還有最小平方擬合算法(LLSF),線性回歸模型,決策樹(Decision Tree)等。
4 性能評測
文本文類器的性能評測在文本分類系統中有非常重要的作用,它是文本分類器設計好壞的重要評測指標。文本分類系統最為客觀,也是最為重要的指標有以下幾個:
查準率(precision)=正確分類到c類中的文檔數/分類到c類中的文檔總數×100%
查全率(recall,也叫召回率)=正確分類到c類中的文檔數/應當分類到c類中的文檔總數×100%
F1測度=(查準率×查全率×2)/(查準率+查全率)
上述三個性能指標是目前學術界公認的比較重要的分類器的評測指標,其中F1測度是對查準率和查全率的綜合衡量。
除了上述三個指標外,還有兩個對分類器整體性能進行評測的指標,宏平均和微平均。
宏平均:將Precision、Recall、F1測度在單個類別上的數值進行平均,則分別得到它們的宏觀平均值。
微平均:它是分類器在整個測試集上做出的分類中正確的比率,在各類上正確分類的文檔數與分類器分類的總文檔數之比,是在整體上來平均。
5 結束語
文中介紹了從文本表示,特征選擇,分類算法,分類器性能評價等各個方面的關鍵技術。并分析了各個技術的優缺點。文本分類技術是信息歸類和信息獲取中都有很重要的應用。目前文本分類的更進一步精確和靈活還要依賴于自然語言領域的研究進展,機器學習和數據挖掘領域理論和技術研究的深入。當前,互聯網風起云涌,每天都會有大量的新的網頁出現在網絡上,對這樣的內容進行整理分類,勢必將成為文本分類相關研究和應用的重點和主要突破方向。
參考文獻:
[1] Salton G, Wong A, Yang C S.A Vector Space Model for Automatic Indexing[J].information retrieval and language processing.1975(18):613-620.
[2] 董振東,董強.知網.http://www.keenage.com.1999
[3] Yiming Yang,Xin Liu.A Re-examination of Text Categorization Methods[C].In Proceedings of the 22t h Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR'99),1999:42-49.
[4] Joachims T.Text Categorization with Support Vector Machines:learning with many relevant features.In The 10th European Conference Machine Learning,New York:Springer.1998:137-142.
[5] Shao Fu-bo, He Guo-ping, Zhang Xin.An Improved Algorithm for Multiclass Text Categorization with Support Vector Machine[C].International Symposium on Computational Intelligence and Design.2008:336-339.
[6] 劉麗珍,宋瀚濤.文本分類中的特征選取[J].計算機工程,2004,30(4):14-16.
[7] 鄒濤,王繼成,黃源,等.中文文檔自動分類系統的設計與實現[J].中文信息學報,1999,13(3):26-32.
[8] 崔偉東,周志華,李星.支持向量機研究[J].計算機工程與應用,2001(1):58-61.
[9] 劉鋼,胡四泉,范植華,等.神經網絡在文本分類上的一種應用[J].計算機工程與應用,2003(36):73-75.