之前的准备:
1.制作好wiki.txt,放到word2vec目录下 %%wiki.txt是语料库,需要分词好的,以空格隔开
2.改文件名,makefile.txt改为Makefile %%注意大小写,把原先的后缀名去掉
3.根据自己的需要,修改demo-word.sh里的东西。如果想看词向量,就把-binary 1改为-binary 0,但output的vector.bin不能改后缀为.txt,保持.bin后缀;也不能改文件名
运行程序:
1.ubuntu系统中先用命令cd进入word2vec目录
2.$make
3.$sh demo-word.sh
4.就得到结果了。要看结果就把vector.bin的后缀改为txt,方可查看。
5.结果解析:第一个行是word数量和维数,第二行是一个word的向量
附:一个在线测试的网站,貌似是一位清华教授做的:http://cikuapi.com/index.php
程序出现的问题:
Out of dictionary word可以进行以下修改:
1.问题在于你生成的vectors.bin可能不是二进制文件,建议你重新生成一下vectors.bin,并注意demo-word.sh文件中-binary后面必须跟着1
2.训练文本格式,我之前遇到过,后来改为utf-8格式就正确了
好的博客:http://blog.csdn.net/zhaoxinfan/article/details/27352659
http://blog.csdn.net/zhaoxinfan/article/details/11069485
http://www.csdn.net/tag/word2vec
http://download.csdn.net/detail/eastmount/9434889
http://blog.csdn.net/eastmount/article/details/50637476
********************一些好的问答***************************
1.请教您一个问题,比如我有10000个词语在一个txt文档中,只是词语,那我我可以用word2vec直接给他们聚类吗?意思说基于语料的,这样可以吗?
回答:抱歉,那个肯定不行,你这样没有词语之间的联系了,无法计算出词的向量矩阵.
我的理解:设置的窗口是8,就是为了和前面产生些语义信息,现在乱七八糟的词语堆一起,就没有了语义信息。
2.我觉得肯定是需要用大容量的语料来训练的,容量太小准确度实在太低,您可以通过合并多个语料库来实现。另外词向量没有出现的问题是因为word2vec设定了如果词在语料集合中出现次数少于5次,那么就不输出了。
3.你好,博文很详细,真的是一个很好的学习平台,我现在正跟着做实验呢,我想问一下,现在就是一次只能输入一个词,得到相似词,我想分析很多词,有没有什么好的办法,一次解决,并把结果保存到文件中,是要修改源码吗?
回答:你用其中的聚类方法即可,我写在博客里面了 -classes 500,结果会产生一个文件的。http://blog.csdn.net/zhaoxinfan/article/details/11069485