Word2Vec min_count 是如何应用的

Gui*_*ido 3 python gensim word2vec

假设我正在训练一个 min_count=5 的(Gensim)Word2Vec 模型。文档告诉我们 min_count 的作用:

忽略总频率低于此的所有单词。

min_count 对上下文有什么影响?假设我有一个由频繁词 (min_count > 5) 和不常用词 (min_count < 5) 组成的句子,用 f 和 i 注释:

这 (f) 是 (f) a (f) 测试 (i) 句子 (i) 其中 (f) 是 (f) 显示 (i) 此处 (i)

我只是编造了哪个词经常使用,哪个词不用于演示目的。

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

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

goj*_*omo 8

低于min_count频率的单词在训练发生之前被删除。因此,相关上下文window是幸存单词之间的单词距离。

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

(同样,当使用该sample参数对频繁词进行下采样时,频繁词会被随机丢弃——这也有助于从本质上“缩小”幸存词之间的距离,并且通常会提高整体矢量质量。)

  • `min_count` 是相对于整个语料库的。如果您有默认的“min_count=5”,并且某个单词在所有文档中仅出现 4 次或更少,则它将被忽略。(但是,如果它在单个文档中出现 5 次,它将保留下来。) (2认同)
  • (而且,如果它在 5 个单独的文档中出现一次,它将保留下来。) (2认同)