如何获得word2vec向量的维度?

How to get the dimensions of a word2vec vector?

我的数据有 运行 word2vec 模型 list_of_sentence:

from gensim.models import Word2Vec

w2v_model=Word2Vec(list_of_sentence,min_count=5, workers=4)

print(type(w2v_model))

<class 'gensim.models.word2vec.Word2Vec'>

我想知道 w2v_model 向量的维数。我该如何检查?

矢量维度作为参数包含在 Word2Vec 中:

  • 在 gensim 3.8.3 之前的版本中,参数被称为 size (docs)
  • 在最新的gensim版本中(4.0以后),相关参数重命名为vector_size (docs)

在这两种情况下,参数的默认值为 100;这意味着,如果您没有明确指定它(就像您在此处所做的那样),维度将为 100。

这是一个使用 gensim 3.6 的可重现示例:

import gensim
gensim.__version__
# 3.6.0

from gensim.test.utils import common_texts
from gensim.models import Word2Vec

model = Word2Vec(sentences=common_texts, window=5, min_count=1, workers=4) # do not specify size, leave the default 100

wv = model.wv['computer']  # get numpy vector of a word in the corpus
wv.shape # verify the dimension of a single vector is 100
# (100,)

如果你想改变这个维度,比如说,256,你应该用参数 size=256 调用 Word2Vec(对于 gensim 版本高达 3.8.3)或 vector_size=256 (对于 gensim 4.0 或更高版本)。