环境:python3.6, windows7 x64, Anaconda
准备工作:Visual C++ 2015 Build Tools
这里先解决一个问题,第一次使用pip install glove_python==0.1.0安装,可能会出现如下报错:
Microsoft Visual C++ 14.0 is required, 然后这里它会提供一个网址,你点进去发现这个网站已经没了显示‘404 not found’. 这个很多人都分享过只要下个visual studio然后build tools就行,但是我这个推荐这个Visual C++ 2015 Build Tool点击这个link直接下载安装就行。这样子也算避免了安装visual studio.
开始安装
glove_python 0.1.0 去这个网站点击download files 然后把这个glove_python-0.1.0.tar.gz (263.1 kB)下载到本地
- 解压这个文件,里面有个setup.py的文件,打开ctrl+F搜索‘stdc++’把它删了, 然后保存
删除前:
Extension(“glove.corpus_cython”, [glove_corpus],
language=‘C++’,
libraries=[‘stdc++’],
extra_link_args=compile_args,
extra_compile_args=compile_args)]
删除后:
Extension(“glove.corpus_cython”, [glove_corpus],
language=‘C++’,
libraries=[],
extra_link_args=compile_args,
extra_compile_args=compile_args)]
- 打开你的anaconda prompt或者你的terminal, 使用conda install cython 安装一下cython,如果有的话也用一下,可以update
- 定位到你解压的那个glove_python文件目录,使用python setup.py install
安装成功
极简使用︱Glove-python词向量训练与使用
- (1)准备数据集
from __future__ import print_function
import argparse
import pprint
import gensim
from glove import Glove
from glove import Corpus
sentense = [['你','是','谁'],['我','是','中国人']]
corpus_model = Corpus()
corpus_model.fit(sentense, window=10)
#corpus_model.save('corpus.model')
print('Dict size: %s' % len(corpus_model.dictionary))
print('Collocations: %s' % corpus_model.matrix.nnz)
- (2)训练
glove = Glove(no_components=100, learning_rate=0.05)
glove.fit(corpus_model.matrix, epochs=10,
no_threads=1, verbose=True)
glove.add_dictionary(corpus_model.dictionary)
>>> Performing 10 training epochs with 1 threads
>>> Epoch 0
>>> Epoch 1
>>> Epoch 2
>>> Epoch 3
>>> Epoch 4
>>> Epoch 5
>>> Epoch 6
>>> Epoch 7
>>> Epoch 8
>>> Epoch 9
- (3)使用:模型得保存与加载
glove模型保存与加载:
glove.save('glove.model')
glove = Glove.load('glove.model')
corpus保存与加载:
corpus_model.save('corpus.model')
corpus_model = Corpus.load('corpus.model')
- (4)使用:求相似词
根据glove求相似词。
glove.most_similar('我', number=10)
>>> [('中国人', 0.15130809810072138),
>>> ('你', 0.0739901044877504),
>>> ('谁', -0.05137569131012555),
>>> ('是', -0.08668606334919005)]
- (5)使用:词向量矩阵
# 全部词向量矩阵
glove.word_vectors
# 指定词条词向量
glove.word_vectors[glove.dictionary['你']]
网友评论