gensim中word2vec和其他一些向量的使用
直接上代码吧,word2vec
# test
from gensim.models.word2vec import Word2Vec
txt_file = open('data.txt')
sentences = []
line = txt_file.readline()
while line:
sentence = line.split(' ')
sentences.append(sentence)
line = txt_file.readline()
model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=1)
model.save('model_word2vec.model')
model_use = Word2Vec.load('model_word2vec.model')
xx = model_use.wv.vocab
# print(model_use.wv.vocab)
print('hel')
print(model_use.most_similar('nice'))
print(model_use.wv.similarity('nice', 'great'))
各种参数详解:
https://www.cnblogs.com/pinard/p/7278324.html
模型的一些其他使用:
https://blog.csdn.net/qq_19707521/article/details/79169826
自己在使用中:
from gensim.models import Word2Vec
from gensim.models import KeyedVectors
if file_to_load is not None:
# 这种方法加载是加载.model文件,好处是可以再次训练
# w2vModel = Word2Vec.load(file_to_load)
# 这种方法是加载.txt文件,好处是model.txt文件里面可以可视化地看每一个单词对应的向量
w2vModel = KeyedVectors.load_word2vec_format(file_to_load)
print(w2vModel.most_similar("开心"))
else:
w2vModel = Word2Vec(sentences, size = embedding_size, window = window, min_count = min_count, workers = multiprocessing.cpu_count())
if file_to_save is not None:
# 这种方法就是保存的.model文件
# w2vModel.save(file_to_save)
# 这种方法就是保存的.txt文件,注意指定文件名是xxxxx.txt
w2vModel.wv.save_word2vec_format(file_to_save, binary=False)
需要注意的一点就是.txt文件可以看到在第一行是这样的
25019 100
第一个表明word2vec里面的单词数,第二个100表示维度。
如果加载其他的方法训练出来的.txt文件,或者说自己瞎捣鼓出来的词向量.txt文件,想用gensim来加载,那么一定要注意第一行的问题。
gensim中word2vec和其他一些向量的使用的更多相关文章
- gensim的word2vec如何得出词向量(python)
首先需要具备gensim包,然后需要一个语料库用来训练,这里用到的是skip-gram或CBOW方法,具体细节可以去查查相关资料,这两种方法大致上就是把意思相近的词映射到词空间中相近的位置. 语料库t ...
- gensim中word2vec
from gensim.models import Word2Vec Word2Vec(self, sentences=None, size=100, alpha=0.025, window=5, m ...
- 文本分布式表示(三):用gensim训练word2vec词向量
今天参考网上的博客,用gensim训练了word2vec词向量.训练的语料是著名科幻小说<三体>,这部小说我一直没有看,所以这次拿来折腾一下. <三体>这本小说里有不少人名和一 ...
- 用gensim学习word2vec
在word2vec原理篇中,我们对word2vec的两种模型CBOW和Skip-Gram,以及两种解法Hierarchical Softmax和Negative Sampling做了总结.这里我们就从 ...
- 文本分类实战(一)—— word2vec预训练词向量
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- 使用word2vec训练中文词向量
https://www.jianshu.com/p/87798bccee48 一.文本处理流程 通常我们文本处理流程如下: 1 对文本数据进行预处理:数据预处理,包括简繁体转换,去除xml符号,将单词 ...
- PyTorch在NLP任务中使用预训练词向量
在使用pytorch或tensorflow等神经网络框架进行nlp任务的处理时,可以通过对应的Embedding层做词向量的处理,更多的时候,使用预训练好的词向量会带来更优的性能.下面分别介绍使用ge ...
- 深度学习 —— 使用 gensim 实现 word2vec
在自然语言处理领域中,将单词(words)或词语(phases)映射到向量空间(vector space)中可以很容易就得到单词之间的相似度,因为向量空间中两个向量的相似度很容易求得,比如余弦相似度. ...
- 基于word2vec的文档向量模型的应用
基于word2vec的文档向量模型的应用 word2vec的原理以及训练过程具体细节就不介绍了,推荐两篇文档:<word2vec parameter learning explained> ...
随机推荐
- [LeetCode] 293. Flip Game 翻转游戏
You are playing the following Flip Game with your friend: Given a string that contains only these tw ...
- [LeetCode] 305. Number of Islands II 岛屿的数量 II
A 2d grid map of m rows and n columns is initially filled with water. We may perform an addLand oper ...
- Integer.highestOneBit(int i)方法的作用与底层实现
在Integer类中有这么一个方法,你可以给它传入一个数字,它将返回小于等于这个数字的一个2的幂次方数.这个方法就是highestOneBit(int i). 比如下面的Demo,注意方法的输入与返回 ...
- 数组转JSON对象
代码: function arrayToJson(arr){ var js={}; for(var i=0;i<arr.length;i++){ js[arr[i].name]=arr[i].v ...
- SQL——LIKE操作符
一.LIKE操作符的基本用法 LIKE操作符用于在WHERE子句中,搜索相似.类似的数据. LIKE操作符语法: SELECT 列名1,列名2... FROM 表名 WHERE 列名 LIKE xxx ...
- python实战项目 — selenium登陆豆瓣
利用selenium 模仿浏览器,登陆豆瓣 重点: 1. 要设置好 chromedriver配置与使用, chromedriver.exe 和 Chrome的浏览器版本要对应, http://chro ...
- 【IDEA使用技巧】(3) —— IntelliJ IDEA Maven配置
1.IntelliJ IDEA Maven配置 1.1. Maven介绍与下载 Maven是一个项目管理工具,使用它能对Java项目中的jar包进行管理与项目构建,很好地解决了传统项目使用导包的方式管 ...
- The Day Two 找到一个具有最大和的连续子数组,返回其最大和
""" 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5, ...
- Java中使用Log4j记录错误、输出日志
简介: Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进 ...
- 四 python中关于OOP的常用术语
抽象/实现 抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于 绘程序结构,从而实现这种模型.抽象不仅包括这种模型的数据属性,还定义了这些数据的接口. 对某种抽象的实现 ...