QA Noticias Dominicanas — Fine-Tuned BERT Spanish SQuAD2
Descripción
Modelo desarrollado para el Dominican News Question Answering Challenge de ICC-344-T. El sistema recibe una pregunta y un contexto noticioso, y extrae una respuesta contenida explícitamente en el contexto.
Se partió del modelo preentrenado mrm8488/bert-base-spanish-wwm-cased-finetuned-spa-squad2-es
(BERT español entrenado en SQuAD 2.0) y se realizó fine-tuning con las 45 muestras de
entrenamiento del dataset oficial Lisibonny/pdqa, logrando superar el F1 del baseline
oficial de 75.84% a 81.41%.
Integrantes
- Diaurys Gomez Almonte (10147189)
Recursos oficiales
- Dataset: Lisibonny/pdqa
- Baseline: Lisibonny/modelo_qa_beto_squad_es_pdqa
- Aplicación: Lisibonny/Repartidor_Dominicano
Modelo base
- Repositorio: mrm8488/bert-base-spanish-wwm-cased-finetuned-spa-squad2-es
- Justificación: Modelo BERT en español preentrenado con Whole Word Masking y fine-tuned en SQuAD 2.0 en español. Se eligió por su superior comprensión semántica frente a BETO (usado en el baseline), demostrada por un F1 zero-shot de 76.67% vs 75.84% del baseline.
- Número aproximado de parámetros: ~110M
Datos
| División | Filas | Uso |
|---|---|---|
| train | 45 | Entrenamiento |
| validation | 15 | Comparación y selección |
| test | 20 | Predicciones finales |
No se publicaron ni utilizaron respuestas privadas de test.
Estadísticas del dataset
| Métrica | Preguntas (palabras) | Contextos (palabras) |
|---|---|---|
| Promedio (train) | 6.24 | 60.64 |
| Mínimo (train) | 3 | 27 |
| Máximo (train) | 15 | 285 |
| Promedio (validation) | 5.93 | 98.13 |
| Máximo (validation) | 9 | 347 |
Todos los textos caben holgadamente en la ventana de 512 tokens del modelo, por lo que no se requiere sliding window ni truncamiento.
Entrenamiento
| Parámetro | Valor |
|---|---|
| Seed | 42 |
| Learning rate | 3e-5 |
| Batch size | 8 |
| Épocas | 5 |
| Max length | 384 |
| Doc stride | N/A (sin sliding window) |
| Weight decay | 0.01 |
| Hardware | CPU (Intel) |
| Tiempo | ~9 minutos |
Experimentos
| Experimento | Cambio | EM validation | F1 validation |
|---|---|---|---|
| Baseline oficial (BETO) | Sin cambios | 60.00 | 75.84 |
| Variante A (Zero-Shot) | Cambio de modelo base, sin fine-tuning | 40.00 | 76.67 |
| Variante B (Fine-Tuning 5ep) | Fine-tuning lr=3e-5, 5 épocas | 60.00 | 81.41 |
| Variante C (Fine-Tuning 15ep) | Fine-tuning lr=2e-5, 15 épocas | 60.00 | 81.41 |
| Modelo final | Variante B | 60.00 | 81.41 |
Ablación o comparación controlada
Se realizó una comparación controlada entre la Variante A (zero-shot) y la Variante B (fine-tuned), manteniendo constante la arquitectura del modelo (mrm8488/bert-base-spanish-wwm-cased-finetuned-spa-squad2-es) y variando únicamente la presencia o ausencia de fine-tuning con los datos dominicanos.
Resultado: El fine-tuning mejoró dramáticamente el Exact Match de 40.00% a 60.00% (+20 puntos), demostrando que la adaptación al dominio local es esencial para la extracción precisa de respuestas.
Adicionalmente, se comparó la Variante B (5 épocas) vs Variante C (15 épocas) como segunda ablación sobre el número de épocas. Ambas obtuvieron métricas idénticas (EM: 60.00, F1: 81.41), lo que indica que el modelo converge rápidamente con solo 5 épocas y que los errores restantes no son solucionables con más entrenamiento.
Resultados
- Exact Match en validation: 60.00%
- F1 en validation: 81.41%
- Script de evaluación:
05_evaluate_qa.py
Ejemplo de uso
from transformers import pipeline
qa = pipeline(
"question-answering",
model="diaurys/modelo_qa_bert_spanish_pdqa",
tokenizer="diaurys/modelo_qa_bert_spanish_pdqa"
)
qa(
question="¿Quién hizo el anuncio?",
context="La ministra informó que el programa comenzará en agosto."
)
Análisis de errores
Se identificaron 6 errores de Exact Match en validation, clasificados en dos categorías:
1. Errores de límites de extracción (4 casos)
El modelo localiza correctamente la información pero difiere del anotador en dónde empieza o termina la respuesta.
- Omisión de preposición: Predice "11 bateadores" en lugar de "a 11 bateadores".
- Inclusión de verbo extra: Predice "afectado por las turbulencias..." en lugar de "por las turbulencias...".
- Omisión de verbo: Predice "al embarazo en adolescentes" en lugar de "gira en torno al embarazo en adolescentes".
- Truncamiento: Predice "concienciar sobre el acoso escolar y social" truncando "que sufren las personas con síndrome de Down".
2. Errores por ambigüedad del contexto (2 casos)
El contexto contiene múltiples respuestas válidas y el modelo selecciona una diferente a la del anotador.
- Predice "a tres exministros" (resumen) en lugar de la lista completa de nombres.
- Predice "en torno al 7% a nivel mundial" (dato cuantitativo) en lugar de "seguirá siendo alta" (descripción cualitativa).
Limitaciones
- La respuesta debe estar presente en el contexto.
- El modelo puede confundir entidades, fechas o cantidades similares.
- El modelo no verifica la veracidad de la noticia.
- No debe utilizarse como única fuente para decisiones de alto impacto.
- El dataset de entrenamiento es muy pequeño (45 ejemplos), lo que limita la generalización.
Reproducibilidad
- Repositorio de código: https://huggingface.co/diaurys/modelo_qa_bert_spanish_pdqa
- Commit: main (latest)
- Notebook:
03_Introduccion_QA_Noticias.ipynb - Archivo de dependencias:
09_requirements.txt - Semillas: 42
- Downloads last month
- 35