Gensim之Word2Vec使用手册

本文详细介绍了Gensim中Word2Vec类的使用,包括初始化参数、模型训练与保存、模型加载及继续训练。通过示例展示了如何训练词向量,并以英文和中文为例演示模型的应用。
摘要由CSDN通过智能技术生成

1.介绍

一句话,Gensim中的Word2Vec类就是用来训练词向量的,这个类实现了词向量训练的两种基本模型skip-gramCBOW,可以通过后面的参数设置来选择。但是,在Gensim这个模块中训练词向量的方法还有很多:gensim.models.doc2vec.Doc2Vec,gensim.models.fasttext.FastText,gensim.models.wrappers.VarEmbed等等都能得到词向量。

2.Word2Vec类

2.1 Word2Vec类初始化参数

在下面介绍参数时,可能不会列举完,完整的参数见word2vec.py源码。
注:参数表这一列,等号右边的值表示默认值

参数表 含义
sentences=None 语料句子,必须是一个可迭代的(参见后面例子)
size=100 训练后词向量的维度
alpha=0.025 训练网络的初始学习率,之后会线性降低
min_alpha=0.0001 降低到最小的学习率
window=5 当前词和预测词之间的最大间隔
min_count=5 忽略词频<5的词语
max_vocab_size=None 限制最大词数,防止内存溢出
workers=3 设置线程数,越高训练速度(前提是你有这么多)
sg=0 训练模型的选择,1表示skip-gram,0表示CBOW
hs=0 训练网络代价函数的选择
iter=5 迭代次数

2.2 示例

2.2.1 训练及保存模型

# 示例1

from gensim.test.utils import common_texts
from gensim.models import Word2Vec

print(common_texts)
train_model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)
train_model.save('./MyModel')

train_model.wv.save_word2vec_format('./mymodel.txt', binary=False)

训练模型

只需要给Word2Vec类赋上参数,就可以直接训练了。其中common_texts是一段内置的语料,如下:

[[‘human’, ‘interface’, ‘computer’], [‘survey’, ‘user’, ‘computer’, ‘system’, ‘response’, ‘time’], [‘eps’, ‘user’, ‘interface’, ‘system’], [‘system’, ‘human’, ‘system’, ‘eps’], [‘user’, ‘response’, ‘time’], [‘trees’], [‘graph’, ‘trees’], [‘graph’, ‘minors’, ‘trees’], [‘graph’, ‘minors’, ‘survey’]]

可以看到整体格式是[['A','B'],['C','D','E']],其中这个list表示所有的文本(此处表示2个文本,里面的A,B等表示单词,如果是中文则表示分词的结果,后面也会用中文演示)

保存模型

在示例1中,第8行和第10行都是用来保存训练模型的(简称save和format_save),而两者之间的相同点就是:都可以复用,即载入之后可以得到对应单词的词向量;不同点

  • 21
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值