【问题标题】:Load vectors into gensim Word2Vec model - not KeyedVectors将向量加载到 gensim Word2Vec 模型中 - 不是 KeyedVectors
【发布时间】:2018-07-19 07:32:04
【问题描述】:
我正在尝试将一些预训练的向量加载到 gensim Word2Vec 模型中,以便可以使用新数据对它们进行重新训练。我的理解是我可以使用gensim.Word2Vec.train() 进行再培训。但是,我能找到加载向量的唯一方法是使用 gensim.models.KeyedVectors.load_word2vec_format('path/to/file.bin', binary=True) 创建一个对象,该对象通常是 gensim.Word2Vec 模型的 wv 属性。但是这个对象本身没有train() 方法,这是我需要重新训练向量的方法。
那么如何将这些向量放入实际的gensim.Word2Vec 模型中?
【问题讨论】:
标签:
machine-learning
nlp
word2vec
gensim
word-embedding
【解决方案1】:
Word2Vec.load 未被弃用,因此您可以使用它,前提是您的预训练模型已使用Word2Vec.save 保存。
# Train and save the model
model = Word2Vec(size=100, window=4, min_count=5, workers=4)
model.build_vocab(sentences)
model.train(sentences, total_examples=model.corpus_count, epochs=50)
model.save('word-vectors.bin')
...
# Later in another script: load and continue training
model = Word2Vec.load('word-vectors.bin')
model.train(sentences, total_examples=model.corpus_count, epochs=50)