对Python中gensim库word2vec的使用详解


Posted in Python onMay 08, 2018

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 相关文章推荐
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
Python中实现三目运算的方法
Jun 21 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
详解flask入门模板引擎
Jul 18 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
Python中拆分字符串的操作方法
Jul 23 Python
安装docker-compose的两种最简方法
Jul 30 Python
Pytorch 数据加载与数据预处理方式
Dec 31 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
Keras load_model 导入错误的解决方式
Jun 09 Python
用python处理MS Word的实例讲解
May 08 #Python
基于python批量处理dat文件及科学计算方法详解
May 08 #Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 #Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 #Python
儿童编程python入门
May 08 #Python
解决python大批量读写.doc文件的问题
May 08 #Python
python在每个字符后添加空格的实例
May 07 #Python
You might like
PHP令牌 Token改进版
2008/07/18 PHP
PHP array_flip() 删除重复数组元素专用函数
2010/05/16 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
用js重建星际争霸
2006/12/22 Javascript
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Python的requests网络编程包使用教程
2016/07/11 Python
python使用Tesseract库识别验证
2018/03/21 Python
python中嵌套函数的实操步骤
2019/02/27 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
python try...finally...的实现方法
2020/11/25 Python
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
会计应聘求职信范文
2013/12/17 职场文书
计算机专业毕业生自我鉴定
2014/01/16 职场文书
节约用水标语
2014/06/11 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
与死神共舞观后感
2015/06/15 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js