对Python中gensim库word2vec的使用详解

yipeiwu_com6年前Python基础

pip install gensim安装好库后,即可导入使用:

1、训练模型定义

from gensim.models import Word2Vec 
model = Word2Vec(sentences, sg=1, size=100, window=5, min_count=5, negative=3, sample=0.001, hs=1, workers=4) 

参数解释:

1.sg=1是skip-gram算法,对低频词敏感;默认sg=0为CBOW算法。

2.size是输出词向量的维数,值太小会导致词映射因为冲突而影响结果,值太大则会耗内存并使算法计算变慢,一般值取为100到200之间。

3.window是句子中当前词与目标词之间的最大距离,3表示在目标词前看3-b个词,后面看b个词(b在0-3之间随机)。

4.min_count是对词进行过滤,频率小于min-count的单词则会被忽视,默认值为5。

5.negative和sample可根据训练结果进行微调,sample表示更高频率的词被随机下采样到所设置的阈值,默认值为1e-3。

6.hs=1表示层级softmax将会被使用,默认hs=0且negative不为0,则负采样将会被选择使用。

7.workers控制训练的并行,此参数只有在安装了Cpython后才有效,否则只能使用单核。

详细参数说明可查看word2vec源代码。

2、训练后的模型保存与加载

model.save(fname) 
model = Word2Vec.load(fname) 

3、模型使用(词语相似度计算等)

model.most_similar(positive=['woman', 'king'], negative=['man']) 
#输出[('queen', 0.50882536), ...] 
 
model.doesnt_match("breakfast cereal dinner lunch".split()) 
#输出'cereal' 
 
model.similarity('woman', 'man') 
#输出0.73723527 
 
model['computer'] # raw numpy vector of a word 
#输出array([-0.00449447, -0.00310097, 0.02421786, ...], dtype=float32) 

其它内容不再赘述,详细请参考gensim的word2vec的官方说明,里面讲的很详细。

以上这篇对Python中gensim库word2vec的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

从CentOS安装完成到生成词云python的实例

从CentOS安装完成到生成词云python的实例

前言 人生苦短,我用python。学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践...

Python实现合并同一个文件夹下所有txt文件的方法示例

Python实现合并同一个文件夹下所有txt文件的方法示例

本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法。分享给大家供大家参考,具体如下: 一、需求分析 合并一个文件夹下所有txt文件 二、合并效果 三、pyth...

深入理解python中函数传递参数是值传递还是引用传递

目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综...

详解MySQL数据类型int(M)中M的含义

介绍 MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我...

解决pandas无法在pycharm中使用plot()方法显示图像的问题

最近用了pycharm,感觉还不错,就是pandas中Series、DataFrame的plot()方法不显示图片就给我结束了,但是我在ipython里就能画图 以前的代码是这样的...