word2vec向量[gensim库]的“大小”是什么意思?

时间:2018-12-03 05:29:30

标签: python gensim word2vec word-embedding

假定在词典中有1000个单词(A1,A2,...,A1000)。据我所知,在单词嵌入或word2vec方法中,它旨在通过向量表示字典中的每个词,其中每个元素表示该词与字典中其余词的相似性。说每个向量应有999个维数还是每个word2vec向量的大小应为999个是正确的吗?

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

1 个答案:

答案 0 :(得分:2)

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

在给定的目标维数(例如100)的情况下,Word2Vec算法逐渐训练100维的词向量,使其在预测附近单词的训练任务中越来越好。

这种迭代过程趋向于迫使相关的单词彼此“接近”,并且与它们的相似度大致成比例-甚至更进一步,在这个100维空间中的各种“方向”往往倾向于与人类可感知的匹配语义类别。因此,著名的“ wv(king)-wv(man)+ wv(woman)〜= wv(queen)”示例通常可以工作,因为“男性/女性”和“忠诚度”是空间中模糊一致的区域/方向。

单独的尺寸并没有任何意义。训练过程包括随机性,并且随着时间的推移,“无论如何”都会起作用。有意义的方向并非与尺寸轴完美对齐,而是在所有尺寸上成角度。 (也就是说,您不会发现router.post('/:subject_ID', (req, res) => { // First Query Student.findOne({student_ID: req.body.student_ID}) .exec() .then() .catch(); // Second Query Subject.findById(req.params.subject_ID) .exec() .then() .catch(); }); 是一个类似性别的维度。相反,如果您采用了数十个交替的类似男性和女性的单词对,并求平均了所有差异,可能会发现一些100维向量,这暗示了性别倾向。)

您可以选择任何所需的“大小”,但是当您有足够的训练数据时,100-400是常见值。