Après avoir formé un modèle Word2vec à l'aide de python gensim , comment trouvez-vous le nombre de mots dans le vocabulaire du modèle?
Le vocabulaire se trouve dans le champ vocab
de la propriété wv
du modèle Word2Vec, sous forme de dictionnaire, les clés constituant chaque jeton (Word). Donc c'est juste l'habituel Python pour obtenir la longueur d'un dictionnaire:
len(w2v_model.wv.vocab)
(Dans les anciennes versions de gensim antérieures à 0.13, vocab
apparaissait directement sur le modèle. Vous utiliseriez donc w2v_model.vocab
au lieu de w2v_model.wv.vocab
.)
Une autre façon d’obtenir la taille du vocabulaire est à partir de la matrice d’incorporation elle-même, comme dans:
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