web-dev-qa-db-fra.com

Comment obtenir du vocabulaire Nombre de mots de gensim Word2vec?

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?

7
Michelle Owen

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
23
user3390629

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))
0
Ahmedov