我正在使用word2vec的C版本(见https://code.google.com/archive/p/word2vec/),并在过滤后的德语版维基百科转储文件(约17GB原始文本,约1.4B单词)上对其进行训练。我正在使用以下设置:-cbow 1 -size 300 -window 5 -negative 25 -hs 0 -sample 1e-4 -threads 20 -binary 1 -iter 15 -min-count 1000
生成的输出文件包含约5万个单词,但没有一个包含字母ä、、è或ß。我验证了word2vec可以通过制作一个包含这些字母的单词的小语料库来处理它们,它们出现在输出中。
是什么原因导致包含这些字符的单词不出现在输出文件中?它是否与我使用的语料库或任何设置有某种关系?
最佳答案
它不应该与语料库的大小有关。我在维基百科的垃圾堆和德语新闻文章(词汇表中有60万个单词)上用类似的设置训练了一个德语模型(见下面的链接),并为带有德语变音的单词生成了单词向量。
你能做的事情:
检查你的语料库文件的字符编码,以及你的训练环境是UTF-8
通过在预处理中将元音变为它们各自的bigram标记(ä→ae、ß→ss等)来避免这个问题
查看this project其中word2vec被应用于德语语料库(但是gensim使用C实现)
关于c - Word2vec C++德语德语维基培训,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42584519/