用word2vec对语料进行训练
在Linux上安装好word2vec, 进入trunk文件夹,把分词后的语料文件放在trunk文件夹内,执行:./word2vec -train tt.txt -output vectors.bin -cbow 1 -size 80 -window 5 -negative 80 -hs 0 -sample 1e-4 -threads 20 -binary 1 -iter 15
其中tt.txt是刚才分词后的输出文件,vectors.bin是训练后输出的文件,-cbow 0表示不使用cbow模型,默认为Skip-Gram模型。-size 80 每个单词的向量维度是80,-window 5 训练的窗口大小为5就是考虑一个词前五个和后五个词语(实际代码中还有一个随机选窗口的过程,窗口大小小于等于5)。-negative 0 -hs 1不使用NEG方法,使用HS方法。-sampe指的是采样的阈值,如果一个词语在训练样本中出现的频率越大,那么就越会被采样。-binary为1指的是结果二进制存储,为0是普通存储(普通存储的时候是可以打开看到词语和对应的向量的)。
训练完成后,执行命令:
./distance vectors.bin
训练结果也可以为二进制存储,也可以是普通存储。执行:./word2vec -train tt.txt -output out.txt -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -threads 12 -classes 500
输出文件为out.txt,我们得到一个纯文本的文件,