1. 程式人生 > >資料探勘 文字分類(二)蒐集中文語料庫與ICTCLAS分詞

資料探勘 文字分類(二)蒐集中文語料庫與ICTCLAS分詞

           在上一篇部落格中簡單介紹了實驗環境和流程,這一篇我們繼續。

           第一步,下載搜狗中文語料庫。連結:http://www.sogou.com/labs/dl/c.html

                           我們下載24M大小的精簡版(tar.gz格式)

         

                         下載完了,解壓縮,放到做本次實驗的目錄裡存好。(這不廢話嘛!)

                          開啟語料庫看下,它一共是9類,每類由編號為10到1999大約1900篇txt檔案構成。

                          手動將每一類的1900篇文章分開,分成兩份,一份存為訓練集,一份存為測試集。

                          我們點選上圖中的分類編碼對照表(txt格式)可以看每一類對應的中文分類。

第二步就是下載中科院張華平博士的漢語詞法分析系統ICTCLAS了。連結:http://ictclas.nlpir.org/downloads

          我們開啟下載包,進入這個路徑:20140926175340_ICTCLAS2014\ICTCLAS2014\sample\pythonsample

          這時pythonsample目錄下是這樣的:

       根據readme提示將data資料夾拷到pythonsample目錄下:

       

        然後我們就可以將pythonsample資料夾整個拷到我們做這個實驗的目錄中了。

第三步,嘗試分詞。

         我們用python自帶的IDLE開啟pythonsample中的nipir.py檔案。安裝python環境參考廖雪峰老師的網站:http://www.liaoxuefeng.com

開啟以後,發現示例檔案的最下方分詞舉例是這樣的:

也就是說,示例分詞是要把"Big News: @解放日報 [最右]【呼市鐵路局原副局長被判死緩 最頭痛藏錢】2013年12月底,呼市鐵路局原副局長馬俊飛..."這段話做分詞。我們跑下試試,看看分詞效果。

調出命令列介面,進入pythonsample資料夾,執行nlpir.py。(我的pythonsample資料夾就在桌面上)。如圖:

第一次嘗試執行的時候,可能會報作業系統位數不匹配的錯,如下:

我們大概知道,肯定是作業系統位數的問題,常用的windows系統就是32位或者64位,我們根據提示去看看nlpir.py檔案第14行:

第14行是把libFile 指向nipir目錄下的NLPIR64.dll,我們開啟nlpir目錄,發現裡邊既有NLPIR64.dll又有NLPIR32.dll。這樣我們只需把第14行的64改為32,然後跑跑試試。


分詞成功了,但是輸出結果是亂碼。python的編碼問題困擾了很多人哈,因為我也是初學,對編碼理解的也不深,不過這個問題我們可以先解決,編碼問題以後有時間再深入研究。

解決辦法:將下面兩行程式碼貼到nlpir.py檔案頂端。

import sys
type = sys.getfilesystemencoding()

然後在檔案最下方將print (s)改為print s.decode('utf-8').encode(type),如圖:

然後,我們在去嘗試執行nlpir.py。

OK!  成功啦!很開心有木有!!