開始之前首先說說分類體系。回憶一下,分類體系是指事先確定的類別的層次結(jié)構(gòu)以及文檔與這些類別間的關(guān)系。
其中包含著兩方面的內(nèi)容:
一,類別之間的關(guān)系。一般來說類別之間的關(guān)系都是可以表示成樹形結(jié)構(gòu),這意味著一個類有多個子類,而一個子類唯一的屬于一個父類。這種類別體系很常用,卻并不代表它在現(xiàn)實世界中也是符合常識的,舉個例子,“臨床心理學(xué)”這個類別應(yīng)該即屬于“臨床醫(yī)學(xué)”的范疇,同時也屬于“心理學(xué)”,但在分類系統(tǒng)中卻不便于使用這樣的結(jié)構(gòu)。想象一下,這相當(dāng)于類別的層次結(jié)構(gòu)是一個有環(huán)圖,無論遍歷還是今后類別的合并,比較,都會帶來無數(shù)的麻煩。
二,文檔與類別間的關(guān)系。一般來說,在分類系統(tǒng)中,我們傾向于讓一篇文檔唯一的屬于一個類別(更嚴(yán)格的說,是在同一層次中僅屬于一個類別,因為屬于一個類別的時候,顯然也屬于這個類別的父類別),這使得我們只適用一個標(biāo)簽就可以標(biāo)記這個文檔的類別,而一旦允許文檔屬于多個類別,標(biāo)簽的數(shù)目便成為大小不定的變量,難于設(shè)計成高效的數(shù)據(jù)結(jié)構(gòu)。這種“屬于多個”類的想法更糟的地方在于文檔類別表示的語義方面,試想,如果姚明給災(zāi)區(qū)捐款的新聞即屬于災(zāi)區(qū)新聞,也屬于體育新聞的話(這在現(xiàn)實中倒確實是合情合理的),當(dāng)用戶使用這個系統(tǒng)來查找文檔,指定的條件是要所有“屬于災(zāi)區(qū)新聞但不屬于體育新聞的新聞”(有點拗口,不過正好練嘴皮子啦,笑)的時候,這篇姚明的報道是否應(yīng)該包含在查詢結(jié)果中呢?這是一個矛盾的問題。
文本分類問題牽涉到如此多的主題,本身又含有如此多的屬性,因此可以從多個角度對文本分類問題本身進(jìn)行一下分類。
分類系統(tǒng)使用何種分類算法是分類系統(tǒng)的核心屬性。如果一個分類算法在一次分類判斷時,僅僅輸出一個真假值用來表示待分類的文檔是否屬于當(dāng)前類別的話,這樣的系統(tǒng)就可以叫做基于二元分類器的分類系統(tǒng)。有些分類算法天然就是獨立二元的,例如支持向量機,它只能回答這個文檔是或不是這個類別的。這種分類算法也常常被稱為“硬分類”的算法(Hard Categorization)。而有的算法在一次判斷后就可以輸出文檔屬于多個類別的得分(假設(shè)說,得分越大,則說明越有可能屬于這個類別),這類算法稱為“排序分類”的算法(Ranking Categorization),也叫做m元分類算法。kNN就是典型的m元分類算法(因為kNN會找出與待分類文檔最相近的訓(xùn)練樣本,并記錄下這些樣本所屬的分類)。
謝謝了,收藏!
希望能夠有更多的精彩文章出現(xiàn)!