gensim word2vec 中的 'corpus_count' 是什么?
what does 'corpus_count' in gensim word2vec?
我想从头开始训练我的词嵌入,我使用 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)
?
total_words
是语料库中句子中所有原始单词的计数。您只需提供以下两者之一:total_examples
或 total_words
。如果你 运行 build_vocab()
,你可能会从 model.corpus_total_words
中得到总字数的值。
还有另一个计数 - word_count
指的是已经训练的单词数。如果你想训练所有的单词,你可以将它设置为 0,但这是可选的。
我想从头开始训练我的词嵌入,我使用 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)
?
total_words
是语料库中句子中所有原始单词的计数。您只需提供以下两者之一:total_examples
或 total_words
。如果你 运行 build_vocab()
,你可能会从 model.corpus_total_words
中得到总字数的值。
还有另一个计数 - word_count
指的是已经训练的单词数。如果你想训练所有的单词,你可以将它设置为 0,但这是可选的。