Los libros de dominio público son un gran recurso para generar un pequeño corpus del español gracias a la variedad de los textos. En este artículo os explicamos cómo generarlo de una manera muy sencilla a partir de los documentos indexados en la web de textos.info.
En textos.info hay más de 4000 libros disponibles para leer y/o descargar. Desde clásicos como "La Ilíada", "La Biblia" o "El Quijote" a libros más "modernos" (comienzos del s.XX) como son "Poeta en Nueva York", "Niebla" o "La Metamorfosis".
Requisitos
- Python 3.8 - Todos los ejemplos que usan python se han ejecutado con esta versión.
- PyEnv o Conda - Recomendamos el uso de alguna de estas herramientas para la gestión de versiones de Python y los entornos virtuales.
- Pandoc 2.14 - Herramienta que permite convertir entre varios formatos como puede ser de ePub a texto plano.
Requisitos para los scripts de Python
Para que los scripts de Python se ejecuten correctamente es necesario instalar los siguientes paquetes con pip:
Puedes copiar el listado anterior y meterlo en un fichero requirements.txt para instalarlos de golpe. Por ejemplo, supongamos que el directorio de trabajo es "corpuslibros" y el mencionado archivo ya tiene el listado de paquetes:
Con esto quedarían todas las dependencias instaladas. Ahora viene la parte más interesante.
Descarga de libros
Lo primero de todo es descargarnos los libros que tenemos a disposición en textos.info para lo que nos ayudaremos del catálogo OPDS que tienen implementado y este pequeño crawler que se descargará de manera automática todos los libros disponibles:
Puedes descargar el archivo, después de comprobar lo que hace, y ejecutarlo de la siguiente manera:
~/corpuslibros$ python textos_info_donwload.py
Tras un rato tendrás todos los libros descargados en el directorio "textos.info" en formato de texto plano.
Limpieza
- Ocupa ~400MB
- Mas de 4000 libros en español de diferentes temáticas y estilos.
- Contiene 73,9 Millones de palabras
- De los cuales 525.492 son palabras únicas.
Comentarios
Publicar un comentario