Ho il seguente codice. So che posso usare la funzione apply_freq_filter
per filtrare le collocazioni che sono inferiori al conteggio di frequenza. Tuttavia, non so come ottenere le frequenze di tutte le tuple di n-grammi (nel mio caso bi-gram) in un documento, prima di decidere quale frequenza impostare per il filtraggio. Come puoi vedere sto usando la classe nltk collocations.conteggio della frequenza n-gram in python nltk
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)
Hai provato 'finder.ngram_fd.viewitems()'? –
Grazie finder.ngram_fd.viewitems() funziona! – Rkz