[Python][Python][Python][Python][Python][Python][Python][Python][Python][Python][Python]
Hola a todos,
Debo obtener el porcentaje de oraciones con 1 palabra, 2 palabras, etc. en español y francés a partir de algunos libros obtenidos de gutenber.org. Aún no sé cómo llegar a definir el diccionario para que me muestre en el resultado final algo como esto:
{ "español": {1:0.05, 2:0.10, 3:0.15, 4:0.20, 5:0.22, ... },
"francés": {1:0.03, 2:0.14, 3:0.11, 4:0.18, 5:0.29, ... },
"italiano": ...,
}
Ya bajé los libros de gutenberg.org, les quité los encabezados, limpié los textos, dividí los textos en oraciones mediante "<>" y dividí las oraciones por palabras. No sé qué más debo hacer para terminar este ejercicio.
Agradezco de antemano su colaboración.
Esto es lo que llevo:
# -*- coding:utf-8 -*-
from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers
libros_idiomas={"frances":[17808,16901,10774,33378,27566,26813,18627],
"espanol":[16484,42727,25317,1619,27736,11529,31637,31013]
}
for idioma in libros_idiomas:
dic_cont_palabras_en_oraciones={}
print "Idioma", idioma
for codigo_libro in libros_idiomas[idioma]:
print codigo_libro
texto=load_etext(codigo_libro)
texto=strip_headers(texto).lower()
for caracter_especial in u',".-?¿()¡!«»:;*_~]':
texto=texto.replace(caracter_especial, ' ')
for separador_oracion in '.'+'.\n':
texto=texto.replace(separador_oracion, u'<>')
oraciones=texto.split('<>')
for oracion in oraciones:
palabras=oracion.split()
cantidad_palabras=len(palabras)
if len(palabras) in dic_cont_palabras_en_oraciones:
dic_cont_palabras_en_oraciones[len(palabras)]+1
else:
dic_cont_palabras_en_oraciones[len(palabras)]=1
palabras_en_oraciones=dic_cont_palabras_en_oraciones.keys()
Hola a todos,
Debo obtener el porcentaje de oraciones con 1 palabra, 2 palabras, etc. en español y francés a partir de algunos libros obtenidos de gutenber.org. Aún no sé cómo llegar a definir el diccionario para que me muestre en el resultado final algo como esto:
{ "español": {1:0.05, 2:0.10, 3:0.15, 4:0.20, 5:0.22, ... },
"francés": {1:0.03, 2:0.14, 3:0.11, 4:0.18, 5:0.29, ... },
"italiano": ...,
}
Ya bajé los libros de gutenberg.org, les quité los encabezados, limpié los textos, dividí los textos en oraciones mediante "<>" y dividí las oraciones por palabras. No sé qué más debo hacer para terminar este ejercicio.
Agradezco de antemano su colaboración.
Esto es lo que llevo:
# -*- coding:utf-8 -*-
from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers
libros_idiomas={"frances":[17808,16901,10774,33378,27566,26813,18627],
"espanol":[16484,42727,25317,1619,27736,11529,31637,31013]
}
for idioma in libros_idiomas:
dic_cont_palabras_en_oraciones={}
print "Idioma", idioma
for codigo_libro in libros_idiomas[idioma]:
print codigo_libro
texto=load_etext(codigo_libro)
texto=strip_headers(texto).lower()
for caracter_especial in u',".-?¿()¡!«»:;*_~]':
texto=texto.replace(caracter_especial, ' ')
for separador_oracion in '.'+'.\n':
texto=texto.replace(separador_oracion, u'<>')
oraciones=texto.split('<>')
for oracion in oraciones:
palabras=oracion.split()
cantidad_palabras=len(palabras)
if len(palabras) in dic_cont_palabras_en_oraciones:
dic_cont_palabras_en_oraciones[len(palabras)]+1
else:
dic_cont_palabras_en_oraciones[len(palabras)]=1
palabras_en_oraciones=dic_cont_palabras_en_oraciones.keys()