在做自然語言處理時很多時候都會需要中文語料庫,高品質的中文語料庫較難找,維基百科和百度百科算是比較不錯的語料庫。其中維基百科會定時将語料庫打包釋出 <code>https://dumps.wikimedia.org/zhwiki/</code> ,可以下載下傳最新版本的語料庫。而百度百科則需要自己去爬,不過也有人把爬好的語料貢獻出來了,<code>https://pan.baidu.com/share/init?surl=i3wvfil</code>提取碼 neqs 。
這篇文章主要講下如何使用中文維基百科的語料庫。
通過 <code>https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2</code> 可以下載下傳最新的中文維基百科語料,目前大小為1.37G左右,裡面内容以xml格式儲存,是以我們後續還是需要做處理的。xml節點資訊類似如下
根據标簽名容易知道各個節點内容表示的意義,text節點為文章内容,它裡面其實還包含了很多其他的一些符号,也是需要過濾掉的。
對于上述下載下傳的語料庫,需要進一步抽取,可以選擇
* 自己寫程式抽取。
* 使用Wikipedia Extractor抽取。
* 使用gensim中wikicorpus庫抽取。
由于維基百科語料庫有很多符号,使用場景不同過濾的内容也不同,根據自己需要處理即可。這裡直接使用Wikipedia Extractor先初步處理,
執行過程如下,可以看到一共處理了965446篇文章。
通過以上抽取後得到兩個檔案<code>wiki_00</code>和<code>wiki_01</code>。裡面的格式類似下面
通過Wikipedia Extractor處理時會将一些特殊标記的内容去除了,但有時這些并不影響我們的使用場景,是以隻要把抽取出來的标簽和一些空括号、「」、『』、空書名号等去除掉即可。
維基百科語料庫中包含了大量的繁體中文,對于我們可能需要将其轉換成簡體中文,這裡使用opencc來進行轉換。兩種方式使用opencc,
* 直接使用opencc的windows版本,然後執行指令對檔案進行轉換,可到<code>https://bintray.com/package/files/byvoid/opencc/OpenCC</code>下載下傳。
* 使用opencc的python版本,這個在python3.5下可能會報錯,執行指令,<code>pip install opencc-python</code>,可能會報錯:<code>ImportError: No module named distribute_setup</code>,這時要到<code>http://download.csdn.net/download/tab_space/9455349</code>下載下傳并解壓,将<code>distribute_setup.python</code>檔案複制到python安裝目錄下的Lib目錄下。再次執行指令,可能又會報錯:<code>chown() missing 1 required positional argument: 'numeric_owner'</code>,這時需要将<code>distribute_setup.python</code>檔案中<code>self.chown(tarinfo, dirpath)</code>改為<code>self.chown(tarinfo, dirpath, '')</code>。
這裡使用windows版本的opencc,執行如下指令将<code>wiki_00</code>和<code>wiki_01</code>檔案中繁體轉換成簡體。
如果還要繼續進行分詞操作可以使用jieba,直接python安裝jieba,然後執行下面腳本,
以下是廣告
========廣告時間========
<a href="http://blog.csdn.net/wangyangzhizhou/article/details/74080321">為什麼寫《Tomcat核心設計剖析》</a>
=========================
歡迎關注:
