Frage

Wie fassen Sie die Anzahl der Wörterfrequenz mit Fd.Items () von Freqdist zusammen?

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

zB wenn jedes Wort in most_freq_w erscheinen 10 Mal, das Ergebnis sollte sein 100

!!! Ich brauche nicht diese Anzahl aller Wörter im Text, nur die 10 häufigsten

War es hilfreich?

Lösung

Ich bin nicht vertraut mit nltk, aber seit FreqDist kommt von dict, dann sollte Folgendes funktionieren:

v = fd.values()
v.sort()
count = sum(v[-10:])

Andere Tipps

Um zu finden, wie oft ein Wort im Korpus angezeigt wird (Ihr Textstück):

raw="<your file>"
tokens = nltk.word_tokenize(raw)
fd = FreqDist(tokens)
print fd['<your word here>'] 

Es hat eine hübsche Druckfunktion

    fd.pprint() 

werde es tun.

Wenn FreqDist ist eine Zuordnung von Wörtern zu ihren Frequenzen:

sum(map(fd.get, most_freq_w))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top