根据 gensim docs,您可以采用现有的 word2vec 模型并进一步训练它使用新词。
训练是流式的,这意味着句子可以是一个生成器,动态地从磁盘读取输入数据,而无需将整个语料库加载到 RAM 中。
这也意味着您可以稍后继续训练模型:
>>> model = Word2Vec.load("word2vec.model")
>>> model.train([["hello", "world"]], total_examples=1, epochs=1)
来源:文档
但是当我真正尝试它时,它似乎并没有学习新术语。
from gensim.models import Word2Vec
# initial a model
model = Word2Vec([["cat", "say", "meow"], ["dog", "say", "woof"]], min_count=1)
# count terms in model
print( len(model.wv.vocab) )
=> 5
# train existing model on new terms
model.train([['potoatoes', 'and', 'farmers']], total_examples=model.corpus_count, epochs=model.epochs)
# count terms in model
print( len(model.wv.vocab) )
=> 5
在第二个代码块中添加新术语后,模型仍然只有与以前相同数量的术语。
我怎样才能使这项工作?