Résumez le nombre de fréquence des mots en utilisant FreqDist, python
-
25-09-2019 - |
Question
Comment résumer le nombre de fréquence des mots en utilisant fd.items () de FreqDist?
>>> fd = FreqDist(text)
>>> most_freq_w = fd.keys()[:10] #gives me the most 10 frequent words in the text
>>> #here I should sum up numbers of each of these 10 freq words appear in the text
par exemple. si chaque mot most_freq_w
apparaît 10 fois, le résultat doit être 100
!!! Je ne ai pas besoin que nombre de tous les mots dans le texte, juste les 10 plus fréquentes
La solution
Je ne suis pas familier avec nltk
, mais depuis FreqDist
dérive de dict
, alors ce qui suit devrait fonctionner:
v = fd.values()
v.sort()
count = sum(v[-10:])
Autres conseils
Pour trouver le nombre de fois qu'un mot apparaît dans le corpus (votre morceau de texte):
raw="<your file>"
tokens = nltk.word_tokenize(raw)
fd = FreqDist(tokens)
print fd['<your word here>']
Il a une jolie fonction d'impression
fd.pprint()
le fera.
Si FreqDist
est une application de mots à leurs fréquences:
sum(map(fd.get, most_freq_w))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow