word2vec 向量 [gensim 库] 的 "size" 是什么意思?

What is the meaning of "size" of word2vec vectors [gensim library]?

假设我们在字典中有 1000 个单词 (A1, A2,..., A1000)。据我了解,在单词嵌入或 word2vec 方法中,它旨在通过一个向量表示字典中的每个单词,其中每个元素表示该单词与字典中其余单词的相似度。是说每个向量应该有 999 个维度,还是每个 word2vec 向量的大小应该是 999?

但是使用 Gensim Python,我们可以修改 Word2vec 的 "size" 参数的值,假设在这种情况下 size = 100。那么 "size=100" 是什么意思呢?如果我们提取 A1 的输出向量,表示为 (x1,x2,...,x100),那么 x1,x2,...,x100 在这种情况下代表什么?

不是这种情况,“[word2vec] 旨在通过向量表示字典中的每个单词,其中每个元素表示该单词与其余单词的相似度词典”。

相反,给定一个特定的目标维数,比如 100,Word2Vec 算法逐渐训练 100 维的词向量,使其在训练任务中越来越好,即预测附近的词。

这个迭代过程倾向于强制彼此相关的词 "near",大致与其相似度成比例 - 甚至更进一步,这个 100 维 [=31] 中的各种 "directions" =] 通常倾向于与人类可感知的语义类别相匹配。因此,著名的 "wv(king) - wv(man) + wv(woman) ~= wv(queen)" 示例通常有效,因为 "maleness/femaleness" 和 "royalty" 在 space 中隐约一致 regions/directions。

单独的各个维度没有任何意义。训练过程包括随机性,随着时间的推移 "whatever works"。有意义的方向并不完全与尺寸轴对齐,而是在所有尺寸上都成一定角度。 (也就是说,你不会发现 v[77] 是一个类似性别的维度。相反,如果你拿了几十个交替的类似男性和类似女性的词对,并对它们的所有差异进行平均,你可能会找到一些暗示性别方向的 100 维矢量维度。)

您可以随意选择 'size',但是当您有足够的训练数据时,100-400 是常用值。