用 GloVe 訓練中文維基百科

泥膩泥膩
3 min readDec 8, 2018

--

  1. 使用之前做完處理的 wiki_seg.txt
  2. 用 GloVe 訓練詞向量,需要有四個步驟 vocab_count → cooccur → shuffle → glove

vocab_count

$ $ build/vocab_count -min-count 5 -verbose 2 < wiki_seg.txt > zh_wiki_vocab

vocab_count從語料庫(wiki_seg.txt)中統計詞頻

輸出文件 zh_wiki_vocab,每行為詞語 詞頻

-min-count 5指詞頻低於5的我們不要

-verbose 2控制 terminal 印出訊息,設為 0 表示不輸出

cooccur

$ build/cooccur -memory 4.0 -vocab-file zh_wiki_vocab  -verbose 2 -window-size 5 < wiki_seg.txt> zh_wiki_cooccurence.bin

cooccur 從語料庫中統計一起出現的詞

輸出文件 zh_wiki_cooccurence.bin,格式為非文本的二進制

-memory 4.0bigram_table緩衝器

-vocab-file指上一步得到的文件

-verbose 2同上

-window-size 5指詞窗口大小

shuffle

$ build/shuffle  -memory 4.0 -verbose 2 < zh_wiki_cooccurence.bin >zh_wiki_shuff.bin

shufflezh_wiki_cooccurence.bin 重新整理

輸出文件zh_wiki_shuff.bin

GloVe

$ build/glove -save-file zh_wiki_glove.vectors -threads 8 -input-file zh_wiki_shuff.bin -vocab-file zh_wiki_vocab -x-max 10 -iter 5 -vector-size 300 -binary 2 -verbose 2

glove 訓練模型,輸出詞向量文件。

-save-file → zh_wiki_glove.vectors

-threads → 8

-input-file → zh_wiki_shuff.bin

-vocab-file → zh_wiki_vocab

-iter 表示迭代次數

-vector-size 表示向量維度大小

-binary 控制輸出格式0: save as text files; 1: save as binary; 2: both

訓練後得到的二進制詞向量模型格式與原始 c 版本 word2vec 的 vector 格式也相同,可以通過統一的方法加載使用。

--

--

泥膩泥膩
泥膩泥膩

Written by 泥膩泥膩

快解除我的封印RRRRRRRR~~~~

No responses yet