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

Était-ce utile?

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
scroll top