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

2022-07-08 21:00:20 字數 1899 閱讀 9203

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

最近需要訓練簡體中文的詞向量,而中文大規模語料獲取並沒有像英文那樣方便。搜狗語料庫(

)是能夠免費獲取的比較大的中文新聞語料庫。但是最新的也就是更新到

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...