Riassumi il numero di parole Frequenza usando Freqdist, Python
-
25-09-2019 - |
Domanda
Come riassumere il numero di parole Frequenza usando FD.Items () di 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
ad esempio se ogni parola in most_freq_w
apparire 10 volte, il risultato dovrebbe essere 100
!!! Non ho bisogno di quel numero di tutte le parole nel testo, solo i 10 più frequenti
Soluzione
Non ho familiarità con nltk
, ma da allora FreqDist
deriva da dict
, quindi quanto segue dovrebbe funzionare:
v = fd.values()
v.sort()
count = sum(v[-10:])
Altri suggerimenti
Per trovare il numero di volte in cui una parola appare nel corpus (il tuo pezzo di testo):
raw="<your file>"
tokens = nltk.word_tokenize(raw)
fd = FreqDist(tokens)
print fd['<your word here>']
Ha una bella funzione di stampa
fd.pprint()
lo farà.
Se FreqDist
è una mappatura delle parole alle loro frequenze:
sum(map(fd.get, most_freq_w))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow