gensim word2vec:查找词汇表中的单词数量

时间:2016-02-24 07:39:48

标签: python neural-network nlp gensim word2vec

使用python gensim训练word2vec模型后,你如何找到模型词汇中的单词数量?

3 个答案:

答案 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)