Word2Vec min_count 是如何应用的

How is Word2Vec min_count applied

假设我正在使用 min_count=5 训练一个 (Gensim) Word2Vec 模型。该文档向我们了解了 min_count 的作用:

Ignores all words with total frequency lower than this.

min_count 对上下文有什么影响?假设我有一个句子,包含常用词 (min_count > 5) 和不常用词 (min_count < 5),并用 f 和 i 进行注释:

This (f) is (f) a (f) test (i) sentence (i) which (f) is (f) shown (i) here (i)

我只是编造了哪些词经常被使用,哪些词不是为了演示。

如果我删除所有不常用的词,我们会得到一个完全不同的上下文,从中训练 word2vec。在此示例中,您的句子将是 "This is a which is",这将是 Word2Vec 的训练句子。而且,如果你有很多不常用的词,原本相距很远的词现在放在同一个上下文中。

这是对 Word2Vec 的正确解释吗?我们是否只是假设您的数据集中不应该有太多不常用的词(或设置较低的 min_count 阈值)?

频率低于 min_count 的词在训练开始前被丢弃。因此,相关上下文 window 是幸存单词之间的单词距离。

上下文的这种事实上的缩小通常是一件好事:不常见的单词没有足够多的例子来为它们自己获得好的向量。此外,虽然每个不常见的单词单独出现时都是罕见的,但总的来说却有很多,所以这些注定要差的向量稀有词会干扰大多数其他单词的训练,作为一种噪音使这些词向量成为更糟。

(同样,当使用sample参数对频繁词进行下采样时,频繁词被随机丢弃——这也本质上起到了"shrink"幸存词之间距离的作用,并且通常会提高总体矢量质量。)