德语维基百科上的Word2vec C ++培训

时间:2017-03-03 16:56:57

标签: c word2vec

我正在使用word2vec的C版本(在https://code.google.com/archive/p/word2vec/处找到)并在德语版维基百科的过滤转储上进行训练(约17 GB原始文本,~1.4 B字)。我使用以下设置:

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

结果输出文件包含~50k字,但不包含字母ä,ö,ü或ß。我确认word2vec可以通过创建一个包含带有这些字母的单词的小语料库来处理它们,并且它们出现在输出中。

导致包含这些字符的单词不会出现在输出文件中的原因是什么?它是否与语料库的大尺寸或我正在使用的任何设置有关?

1 个答案:

答案 0 :(得分:0)

它不应该与语料库的大小有关。我已经在维基百科转储和德语新闻文章(词汇表中的600k字)上训练了一个德语模型(见下面的链接),并为德语变音符号生成单词向量。

你可以做的事情:

  • 检查语料库文件的字符编码以及您的培训环境是UTF-8
  • 通过在预处理中将变音符号转换为各自的二元组标记(ä→ae,ß→ss等)来避免此问题
  • 查看this project word2vec应用于德语语料库(但使用C实现的gensim)