在文本分類的過(guò)程中,特征(也可以簡(jiǎn)單的理解為“詞”)從人類能夠理解的形式轉(zhuǎn)換為計(jì)算機(jī)能夠理解的形式時(shí),實(shí)際上經(jīng)過(guò)了兩步驟的量化——特征選擇階段的重要程度量化和將具體文本轉(zhuǎn)化為向量時(shí)的特征權(quán)重量化。初次接觸文本分類的人很容易混淆這兩個(gè)步驟使用的方法和各自的目的,因而我經(jīng)常聽(tīng)到讀者有類似“如何使用TFIDF做特征選擇”或者“卡方檢驗(yàn)量化權(quán)重后每篇文章都一樣”等等困惑。

文本分類本質(zhì)上也是一個(gè)模式識(shí)別的問(wèn)題,因此我想借用一個(gè)更直觀的例子來(lái)說(shuō)說(shuō)特征選擇和權(quán)重量化到底各自是什么東西,當(dāng)然,一旦解釋清楚,你馬上就會(huì)覺(jué)得文本分類這東西實(shí)在白癡,實(shí)在沒(méi)什么技術(shù)含量,你也就不會(huì)再繼續(xù)看我的技術(shù)博客,不過(guò)我不擔(dān)心,因?yàn)槟阋呀?jīng)踏上了更光明的道路(笑),我高興還來(lái)不及。

想想通過(guò)指紋來(lái)識(shí)別一個(gè)人的身份,只看一個(gè)人的指紋,當(dāng)然說(shuō)不出他姓甚名誰(shuí),識(shí)別的過(guò)程實(shí)際上是比對(duì)的過(guò)程,要與已有的指紋庫(kù)比較,找出相同的,或者說(shuō)相似到一定程度的那一個(gè)。

首要的問(wèn)題是,人的指紋太復(fù)雜,包含太多的位置和幾何形狀,要完全重現(xiàn)一個(gè)人的指紋,存儲(chǔ)和計(jì)算都是大麻煩。因此第一步總是一個(gè)特征選擇的問(wèn)題,我們把全人類的指紋都統(tǒng)計(jì)一下,看看哪幾個(gè)位置能夠最好的區(qū)分不同的人。顯然不同的位置效果很不一樣,在有的位置上,我的指紋是是什么形狀,其他人也大都是這個(gè)形狀,這個(gè)位置就不具有區(qū)分度,或者說(shuō)不具有表征性,或者說(shuō),對(duì)分類問(wèn)題來(lái)說(shuō),它的重要程度低。這樣的位置我們就傾向于在識(shí)別的時(shí)候根本不看它,不考慮它。

那怎么看誰(shuí)重要誰(shuí)不重要呢?這就依賴于具體的選擇方法如何來(lái)量化重要程度,對(duì)卡方檢驗(yàn)和信息增益這類方法來(lái)說(shuō),量化以后的得分越大的特征就越重要(也就是說(shuō),有可能有些方法,是得分越小的越重要)。

比如說(shuō)你看10個(gè)位置,他們的重要程度分別是:

   1 2   3   4   5 6   7 8 9  10

20510203015437 3

顯然第1,第3456個(gè)位置比其他位置更重要,而相對(duì)的,第1個(gè)位置又比第3個(gè)位置更重要。

識(shí)別時(shí),我們只在那些重要的位置上采樣。當(dāng)今的指紋識(shí)別系統(tǒng),大都只用到人指紋的5個(gè)位置(驚訝么?只要5個(gè)位置的信息就可以區(qū)分60億人),這5個(gè)位置就是經(jīng)過(guò)特征選擇過(guò)程而得以保留的系統(tǒng)特征集合。假設(shè)這個(gè)就是剛才的例子,那么該集合應(yīng)該是:

(第1個(gè)位置,第3個(gè)位置,第4個(gè)位置,第5個(gè)位置,第6個(gè)位置)

當(dāng)然,具體的第3個(gè)位置是指紋中的哪個(gè)位置你自己總得清楚。

確定了這5個(gè)位置之后,就可以把一個(gè)人的指紋映射到這個(gè)只有5個(gè)維度的空間中,我們就把他在5個(gè)位置上的幾何形狀分別轉(zhuǎn)換成一個(gè)具體的值,這就是特征權(quán)重的計(jì)算。依據(jù)什么來(lái)轉(zhuǎn)換,就是你選擇的特征權(quán)重量化方法,在文本分類中,最常用的就是TFIDF

