J'utilise le paquet gensim Word2vec en python. Je sais comment obtenir le vocabulaire du modèle formé. Mais comment obtenir le nombre de mots pour chaque mot dans le vocabulaire?
Chaque mot du vocabulaire est associé à un objet de vocabulaire, qui contient un index et un compte.
vocab_obj = w2v.vocab["Word"]
vocab_obj.count
Sortie pour le modèle w2v de google news: 2998437
Donc, pour obtenir le compte de chaque mot, vous devez parcourir tous les mots et les objets de vocabulaire du vocabulaire.
for Word, vocab_obj in w2v.vocab.items():
#Do something with vocab_obj.count
Lorsque vous souhaitez créer un dictionnaire de Word à comptabiliser pour une récupération facile ultérieurement, procédez comme suit:
w2c = dict()
for item in model.wv.vocab:
w2c[item]=model.wv.vocab[item].count
Si vous voulez le trier pour voir les mots les plus fréquents dans le modèle, vous pouvez également le faire pour:
w2cSorted=dict(sorted(w2c.items(), key=lambda x: x[1],reverse=True))