Solución:
NLTK viene con su propio bigrams generator
, así como una conveniente FreqDist()
función.
f = open('a_text_file')
raw = f.read()
tokens = nltk.word_tokenize(raw)
#Create your bigrams
bgs = nltk.bigrams(tokens)
#compute frequency distribution for all the bigrams in the text
fdist = nltk.FreqDist(bgs)
for k,v in fdist.items():
print k,v
Una vez que tenga acceso a los BiGrams y las distribuciones de frecuencia, puede filtrar según sus necesidades.
Espero que ayude.
los finder.ngram_fd.viewitems()
la función funciona
from nltk import FreqDist
from nltk.util import ngrams
def compute_freq():
textfile = open('corpus.txt','r')
bigramfdist = FreqDist()
threeramfdist = FreqDist()
for line in textfile:
if len(line) > 1:
tokens = line.strip().split(' ')
bigrams = ngrams(tokens, 2)
bigramfdist.update(bigrams)
compute_freq()
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)