← Volver![]()
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.
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.
Galería
Herramientas
PythonTensorFlow / KerasHugging Face TransformersPyTorchscikit-learnDatabricks