词向量工具 word2vec 的使用

word2vec 是基于浅层神经网络的词向量工具,接下来介绍下该工具的安装与使用。

1. word2vec 工具安装

官网地址:Google Code Archive – Long-term storage for Google Code Project Hosting
百度网盘:https://pan.baidu.com/s/1uYFrjVqA5yt8xpJp0qUGFg 提取码: aa17

源码文件内容:

meng@macos trunk $ tree
.
|-- LICENSE
|-- README.txt
|-- compute-accuracy.c
|-- demo-analogy.sh
|-- demo-classes.sh
|-- demo-phrase-accuracy.sh
|-- demo-phrases.sh
|-- demo-train-big-model-v1.sh
|-- demo-word-accuracy.sh
|-- demo-word.sh
|-- distance.c
|-- makefile
|-- questions-phrases.txt
|-- questions-words.txt
|-- word-analogy.c
|-- word2phrase
|-- word2phrase.c
|-- word2vec
`-- word2vec.c

0 directories, 19 files

运行 make 命令来编译上面的源码,如果你是 mac 系统需要修改下*.c 文件中头文件导入进行如下修改:

# 将下面代码注释
#include <malloc.h>
# 替换为下面代码
#include <stdlib.h>

编译成功之后, 会得到几个词向量相关工具:

  1. word-analogy:通过解决词汇类比问题来评估词向量质量
  2. word2phrase:用于将语料库中的词组合并成一个词语
  3. compute-accuracy:通过计算每个词的向量与其他词之间的余弦相似度来评估词向量质量
  4. distance:计算两个词的余弦相似度
  5. word2vec:根据输入语料训练词向量

2. word2vec 工具使用

./word2vec -train data.txt -output model.bin -size 100 -window 5 -sample 1e-4 -negative 5 -hs 0 -cbow 1 -iter 5 -min-count 5
  1. data.txt 是输入的语料库文件
  2. model.bin 是输出的模型文件
  3. size 是向量的维度
  4. window 是窗口大小
  5. sample 是负采样的阈值
  6. negative 是负样本的个数
  7. hs 是层次softmax的设置(0表示使用负采样)
  8. cbow 表示是否使用CBOW模型(0表示使用skip-gram模型)
  9. iter 表示迭代次数,min-count 表示最小词频数
./word-analogy questions-words.txt model.bin
  1. questions-words.txt 是用于评估的文件
  2. model.bin 是要评估的模型文件
./word2phrase -train data.txt -output data-phrases.txt -threshold 200 -debug 2
  1. data.txt 是输入的语料库文件
  2. data-phrases.txt 是合并后的文件
  3. threshold 是合并阈值
  4. debug 是调试信息的级别
./compute-accuracy model.bin < questions-words.txt
  1. model.bin 是要评估的模型文件
  2. questions-words.txt 是用于评估的文件
./distance model.bin word1 word2

未经允许不得转载:一亩三分地 » 词向量工具 word2vec 的使用
评论 (0)

6 + 7 =