摘 要 在文本挖掘課程教學中,不僅要求學生掌握文本分類相關理論知識,而且要求學生掌握在真實的文本語料上通過動手實驗驗證相關算法,進而加深對理論知識的理解。介紹基于Rapid Miner的文本分類實驗設計方法。在基于維吾爾文文本語料的分類實驗中得到比較滿意的實驗結果,可以在文本挖掘實驗教學中推廣使用。
關鍵詞 Rapid Miner;文本挖掘;文本分類;維吾爾文;實驗設計
中圖分類號:G642.423 文獻標識碼:B
文章編號:1671-489X(2017)12-0024-04
1 引言
互聯(lián)網已經變成一個龐大的知識庫并正在迅速擴大,大部分的信息作為文本數(shù)據(jù)被放到網上。如何解析這一日益增加的數(shù)據(jù)量進而取得有價值的信息,已經變得至關重要。文本挖掘是指從大量文本數(shù)據(jù)中抽取事先未知的、可理解的、最終可用的知識的過程。文本分類是文本挖掘中最基本而重要的組成部分,是更好地組織和有效地利用這些信息的一項重要技術。
文本挖掘是一門實踐性很強的課程。在文本挖掘課程教學中,不僅要求學生掌握文本分類相關理論知識,而且要求學生掌握在真實的文本語料上通過動手實驗驗證相關算法,進而加深對理論知識的理解,為以后從事文本挖掘領域的理論研究或應用技術研發(fā)打好基礎。
Rapid Miner是一個可視化的開源文本挖掘工具軟件,可以很直觀地進行文本挖掘操作[1]。其可視化特性使初學者更容易入門,其開源特性使用戶可以免費下載使用。在Rapid Miner中將相應算子(operator)進行連接形成流程(process)來實現(xiàn)文本挖掘功能。在Rapid Miner中輸入原始數(shù)據(jù),經過流程后輸出模型或預測評價結果。算子實際上就是執(zhí)行某種具體功能的函數(shù),不同算子具有不同的輸入和輸出。Rapid Miner一般包括流程控制類、數(shù)據(jù)輸入和輸出類、數(shù)據(jù)轉換類、建模類、評估類等幾類算子。
2 文本分類一般步驟
基于機器學習的文本分類過程一般由文本語料的預處理、特征詞典構建、分類模型訓練以及模型性能評價等部分組成。
文本預處理 在基于向量空間模型的文本分類系統(tǒng)中,首先要將文本表示為向量空間中的一個向量。在把文本表示為向量之前,通常還要先做好一些必要的前期文本預處理工作,以減少數(shù)據(jù)噪聲,改善文本表示的質量。
在維吾爾語中,大多數(shù)超長詞實際上在詞干后面連接多個詞綴而產生的。如單詞“”(由
于搞得很復雜)是由27個字符組成的超長詞,實際上它的
詞干是“”(復雜),其余的都是詞綴:
詞干長度只有8個字符,而其余的19個字符為詞綴。因此,按詞長來過濾掉在原始特征集中的一部分詞,一方面有助于降低特征空間維數(shù)、文本表示的稀疏性,另一方面在一定程度上能夠提高詞干提取的效率。
在預處理階段,除了過濾超長詞外,還要對低頻詞進行過濾。通過實驗分析發(fā)現(xiàn),絕大多數(shù)拼寫錯誤的詞只會出現(xiàn)一次,即詞頻為1,拼寫錯誤的詞是增加特征空間維數(shù)和加重文本表示向量稀疏性的主要原因之一。除此之外,還有一些稀有詞在文本集中出現(xiàn)的次數(shù)極少,這些低頻詞并不適合作為表征文本內容的特征,也要從文本中刪除。
通過多次反復實驗,最后確定按如下步驟對維吾爾文文本數(shù)據(jù)集進行預處理,以減少數(shù)據(jù)噪聲、改善文本表示的質量。
1)編碼轉換:將所有文本都轉換成UTF-8編碼格式,以統(tǒng)一不同編碼形式的維吾爾文文本。
2)分詞:維吾爾語是一種黏性語言,在這一類語言中詞(word)是最小獨立的語言單位,詞與詞之間用空格作為自然分割符,因此,在維吾爾文文本中,根據(jù)自然分割符就可以解決分詞的問題。
3)特殊字符過濾:對文本中出現(xiàn)的所有非維吾爾文字符、標點符號、數(shù)學符號以及數(shù)字進行過濾。
4)停用詞過濾:按照預先建立好的停用詞表,對文本中出現(xiàn)的所有停用詞進行過濾。
5)按詞長進行過濾:對詞長小于3和大于24的詞進行過濾。
6)按詞頻進行過濾:對詞頻小于3的低頻詞和大于1000高頻詞進行過濾。
特征選擇及權重計算 并不是所有在文本中出現(xiàn)過的單詞都對分類有貢獻,要通過特征選擇算法選擇那些類別區(qū)分能力強的特征構造特征詞典。為了更好地衡量特征對分類貢獻的大小,還需要計算每個特征的權重。常用的特征選擇方法有CHI統(tǒng)計量、互信息(MI)、信息增益(IG)等[2]。常用的特征權重計算方法有TF-IDF。在本實驗中采用CHI統(tǒng)計量和TF-IDF。
分類模型構造 已有許多機器學習方法在中文和英文文本分類研究中應用[3]。其中選擇樸素貝葉斯(Na?ve Bayes)
方法和k-最近鄰(kNN,k-Nearest Neighbor)方法,用來訓練和分類維吾爾文文本。這兩種分類器都具有模型簡單、穩(wěn)定性好等特點。
模型評價 基于標注過的分類語料訓練好分類模型以后,要用該模型對未標注樣本進行分類并對模型分類性能進行評價。常用的評價指標[4]包括準確率(precision)、召回率(recall)和F1值等:
P(準確率)=分類正確的文本數(shù)/實際分類的文本數(shù)
R(召回率)=分類正確的文本數(shù)/應有的文本數(shù)
F1=2PR/(P+R)
3 實驗設計
數(shù)據(jù)集 在中文和英文文本分類研究中,國內外已經有比較標準和開放的文本分類語料庫。而就維吾爾文文本分類而言,目前還沒有開放的分類文本集可以使用。從人民網(http://uyghur.people.com.cn/)和天山網(http://www.xjtsnews.com/)維吾爾文版上收集1800篇文本,通過人工將其分為政治、經濟、體育、旅游、教育、文化共六類,每類300篇。
實驗步驟
1)分類模型構造。
第一步:將Process Document from Files算子添加到主窗口。在主窗口右側的參數(shù)(Parameters)窗口指定訓練文本所在的目錄并設置其他參數(shù),如字符編碼選UTF-8,權重計算方法選TF-IDF,設定按詞頻過濾等,如圖1所示。
Process Document from Files是一個嵌套算子,通過在嵌套層添加文本預處理相關算子,如Tokenize(分詞)、Filter Tokens by Content(按內容過濾)、Filter Stop Words(停用詞過濾)、Filter Tokens by Length(按詞長過濾)等并設置各算子相關參數(shù),可以完成文本語料的預處理及向量化任務,如圖2所示。
第二步:添加Weight by Chi Squared Statistic算子來計算特征項與類別之間的相關性并按照CHI值降序排序。
第三步:添加Select by Weights算子來選擇與類別相關度最高的k個單詞作為文本特征。
第四步:最后添加k-NN(Na?ve Bayes或SVM)算子到主流程中以構造分類模型。
第五步:將各算子的相應端口進行連接并點擊運行(Run)按鈕,執(zhí)行流程并得到結果,將輸出結果中的特征詞典及分類模型進行保存,如圖3、圖4所示。
2)模型測試。
第一步:通過用兩個Retrieve算子導入前面訓練好的k-NN分類模型和預處理后的測試集。
第二步:添加Model Applier算子,用k-NN模型對測試集里的文本進行分類,預測每個文本所屬的類別。
第三步:使用Performance算子對分類預測結果進行評價。
第四步:將各算子的相應端口進行連接并點擊運行(Run)按鈕,執(zhí)行流程并得到實驗結果。圖5所示是測試流程,圖6是測試實驗結果。
4 結語
本文介紹采用界面友好的開源數(shù)據(jù)挖掘工具Rapid Miner進行文本分類的實驗步驟。Rapid Miner具有界面友好、使用簡便、實驗流程設計直觀、結構清晰等特點,在基于維吾爾文文本語料的分類實驗中得到比較滿意的實驗結果,可以在文本挖掘課程教學中推廣使用。
參考文獻
[1]Verma T, Renu R, Gaur D. Tokenization and Filtering Process
in Rapid Miner[J].International Journal of Applied Information Systems(IJAIS),2014,7(2):16-18.
[2]阿力木江·艾沙,吐爾根·依布拉音,庫爾班·吾布力,等.基于類別分布差異和特征熵的維吾爾語文本特征選擇[J].計算機應用研究,2013,30(10):2958-2961.
[3]蘇金樹,張博鋒,徐昕.基于機器學習的文本分類技術研究進展[J].軟件學報,2006,17(9):1848-1859.
[4]阿力木江·艾沙,吐爾根·依布拉音,艾山·吾買爾,等.基于機器學習的維吾爾文文本分類研究[J].計算機工程與應用,2012,48(5):110-112.