2017-03-03 57 views
1

我使用word2vec的C版(如https://code.google.com/archive/p/word2vec/),並在德國版維基百科(〜17 GB原始文本,〜1.4 B字)的過濾轉儲上進行培訓。我使用以下設置:在德語維基百科上Word2vec C++培訓

-cbow 1 -size 300 -window 5 -negative 25 -hs 0 -sample 1e-4 -threads 20 -binary 1 -iter 15 -min-count 1000

產生的輸出文件包含〜50K的話,但是他們都不包含字母A,ö,ü或SS。我驗證了word2vec可以通過製作一個包含這些字母的單詞的小型語料庫來處理它們,並且它們出現在輸出中。

什麼可能導致包含這些字符的單詞不會出現在輸出文件中?它與語料庫的大尺寸或我正在使用的任何設置有什麼關係?

回答

0

它不應該與語料庫的大小有關。我已經使用維基百科轉儲和德語新聞文章(詞彙表中的600k詞)的類似設置訓練了德語模型(請參閱下面的鏈接),並使用德語變音符號爲單詞生成了詞彙向量。

事情可以做:

  • 檢查您的語料庫文件的字符編碼以及你的訓練環境是UTF-8
  • 通過轉換變音各自的二元令牌避免這個問題( A→AE,在預處理ß→SS等)
  • 退房this project其中在德國語料庫施加word2vec(但gensim使用C實現)