使用維基百科訓練簡體中文詞向量
最近需要訓練簡體中文的詞向量,而中文大規模語料獲取並沒有像英文那樣方便。搜狗語料庫(
)是能夠免費獲取的比較大的中文新聞語料庫。但是最新的也就是更新到
2012
word2vec
工具進行了中文詞向量的訓練。
wiki
最近的中文
wiki
語料:zhwiki/latest/
其中zhwiki-latest-pages-articles.xml.bz2
檔案包含了標題、正文部分。壓縮包大概是
1.3g
,解壓後大概是
5.7g
。相比英文
wiki
中文的還是小了不少。
2 抽取
wiki
正文內容
wiki
是xml
格式,需要提取其正文內容。不過維基百科的文件解析有不少的成熟工具(例如
gensim
,wikipedia extractor
等),我直接使用開源工具
wikipedia extractor
完成正文的提取。
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實驗室開發的簡繁轉換工具,該工具使用簡單方便效果也很不錯。
windos
命令列視窗下使用下面命令列執行:
jf -fj file1.txt file2.txt -lm lm_s2t.txt
其中file1.txt
為繁體原文檔案,
file2.txt
為輸出轉換結果的目標檔名,
lm_s2t.txt
為語言模型檔案。
4 處理空括號
由於wikipedia extractor
抽取正文時,會將有特殊標記的外文直接剔除,最後形成一些空括號,自己去掉了這些空括號。
5 訓練詞向量
將前面得到的中文語料使用
jieba
分詞工具(
)進行了分詞,然後使用
word2vec
工具進行了訓練,使用引數如下:
-cbow 0 -size 50 -window 10 -negative 5 -hs 1 -sample 1e-3 -threads 24 -binary 0 -iter 10
訓練得到簡體中文詞向量後,測試了與
"蛋白質
""愛滋病
""青黴素
" 相似的
top10
,結果如下:
最後給大家共享一下處理好的資源。
其中包括,
處理好的簡體中文文字(未分詞):
zhwiki_2017_03.clean
訓練好的簡體中文詞向量:
zhwiki_2017_03.sg_50d.word2vec
維基百科簡體中文語料的獲取
使用維基百科做訓練語料有很多好處 到此為止,已經完成了大部分繁簡轉換工作。實際上,維基百科使用的繁簡轉換方法是以詞表為準,外加人工修正。人工修正之後的文字是這種格式,多數是為了解決各地術語名稱不同的問題 他的主要成就包括emacs及後來的gnu emacs,gnu c 編譯器及 對付這種可以簡單的使...
維基百科簡體中文語料的獲取
使用維基百科做訓練語料有很多好處 到此為止,已經完成了大部分繁簡轉換工作。實際上,維基百科使用的繁簡轉換方法是以詞表為準,外加人工修正。人工修正之後的文字是這種格式,多數是為了解決各地術語名稱不同的問題 他的主要成就包括emacs及後來的gnu emacs,gnu c 編譯器及 對付這種可以簡單的使...
中文維基百科資料處理
3 opencc第三方庫,是中文字元轉換,包括中文簡體繁體相互轉換等。中文維基百科資料一般包含如下幾個部分 訓練詞向量採用的資料是正文資料,下面我們將對正文資料進行處理。使用 python wiki process.py zhwiki latest pages articles.xml.bz2 zh...