Saltar a contenido
Iñigo Goikoetxea Fanega · Ingeniero LLM / IAdemo api
PROYECTO GenSIE-26
TFM Structured Information Extraction from Texts in Spanish Using LLM Systems
ESTADO publicado · IberLEF 2026

Extracción
que se puede auditar.

Esquemas JSON arbitrarios, rellenados a partir de texto en español con LLMs abiertos pequeños. La decodificación restringida por gramática garantiza la forma; un filtro de alucinaciones deja fuera lo que el texto no respalda.

trace · e231 · RiverProfile
El río Arga es uno de los principales ríos de Navarra. Nace en el área de Quinto Real, en los Pirineos navarros, y atraviesa Pamplona y Puente la Reina antes de desembocar en el río Aragón. Tiene una longitud de 145 km.
01limpiar el texto219 car.
02construir el prompt769 tok · 0 ejemplos
03decodificación restringida85 tok · 408 ms
04filtro de alucinaciones0 eliminados
{
  "name": "Arga",
  "tributary_of": "Aragón",
  "length_km": 145,
  "source_range": "Pirineos navarros",
  "passes_through": ["Pamplona", "Puente la Reina"],
  "avg_flow_m3s": null  // no está en el texto
}
e231 · 854 tok · 0.4 s · openai/gpt-oss-20bejecución grabada · 2026-10-28

Reconocimiento

Artículo publicado · CEUR Workshop Proceedings, Vol. 4273

Inigo at IberLEF 2026 Task GenSIE: Schema-Guided Zero-Shot Information Extraction in Spanish with Small Language Models. Iñigo Goikoetxea Fanega, Mikel Sesma Sara y Javier Lasheras Navas (Universidad Pública de Navarra y Tracasa Instrumental).

Describe la participación zero-shot, porque la tarea prohibía el fine-tuning; el trabajo de fine-tuning es la extensión del TFM y no forma parte del artículo. Leer el artículo (PDF)

Premio · Cátedra Tracasa

El trabajo recibió uno de los tres premios a los mejores trabajos finales de la primera promoción del Máster en Machine Learning de la Universidad Pública de Navarra, patrocinados por la Cátedra Tracasa de Ciencias de la Computación e Inteligencia Artificial y concedidos sin orden de prelación en el Machine Learning TFM Showcase. Leer la noticia

F1 · dev
0,80
mejor zero-shot · Qwen3-14B · E226 · 149 tareas
Micro-F1 · test
0,74
publicado · 145 instancias · autoevaluado
Experimentos
280
IDs en el registro · 452 ejecuciones
Pares sintéticos
3.948
en español · pipeline estilo GuideX

Las cifras de dev y de test no son comparables entre sí. Cada número del sitio indica su fichero fuente en el código de la página.

Qué construí

Tecnologías

Pythonlenguaje
PyTorchentrenamiento
Hugging FaceTransformers · PEFT · TRL
vLLMservir modelos
Outlines · xgrammardecodificación restringida
Pydanticesquemas · validación
scikit-learnrecuperación · evaluación
MLflowseguimiento de experimentos
Langfusetrazado de inferencia
Dockerseguimiento autoalojado
NVIDIA H100GPUs en MareNostrum 5
SLURMplanificación de trabajos HPC
Groqinferencia de la demo
CloudflarePages · Functions · KV
GitHub ActionsCI · tests · despliegue

Solo herramientas usadas en los repositorios del proyecto.

El hallazgo

El entrenamiento parece ayudar menos cuanto mejor es el pipeline de inferencia. En el modelo más fuerte, el mejor pipeline zero-shot superó a los dos regímenes de fine-tuning; el entrenamiento importó más para la contención que para el F1 bruto.

En el modelo más fuerte, el pipeline zero-shot superó al fine-tuningF1 en desarrollo por modelo para el baseline sin entrenar, el mejor pipeline zero-shot y el mejor modelo afinado. Qwen3-14B: zero-shot 0,7999 frente a 0,7054 afinado. Llama-3.2-3B: 0,7459 frente a 0,7481. Salamandra-7B: 0,6276 frente a 0,6406.En el modelo más fuerte, el pipeline zero-shot superó al fine-tuningbaseline sin entrenarmejor pipeline zero-shotmejor afinado0,50,60,70,8F1 en el conjunto de desarrollo de GenSIE (149 tareas)afinado − zero-shotQwen3-14Bbaseline sin entrenar: 0,6577mejor afinado (FT completo): 0,7054mejor pipeline zero-shot: 0,7999−0,09450,79990,7054Llama-3.2-3Bbaseline sin entrenar: 0,6703mejor afinado (FT completo): 0,7481mejor pipeline zero-shot: 0,7459+0,0022Salamandra-7Bbaseline sin entrenar: 0,4843mejor afinado (LoRA): 0,6406mejor pipeline zero-shot: 0,6276+0,0130Fuente: gensie-solution docs/tuned_vs_untuned.md · una sola semilla

Bajo el capó

Durante el desarrollo, cada entrenamiento quedó registrado en MLflow, y cada llamada al modelo y cada tarea evaluada, en Langfuse. Mira un registro real de cada uno.

Cómo se traza →

¿Construyes con LLMs en producción?