python gensim を使用してWord2vecモデルをトレーニングした後、モデルのボキャブラリー内の単語数をどのように見つけますか?
ボキャブラリーは、辞書として、Word2Vecモデルのvocab
プロパティのwv
フィールドにあり、キーは各トークン(Word)です。したがって、辞書の長さを取得するための通常のPythonです:
len(w2v_model.wv.vocab)
(0.13より前のgensimバージョンでは、vocab
がモデルに直接表示されていました。したがって、w2v_model.vocab
の代わりに w2v_model.wv.vocab
。)
語彙サイズを取得するもう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