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