对Python中gensim库word2vec的使用


本文摘自php中文网,作者不言,侵删。

这篇文章主要介绍了关于对Python中gensim库word2vec的使用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

1、训练模型定义

1

2

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、训练后的模型保存与加载

1

2

model.save(fname)

model = Word2Vec.load(fname)

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

1

2

3

4

5

6

7

8

9

10

11

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数据结构与算法之链表定义的使用详解

Python如何导出微信公众号文章

Python如何判断输入都是字母

Python如何安装cvxopt

Python主要做什么开发

Python如何获取列表长度?(代码示例)

7个你必须要知道的Python ide工具

Python中图像融合、加法运算及图像类型转换的实现(附代码)

Python通过什么划分语句块

Python怎么统计文本中的字频

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...