本人是刚刚接触word2vec的初学者,对Linux系统学习也是刚入门。目前查阅了网上很多前辈的帖子进行学习,text8那个例子训练没有问题。就是自己在使用word2vec进行中文语料的训练是,无论输入什么词都显示Out of dictionary word!。我不知道是因为使用中文要另配置还是自己的语料文件有问题。请问是否有前辈也遇过这种问题,各路大牛请帮帮小女ORZ~
终端显示如下:
Starting training using file 111
Vocab size: 288
Words in train file: 4924799
Alpha: 0.000005  Progress: 101.50%  Words/thread/sec: 269.28k  ./demo-word.sh: line 1:  7137 Segmentation fault      (core dumped) ./word2vec -train 111 -output vectors.bin -cbow 1 -size 200 -window 8 -negative 25 -hs 0 -sample 1e-4 -threads 20 -binary 0 -iter 15real 4m50.046s
user 4m39.193s
sys 0m1.021s
Enter word or sentence (EXIT to break): 乌克兰Word: 乌克兰  Position in vocabulary: -1
Out of dictionary word!

解决方案 »

  1.   

    我改用java 版的了
      

  2.   

    line 1:  7137 Segmentation fault      (core dumped) 
    程序出错了,没训练完
      

  3.   

    -binary 0 
    改成1试试
      

  4.   

    在源代码里面把mincount设置为1就可以了
      

  5.   

    我觉得可能是你训练文本的编码格式问题,我开始用的ANSI的是不行的,后来改用utf-8成功训练完了
      

  6.   

    五楼正解。我之前用binary 0生成txt文件主要是为了打开查看,但是用distance去打开就无法查找。