本文记录gensim.models中Word2Vec的各项参数,以便日后回顾记忆
from gensim.models import Word2Vec
"""
训练word to vector 的word embedding
"""
model = Word2Vec(x, vector_size=50, window=5, min_count=1, workers=4, epoches=10, sg=1)
return model
参数:
- x: 训练数据。
- vector_size: 单词词向量的维度
- size: 主要是用来设置神经网络的层数,Word2Vec中的默认值是设置为100层。更大的层次设置意味着更多的输入数据,不过也是提升整体的准确度,合理的设置范围为10~数百。
- window: 一个句子中当前和预测的单词之间的最大距离。
- min_count: 在不同大小的语料集中,我们对于基准词频需求也是不一样的,譬如在较大的语料集中,我们希望忽略那些只出现一两次的单词,这里我们就可以通过设置min_count参数进行控制,一般而言,合理的参数值会设置在0~100之间。
- workers: 用于设置并发训练时候的线程数,不过仅当Cpython安装的情况下才会起作用。
- epoches: 调用Word2Vec(sentences, epoches=1)会调用句子迭代器运行两次(一般来说,会运行iter+1次,默认情况下iter=5)。第一次运行收集单词和它们的出现频率,从而构造一个内部字典树。第二次以后的运行负责训练神经模型。这两次运行(iter+1)也可以被手动初始化,如果输入流是无法重复利用的,也可以用下面的方式对其进行初始化。
model = gensim.models.Word2Vec(epoches=1) # an empty model, no training yet model.build_vocab(some_sentences) # can be a non-repeatable, 1-pass generator model.train(other_sentences) # can be a non-repeatable, 1-pass generator
- sg: 训练算法,1 是指skip-gram, 0 是指CBOW。
版权声明:本文为bmicnj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。