我想从零开始训练我的单词嵌入,我使用gensim.models.word2vec作为我的模型。由于我的语料库太大,无法同时阅读,所以我将我的语料库文件划分为多个部分,并迭代地训练我的模型。我觉得这很有帮助:
train(corpus_iterable=None, corpus_file=None, total_examples=None, total_words=None, epochs=None, start_alpha=None, end_alpha=None, word_count=0, queue_factor=2, report_delay=1.0, compute_loss=False, callbacks=(), **kwargs)我对参数"total_words“感到困惑。它是指我所有语料库的全部单词,还是现在训练的部分语料库?
更新:
我的代码是这样的:
model = gensim.models.word2vec.Word2Vec.load(init_model)
for i in range(parts):
model.build_vocab(corpus_file=this_part_file_name, update=True)
model.train(corpus_file = this_part_file_name,
total_words=word_count(this_part_file_name) )参数total_words是word_count(this_part_file_name)还是word_count(ALL_my_corpus_file)?
发布于 2021-03-26 17:28:12
total_words是语料库中句子中所有生词的计数。您只需提供两个中的一个:total_examples或total_words。如果您运行build_vocab(),您可能会从model.corpus_total_words获得总单词的值。还有另一个计数- word_count,它指的是已经训练过的单词数。如果要对所有单词进行培训,可以将其设置为0,但这是可选的。
https://stackoverflow.com/questions/66517974
复制相似问题