gensim快速上手教程
1 gensim是什么?
gensim是一个Python常用的的自然语言处理开发包, 主要用于词向量训练和加载词向量,以下解释其正确使用姿势。
2 正确使用姿势
from gensim.models import word2vec
'''
author = "kalafinaian"
email= "kalafinaian@outlook.com"
create_time = 2019-08-11
'''
'''
预料如何准备, 训练预料问津中每一行是一个文本,每个文本使用空进行分词
A B C ..
D E F ..
H I G ..
..
'''
s_corpus_url = "corpus.txt" # 语料库地址
sentences = word2vec.Text8Corpus(s_corpus_url,)
'''
算法训练使用说明
架构:skip-gram(慢、对罕见字有利)vs CBOW(快)
训练算法:分层softmax(对罕见字有利)vs 负采样(对常见词和低纬向量有利)
欠采样频繁词:可以提高结果的准确性和速度(适用范围1e-3到1e-5)
文本(window)大小:skip-gram通常在10附近,CBOW通常在5附近
'''
train_model = word2vec.Word2Vec(sentences,
sg = 1, # 0为CBOW 1为skip-gram
size = 300, # 特征向量的维度
window = 5, # 表示当前词与预测词在一个句子中的最大距离是多少
min_count = 5, # 词频少于min_count次数的单词会被
sample = 1e-3, # 高频词汇的随机降采样的配置阈值
iter = 23, #训练的次数
hs = 1, #为 1 用hierarchical softmax 0 negative sampling
workers=8 # 开启线程个数
)
'''
模型的保存
'''
s_model_url = "train.model" # 语料库保存地址
train_model.save(s_model_url)
'''
模型的加载
'''
load_model = word2vec.Word2Vec.load(s_model_url)
'''
查询两个词的相似度
'''
s_word_1 = "关雎"
s_word_2 = "蒹葭"
f_word_sim = load_model.similarity(s_word_1, s_word_2)
'''
查询一个词的词向量, 返回是一个numpy数组
'''
s_query_word = "雅言"
np_word = load_model[s_query_word]
'''
打印一个词语所有相似词和相似度
'''
for s_word, f_sim in load_model.most_similar(s_query_word):
print(s_word, f_sim)
'''
判断一个词语是否在词向量模型中
'''
s_word = "Naive"
if s_word in load_model.vocab:
print("存在")
else:
print("不存在")
gensim快速上手教程的更多相关文章
- 新浪SAE快速上手教程
新浪SAE快速上手教程[1]如何免费开通新浪云 2014-07-18 > 新浪SAE快速上手教程[2]如何创建.删除应用 2014-07-24 > 新浪SAE快速上手教程[3]如何上传应 ...
- Airtest 快速上手教程
一.Airtest 简介: AirtestIDE 是一个跨平台的UI自动化测试编辑器,适用于游戏和App. 自动化脚本录制.一键回放.报告查看,轻而易举实现自动化测试流程 支持基于图像识别的 Airt ...
- NHibernate3快速上手教程FluentNHibernate配置与DBHelper
很多学习NHibernate的新手很容易卡在配置文件这一关,正所谓万事开头难,上手后再配合官方文档就比较容易了. 网上关于配置文件的资料非常多,但由于版本的问题,许多老的教程中都没有明确指出类库的版本 ...
- NHibernate3快速上手教程FluentNHibernate配置与DBHelper(已过期,有更好的)
很多学习NHibernate的新手很容易卡在配置文件这一关,正所谓万事开头难,上手后再配合官方文档就比较容易了. 网上关于配置文件的资料非常多,但由于版本的问题,许多老的教程中都没有明确指出类库的版本 ...
- 《Python操作SQLite3数据库》快速上手教程
为什么使用SQLite数据库? 对于非常简单的应用而言,使用文件作为持久化存储通常就足够了,但是大多数复杂的数据驱动的应用需要全功能的关系型数据库.SQLite的目标则是介于两者之间的中小系统.它有以 ...
- 面向Unity程序员的Android快速上手教程
作者:Poan,腾讯移动客户端开发 工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest 导读 随着Unity.cocos2dx等优秀跨平台游戏引擎的出现,开发者可以把 ...
- python快速上手教程
python版本 python目前的版本分为2.7和3.5,两种版本的代码目前无法兼容,查看python版本号: python --version 基本数据类型 数字类型 整型和浮点型数据和其它编程语 ...
- smarty半小时快速上手教程(转)
来源于:http://www.chinaz.com/program/2010/0224/107006.shtml 一:smarty的程序设计部分: 在smarty的模板设计部分我简单的把smarty在 ...
- Appscan 工具快速上手教程
1.appscan扫描 (1)白盒扫描=静态扫描,扫描源代码.(2)动态扫描=黑盒扫描,用工具来模拟黑客的攻击,查看应用层的响应.产品内部会有大量受攻击的库,当我们把一个模拟攻击发给我们的应用的时 ...
随机推荐
- 洛谷P1081 开车旅行
题目 双向链表+倍增+模拟. \(70pts\): 说白了此题的暴力就是细节较多的模拟题. 我们设离\(i\)城市最近的点的位置为\(B[i]\),第二近的位置为\(A[i]\).设\(A\)或\(B ...
- 安利一个github上面的一个神级库thefuck,Linux命令敲错了,没关系,自动纠正你的命令
没错就是这么神奇,名字相当噶性,thefuck.当你命令输入错误不要怕,直接来一句fuck,自动纠正你输入的命令. 在你输入错误的命令的时候,忍俊不禁的想来一句fuck,没错你不仅可以嘴上说,命令里面 ...
- 可持久化01trie树——模板
给你一个数,在一段区间内找到另一个数,使得他们的异或最大: trie树上存储每个数的二进制位,查询时贪心查询能让当前高位取得1的位置: 实际上是一个求前缀和的思想.每个数都开一个trie树浪费空间,当 ...
- 【2019.11.27】SDN上机第5次作业
参考资料: https://www.cnblogs.com/zzqsss/p/11924685.html 问答环节 描述官方教程实现了一个什么样的交换机功能? Ryu是一个基于组件的软件定义的网络框架 ...
- MAC 隐藏功能
finder 类: shift+ cmd + G (去指定路径) cmd+↑ (返回) cmd+↓(打开当前选中的文件,如果没有选中的则去选中第一个) cmd+ o (打开当前选中的文件) 以下这些 ...
- Jmeter工具功能介绍
可以去官方学习:http://jmeter.apache.org/ 1.可以修改语言 2.部分图标功能 新建 打开一个jmeter脚本 保存一个jmeter脚本 剪切 复制 粘贴 展开目录树 收起目录 ...
- 第06组 Alpha冲刺(5/6)
队名:拾光组 组长博客链接 作业博客链接 团队项目情况 燃尽图(组内共享) 组长:宋奕 过去两天完成了哪些任务 主要完成了个人中心模块的接口设计 完善后端的信息处理 GitHub签入记录 接下来的计划 ...
- PHP cURL 超时设置 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的区别
PHP cURL 的超时设置有两个 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT,他们的区别是: CURLOPT_CONNECTTIMEOUT 用来告诉 PHP 在 ...
- jsp 记录
前后端开发好久后,一直没怎么用前端开发了.最近任务比较急,又开始写jsp页面了... 1)jquery.validate.min.js 用法总结 https://www.cnblogs.com/x ...
- [ Mongodb ] 全量备份和增量备份
1. 前言 由于线上的mongodb 数据体量越来越大,如果没有完善的备份方案,发生故障势必造成业务很长时间的暂停.参考了网上方案,写出以下总结和备份方案: 备份方案分为两种:全备和增量备份,二者结合 ...