windows环境下使用word2vector进行词向量训练的方法

本文介绍如何在Windows环境下通过安装Linux模拟器Cygwin来搭建Word2Vec环境,包括安装所需软件包、下载源码、准备训练数据等步骤,并解决了编译过程中的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      word2vec,是google在2013年提出的开源项目,它实际上是一个Deep Learning模型,可以将词(word)表征成实数值向量,采用CBOW(Continuous Bag-Of-Words Model,连续词袋模型)和Skip-Gram(Continuous Skip-GramModel)两种模型。

    在windows下使用word2vec训练词向量,需要以下几个步骤:

    1.在windows下安装linux环境模拟器:因为word2vec需要linux环境,所有首先需要在windows下安装linux环境模拟器。推荐cygwin(下载地址:http://www.cygwin.com/install.html),在安装时注意:因为默认安装下没有安装make命令工具(后面要用到),所以在安装时,选择package时,需要选择Devel模块中的以下几个软件包。

  • gcc-core:C 编译器
  • gcc-g++:C++ 编译器
  • gdb:GNU 调试器
  • make:"make" 实用程序的 GNU 版本
   2.源码下载:我用的是word2vec的源码http://word2vec.googlecode.com/svn/trunk/.将文件夹word2vec放到cygwin的一个文件夹下面。

   3.训练数据的准备:将语料库进行分词并去掉停用词(我的下载里面有中英文常用的停用词),所有的词以空格键或tab键隔开写入一个文件中,如all_words中,并将该文件拷贝到word2vec目录中

   4.启动cygwin:使用cd命令进入word2vec文件夹下,输入make命令,报如下错误

gcc word2vec.c -o word2vec -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result
gcc: 错误:unrecognized command line option ‘-pthread’
makefile:8: recipe for target 'word2vec' failed
make: *** [word2vec] Error 1

说明cygwin中的gcc不支持pthread多线程命令,解决方法是将word2vec目录下的makefile文件打开,添加“#”注释掉下面一行:

CFLAGS = -lm -pthread -O3 -march=native -Wall -funroll-loops -Wno-unused-result
效果如下图所示,

   5.将你自己的数据(可以打包成压缩文件),放入word2vec目录下,修改demo-word.sh文件:

   demo-word.sh文件的内容如下所示:


  6.训练数据:输入行命令sh demo-word.sh,等待训练完成。模型训练完成之后,得到了vectors.bin这个词向量文件,文件的存储类型由binary参数,如果为0,便可以直接用编辑器进行查看。

  7.问题:生成的英文语料可以计算向量之间的相似程度,但中文文本下相似距离计算出现下面的结果:

知乎上说是二进制文件参数的问题,但是试过了不可以,求大神知道




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值