在文本分類的過程中,特征(也可以簡單的理解爲“詞”)從人類能夠理解的形式轉換爲計算機能夠理解的形式時,實際上經過了兩步驟的量化——特征選擇階段的重要程度量化和將具體文本轉化爲向量時的特征權重量化。初次接觸文本分類的人很容易混淆這兩個步驟使用的方法和各自的目的,因而我經常聽到讀者有類似“如何使用TFIDF做特征選擇”或者“卡方檢驗量化權重後每篇文章都壹樣”等等困惑。
文本分類本質上也是壹個模式識別的問題,因此我想借用壹個更直觀的例子來說說特征選擇和權重量化到底各自是什麽東西,當然,壹旦解釋清楚,妳馬上就會覺得文本分類這東西實在白癡,實在沒什麽技術含量,妳也就不會再繼續看我的技術博客,不過我不擔心,因爲妳已經踏上了更光明的道路(笑),我高興還來不及。
想想通過指紋來識別壹個人的身份,只看壹個人的指紋,當然說不出他姓甚名誰,識別的過程實際上是比對的過程,要與已有的指紋庫比較,找出相同的,或者說相似到壹定程度的那壹個。
首要的問題是,人的指紋太複雜,包含太多的位置和幾何形狀,要完全重現壹個人的指紋,存儲和計算都是大麻煩。因此第壹步總是壹個特征選擇的問題,我們把全人類的指紋都統計壹下,看看哪幾個位置能夠最好的區分不同的人。顯然不同的位置效果很不壹樣,在有的位置上,我的指紋是是什麽形狀,其他人也大都是這個形狀,這個位置就不具有區分度,或者說不具有表征性,或者說,對分類問題來說,它的重要程度低。這樣的位置我們就傾向于在識別的時候根本不看它,不考慮它。
那怎麽看誰重要誰不重要呢?這就依賴于具體的選擇方法如何來量化重要程度,對卡方檢驗和信息增益這類方法來說,量化以後的得分越大的特征就越重要(也就是說,有可能有些方法,是得分越小的越重要)。
比如說妳看10個位置,他們的重要程度分別是:
1 2 3 4 5 6 7 8 9 10
(20,5,10,20,30,15,4,3,7, 3)
顯然第1,第3,4,5,6個位置比其他位置更重要,而相對的,第1個位置又比第3個位置更重要。
識別時,我們只在那些重要的位置上采樣。當今的指紋識別系統,大都只用到人指紋的5個位置(驚訝麽?只要5個位置的信息就可以區分60億人),這5個位置就是經過特征選擇過程而得以保留的系統特征集合。假設這個就是剛才的例子,那麽該集合應該是:
(第1個位置,第3個位置,第4個位置,第5個位置,第6個位置)
當然,具體的第3個位置是指紋中的哪個位置妳自己總得清楚。
確定了這5個位置之後,就可以把壹個人的指紋映射到這個只有5個維度的空間中,我們就把他在5個位置上的幾何形狀分別轉換成壹個具體的值,這就是特征權重的計算。依據什麽來轉換,就是妳選擇的特征權重量化方法,在文本分類中,最常用的就是TFIDF。
我想壹定是“權重“這個詞誤導了所有人,讓大家以爲TFIDF計算出的值代表的是特征的重要程度,其實完全不是。例如我們有壹位男同學,他的指紋向量是:
(10,3,4,20,5)
妳注意到他第1個位置的得分(10)比第3個位置的得分(3)高,那麽能說第1個位置比第3個位置重要麽?如果再有壹位女同學,她的指紋向量是:
(10,20,4,20,5)
看看,第1個位置得分(10)又比第3個位置(20)低了,那這兩個位置到底哪個更重要呢?答案是第1個位置更重要,但這不是在特征權重計算這壹步體現出來的,而是在我們特征選擇的時候就確定了,第1個位置比第3個位置更重要。
因此要記住,通過TFIDF計算壹個特征的權重時,該權重體現出的根本不是特征的重要程度!
那它代表什麽?再看看兩位同學的指紋,放到壹起:
(10, 3,4,20,5)
(10,20,4,20,5)
在第三個位置上女同學的權重高于男同學,這不代表該女同學在指紋的這個位置上更“優秀“(畢竟,指紋還有什麽優秀不優秀的分別麽,笑),也不代表她的這個位置比男同學的這個位置更重要,3和20這兩個得分,僅僅代表他們的”不同“。
在文本分類中也是如此,比如我們的系統特征集合只有兩個詞:
(經濟,發展)
這兩個詞是使用卡方檢驗(特征選擇)選出來的,有壹篇文章的向量形式是
(2,5)
另壹篇
(3,4)
這兩個向量形式就是用TFIDF算出來的,很容易看出兩篇文章不是同壹篇,爲什麽?因爲他們的特征權重根本不壹樣,所以說權重代表的是差別,而不是優劣。想想妳說“經濟這個詞在第二篇文章中得分高,因此它在第二篇文章中比在第壹篇文章中更重要“,這句話代表什麽意義呢?妳自己都不知道吧(笑)。
所以,當再說起使用TFIDF來計算特征權重時,最好把“權重“這個字眼忘掉,我們就把它說成計算得分好了(甚至”得分“也不太好,因爲人總會不自覺的認爲,得分高的就更重要),或者就僅僅說成是量化。
如此,妳就再也不會拿TFIDF去做特征選擇了。
小Tips:爲什麽有的論文裏確實使用了TFIDF作特征選擇呢?
嚴格說來並不是不可以,而且嚴格說來只要有壹種方法能夠從壹堆特征中挑出少數的壹些,它就可以叫做壹種特征選擇方法,就連“隨機選取壹部分“都算是壹種,而且效果並沒有差到驚人的地步哦!還是可以分對壹大半的哦!所以有的人就用TFIDF的得分來把特征排排序,取得分最大的幾個進入系統特征集合,效果也還行(畢竟,連隨機選取效果也都還行),怎麽說呢,他們願意這麽幹就這麽幹吧。就像咱國家非得實行戶口制度,這個制度說不出任何道理,也不見他帶來任何好處,但不也沒影響二十壹世紀成爲中國的世紀麽,呵呵。