Finden Sie Frequenz jedes Wortes in der text-Datei in python
Möchte ich finden, der Häufigkeit aller Wörter in meinem text-Datei, so dass ich herausfinden kann, die am häufigsten vorkommenden Wörter aus Ihnen.
Kann mir bitte jemand helfen, den Befehl dazu verwendet werden.
import nltk
text1 = "hello he heloo hello hi " // example text
fdist1 = FreqDist(text1)
Benutzt habe ich obigen code, aber das problem ist, dass es nicht die Wort-Frequenz,sondern es ist die Frequenz anzeigen von jedem Charakter.
Ich möchte auch wissen, wie Sie die Eingabe von text über text-Datei.
- Verwandte: FreqDist mit NLTK
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sah ich Sie mit dem Beispiel und sah die gleiche Sache, die Sie waren zu sehen, um es richtig zu arbeiten, müssen Sie split den string durch Leerzeichen. Wenn Sie dies nicht tun, scheint es zu zählen, jedes Zeichen, welches Sie sahen. Dieser liefert die korrekte zählt jedes Wort, nicht Charakter.
Wenn Sie wollen aus einer Datei zu Lesen und das Wort zählen ist, können Sie es ja gerne machen:
input.txt
python-code
print
repariert werden muss. Es ist Python ist3.x.Für was es Wert ist, NLTK scheint wie overkill für diese Aufgabe. Im folgenden erhalten Sie word-Frequenzen, die in der Reihenfolge von der höchsten bis zur niedrigsten.
print
repariert werden muss. Es ist Python ist3.x.text1
im nltk-Buch ist eine Sammlung von Token (Wörter, Satzzeichen) anders als in deinem code-Beispiel, wotext1
ist ein string (Sammlung von Unicode-codepoints):Wenn Sie Ihre Eingabe ist in der Tat durch Leerzeichen getrennte Wörter dann finden Sie die Frequenz, verwenden Sie @Boa Antwort:
Hinweis:
FreqDist
ist einCounter
aber es definiert auch zusätzliche Methoden, wie.plot()
.Wenn Sie verwenden möchten
nltk
tokenizer statt:sent_tokenize()
tokenizes der text in Sätze. Dannword_tokenize
tokenizes jeder Satz in Wörter. Es gibt viele Möglichkeiten für die tokenisierung text innltk
.Haben, um die Frequenz sowie die Worte, die wie ein Wörterbuch der folgende code nützlich sein wird: