首页 > 其他 > 详细

gensim中有关word2vec的一些使用

时间:2021-04-14 23:53:35      阅读:31      评论:0      收藏:0      [点我收藏+]

写在前面:下面的内容基于pytorch的版本为:1.7.1

1. 预训练嵌入向量的使用

import gensim
model = gensim.models.KeyedVectors.load_word2vec_format(‘./w2v_model.txt‘,binary=False, encoding=‘utf-8‘)  #加载预训练向量
print(model[‘the‘]         # 查看某个词的嵌入向量
vocab = model.index2word   # 返回的是所有的词组成的列表
# 获得词向量矩阵
embeddings = model.vectors
# 下面的代码是在模型定义中
# self.embedding = nn.Embedding(embeddings.shape[0],embeddings.shape[1])
# self.embedding.weight.data.copy_(torch.from_numpy(embeddings))
# self.embedding.weight.requires_grad = False

如果要使用glove预训练向量的话,需要做一下小小的改变,glove和Word2vec预训练的格式有一点区别,区别就在于word2vec格式的第一行写了全部的词数和向量的维度,在glove第一行加上就可以了。

2. Word2Vec模型使用保存与加载

使用方式如下所示:

from gensim.models import Word2Vec

seq = [[‘cat‘,‘say‘,‘meow‘],[‘dog‘,‘say‘,‘woof‘]]
model = Word2Vec(seq,size=50,min_count=1)  #定义模型,执行这一句就开始训练了
model.save(‘./model.model‘)                # 保存整个模型
model.wv.save_word2vec_format(‘./model2.txt‘)   # 保存训练出来的向量
print(model.wv[‘cat‘])

gensim中有关word2vec的一些使用

原文:https://www.cnblogs.com/noob-l/p/14659723.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!