訓(xùn)練,顧名思義,就是training(汗,這解釋),簡單的說就是讓計算機從給定的一堆文檔中自己學(xué)習(xí)分類的規(guī)則(如果學(xué)不對的話,還要,打屁屁?)。

開始訓(xùn)練之前,再多說幾句關(guān)于VSM這種文檔表示模型的話。
舉個例子,假設(shè)說把我正在寫的“文本分類入門”系列文章的第二篇抽出來當(dāng)作一個需要分類的文本,則可以用如下的向量來表示這個文本,以便于計算機理解和處理。

    w2=(文本,5,統(tǒng)計學(xué)習(xí),4,模型,0,……)

這個向量表示在w2所代表的文本中,“文本”這個詞出現(xiàn)了5次(這個信息就叫做詞頻),“統(tǒng)計學(xué)習(xí)”這個詞出現(xiàn)了4次,而“模型”這個詞出現(xiàn)了0次,依此類推,后面的詞沒有列出。
而系列的第三篇文章可以表示為

    w3=(文本,9,統(tǒng)計學(xué)習(xí),4,模型,10,……)

其含義同上。如果還有更多的文檔需要表示,我們都可以使用這種方式。
只通過觀察w2和w3我們就可以看出實際上有更方便的表示文本向量的方法,那就是把所有文檔都要用到的詞從向量中抽離出來,形成共用的數(shù)據(jù)結(jié)構(gòu)(也可以仍是向量的形式),這個數(shù)據(jù)結(jié)構(gòu)就叫做詞典,或者特征項集合。
例如我們的問題就可以抽離出一個詞典向量

    D=(文本,統(tǒng)計學(xué)習(xí),模型,……)

所有的文檔向量均可在參考這個詞典向量的基礎(chǔ)上簡化成諸如

    w2=(5,4,0,……)
    w3=(9,4,10,……)

的形式,其含義沒有改變。
5,4,10這些數(shù)字分別叫做各個詞在某個文檔中的權(quán)重,實際上單單使用詞頻作為權(quán)重并不多見,也不十分有用,更常見的做法是使用地球人都知道的TF/IDF值作為權(quán)重。(關(guān)于TF/IDF的詳細(xì)解釋,Google的吳軍研究員寫了非常通俗易懂的文章,發(fā)布于Google黑板報,鏈接地址是http://googlechinablog.com/2006/06/blog-post_27.html,有興趣不妨一讀)TF/IDF作為一個詞對所屬文檔主題的貢獻程度來說,是非常重要的度量標(biāo)準(zhǔn),也是將文檔轉(zhuǎn)化為向量表示過程中的重要一環(huán)。

在這個轉(zhuǎn)化過程中隱含了一個很嚴(yán)重的問題。注意看看詞典向量D,你覺得它會有多大?或者說,你覺得它會包含多少個詞?
假設(shè)我們的系統(tǒng)僅僅處理漢語文本,如果不做任何處理,這個詞典向量會包含漢語中所有的詞匯,我手頭有一本商務(wù)印書館出版的《現(xiàn)代漢語詞典》第5版(2005年5月出版),其中收錄了65,000個詞,D大致也應(yīng)該有這么大,也就是說,D是一個65,000維的向量,而所有的文本向量w2,w3,wn也全都是65,000維的?。ㄟ@是文本分類這一問題本身的一個特性,稱為“高維性”)想一想,大部分文章僅僅千余字,包含的詞至多幾百,為了表示這樣一個文本,卻要使用65,000維的向量,這是對存儲資源和計算能力多大的浪費呀?。ㄟ@又是文本分類問題的另一個特性,稱為“向量稀疏性”,后面會專門有一章討論這些特性,并指出解決的方法,至少是努力的方向)
中國是一個人口眾多而資源稀少的國家,我們不提倡一味發(fā)展粗放型的經(jīng)濟,我們所需要的可持續(xù)發(fā)展是指資源消耗少,生產(chǎn)效率高,環(huán)境污染少……跑題了……
這么多的詞匯當(dāng)中,諸如“體育”,“經(jīng)濟”,“金融”,“處理器”等等,都是極其能夠代表文章主題的,但另外很多詞,像“我們”,“在”,“事情”,“里面”等等,在任何主題的文章中都很常見,根本無法指望通過這些詞來對文本類別的歸屬作個判斷。這一事實首先引發(fā)了對文本進行被稱為“去停止詞”的預(yù)處理步驟(對英文來說還有詞根還原,但這些與訓(xùn)練階段無關(guān),不贅述,會在以后講述中英文文本分類方法區(qū)別的章節(jié)中討論),與此同時,我們也從詞典向量D中把這些詞去掉。
但經(jīng)過停止詞處理后剩下的詞匯仍然太多,使用了太多的特征來表示文本,就是常說的特征集過大,不僅耗費計算資源,也因為會引起“過擬合問題”而影響分類效果[22]。
這個問題是訓(xùn)練階段要解決的第一個問題,即如何選取那些最具代表性的詞匯(更嚴(yán)格的說法應(yīng)該是,那些最具代表性的特征,為了便于理解,可以把特征暫時當(dāng)成詞匯來想象)。對這個問題的解決,有人叫它特征提取,也有人叫它降維。
特征提取實際上有兩大類方法。一類稱為特征選擇(TermSelection),指的是從原有的特征(那許多有用無用混在一起的詞匯)中提取出少量的,具有代表性的特征,但特征的類型沒有變化(原來是一堆詞,特征提取后仍是一堆詞,數(shù)量大大減少了而已)。另一類稱為特征抽取(TermExtraction)的方法則有所不同,它從原有的特征中重構(gòu)出新的特征(原來是一堆詞,重構(gòu)后變成了別的,例如LSI將其轉(zhuǎn)為矩陣,文檔生成模型將其轉(zhuǎn)化為某個概率分布的一些參數(shù)),新的特征具有更強的代表性,并耗費更少的計算資源。(特征提取的各種算法會有專門章節(jié)討論)
訓(xùn)練階段,計算機根據(jù)訓(xùn)練集中的文檔,使用特征提取找出最具代表性的詞典向量(仍然是不太嚴(yán)格的說法),然后參照這個詞典向量把這些訓(xùn)練集文檔轉(zhuǎn)化為向量表示,之后的所有運算便都使用這些向量進行,不再理會原始的文本形式的文檔了(換言之,失寵了,后后)。

下一章繼續(xù)訓(xùn)練,咱們之間還沒完。(怎么聽著像要找人尋仇似的)