如何安装并使用Python的word2vec工具包?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1202个文字,预计阅读时间需要5分钟。
使用Python调用word2vec工具包:安装与使用指南
本文将介绍如何安装和使用Python中的word2vec工具包。word2vec是一种将词汇转换为向量表示的方法,广泛应用于自然语言处理。以下是安装和使用word2vec的简要步骤。
安装word2vec
1. 打开命令行工具。
2.输入以下命令安装word2vec:
pip install gensim
使用word2vec
1. 导入gensim库:
python from gensim.models import Word2Vec
2. 创建一个Word2Vec模型:
python model=Word2Vec(sentences, vector_size=100, window=5, min_count=5)
- `sentences`:一个句子列表,每个句子为一个单词列表。 - `vector_size`:词向量的大小。 - `window`:上下文窗口的大小。 - `min_count`:词频阈值,低于该阈值的词将被忽略。
3. 计算词向量:
python vector=model.wv[word]
4. 查找与给定词最相似的词:
python similar_words=model.wv.most_similar(word, topn=10)
代码注释
以下是本指南中使用的代码示例的注释:
pythonfrom gensim.models import Word2Vec
创建一个Word2Vec模型model=Word2Vec(sentences, vector_size=100, window=5, min_count=5)
计算词向量vector=model.wv[word]
查找与给定词最相似的词similar_words=model.wv.most_similar(word, topn=10)
阅读更多
建议您先阅读skip-model相关知识,然后再阅读本指南。GitHub仓库地址和环境配置信息请参考以下链接:
- GitHub仓库地址:[https://github.com/RaRe-Technologies/gensim](https://github.com/RaRe-Technologies/gensim)- 环境配置:[https://gensim.readthedocs.io/en/latest/installation.](https://gensim.readthedocs.io/en/latest/installation.)
python调用word2vec工具包安装和使用指南
word2vec python-toolkit installation and use tutorial
本文选译自英文版,代码注释均摘自本文,建议先阅读skip-model相关知识再阅读本指南
github仓库地址
环境准备
- 安装gcc, 安装gcc坑比较多,这里建议使用codeblocks自带的gcc编译器,下载地址,这里注意,一定要点击codeblocks-mingw版本,安装完成后设置环境变量Path, INCLUDE, LIB
- 尝试安装:
pip install word2vec, 观察报错情况,这里有几种解决方法,我遇到的报错是Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": visualstudio.microsoft.com/downloads/解决方法是下载microsoft vc++下载指南, 还有其他可能的错误,链接如下:报错列表,题外话:安装python工具包时,先查阅pypi,可以避免一些错误
模型的训练
? 导入模型import word2vec
同义词合并,例如michael jacson和 michael-jackson
word2vec.word2phrase('./txt_file/text8', './txt_file/text8-phrases', verbose=True)
训练skip-gram model, 得到word2vec词向量表示,size为向量的维数
word2vec.word2vec('/Users/drodriguez/Downloads/text8-phrases', '/Users/drodriguez/Downloads/text8.bin', size=100, verbose=True)
输出
text8.bin文件,包含二进制形式的词向量组词向量的应用:单词聚类,产生
text8-clusters.txt包含所有单词的聚类结果, 结果数目小于等于单词表数目word2vec.word2clusters('/Users/drodriguez/Downloads/text8', '/Users/drodriguez/Downloads/text8-clusters.txt', 100, verbose=True)
model模型的使用
导入刚才产生的模型
model = word2vec.load('/Users/drodriguez/Downloads/text8.bin')
model的属性
model.vocab, 得到单词表的numpy.array格式,这里的单词不是词向量形式model.vectors是模型的矩阵,n为单词数目,m为词向量长度,vectors为n*m维可以通过
model[‘dog‘].shape或者model[‘dog‘][:10]来访问某一个单词的词向量信息计算几个词向量两两之间的距离:
model.distance("dog", "cat", "fish")得到某一个单词的相似词(基于余弦相似度):
indexes, metrics = model.similar("dog"),第一个返回值为相似向量的下标,第二个为相似度,都为tuple格式,得到相应的单词可使用model.vocab[indexes]得到相似词的统计信息:(词,相似度)
model.generate_response(indexes, metrics),还可以使用model.generate_response(indexes, metrics).tolist()来转换得到python数据类型词向量直接加减运算:
indexes, metrics = model.analogy(pos=[‘king‘, ‘woman‘], neg=[‘man‘]),返回值和generate_response method相同
cluster模型的使用
导入cluster模型
clusters = word2vec.load_clusters('/Users/drodriguez/Downloads/text8-clusters.txt')
得到某一组结果
clusters.get_words_on_cluster(90),结果为这一组的所有单词
cluster和model的结合使用
将cluster添加到word2vec model中
model.clusters = clusters
进行类似的加减分析:
indexes, metrics = model.analogy(pos=["paris", "germany"], neg=["france"])得到结果后,
model.generate_response(indexes, metrics).tolist(),得到(单词,相似程度,所属组号)
本文共计1202个文字,预计阅读时间需要5分钟。
使用Python调用word2vec工具包:安装与使用指南
本文将介绍如何安装和使用Python中的word2vec工具包。word2vec是一种将词汇转换为向量表示的方法,广泛应用于自然语言处理。以下是安装和使用word2vec的简要步骤。
安装word2vec
1. 打开命令行工具。
2.输入以下命令安装word2vec:
pip install gensim
使用word2vec
1. 导入gensim库:
python from gensim.models import Word2Vec
2. 创建一个Word2Vec模型:
python model=Word2Vec(sentences, vector_size=100, window=5, min_count=5)
- `sentences`:一个句子列表,每个句子为一个单词列表。 - `vector_size`:词向量的大小。 - `window`:上下文窗口的大小。 - `min_count`:词频阈值,低于该阈值的词将被忽略。
3. 计算词向量:
python vector=model.wv[word]
4. 查找与给定词最相似的词:
python similar_words=model.wv.most_similar(word, topn=10)
代码注释
以下是本指南中使用的代码示例的注释:
pythonfrom gensim.models import Word2Vec
创建一个Word2Vec模型model=Word2Vec(sentences, vector_size=100, window=5, min_count=5)
计算词向量vector=model.wv[word]
查找与给定词最相似的词similar_words=model.wv.most_similar(word, topn=10)
阅读更多
建议您先阅读skip-model相关知识,然后再阅读本指南。GitHub仓库地址和环境配置信息请参考以下链接:
- GitHub仓库地址:[https://github.com/RaRe-Technologies/gensim](https://github.com/RaRe-Technologies/gensim)- 环境配置:[https://gensim.readthedocs.io/en/latest/installation.](https://gensim.readthedocs.io/en/latest/installation.)
python调用word2vec工具包安装和使用指南
word2vec python-toolkit installation and use tutorial
本文选译自英文版,代码注释均摘自本文,建议先阅读skip-model相关知识再阅读本指南
github仓库地址
环境准备
- 安装gcc, 安装gcc坑比较多,这里建议使用codeblocks自带的gcc编译器,下载地址,这里注意,一定要点击codeblocks-mingw版本,安装完成后设置环境变量Path, INCLUDE, LIB
- 尝试安装:
pip install word2vec, 观察报错情况,这里有几种解决方法,我遇到的报错是Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": visualstudio.microsoft.com/downloads/解决方法是下载microsoft vc++下载指南, 还有其他可能的错误,链接如下:报错列表,题外话:安装python工具包时,先查阅pypi,可以避免一些错误
模型的训练
? 导入模型import word2vec
同义词合并,例如michael jacson和 michael-jackson
word2vec.word2phrase('./txt_file/text8', './txt_file/text8-phrases', verbose=True)
训练skip-gram model, 得到word2vec词向量表示,size为向量的维数
word2vec.word2vec('/Users/drodriguez/Downloads/text8-phrases', '/Users/drodriguez/Downloads/text8.bin', size=100, verbose=True)
输出
text8.bin文件,包含二进制形式的词向量组词向量的应用:单词聚类,产生
text8-clusters.txt包含所有单词的聚类结果, 结果数目小于等于单词表数目word2vec.word2clusters('/Users/drodriguez/Downloads/text8', '/Users/drodriguez/Downloads/text8-clusters.txt', 100, verbose=True)
model模型的使用
导入刚才产生的模型
model = word2vec.load('/Users/drodriguez/Downloads/text8.bin')
model的属性
model.vocab, 得到单词表的numpy.array格式,这里的单词不是词向量形式model.vectors是模型的矩阵,n为单词数目,m为词向量长度,vectors为n*m维可以通过
model[‘dog‘].shape或者model[‘dog‘][:10]来访问某一个单词的词向量信息计算几个词向量两两之间的距离:
model.distance("dog", "cat", "fish")得到某一个单词的相似词(基于余弦相似度):
indexes, metrics = model.similar("dog"),第一个返回值为相似向量的下标,第二个为相似度,都为tuple格式,得到相应的单词可使用model.vocab[indexes]得到相似词的统计信息:(词,相似度)
model.generate_response(indexes, metrics),还可以使用model.generate_response(indexes, metrics).tolist()来转换得到python数据类型词向量直接加减运算:
indexes, metrics = model.analogy(pos=[‘king‘, ‘woman‘], neg=[‘man‘]),返回值和generate_response method相同
cluster模型的使用
导入cluster模型
clusters = word2vec.load_clusters('/Users/drodriguez/Downloads/text8-clusters.txt')
得到某一组结果
clusters.get_words_on_cluster(90),结果为这一组的所有单词
cluster和model的结合使用
将cluster添加到word2vec model中
model.clusters = clusters
进行类似的加减分析:
indexes, metrics = model.analogy(pos=["paris", "germany"], neg=["france"])得到结果后,
model.generate_response(indexes, metrics).tolist(),得到(单词,相似程度,所属组号)

