中文維基百科 word2vec 詞向量

(封面是‘Deep Learning模型最近若幹年的重要進展’,有興趣可以微博搜一下)

最近需要用到大規模語料訓練得到的詞向量,上網一搜有很多基於中文wiki百科的詞向量訓練的博客,所以也想自己親自動手來試驗一下。結果還不錯,在此做下總結記錄這段工作。

這一篇 應該算是國內比較早使用wiki語料來訓練詞向量的,包括中英兩種語料。Python版本2.7.x,如果大傢要參照的話要麼使用py2.7,如果使用py3.x的話就得註意下代碼瞭。

整個實驗的流程主要由四部分組成,下面一一介紹一下。因為在實驗是遇到的問題還是不少的,在這裡我都詳盡的記錄下。

1 下載中文wiki

中文維基百科語料下載

我下載的時候遇到瞭打不開的情況,就請別人幫忙下載的。如果你也下不瞭的話我把我用的分享一下~壓縮包1.45G

鏈接: https://pan.baidu.com/s/1JrMtMB9p7w_YONkMMLf54Q 密碼: 4ba6

2 提取wiki語料

有瞭語料後我們需要將其提取出來,因為wiki百科中的數據是以XML格式組織起來的,所以我們需要尋求些方法。

查詢之後發現有兩種主要的方式:gensim的wikicorpus庫,以及wikipedia Extractor。

我使用的方法是wikipedia Extractor,簡潔方便。

介紹:http://medialab.di.unipi.it/wiki/Wikipedia_Extractor

下載:https://github.com/attardi/wikiextractor

不過這裡要註意下,wikipedia Extractor也是有兩個版本分別對應2.7以及3.x的,我當時就是下載的版本不對,卡瞭好久。上面給出的鏈接裡的腳本應該是都適用的,大傢可以試一下。

有瞭腳本之後我們就可以來提取文本啦!不過在這之前,我們需要將Python的環境變量,具體步驟可以參考這裡

我用的是anaconda,添加的路徑如圖所示。

下面這段代碼用來提取文本。打開命令提示符,進入到腳本文件存放的路徑,然後輸入如下代碼即可。

> Python WikiExtractor.py -cb 250K -o extracted zhwiki-latest-pages-articles.xml.bz2

c 表示的是將提取出的文件壓縮,為瞭後續工作的方便可以不用;

250k 表示的是提取多大體積的數據量作為一個文件,數值越大提取出的文件數量越少。

最後再介紹下 蘇神 的方法,大牛就是大牛,比不過啊 (~ ̄(OO) ̄)ブ

3 繁簡轉換

中文語料是簡體字和繁體字的混合,所以繁簡轉換必不可少。這一步我們要用到開源包opencc 介紹

而在安裝過程中會出現不少問題,比如

直接

pip install opencc-python

赞(0)