← Volver
Práctica universitariaDeep Learning — Proyecto finalProyecto en grupo

Clasificación de especialidad médica: LSTM vs Bio_ClinicalBERT

NLP sobre transcripciones médicas con una BiLSTM propia y un transformer clínico preentrenado

Problema

Predecir a qué especialidad (10 clases) pertenece una transcripción médica.

Datos

Medical Transcriptions (Kaggle, tboyle10/medicaltranscriptions), ~2,500 transcripciones de las 10 especialidades con más ejemplos.

Fuente de datos →

Métodos

  • Limpieza de texto, tokenización y padding (tokenizer ajustado solo con train)
  • Embedding + LSTM bidireccional con EarlyStopping y ReduceLROnPlateau
  • Pesos de clase
  • Bio_ClinicalBERT congelado como extractor de embeddings + clasificador liviano (el fine-tuning completo no cabía en Community Edition)
  • Comparación por especialidad con el mismo split

Resultados

  • Test (541 transcripciones, 10 especialidades): LSTM bidireccional desde cero accuracy 0.3678 y macro-F1 0.3600; Bio_ClinicalBERT (extractor congelado + regresión logística) accuracy 0.3752 y macro-F1 0.3532.
  • BERT mejoró el recall en 5 de 10 especialidades (Cardiovascular/Pulmonary +13 pp); la LSTM mantuvo un reparto más equilibrado. El límite principal: ~2,500 ejemplos de entrenamiento.

Herramientas

PythonTensorFlow / KerasHugging Face TransformersPyTorchscikit-learnDatabricks

Trabajo universitario; no se afirma autoría individual exclusiva.