词向量源码解析:(2.1)word2vec源码解析

  首先简单说一下word2vec的使用方式。word2vec的官方下载地址是 https://code.google.com/archive/p/word2vec/ 。到source里面找到download下载就可以。word2vec可以直接在linux上和macos上面运行,但是不能直接在windows上面运行,原因是windows没有pthread库。把pthread依赖去掉可以单线程跑,但是实在是太慢了。也可以安装这个库,但是比较麻烦,这里就不深入探讨了。后面默认所有项目都是在ubuntu上面运行。

  下面说一下工具包每个文件都是做什么的

  图1 word2vec工具包中的所有文件


首先看数据集。question-words.txt和question-phrases.txt是用来衡量词向量/短语向量质量的词类比(analogy)数据集。question-words.txt每一行是四个单词,我们需要根据前三个单词推断出第四个单词是什么。每一行像这样:Berlin Germany London England   而question-phrases.txt数据集中是包含了短语的analogy问题,像这样:Jeff_Bezos Amazon Tim_Cook Apple

然后是几个c语言文件 。makefile文件对几个c语言文件进行编译生成可执行文件。这个工具包中最重要的文件就是word2vec.c。它读入语料然后训练得到词向量。其他的c文件实现了一些边角辅助功能。word2phrase会过滤一遍要训练的语料,识别出语料中哪些是短语(比如把Tim Cook识别成一个短语Tim_Cook),把短语当做一个新词,输出出去。distance.c的功能是输入一个单词,返回最接近的单词(比如给beijing返回shanghai,heilongjiang)以及它们的词向量和输入单词的词向量的Cosine夹角。word-analogy.c的功能是输入三个单词(比如wife king queen),返回第四个单词(比如husband)。compute-accuracy.c的功能是定量的给出词向量在analogy数据集上面的准确率。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值