word2vec的安装与使用(linux python版本) | 您所在的位置:网站首页 › word2vec使用 › 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 sudo pip install word2vec 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文件 从http://mattmahoney.net/dc/text8.zip 下载text8.zip文件,并解压到/usr/bin/python2.7/word2vec下面(text8是一个将近100M的文本文件) 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个词(实际代码中还有一个随机选窗口的过程,窗口大小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 |
CopyRight 2018-2019 实验室设备网 版权所有 |