使用維基百科訓練簡體中文詞向量

使用維基百科訓練簡體中文詞向量 php

    最近須要訓練簡體中文的詞向量,而中文大規模語料獲取並無像英文那樣方便。搜狗語料庫(http://www.sogou.com/labs/resource/list_yuliao.php)是可以免費獲取的比較大的中文新聞語料庫。可是最新的也就是更新到2012年的語料,後續並無放出更新的語料。除了搜狗語料,要獲取其餘領域相關的中文語料,可能就須要本身動手寫個爬蟲去相關網站上爬取。後面經過檢索,發現你們經過免費的中文維基百科來進行詞向量的訓練,因而我也下載處理了最新的維基語料,使用word2vec工具進行了中文詞向量的訓練。git

1 下載中文維基百科。github

wiki語料庫下載網址:工具

https://dumps.wikimedia.org/測試

最近的中文wiki語料:網站

https://dumps.wikimedia.org/zhwiki/latest/spa

其中zhwiki-latest-pages-articles.xml.bz2文件包含了標題、正文部分。壓縮包大概是1.3G,解壓後大概是5.7G。相比英文wiki中文的仍是小了很多。命令行

2 抽取wiki正文內容xml

下載下來的wikiXML格式,須要提取其正文內容。不過維基百科的文檔解析有很多的成熟工具(例如gensimwikipedia extractor等),我直接使用開源工具wikipedia extractor完成正文的提取。blog

Wikipedia extractor的網址爲: http://medialab.di.unipi.it/wiki/Wikipedia_Extractor

Wikipedia Extractor 是一個簡單方便的Python腳本,下載好WikiExtractor.py後直接使用下面的命令運行便可。

WikiExtractor.py -cb 1200M -o extracted zhwiki-latest-pages-articles.xml.bz2

-cb 1200M表示以 1200M 爲單位切分文件,-o 後面接出入文件,最後是輸入文件。

3 簡繁轉換

中文wiki內容中大多數是繁體,這須要進行簡繁轉換。我使用了廈門大學NLP實驗室開發的簡繁轉換工具,該工具使用簡單方便效果也很不錯。

  下載網址爲:http://jf.cloudtranslation.cc/

下載單機版便可,在windos命令行窗口下使用下面命令行運行:

  jf -fj file1.txt file2.txt -lm lm_s2t.txt

其中file1.txt爲繁體原文文件,file2.txt爲輸出轉換結果的目標文件名,lm_s2t.txt爲語言模型文件。

4 處理空括號

因爲 Wikipedia Extractor 抽取正文時,會將有特殊標記的外文直接剔除,最後造成一些空括號,本身去掉了這些空括號。

5 訓練詞向量

將前面獲得的中文語料使用jieba分詞工具(https://github.com/fxsjy/jieba)進行了分詞,而後使用word2vec工具進行了訓練,使用參數以下:

-cbow 0 -size 50 -window 10 -negative 5 -hs 1 -sample 1e-3 -threads 24 -binary 0 -iter 10

訓練獲得簡體中文詞向量後,測試了與"蛋白質""艾滋病""青黴素" 類似的top10,結果以下:

 

 

最後給你們共享一下處理好的資源。

http://pan.baidu.com/s/1dFeNNK9

其中包括,

處理好的簡體中文文本(未分詞):zhwiki_2017_03.clean

訓練好的簡體中文詞向量:zhwiki_2017_03.sg_50d.word2vec

相關文章
相關標籤/搜索