word2vec的c语言版本运行方法

先介绍官方C语言版的训练方法。

对于这个方法,我认为几个词可以概括:简单、快速

1.安装word2vec工具C语言版

项目地址:http://word2vec.googlecode.com/svn/trunk/
 

注:这个需要svn工具来下载。如果实在下载不到,可以上网找下其他资源

下载好之后将文件放到指定文件夹中,使用makefile安装,即运行:“make”

安装好之后如下图:

 

可以看到有编译好的"word2vec"文件了,接下来就可以训练啦~

2.训练词向量

将分好词的训练语料进行训练,假定我语料名称为star_games_words.txt且在word2vec目录中。输入命令:

./word2vec -train seg_star_games_words.txt -output star_games_vectors.bin -cbow 0 -size 5 -window 1 -negative 0 -hs 1 -sample 1e-3 -threads 12 -binary 1

以上命令表示的是输入文件是seg_star_games_words.txt,

输出文件是star_games_vectors.bin,

不使用cbow模型,默认为Skip-Gram模型。

每个单词的向量维度是5,

训练的窗口大小为5就是考虑一个词前五个和后五个词语(实际代码中还有一个随机选窗口的过程,窗口大小<=5)。

不使用NEG方法,使用HS方法。

-sampe指的是采样的阈值,如果一个词语在训练样本中出现的频率越大,那么就越会被采样。

-binary为1指的是结果二进制存储,为0是普通存储(普通存储的时候是可以打开看到词语和对应的向量的)

除了以上命令中的参数,word2vec还有几个参数对我们比较有用比如-alpha设置学习速率,默认的为0.025.–min-count设置最低频率,默认是5,如果一个词语在文档中出现的次数小于5,那么就会丢弃。-classes设置聚类个数,看了一下源码用的是k-means聚类的方法。

 

训练出来如果保存的是txt文件,大概是这个样子:

 

 

3.测试近邻的词

 

得到模型后,可以用命令  ./distance data/review.model 测试单词的最近邻。 这个要求刚才生成的模型是保存成二进制的。



作者:MiracleJQ
链接:https://www.jianshu.com/p/aa025f0919a0
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值