我想一定是“權(quán)重“這個(gè)詞誤導(dǎo)了所有人,讓大家以為TFIDF計(jì)算出的值代表的是特征的重要程度,其實(shí)完全不是。例如我們有一位男同學(xué),他的指紋向量是:

1034205

你注意到他第1個(gè)位置的得分(10)比第3個(gè)位置的得分(3)高,那么能說(shuō)第1個(gè)位置比第3個(gè)位置重要么?如果再有一位女同學(xué),她的指紋向量是:

10204205

看看,第1個(gè)位置得分(10)又比第3個(gè)位置(20)低了,那這兩個(gè)位置到底哪個(gè)更重要呢?答案是第1個(gè)位置更重要,但這不是在特征權(quán)重計(jì)算這一步體現(xiàn)出來(lái)的,而是在我們特征選擇的時(shí)候就確定了,第1個(gè)位置比第3個(gè)位置更重要。

因此要記住,通過(guò)TFIDF計(jì)算一個(gè)特征的權(quán)重時(shí),該權(quán)重體現(xiàn)出的根本不是特征的重要程度!

那它代表什么?再看看兩位同學(xué)的指紋,放到一起:

10 34205

10204205

在第三個(gè)位置上女同學(xué)的權(quán)重高于男同學(xué),這不代表該女同學(xué)在指紋的這個(gè)位置上更“優(yōu)秀“(畢竟,指紋還有什么優(yōu)秀不優(yōu)秀的分別么,笑),也不代表她的這個(gè)位置比男同學(xué)的這個(gè)位置更重要,320這兩個(gè)得分,僅僅代表他們的”不同“。

在文本分類中也是如此,比如我們的系統(tǒng)特征集合只有兩個(gè)詞:

(經(jīng)濟(jì),發(fā)展)

這兩個(gè)詞是使用卡方檢驗(yàn)(特征選擇)選出來(lái)的,有一篇文章的向量形式是

25

另一篇

34

這兩個(gè)向量形式就是用TFIDF算出來(lái)的,很容易看出兩篇文章不是同一篇,為什么?因?yàn)樗麄兊奶卣鳈?quán)重根本不一樣,所以說(shuō)權(quán)重代表的是差別,而不是優(yōu)劣。想想你說(shuō)“經(jīng)濟(jì)這個(gè)詞在第二篇文章中得分高,因此它在第二篇文章中比在第一篇文章中更重要“,這句話代表什么意義呢?你自己都不知道吧(笑)。

所以,當(dāng)再說(shuō)起使用TFIDF來(lái)計(jì)算特征權(quán)重時(shí),最好把“權(quán)重“這個(gè)字眼忘掉,我們就把它說(shuō)成計(jì)算得分好了(甚至”得分“也不太好,因?yàn)槿丝倳?huì)不自覺(jué)的認(rèn)為,得分高的就更重要),或者就僅僅說(shuō)成是量化。

如此,你就再也不會(huì)拿TFIDF去做特征選擇了。

Tips:為什么有的論文里確實(shí)使用了TFIDF作特征選擇呢?

嚴(yán)格說(shuō)來(lái)并不是不可以,而且嚴(yán)格說(shuō)來(lái)只要有一種方法能夠從一堆特征中挑出少數(shù)的一些,它就可以叫做一種特征選擇方法,就連“隨機(jī)選取一部分“都算是一種,而且效果并沒(méi)有差到驚人的地步哦!還是可以分對(duì)一大半的哦!所以有的人就用TFIDF的得分來(lái)把特征排排序,取得分最大的幾個(gè)進(jìn)入系統(tǒng)特征集合,效果也還行(畢竟,連隨機(jī)選取效果也都還行),怎么說(shuō)呢,他們?cè)敢膺@么干就這么干吧。就像咱國(guó)家非得實(shí)行戶口制度,這個(gè)制度說(shuō)不出任何道理,也不見(jiàn)他帶來(lái)任何好處,但不也沒(méi)影響二十一世紀(jì)成為中國(guó)的世紀(jì)么,呵呵。