部分轉載: http://www.blogjava.net/zhenandaci/archive/2008/05/31/204646.html
作者:Jasper
?????
文本分類(text categorization)
問題就是將一篇文檔歸入預先定義的幾個類別中的一個或幾個,而文本的自動分類則是使用計算機程序來實現這樣的分類。
通俗點說,就好比你拿一篇文章,問計算機這文章要說的究竟是體育,經濟還是教育,計算機答不上就打它的屁屁(……)。
????? 注意這個定義當中著重強調的兩個事實。
?????
第一,用于分類所需要的類別體系是預先確定的。
例如新浪新聞的分類體系,Yahoo!網頁導航的分類層次。這種分類層次一旦確定,在相當長的時間內都是不可變的,或者即使要變更,也要付出相當大的代價(基本不亞于推倒并重建一個分類系統)。
????
? 第二,一篇文檔并沒有嚴格規定只能被分配給一個類別。
這與分類這個問題的主觀性有關,例如找10個人判斷一篇文章所陳述的主題究竟屬于金融,銀行還是財政政策領域,10個人可能會給出10個不同的答案。因此一篇文章很可能被分配到多個類別當中,只不過分給某些類別讓人信服,而有些讓人感覺模棱兩可罷了(說的專業點,置信度不一樣)。
????? 現在一說到文本分類,大部分人想當然的將這個問題簡化為判斷一篇文章說的是什么,這只是文本分類的一小部分應用,我們可以稱之為“依據主題的分類”。實際上,文本分類還可以用于判斷文章的寫作風格,作者態度(積極?消極?),甚至判斷作者真偽(例如看看《紅樓夢》最后二十回到底是不是曹雪芹寫的)。
總而言之,凡是與文本有關,與分類有關,不管從什么角度出發,依據的是何特征,都可以叫做文本分類。
????? 當然,目前真正大量使用文本分類技術的,仍是依據文章主題的分類,而據此構建最多的系統,當屬搜索引擎。內里的原因當然不言自明,我只是想給大家提個醒,文本分類還不完全等同于網頁分類。
網頁所包含的信息遠比含于其中的文字(文本)信息多得多,對一個網頁的分類,除了考慮文本內容的分類以外,鏈入鏈出的鏈接信息,頁面文件本身的元數據,甚至是包含此網頁的網站結構和主題,都能給分類提供莫大的幫助(比如新浪體育專欄里的網頁毫無疑問都是關于體育的),因此說文本分類實際上是網頁分類的一個子集也毫不為過。
當然,純粹的文本分類系統與網頁分類也不是一點區別都沒有。文本分類有個重要前提:即只能根據文章的文字內容進行分類,而不應借助諸如文件的編碼格式,文章作者,發布日期等信息。而這些信息對網頁來說常常是可用的,有時起到的作用還很巨大!因此純粹的文本分類系統要想達到相當的分類效果,必須在本身的理論基礎和技術含量上下功夫。
?
????? 下面我們看看F.Sebastiani (2002) 在 ACM Computing Surveys上發表的一篇論文《Machine Learning in Automated Text Categorization》中,用如下的數學模型來描述分類體系下的類別集合:
????? 文本分類的任務可以理解為獲得這樣一個函數Φ: D×C -> {T , F} ,其中D={d1,d2,...,dx}表示需要進行分類的文檔,C={c1,c2,...,cy}表示預定義的分類體系下的類別集合(或者可以說是訓練語料中的類別集合)。T值表示對于<dj,ci>來說,文檔dj屬于類ci。而F值則表示不屬于。也就說,文本分類的終極目的是要找到一個有效的映射函數,準確地實現域 D×C到值T/F的映射,這個映射函數實際上就是 分類器 。一個文本分類系統可以簡略的表示成下圖:
????????????????
?????? 上面是計算機的分類系統的體系結構,沒有自然語言處理基礎的朋友可能很難看到這個分體系統。下面我們通俗點談談計算機分類方法。
?
分本分類方法
????? 首先想想我們人類看到一篇文檔之后,是如何能夠確定這篇文本的類別呢?
????? 很顯然,我們要通讀全文,然后根據文中大量的特征詞來判斷。比如下面這篇文章,標藍的詞語給我們了一種主觀感覺,再加上標藍詞語在文章中還是比較多的,這就能讓我們斷定它是一篇NBA籃球方面的文章。
?
????? 勒布朗-詹姆斯 、 德維恩-韋德 和 克 里斯-波什 的組合,能在 新賽季 為 邁阿密熱火 帶來期盼已久的 總冠軍 么?也許在紙面上, 熱火 的新三巨頭是不可 戰勝的,但如果深入研究如今 球隊 的陣容,不要說對比連續兩年的 衛冕冠軍湖人 ,即便連東部的 凱爾特人 , 熱火 也難有勝算的優勢。《DIME雜志》專家大衛-阿 爾瓦雷斯就撰文指出,即便 熱火 在 休賽期 的運作足以震撼全世界,但他們足以擊敗 聯盟 所有對手了么?答案顯然是:絕不可能。
?
????? 當然,這有一個問題,如果我們完全就不知道NBA和籃球,那么再多的特征詞也沒用。因此,我們人類判斷出來的準確度取決于我們的知識量和經驗。也就是我們以前看到過很多這類文章,才能夠保證我們人分類的正確性。
?
???? 正是人類的這種分類方法,使得我們也讓計算機的分類理論具備了一些類似的術語:
???? (1) 特征: 反映文本的內容,且具有對其他類別文本的區分能力。對于計算機而言,很多時候特征用具有特殊含義的詞來表示。在自然語言處理領域,獲取文本/類別特征的研究,我們叫做 特征提取(feature extraction) 。
???? ( 2) 訓練: 不懂NBA的人自然也讀不懂NBA的文章,計算機也是如此。因此我們必須為計算機建立一個類別的知識庫(專業領域叫 語料庫 或 知識詞典 ),讓計算機在這個知識庫中學習,獲取經驗。這個過程也就是專業領域中講到的 機器學習(Machine Learning) 。在分類體系中,這個過程有時是不可或缺的,我們叫做 訓練 ,而用于訓練的文本我們叫做 訓練語料 或 訓練集 。
??? (3) 文本表示: 計算機很難想人類一樣,對文本具有概念上的感性表示。只能通過一種確定的形式化表示方法來表示文本,進而能夠簡單的處理文本內容。在自然語言處理領域中,常用的一種文本形式化表示模型叫做 向量空間模型(VSM) 。
?
????? 整個這樣的一種計算機分類理論,我們叫做 統計學習方法 (很多人叫 機器學習方法 )。這是目前自然語言處理領域中最可靠,也是最流行的思想。
?
????? 統計學習方法需要一批由人工進行了準確分類的文檔作為學習的材料(稱為訓練集,注意由人分類一批文檔比從這些文檔中總結出準確的規則成本要低得多),計算機從這些文檔中挖掘出一些能夠有效分類的規則,這個過程被形象的稱為訓練。而總結出的規則集合常常被稱為分類器。訓練完成之后,需要對計算機從來沒有見過的文檔進行分類時,便使用這些分類器來進行。
????? 現如今,統計學習方法已經成為了文本分類領域絕對的主流。主要的原因在于其中的很多技術擁有堅實的理論數學基礎。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
