Ich versuche, eine Wortgruppe aus einer Textdatei zu bekommen, aber bis jetzt kann ich nur eine Wortanzahl erhalten (siehe unten). Ich muss diese Logik erweitern, um zu zählen, wie oft eine Zwei-Wort-Phrase in der Textdatei erscheint.Zählen von Phrasen in Python mit NLTK
Phrasen können definiert/gruppiert werden, indem Logik von NLTK aus meinem Verständnis verwendet wird. Ich glaube, die Collections-Funktion ist das, was ich brauche, um das gewünschte Ergebnis zu erhalten, aber ich bin mir nicht sicher, wie ich es aus dem Lesen der NLTK-Dokumentation implementieren soll. Irgendwelche Tipps/Hilfe würden sehr geschätzt werden.
import re
import string
frequency = {}
document_text = open('Words.txt', 'r')
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)
for word in match_pattern:
count = frequency.get(word,0)
frequency[word] = count + 1
frequency_list = frequency.keys()
for words in frequency_list:
print (words, frequency[words])
Suchen Sie für zwei bestimmte Wörter? Oder nur zwei beliebige Wortgruppen, die zusammen erscheinen? – accraze
Zwei Wörter, die zusammen erscheinen – bkubs557
Suchen Sie nach [nltk.bigrams()] (http://www.nltk.org/api/nltk.html#nltk.util.bigrams)? – alexis