重要参考博客:http://blog.csdn.net/Eastmount/article/details/50700528
https://www.cnblogs.com/Newsteinwell/p/6034747.html
1、下载地址及安装
官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/
1) 半自动安装:先下载http://pypi.python.org/pypi/jieba/,解压后运行 `sudo python setup.py install
2) 运行 make编译word2vec工具
3) 再运行示例脚本:./demo-word.sh
2、中文语料
语料是我从地球物理领域里面收集的,内容主要是关于地球物理反演的简单介绍,字数2000+。
Word2vec的输入是分好词的文本,我用的分词工具是jieba,用到的命令如下:
jieba分词程序:
import jieba
import codecs
jieba.load_userdict("newdict.txt") //引入自定义词典,如果不需要,可不考虑
with open('geophysics.txt', 'r') as f: //geophysics.txt文件是jieba的输入文本
for line in f:
seg =jieba.cut(line.strip(), cut_all = False)
s='/'.join(seg)
m=list(s)
withopen('geophysicsdone.txt','a+')as f: //geophysicsdone.txt文本是分词后的输出文本
for word in m:
f.write(word.encode('utf-8')) // utf-8是编辑格式
3、word2vec中将文本进行训练(计算相似距离)
具体命令解释如下:
Result_Country.txt文本是jieba的输出文本
vectors.bin文件是训练后的输出
4、结果展示
1)运行 ./distancevectors.bin
计算相似距离的3个例子:
输入词:地球物理
输入词:研究
输入词:地震波
2)运行 ./word2vec -train test.txt -output vec.txt-size 50 -window 5 -sample 1e-4 -negative 5 -hs 0 -binary 0 -cbow 1 -iter 3
将词都转换成向量:
2维:
20维: