UD03 · Notebook 12 — Un sistema de PLN de punta a punta¶
Requisitos
Va en el contenedor de la unidad (docker compose up -d en la carpeta de la UD03), o en cualquier Python 3.12+ con:
pip install nltk spacy scikit-learn
python -m spacy download es_core_news_sm
Este taller no necesita GPU ni Colab.
Objetivo: construir un extractor de entidades (NER) para textos de un dominio concreto con spaCy, siguiendo la metodología del CE g (tarea → datos → herramienta → implementar → evaluar → documentar).
Es una entrega evaluable: se corrige con la rúbrica de su tarea en Moodle.
Fase 1 — Define la tarea¶
Elige un dominio (p. ej. facturas, historias clínicas de ejemplo, noticias de tecnología). Decide qué entidades quieres extraer (nombres de empresa, personas, lugares, fechas, importes, productos).
Fase 2 — Datos¶
Crea al menos 10 textos de ejemplo del dominio en un fichero textos.txt (pueden ser inventados). Indica origen y licencia en el informe.
Fase 3 — Implementa con spaCy¶
%pip install spacy
# python -m spacy download es_core_news_sm # descomenta la primera vez
import spacy
nlp = spacy.load("es_core_news_sm")
# TU CÓDIGO: si es un extractor de entidades, añade un EntityRuler con tus patrones;
# si es un matcher de preguntas, usa PhraseMatcher o Matcher
...
Fase 4 — Evalúa¶
Compara las entidades que devuelve spaCy con las que esperabas (anótalas a mano primero). Calcula cuántas acertó y dónde falló. ¿Qué patrones añadirías?
textos_prueba = [
# TU CÓDIGO: al menos 10 textos de prueba
]
# TU CÓDIGO: ejecuta tu sistema sobre cada uno y anota si acierta
...
✏️ Respuesta: exactitud aproximada y los errores, leídos uno a uno: ¿qué tienen en común?
(escribe aquí)
Fase 5 — Documenta¶
Escribe en el informe: la tarea, el origen/licencia de los datos, la herramienta (spaCy + Matcher), las reglas/patrones usados, la evaluación (aciertos/fallos) y las limitaciones (dominio, textos fuera de contexto, ambigüedad).
Fase 6 — Mejora (reto)¶
Añade 2 patrones más de tu dominio (p. ej. fechas en formato "dd/mm/aaaa" o códigos de producto) y repite la evaluación. ¿Mejoró la cobertura?
Entrega¶
Sube el notebook ejecutado, siguiendo los seis pasos de la metodología del §12.1.
| Fase | Evidencia mínima |
|---|---|
| 1 | La tarea definida: qué entra, qué sale y para quién |
| 2 | Los datos, con origen, tamaño y licencia |
| 3 | El sistema implementado con spaCy y funcionando |
| 4 | La evaluación sobre datos no vistos, con el análisis de errores |
| 5 | La documentación: decisiones tomadas y limitaciones asumidas |
| 6 | La mejora propuesta, aunque no esté implementada |
Y la respuesta a: ¿por qué elegiste esa herramienta y no otra? La respuesta buena habla de los datos que tenías, no de lo moderna que sea la técnica.
Soluciones
Las soluciones no se publican: se corrigen y comentan en clase.