继续训练 Doc2Vec 模型

zep*_*lee 5 neural-network gensim

Gensim 的官方教程明确指出可以继续训练(加载的)模型。我知道根据文档,不可能继续训练从该word2vec格式加载的模型。但是,即使从头开始生成模型然后尝试调用该train方法,也无法访问为LabeledSentence提供给 的实例新创建的标签train

>>> sentences = [LabeledSentence(['first', 'sentence'], ['SENT_0']), LabeledSentence(['second', 'sentence'], ['SENT_1'])]
>>> model = Doc2Vec(sentences, min_count=1)
>>> print(model.vocab.keys())
dict_keys(['SENT_0', 'SENT_1', 'sentence', 'first', 'second'])
>>> sentence = LabeledSentence(['third', 'sentence'], ['SENT_2'])
>>> model.train([sentence])
>>> print(model.vocab.keys())

# At this point I would expect the key 'SENT_2' to be present in the vocabulary, but it isn't
dict_keys(['SENT_0', 'SENT_1', 'sentence', 'first', 'second'])
Run Code Online (Sandbox Code Playgroud)

是否有可能用新句子继续在 Gensim 中训练 Doc2Vec 模型?如果是这样,如何实现这一目标?

bat*_*irl 5

我的理解是,这对于任何新标签来说都是不可能的。只有当新数据与旧数据具有相同标签时,我们才能继续训练。因此,我们正在训练或重新调整已学词汇的权重,但无法学习新词汇。

在训练期间添加新标签/单词/句子有一个类似的问题:https://groups.google.com/forum/#! searchin/word2vec-toolkit/online$20word2vec/word2vec-toolkit/L9zoczopPUQ/_Zmy57TzxUQJ

另外,您可能需要关注此讨论: https://groups.google.com/forum/#!topic /gensim/UZDkfKwe9VI

更新:如果您想向已训练的模型添加新单词,请在此处查看在线 word2vec:https: //rutumulkar.com/ml-notes/word2vec/representation%20learning/2015/08/22/word2vec.html