word2vec的安装与使用(linux python版本)

word2vec介绍

word2vec是一个将单词转换成向量形式的工具。可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。
除了google自己的word2vec工具,感兴趣的牛人们也相继编写了各自不同的版本,下面列举一下目前出现的版本以及相对应的地址,供大家选择。如下表:
版本 地址:
C | http://word2vec.googlecode.com/svn/trunk/ |
python | http://radimrehurek.com/gensim/ |
Java | https://github.com/ansjsun/Word2VEC_java |
C++ | https://github.com/jdeng/word2vec |

word2vec的安装

本文介绍Ubuntu linux环境下安装python版本的word2vec。
1.先安装cython:

sudo pip install Cython

  1. 安装 word2vec: sudo pip install word2vec

sudo pip install word2vec

word2vec的使用

准备python环境,安装pycharm

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
1官网选择Free,open-source的pycharm的linux版本的安装包下载。
2.解压

tar zxvf pycharm-community-2017.2.4.tar.gz


3.打开bin文件,打开终端,输入./pycharm.sh,回车之后就可以运行该软件了,之后软件会自动在启动器添加快捷方式。
4.打开pycharm,创建project->word2vec



5.新建test.py文件



接着就可以在test.py中编写测试word2vec的相关代码了。

准备语料库

http://mattmahoney.net/dc/text8.zip 下载text8.zip文件,并解压到/usr/bin/python2.7/word2vec下面(text8是一个将近100M的文本文件)


语料库text8内容如下:

使用word2vec训练词向量

1.先导入word2vec包

import word2vec
word2vec.word2vec('text8','text8.txt',size=100,binary=0,verbose=True)

训练得到的词向量为:


word2vec(train, output, size=100, window=5, sample='1e-3', hs=0,
negative=5, threads=12, iter_=5, min_count=5, alpha=0.025,
debug=2, binary=1, cbow=1, save_vocab=None, read_vocab=None,
verbose=False)
word2vec的常用参数介绍:
train:要训练的文件;
output:输出的词向量文件;
size:词向量维度大小;
window=5:训练的窗口,训练的窗口为5就是考虑一个词的前5个词和后5个词(实际代码中还有一个随机选窗口的过程,窗口大小<=5) ;
sample:采样的阈值,如果一个词语在训练样本中出现的频率越大,那么就会被采样;
hs:如果为1则会采用hierarchica·softmax技巧。如果设置为0,则negative sampling会被使用;
negative:如果>0,则会采用negativesamp·ing,用于设置多少个noise words;
min_count:可以对字典做截断. 词频少于min_count次数的单词会被丢弃掉, 默认值为5;
binary:表示输出的结果文件是否采用二进制存储,0表示不使用(即普通的文本存储,可以打开查看),1表示使用,即vectors.bin的存储类型;
cbow:是否使用cbow模型,0表示使用skip-gram模型,1表示使用cbow模型,默认情况下是skip-gram模型,cbow模型快一些,skip-gram模型效果好一些 ;
save_vocab:词汇表保存到文件;
read_vocab:词汇表从文件中读取,不从训练数据中读取。

2.下面介绍一些有关word2vec的使用

word2vec.word2vec('text8','text8.bin',size=100,verbose=True)

通过训练预料生成bin二进制模型,模型生成后下次执行可以不用再调用该语句,直接用下面的方法加载即可。

model = word2vec.load("text8.bin")

查看词向量的大小

model.vectors.shape


查看词向量内容

model.vectors


查看'dog'的词向量内容

model['dog'].shape
model['dog'][:10]


查找与词'socks'余弦相似度大的词

indexes, metrics = model.cosine('socks')
model.generate_response(indexes, metrics)

其他的使用可参考:
http://nbviewer.jupyter.org/github/danielfrg/word2vec/blob/master/examples/word2vec.ipynb

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

  • 前面的文章主要从理论的角度介绍了自然语言人机对话系统所可能涉及到的多个领域的经典模型和基础知识。这篇文章,甚至之后...
    我偏笑_NSNirvana阅读 13,648评论 2 64
  • 1.NLP当前热点方向 词法/句法分析 词嵌入(word embedding) 命名实体识别(Name Entit...
    __Aragorn阅读 5,900评论 1 9
  • 我们考虑到孩子以后上学要搬家,不会长期居住,所以当初装修一切从简,不过也足够我们一家三口使用。 以前每隔二三天,我...
    周周妹阅读 562评论 0 0
  • 去年,因为一次管理论坛,我结识了杨在涛先生,因为一篇连夜赶起的总结稿,杨在涛先生结识了我。他是个很有意思的人,不似...
    禾月heyue阅读 929评论 0 0
  • 文|中药味的吧啦啦 列车缓缓的行驶在夜幕中,林夏躺在硬卧上翻来覆去,车厢里一直有人在叽叽喳喳的说些故事,那些失望的...
    河恩呐阅读 588评论 4 9