web-dev-qa-db-ja.com

gensim Word2vec:ボキャブラリー内の単語の数を見つける

python gensim を使用してWord2vecモデルをトレーニングした後、モデルのボキャブラリー内の単語数をどのように見つけますか?

27
hlin117

ボキャブラリーは、辞書として、Word2Vecモデルのvocabプロパティのwvフィールドにあり、キーは各トークン(Word)です。したがって、辞書の長さを取得するための通常のPythonです:

len(w2v_model.wv.vocab)

(0.13より前のgensimバージョンでは、vocabがモデルに直接表示されていました。したがって、w2v_model.vocab の代わりに w2v_model.wv.vocab。)

64
gojomo

語彙サイズを取得するもう1つの方法は、次のように埋め込み行列自体から取得することです。

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
1
kmario23