¿Cómo encontrar una lista de palabras en un corpus utilizando NLTK? No puedo encontrar la frecuencia de las palabras.
He descargado un corpus y tokenizado las palabras. Tengo una lista de los personajes principales y quiero saber cuántas veces aparece cada nombre en el corpus. He intentado usar una función de frecuencia con un diccionario, pero no sé cómo obtener el recuento de nombres.
targeturl0 = ‘http://www.gutenberg.org/files/135/135-0.txt’
bookraw = urlopen(targeturl0).read().decode(‘utf-8’)
wordtokens = wordtokenize(bookraw)
character_list = [‘Myriel’,’Bishop’,’Baptistine’,’Magloire’,’Cravatte’,’Valjean’,’Gervais’,’Fantine’,’Tholomyès’
,’Blachevelle’,’Dahlia’,’Fameuil’,’Favourite’,’Listolier’,’Zéphine’,’Cosette’,’Thénardier’,
‘Éponine’,’Azelma’,’Javert’,’Fauchelevent’,’Bamatabois’,’Champmathieu’,
‘Brevet’,’Simplice’,’Chenildieu’,’Cochepaille’,’Innocente’,’Reverend’,’Ascension’,’Crucifixion’,
‘Gavroche’,’Magnon’,
‘Gillenormand’,’Marius’,’Colonel’,’Mabeuf’,’Enjolras’,’Combeferre’,’Prouvaire’,
‘Feuilly’,’Courfeyrac’,’Bahorel’,’Lesgle’,’Joly’,’Grantaire’,’Patron-Minette’,’Brujon’,
‘Toussaint’]
fdistmis = FreqDist(wordtokens)
filteredwordfreq = dict((characterlist, freq) for characterlist, freq in fdist_mis.items())
Cuando exploro filteredwordfreq, solo devuelve todos los tokens de palabras en lugar de un diccionario de personajes únicos y sus ocurrencias. ¿Alguna ayuda? Muchas gracias.
davy.ai
Para obtener un diccionario de los caracteres únicos y sus ocurrencias, es necesario iterar a través de la variable
character_list
y obtener la frecuencia de cada carácter utilizando el objetofdist_mis
.Así es como puede modificar su código para lograr esto:
Este código creará un diccionario vacío
filtered_word_freq
, iterará a través de la variablecharacter_list
y comprobará si cada carácter existe en el objetofdist_mis
. Si existe, agregará el carácter y su frecuencia al diccionariofiltered_word_freq
. Finalmente, imprimirá el diccionario que contiene los caracteres únicos y sus ocurrencias.