Word2Vec, ,如果我多次训练一组句子的顺序(随着矢量表示的增加),则单词的频率会因其而更改。

例如,如果我的语料库中有4次“鹿”一词,如果我设置 min_count 为5岁,训练模型3次是否反复计数“鹿”与频率12,并将包含在模型中?

如果知道它是同一语料库,那么如果我用新的语料库重新训练模型,则如何区分。

有帮助吗?

解决方案

戈登·莫尔(Gordon Mohr)在Google组中回答了这个问题。

通常,有一篇文章来构建词汇量(包括基于学到的词汇大小初始化模型),然后进行任何数量的培训通行证。只有在一次词汇学习扫描之后,就可以看出单词计数(并与 min_count 用于修剪)。

如果您提供语料库(作为可重启的迭代器)作为对Word2Vec模型的初始创建的参数之一,则所有这些步骤都是自动完成的:一个读取语料库(通过 build_vocab() 方法)要收集单词/计数,然后通过一个或多个通过(由“ iTer”参数控制并通过 train() 方法)培训。尽管如此,只有对所提供的语料库的单个通过的计数对于频率决策很重要。

如果您不在模型定位时提供语料库,则可以致电 build_vocab(…)train(…) 你自己。只是传递给的 build_vocab() 这对于保留频率计数(以及语料库大小的估计)很重要。然后您可以致电 train(…) 在其他方面,或反复 - 它只是不断使用早期的词汇 build_vocab(…) 称呼。

(注意 train(…) 确实试图重复使用词汇扫描通行证中记住的单通行物大小,以提供准确的进度估计并安排训练率的衰减 alpha. 。因此,如果您给出不同的语料库 train(…), ,您还应该使用其其他可选参数来提示其大小。)

许可以下: CC-BY-SA归因
scroll top