BETO fine-tuned para NER de cáncer de próstata (español)

Modelo de Reconocimiento de Entidades Nombradas (NER) que extrae información clínica de textos en español sobre cáncer de próstata. Es un fine-tuning de BETO (BERT entrenado desde cero en español) para clasificación de tokens en formato BIO con 21 etiquetas.

F1 en test: 0.976 (seqeval, micro) · Precision 0.973 · Recall 0.978 · Accuracy 0.995

🎯 Para qué sirve

Detecta y clasifica, palabra por palabra, 10 tipos de entidades clínicas en informes y notas médicas de oncología prostática:

Entidad Qué captura Ejemplo
EDAD Edad del paciente 72 años
CANCER Tipo/diagnóstico de cáncer adenocarcinoma de próstata
GLEASON Escala de Gleason Gleason 3+3
BIOMARCADOR Biomarcadores (PSA, etc.) PSA de 9.9 ng/dL
TNM Estadificación TNM T2N0M0
TRATAMIENTO Tratamientos radioterapia
MEDICAMENTO Fármacos bicalutamida
DOSIS Dosis 50 mg diarios
CIRUGIA Procedimientos quirúrgicos prostatectomía radical
FECHA Fechas marzo de 2023

Cada entidad se etiqueta en esquema BIO (B- inicio, I- continuación, O fuera), para 21 etiquetas en total.

🚀 Uso rápido

from transformers import pipeline

ner = pipeline("token-classification", model="ralzate/beto-prostata-ner",
               aggregation_strategy="simple")

texto = ("Paciente masculino de 72 años con adenocarcinoma de próstata, "
         "Gleason 3+3 y PSA de 9.9 ng/dL. Se inicia radioterapia y bicalutamida 50 mg.")

for e in ner(texto):
    print(f"{e['entity_group']:14s} {e['score']*100:5.1f}%  {e['word']}")

Salida esperada (entidades como EDAD, CANCER, GLEASON, BIOMARCADOR, TRATAMIENTO, MEDICAMENTO, DOSIS).

📊 Resultados (conjunto de test, seqeval)

Barrido de batch size con 6 épocas y early stopping:

batch size Precision Recall F1
8 (recomendado) 0.9732 0.9781 0.9757
16 0.9627 0.9705 0.9666
32 0.9488 0.9603 0.9545

Este repositorio publica la mejor configuración (batch size 8). El F1 baja levemente al aumentar el lote porque, con 6 épocas, los lotes pequeños dan más pasos de optimización.

Comparación con XLM-RoBERTa

En el mismo dataset, BETO supera a XLM-RoBERTa-base (multilingüe) en todo el barrido (F1 0.955–0.976 vs 0.850–0.936). En NER clínico en español, un encoder nativo en español y compacto rinde mejor que un multilingüe más grande: la especialización lingüística pesa más que el tamaño.

🧠 Detalles de entrenamiento

Modelo base dccuchile/bert-base-spanish-wwm-cased (BETO, ~110M parámetros)
Tarea Token Classification (NER), 21 etiquetas BIO
Dominio Texto clínico de cáncer de próstata en español
Épocas 6 (con early stopping, paciencia 2, métrica F1)
Learning rate 2e-5
Batch size 8 (este checkpoint)
Longitud máxima 128 subtokens
Optimizador AdamW, weight decay 0.01, warmup 0.1
Métrica seqeval (precision/recall/F1 a nivel de entidad)
Hardware Apple M1 Pro (MPS), entrenamiento local
Alineación etiqueta en el primer subtoken de cada palabra; resto a -100

⚠️ Limitaciones

  • Entrenado en un dominio específico (cáncer de próstata en español); fuera de ese dominio el rendimiento puede caer.
  • El conjunto de datos es de tamaño moderado; entidades poco frecuentes pueden tener menor recall.
  • No sustituye el criterio clínico profesional. Pensado como apoyo a la extracción de información, no para decisiones médicas autónomas.
  • Hereda los posibles sesgos de BETO y del corpus clínico de entrenamiento.

🏷️ Etiquetas

O
B-EDAD, I-EDAD, B-CANCER, I-CANCER, B-GLEASON, I-GLEASON,
B-BIOMARCADOR, I-BIOMARCADOR, B-TNM, I-TNM, B-TRATAMIENTO, I-TRATAMIENTO,
B-MEDICAMENTO, I-MEDICAMENTO, B-DOSIS, I-DOSIS, B-CIRUGIA, I-CIRUGIA, B-FECHA, I-FECHA

📚 Cita

Si usas este modelo, cita también a BETO:

@inproceedings{canete2020beto,
  title={Spanish Pre-Trained BERT Model and Evaluation Data},
  author={Cañete, José and Chaperon, Gabriel and Fuentes, Rodrigo and Ho, Jou-Hui and Kang, Hojin and Pérez, Jorge},
  booktitle={PML4DC at ICLR 2020},
  year={2020}
}

Modelo afinado y publicado como parte de un proyecto de PLN en español (clasificación y NER con Transformers). Reproducible en hardware modesto (Apple Silicon) mediante fine-tuning completo para BETO y LoRA para modelos grandes.

Downloads last month
47
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ralzate/beto-prostata-ner

Finetuned
(178)
this model

Evaluation results