Zählen der n-Gramm-Frequenz in Python nltk

Ich habe den folgenden Code. Ich weiß, dass ich verwenden kannapply_freq_filter Funktion zum Herausfiltern von Kollokationen, die kleiner als eine Frequenzanzahl sind. Ich weiß jedoch nicht, wie ich die Häufigkeiten aller n-Gramm-Tupel (in meinem Fall 2-Gramm) in einem Dokument ermitteln soll, bevor ich mich für eine festgelegte Filterhäufigkeit entscheide. Wie Sie sehen, verwende ich die Klasse nltk collocations.

import nltk
from nltk.collocations import *
line = ""
open_file = open('a_text_file','r')
for val in open_file:
    line += val
tokens = line.split()

bigram_measures = nltk.collocations.BigramAssocMeasures()
finder = BigramCollocationFinder.from_words(tokens)
finder.apply_freq_filter(3)
print finder.nbest(bigram_measures.pmi, 100)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage