使用python gensim训练word2vec模型后,你如何找到模型词汇中的单词数量?
答案 0 :(得分:57)
词汇表位于Word2Vec模型的vocab
属性的wv
字段中,作为字典,其中键是每个标记(单词)。所以它只是通常的Python获取字典的长度:
len(w2v_model.wv.vocab)
(在0.13之前的较旧gensim版本中,vocab
直接出现在模型上。因此,您可以使用w2v_model.vocab
代替w2v_model.wv.vocab
。)
答案 1 :(得分:0)
获取词汇量的另一种方法是从嵌入矩阵本身开始,如下所示:
In [33]: from gensim.models import Word2Vec
# load the pretrained model
In [34]: model = Word2Vec.load(pretrained_model)
# get the shape of embedding matrix
In [35]: model.wv.vectors.shape
Out[35]: (662109, 300)
# `vocabulary_size` is just the number of rows (i.e. axis 0)
In [36]: model.wv.vectors.shape[0]
Out[36]: 662109
答案 2 :(得分:0)
Gojomo 的回答为 Gensim 4.0.0+ 带来了AttributeError
。
对于这些版本,你可以得到词汇的长度如下:
len(w2v_model.wv.index_to_key)
(略快于:len(w2v_model.wv.key_to_index)
)