Neural network 继续培训Doc2Vec模型

Neural network 继续培训Doc2Vec模型,neural-network,gensim,Neural Network,Gensim,Gensim明确表示可以继续训练(加载的)模型。我知道,根据文档,无法继续培训从word2vec格式加载的模型。但是,即使从头开始生成模型,然后尝试调用train方法,也无法访问提供给train的LabeledSentence实例的新创建标签 >>> sentences = [LabeledSentence(['first', 'sentence'], ['SENT_0']), LabeledSentence(['second', 'sentence'], ['SENT_1']

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

>>> 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'])

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

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

在培训期间添加新标签/单词/句子时也会遇到类似的问题:$20word2vec/word2vec toolkit/L9zoczopPUQ/Zmy57TzxUQJ

此外,您可能需要关注以下讨论:

更新:如果您想在已经培训过的模型中添加新词,请在此处查看在线word2vec:

根据gensim文档,doc2vec不支持在线/增量培训

我仍然可以将新文档添加到现有的doc2vec模型中(但有些文档由于分段错误而崩溃),但大多数类似的查询无法在新添加的文档中工作(因此这种方法似乎没有用)