<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>J. Collado-
13-23. URL: http://journal.sepln.org/sepln/ Montañez</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.18653/v1/2023.clinicalnlp-1.46</article-id>
      <title-group>
        <article-title>Detección Automática de Patologías en Notas Clínicas en Español Combinando Modelos de Lenguaje y Ontologías Médicos Automatic Pathology Detection in Spanish Clinical Notes Combining Language Models and Medical Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>León-Paul Schaub-Torre</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pelayo Quirós</string-name>
          <email>pelayo.quiros@fundacionctic.org</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Helena García-Mieres</string-name>
          <email>helenagmieres@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CTIC Technology Centre. W3C Spain Ofice host</institution>
          ,
          <addr-line>Ada Byron 39, Gijón, 33203, Asturias</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>2696</volume>
      <fpage>13</fpage>
      <lpage>23</lpage>
      <kwd-group>
        <kwd>eol&gt;language model</kwd>
        <kwd>biomedical</kwd>
        <kwd>ontology</kwd>
        <kwd>hybrid method</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introducción</title>
      <p>de los informes de más de 50 países, incluyendo
España, tanto de tipo fotográfico (radiología, ecografía,
etc.), como textual. Esto permite tener un contexto
y un historial de cada paciente, así como facilitar los
seguimientos [1]. Sin embargo, la aceleración de esta
digitalización en los últimos 15 años, con la
globalización de Internet a alta velocidad y de la
capacidad de los servidores, ha provocado un crecimiento
de la cantidad de datos. Es por eso por lo que
el procesamiento del lenguaje natural (PLN) tiene
gran potencial como herramienta de ayuda a los
1https://www.iso.org/committee/54960.html
médicos para facilitarles el trabajo de seguimiento gravedad de la patología y un último modelo que,
de pacientes, al preanalizar los EHR [2] extraer en- gracias a los anteriores, predice qué patología es.
tidades (NER) [3], o predecir las patologías que Los informes utilizados provienen de EHRs y son
padece una persona [4]. En paralelo, los progresos notas clínicas de pacientes escritas por médicos, que
en aprendizaje profundo [5] desde los años 2010 y los pueden ser de primera cita o un seguimiento. Cada
transformadores a partir de 2018 [6] han permitido informe tiene dos etiquetas asociadas: la patología
la creación de modelos más precisos [7]. Combi- y una codificación de la patología. Estos informes
nando ambos avances, en los últimos años se han provienen de la unidad de dermatología de distintos
desarrollado modelos pre-entrenados de lenguaje centros de salud de España. Han sido anonimizados
especializados en el vocabulario médico, y ajusta- de manera semi automática con técnicas basadas en
dos (fine-tuned ) para las aplicaciones mencionadas reglas simbólicas. Las contribuciones que realizamos
[8, 9, 10]. En lengua española y en cualquier otro con el trabajo actual son las siguientes:
idioma distinto del inglés [11] los recursos existentes
son limitados, pero modelos como los desarrolla- • Un conjunto de datos anonimizado de EHR
dos por [12, 13] consiguen resultados comparables a de dermatología en español, público y de
modelos en lengua inglesa para tareas de extracción libre acceso2.
de información, [14] como es el caso de para NER. • Una nomenclatura de patologías
dermatológ</p>
      <p>Sin embargo, son pocos los trabajos que se en- icas que viene a enriquecer las ontologías y
focan en la predicción de una enfermedad dentro léxicos existentes.
de un informe clínico [15]. Existen trabajos de en- • Un método híbrido basado en
transforcaje léxico que han tenido éxito para conectar un madores con ontología para la tarea de
clasiinforme y un concepto (por ejemplo, enfermedad o ifcación de las EHR con respecto a las
patipo de enfermedad) [16, 17], logrando superar a los tologías posibles.
trabajos de ontología y de semántica de la última
década [18, 19]. Pese a ello, apenas existen corpus Además de la introducción en la Sección 1, el
de referencia para tener a la vez informes médicos artículo se divide en otras cuatro secciones. En la
en español y la patología asociada, habiendo identi- Sección 2 se presenta un estado de la cuestión donde
ifcado como única referencia el corpus CARES [ 20], resumimos tanto los métodos que se asemejan al
si bien está centrado en datos radiológicos. Tam- nuestro como los recursos lingüísticos que existen.
poco se ha detectado un método del estado de la En la Sección 3 se proporciona una descripción de
técnica que sea capaz de predecir a qué patología(s) nuestra metodología y de la arquitectura final del
corresponde un determinado informe médico. modelo. La Sección 4 se centra en los resultados.</p>
      <p>Por otra parte, la motivación de este trabajo viene La Sección 5 aborda la discusión, conclusiones, y
dada de no ser NER una tarea adaptada a nuestro los posibles trabajos futuros.
problema por dos motivos:</p>
    </sec>
    <sec id="sec-2">
      <title>2. Estado de la cuestión</title>
      <sec id="sec-2-1">
        <title>1. No tenemos un conjunto de datos etiquetado</title>
        <p>en entidades nombradas (EN), lo cual
supondría realizar una campaña de etiquetado y
contar con un conocimiento experto del cual
no disponemos.</p>
        <p>La minería de texto en informes clínicos es un campo
importante del PLN desde hace años [23]. Sin
embargo, la cantidad de trabajos relacionados con la
extracción de información en el ámbito médico ha
2. Aunque tuviéramos ese conjunto etiquetado, florecido con la expansión de los EHR [24].
un análisis cualitativo de los datos muestra En este sentido, a principios de los 2000 se solía
que la presencia de ciertas EN no se corre- utilizar una combinación de ontología y de web
sponden con la patología que hemos de prede- semántica para extraer nombres de enfermedades o
cir. Por ejemplo, en el caso de sospechas, du- de medicamentos [25, 26]. Además, las ontologías se
das o negaciones, el informe puede contener utilizaban combinadas con algoritmos estadísticos
una EN como “Se sospecha una queratosis [27].</p>
        <p>aparente que resulta ser un bulto maligno”. La mayoría de los trabajos en este campo son en
Buscamos resolver este problema, para lo cual pre- inglés, pero algunos como [3, 28] emplearon textos
sentamos un método híbrido que combina los trans- en español. A partir de 2010 se empezaron a usar
formadores con un modelo basado en RoBERTa redes neuronales como los LSTM [29], dado que
[21] y ontologías [22]. Con este fin, creamos con tienen capacidad para retener relaciones entre las
ellos modelos en cascada: detectan el tipo (síntoma,
proceso neoplásico, etc.), el sitio anatómico y la 2https://huggingface.co/fundacionctic/DermatES
frases. Estas redes se utilizaron para el NER médico 3.1. Descripción del conjunto de datos
tanto en lengua inglesa [30] como española [31].</p>
        <p>Aun así, los trabajos que buscan asociar la totali- Los datos utilizados se corresponden con notas
clínidad del texto a un concepto de patología son escasos cas de hospitales españoles con respecto a consultas
en comparación con los que aspiran a detectar las de dermatología, tanto de primera consulta como
patologías nombradas. de revisiones posteriores. Dichos datos vienen
da</p>
        <p>En conjuntos de datos en inglés encontramos dos en ficheros individuales en formato HL7 ( Health
MIMIC [32] y MIMIC-III [33]. Por otro lado, en es- Level 7 ) [50], el cual se trata de un conjunto de
pañol está el conjunto privado [34], SPACCC (Span- estándares internacionales que permiten el
interish Clinical Cases Corpus) que no contiene etique- cambio, integración, compartición y recuperación
tado [35] o PharmacoNER [36] pero también para de datos electrónicos de salud. Además, facilita que
NER. El conjunto en español que más se asemeja la comunicación entre diferentes sistemas sea más
al del presente trabajo es el CodiEsp [37] pero está ágil y fiable. Nuestro corpus contiene 8881 informes
etiquetado en diagnóstico y procedimiento. Para y 173 patologías dermatológicas diferentes. Cada
consultar conjuntos de datos existentes, se puede informe contiene una sola etiqueta de una patología
consultar la amplia lista creada por [38]. dermatológica y estamos ante un caso de
clasifi</p>
        <p>En general, siendo los datos de salud sensibles, cación multiclase. Los informes clínicos ligados a 43
y con la necesidad de cumplir el RGPD3 [39], es variables de diversa índole, incluidas el nombre y el
imprescindible anonimizar los datos clínicos [40]. código de la patología. Dado el objetivo planteado
Como métodos explorados de anonimización, [41] en este proyecto, se ha limitado dicho conjunto a
usan BRAT [42] para anonimizarlos. [43] muestra dos variables de interés: el texto escrito por parte
que un modelo híbrido hace casi imposible la rei- del facultativo sobre la consulta en lenguaje natural,
dentificación de las personas. En conjunto con estos y la variable que ofrece la patología diagnosticada
trabajos, nos inspiramos en [44] y MEDOCCAN al paciente dentro de la taxonomía considerada por
[45] para anonimizar los nuestros. el sistema de recogida. Un ejemplo del conjunto de</p>
        <p>Por otro lado, respecto a los métodos que clasifi- datos está ilustrado en la Figura 1.
can el texto entero en vez de realizar NER, encon- Teniendo en cuenta el número de patologías y
tramos a [46], que emplea ontologías para prede- su reparto desequilibrado (Figura 4 en Anexo B),
cir las enfermedades en textos clínicos. [47] aplica intuíamos que incluso con nuestro método híbrido,
los transformadores inspirados en BERT [48] para muchas clases iban a ser obviadas durante el
entrecrear encajes léxicos médicos. Los trabajos que ofre- namiento del modelo. Es por eso que estudiamos
cen mejores resultados en términos de exactitud y definir el umbral del mínimo de ejemplos por
paprecisión son los que combinan la potencia lingüís- tología que maximice la precisión del modelo sin
tica de los modelos de lengua masivos (LLM) y de perder demasiadas patologías. Decidimos guardar
las ontologías, por lo que nos inspiramos en estos las 25 patologías más representadas que
corresponpara diseñar nuestro trabajo. Por ejemplo, [49] im- den a un mínimo de 61 ejemplos por categoría. En
plementaron transformadores BERT y ontologías el anexo A.6 explicamos que ese umbral es el
ópmédicas, obteniendo los mejores resultados sobre timo para conservar cierto número de categorías sin
MIMIC. Hasta donde alcanza nuestro conocimiento, mermar la eficacia de los modelos y en el anexo.
no existe un trabajo en español que describa cómo El conjunto de datos no ha sido lematizado o
predecir la patología de un paciente a partir del pasado por otros preprocesamientos clásicos tal y
EHR textual utilizando estos métodos. como tampoco lo hicieron [51] explicando que los
modelos de lenguaje hoy en día son capaces de
procesar textos brutos.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Metodología</title>
      <sec id="sec-3-1">
        <title>3.2. Anonimización</title>
        <p>3https://www.hacienda.gob.es/es-ES/El%
20Ministerio/Paginas/DPD/Normativa_PD.aspx
En esta sección presentamos el conjunto de datos
que creamos y procesamos, así como la técnica de A lo largo de este apartado se detalla el proceso de
anonimización que usamos para proteger la privaci- anonimizado del conjunto de datos. Los datos
médidad de su contenido. Finalmente, describimos los cos pueden presentar información sensible que no ha
modelos que utilizamos además de nuestro método de compartirse. Por esta razón, se ha procedido con
híbrido: transformador-ontología con modelos en diferentes fases semi-automatizadas que permitan
cascada. enmascarar información de carácter privado. En
un primer nivel, se ha procedido a eliminar todo
aquel contenido numérico que aparezca en dichos
Figura 1: Ejemplo del conjunto de datos. A la izquierda, el informe de primera consulta o de seguimiento. A la
derecha, la patología a predecir.
mensajes. Esto se debe a que dicha información está • Se añaden un total de 43 excepciones que
ligada a información sensible: fechas, años, edades puedan ser relevantes para el ámbito
particuo diferentes identificadores (DNI, identificador del lar de la dermatología (cabello, seco, benigno,
paciente, etc.). Por otro lado, se ha abordado la etc.).
detección de otros tipos de información sensible, • Se enmascaran patrones que han sido
identique en lugar de eliminar como se ha hecho con los ifcados como candidatos a contener
informacaracteres numéricos, se ha procedido con su en- ción sensible (texto posterior a los términos
mascaramiento con la etiqueta “[Entidad]”. En este dr, dra, doctor, doctora).
caso, se han tratado entidades como nombres
propios, apellidos, ciudades/localizaciones o nombres Con esto, se genera un conjunto de textos
anonde hospitales. Para llevar a cabo este paso, se ha imizado y enmascarado, que se ha procedido a
procedido con la identificación de diferentes fuentes analizar para validar que la información está
proteexternas que permitan localizar tal información, ha- gida. Para ello, se ha realizado una revisión manual
ciendo uso de las siguientes: por parte de dos revisores:</p>
        <p>4https://www.ine.es/dyngs/INEbase/
es/operacion.htm?c=Estadistica_C&amp;cid=
1254736177009&amp;menu=resultados&amp;idp=1254734710990
5https://corpus.rae.es/lfrecuencias.html</p>
        <sec id="sec-3-1-1">
          <title>En la Figura 2 se presenta dicha partición gener</title>
          <p>ada, así como los tamaños exactos de cada uno de</p>
          <p>Así, el proceso de enmascaramiento se ha desar- los conjuntos.
rollado del siguiente modo: Así, se ha validado si el anonimizado de cada
texto ha sido adecuado o si se ha equivocado
pro• Se han identificado todas aquellas apariciones tegiendo información innecesaria o no protegiendo
de los nombres propios de hombre o mujer información sensible.</p>
          <p>más frecuentes. Tras dicha revisión, se han identificado casos
par• Se han identificado todas aquellas apariciones ticulares a corregir y patrones generalizados. Se
de los apellidos más frecuentes como primer han corregido con iteraciones posteriores análogas
apellido. para garantizar la correcta protección de dicha
in• Entre dichos nombres y apellidos, se filtran formación.</p>
          <p>aquellos que estén entre los términos más A nivel de acuerdo interjueces, de las 112
observafrecuentes para que no sean filtrados. ciones comunes, los revisores solo han discrepado en
4. Dichos errores han sido analizados y subsanados
en el proceso semi-automático previo para todo el
conjunto.
• Lista de apellidos y nombres de hombre y
mujer más frecuentes en España, proporcionados
por el INE (Instituto Nacional de
Estadística)4.
• Lista de palabras más frecuentes en el
lenguaje español mediante recursos
proporcionados por la Real Academia Española
(RAE) ligadas al Corpus de Referencia del</p>
          <p>Español Actual (CREA)5.
• Lista con las ciudades y hospitales más
habituales dentro de la fuente de datos utilizada.</p>
          <p>• Se ha seleccionado una muestra del conjunto</p>
          <p>de datos anonimizado del 10% del total.
• Se ha realizado dicha selección de forma
estratificada con respecto a la categorización
del texto original.
• Dicho conjunto se ha dividido a su vez en dos
subconjuntos del mismo tamaño, donde cada
uno de ellos tiene entradas únicas y entradas
compartidas entre sí.
3.4.1. Tratamiento del desequilibrio de clases
El desequilibrio presente en los datos implica que
la mayoría de las clases tienen una cobertura casi
nula y provocan un sobreentrenamiento del modelo
con las tres primeras clases. Para remediar este
problema intentamos reducir la dimensionalidad no
de manera matemática con PCA [54] o T-SNE [55],
sino con modelos en cascada, cada uno tratando de
resolver una tarea más simple y agregando su salida
a la entrada del siguiente modelo, hasta ser capaz de
predecir la patología exacta. Nos inspiramos en [56]
y [57], quienes utilizaron este método para el NER y
para el reconocimiento de voz, respectivamente. Por
otro lado, en vez de usar métodos probabilísticos
para reducir la variabilidad de las clases,
introducimos determinismo en la arquitectura de nuestro
método mediante ontologías que permiten extraer
el tipo de patología, el sitio anatómico afectado,
la gravedad o la intensidad. Esto nos permite
reagrupar las patologías en relaciones semánticas mas
genéricas que consiguen mejorar la precisión a la
hora de predecir la patología en cada informe.</p>
          <p>Figura 2: Representación gráfica de la partición generada
para la validación de la anonimización realizada.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.3. Modelo de lenguaje</title>
        <sec id="sec-3-2-1">
          <title>Dada la potencia y la cantidad de datos necesarios</title>
          <p>para entrenar un modelo de lenguaje [52], la opción
más eficiente para poder usar transformadores es
realizar fine-tuning . El objetivo de esto es encon- 3.4.2. Ontologías médicas y traducción
trar el modelo preentrenado que mejor se ajuste a
nuestros datos y a la detección de una patología. Hubieron trabajos previos que combinaban
aprenPara este problema, elegimos el bsc-bio-ehr-es6, un dizaje automático y ontologías [58], pero dadas las
modelo preentrenado de lenguaje biomédico-clínico características tanto lingüísticas como de
dificuldiseñado para el idioma español. El modelo ha sido tad de la tarea, nuestro método es original en
térpreentrenado utilizando datos de textos biomédi- minos de extracción de información y de
combicos y clínicos en español para aprender patrones nación de modelos especializados. Aunque existen
lingüísticos específicos. Se basa en la arquitectura ontologías en lengua española como ONTERMET
de RoBERTa [53]. Sin embargo, los resultados (pre- [59] o ECIEMAPS [60], tienen el inconveniente de
sentados en la Sección 4.3) evidenciaron la dificul- ser demasiado especializadas o poco completas. Por
tad que tiene un único modelo para aprender a este motivo decidimos traducir de forma automática
detectar enfermedades, por lo que enriquecimos el [61] el nombre de las patologías de nuestro conjunto
entrenamiento usando información de ontologías de etiquetas del español al inglés con la API Google
médicas y varios modelos en cascada, donde cada Translate y usar ontologías médicas más generales
uno aprende informaciones específicas de lo datos. y completas como UMLS [62], SNOMED [63],
MedDRA [64] y HumanDO [65, 22].
3.4. Ontologías utilizadas y modelos en cas- Tras esto, se ha accedido a dicha información a
cada través de las bibliotecas de Python PyMedTermino
y PyMedTermino2 [66], así como medcat [67] ,
disA lo largo de esta sección, abordamos en un primer eñadas para acceder a estas ontologías. Con estas
nivel el tratamiento del desequilibrio de la variable herramientas, identificamos la codificación
correobjetivo, seguido por la revisión de las ontologías spondiente a cada ontología de las enfermedades
médicas y traducción aplicadas, con un apartado analizadas de forma semisupervisada, revisando que
ifnal centrado en los modelos en cascada propuestos. la identificación se ajuste a la enfermedad real y no
a posibles variaciones similares.</p>
          <p>Analizando las características y metadatos de
dichas ontologías, extrajimos varios metadatos
relevantes. Primero, utilizando SNOMED es posible
identificar diferentes sitios anatómicos de la
patología a través del finding site . Luego, usando
6https://huggingface.co/PlanTL-GOB-ES/bsc-bioehr-es
Figura 3: Arquitectura de nuestro método (en rojo las etapas solo de entrenamiento, en verde las de entrenamiento
e inferencia).
de manera combinada UMLS, ICD-10 y MedDRA,
extrajimos el tipo y la gravedad de la enfermedad.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Para extraer estas características nos hemos inspirado en la clasificación de características predictivas dermatológicas propuesta en [68].</title>
          <p>3.4.3. Modelos en cascada</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Los modelos en cascada aprenden las relaciones</title>
          <p>mencionadas en la Tabla 1 (ampliada en la Tabla 8
del Anexo B).</p>
          <p>Una vez que hemos extraído de los conceptos
(las etiquetas traducidas) las relaciones comunes
existentes en la ontología, entrenamos el
bsc-bioehr-es para predecir cada una de ellas (ver Tabla
1). Cada relación predicha sirve para predecir la
siguiente. En la Sección 4 mostramos en qué orden
deben de ser aprendidas las relaciones. La Figura 3
ilustra nuestro método:
ciones son un oráculo. En modo inferencia,
las relaciones son generadas por el modelo.
3. Cada modelo intermediario recibe como
entrada los informes y una relación del modelo
previo.
4. En cada etapa de la cascada, es decir cuando
un modelo ha realizado su predicción, se
descodifica cada una de ellas y se concatena
con el informe inicial, y se vuelve a vectorizar
el conjunto informe-relación predicha
mediante el tokenizador del bsc-bio-ehr-es. En la
ultima etapa, el vector de entrada contiene
una representación del informe y de las tres
relaciones.
5. Un modelo final aprende a predecir la
patología a partir de los informes y de la salida
del último modelo intermediario.
1. Extraemos del corpus el nombre de las pa- 4. Experimentos y resultados
tologías, las traducimos, las convertimos
en conceptos y recuperamos las relaciones En esta sección describimos los resultados de nuestra
ligadas a esos conceptos dentro de las on- arquitectura comparada con modelos de referencia,
tologías. y evaluamos su rendimiento.</p>
        </sec>
        <sec id="sec-3-2-4">
          <title>2. Por cada relación extraída, entrenamos un modelo. En modo entrenamiento, las rela</title>
          <p>Tabla 1
Nomenclatura generada a partir de las características extraídas con Pymedtermino (muestra de las 5 enfermedades
más frecuentes, versión completa con todas las enfermedades y frecuencias de aparición en la Tabla 8 del Anexo B)
Enfermedad
carcinoma de células basales
psoriasis
nevus melanocítico
acné
queratosis actínica</p>
          <p>Tipo
proceso neoplasico
proceso autoinmune
precancer
enfermedad
precancer</p>
          <p>Gravedad
importante
inofensivo
inofensivo
leve
inofensivo</p>
          <p>Sitio
piel
extremidades
todo
todo
piel</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>4.1. Enriquecimiento con ontologías</title>
        <p>Esta estrategia consiste en entrenar un modelo
previo al de clasificación de informes: se trata de un
modelo intermediario para aprender el tipo de
enfermedad. Para eso, usamos UMLS [62] para
recuperar los tipos de patología, SNOMED para el
sitio anatómico y ICD10 para la gravedad7.
Traducimos de manera automática el nombre de las
enfermedades con Google Translate.</p>
      </sec>
      <sec id="sec-3-4">
        <title>4.2. Modelos</title>
        <sec id="sec-3-4-1">
          <title>Se han considerado diferentes enfoques para este modelado, tanto haciendo uso de técnicas basadas en transformadores, como modelos de aprendizaje supervisado de clasificación.</title>
        </sec>
        <sec id="sec-3-4-2">
          <title>En cuanto a aquellos basados en transformadores,</title>
          <p>se han utilizado los siguientes:
• BETO [69]. Tal y como indican sus autores,
se trata de un modelo BERT entrenado con
un corpus en español, utilizando la técnica
Whole Word Masking.
• bsc-bio-ehr-es [21]. Modelo generado por
el BSC (Barcelona Supercomuting Center ),
utilizando de base un gran corpus de textos
biomédicos en español.</p>
        </sec>
        <sec id="sec-3-4-3">
          <title>Además, el segundo de estos modelos ha sido</title>
          <p>tratado a través del tuneado de hiperparámetros.</p>
        </sec>
        <sec id="sec-3-4-4">
          <title>Se especifican esos hiperparámetros y el material</title>
          <p>usado para entrenar los modelos en el Anexo A.3.</p>
        </sec>
        <sec id="sec-3-4-5">
          <title>En lo que respecta a modelos clásicos de apren</title>
          <p>dizaje automático de clasificación, se ha recurrido a
tres de los algoritmos más habituales: la regresión
logística, las máquinas de vector soporte (SVM) y
los Random Forest.</p>
          <p>Se han propuesto dos enfoques:
• El modo oráculo (OR): el modelo8 conoce el
tipo, el sitio anatómico y la gravedad de la
7Se descartó MedDRA por no aportar más que las otras
8https://huggingface.co/fundacionctic/oracle-dermat
patología. El objetivo de este modo es
demostrar la necesidad de información externa
para realizar la tarea de clasificación.
• El modo predictivo (PR): el modelo final 9
debe predecir las tres características
mencionadas, en el orden óptimo. Cada
inferencia de una característica debe ayudar a la
predicción de la siguiente. El objetivo de este
modo es demostrar que nuestro modelo tiene
una aplicación real y útil para la comunidad
médica.</p>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>4.3. Resultados y evaluación</title>
        <p>De cara a generar una comparativa de OR y PR,
hemos seleccionado las siguientes métricas:
• Exactitud. Proporción de predicciones
correctas sobre el total de predicciones
realizadas.
• F1-score. Media armónica de la precisión
y el recall. Para problemas multiclase, el
F1-score puede calcularse de manera macro
(media de f-score de cada clase) o micro
(media entre falsos positivos, falsos negativos y
reales positivos de todo el conjunto).
• Exactitud top-k. Proporción de casos en los
cuales la clase verdadera está entre las k
predicciones más probables del modelo. Esta
métrica es útil cuando no solo importa la
predicción más probable, sino también otras
alternativas que el modelo considere
razonables. Para todo este artículo, consideramos
(k=2).
• F1-score top-k. Extensión del concepto de
F1score considerando las k clases más probables
predichas por el modelo.</p>
        <sec id="sec-3-5-1">
          <title>Inspirándonos en los trabajos de [70, 71] en aprendizaje automático y [72] en la tarea de POS-tagging,</title>
          <p>9https://huggingface.co/fundacionctic/predict-dermat
Tabla 2 que pasamos del 0.5 de precisión con el modelo
Tabla con los resultados intermediarios para tipo (t), “vanilla” a 0.66 con la mejor combinación de
inforgravedad (gr) y sitio (sit) de cada enfermedad mación. Es notable que la mejor combinación de
características en cascada sea la de tipo seguido
Cat. info. Prec. Micro F1 Macro F1 por sitio y gravedad, puesto que la gravedad solo
t 0.57 0.56 0.38 tiene 4 variables, lo que nos hacía intuir que su
gr 0.57 0.56 0.41 aprendizaje sería más sencillo. Estos resultados
consit 0.68 0.67 0.59 ifrman nuestras intuiciones: la necesidad de buscar
t → gr → sit 0.70 0.68 0.58 informaciones externas para el entrenamiento del
gr → t → sit 0.62 0.61 0.51 modelo y la necesidad de buscar en qué orden hay
sit → gr → t 0.72 0.71 0.62 que aprender estas informaciones para optimizar el
sistema final de clasificación, así como la eficacia
del bsc-bio-ehr-es para nuestra tarea. En la Tabla
consideramos que profesionales médicos usando nue- 4 se presentan los mejores resultados en OR y PR
stro modelo pueden ver más informativo tener no para las 5 patologías más frecuentes.
una sino dos predicciones (viendo la cantidad de
clases posibles), al parecerse esto más al estilo de de- 4.4. Análisis de errores de los modelos
cisión natural humano, y dejando que sea el médico
el que tenga el veredicto final de la enfermedad. Tras la generación de estos modelos se ha
proce</p>
          <p>Estas métricas han sido obtenidas para todas las dido a realizar un análisis de errores de la mejor
configuraciones contempladas en esta investigación. configuración PR y del mejor OR.
Las flechas corresponden a los diferentes modelos en Por un lado, la poca precisión de los tres
modecascada: cada característica predicha se convierte los clásicos de aprendizaje supervisado (regresión
en característica conocida para el siguiente modelo. logística, SVM, Random Forest) tiene como posible
causa la incapacidad de generalizar sobre etiquetas
poco frecuentes. La principal limitación de los
mod4.3.1. Resultados modelos intermediarios elos clásicos de machine learning está en su falta
Exponemos en la Tabla 2 un resumen de los resul- de memoria de contexto: cuanto más largo sea un
tados obtenidos con el bsc-bio-ehr-es en PR sobre texto, más costoso es para la máquina recordar el
cada uno de los tres componentes del sistema de cas- contenido del principio. Las altas dimensiones de
cada: tipo, gravedad y sitio de la enfermedad. Los embeddings tampoco ayudan, puesto que la cantidad
detalles de todos los resultados se pueden encontrar de variables a aprender es exponencial.
en el Anexo A.4. Examinando las categorías de enfermedad donde</p>
          <p>La mejor combinación de categorías intermedi- más erran los modelos, concluimos que las
discreparias en cascada parece ser primero predecir el sitio ancias son debidas a que las enfermedades
confundide la enfermedad, seguido por la gravedad y por das comparten zonas del cuerpo afectadas similares,
ifn el tipo. Observemos ahora si se refleja en la niveles de gravedad parecidos, y algunas
descrippredicción final de la enfermedad. ciones de aspecto visual y síntomas compartidos.</p>
        </sec>
        <sec id="sec-3-5-2">
          <title>Por otro lado, a excepción de los cánceres, el mod</title>
          <p>4.3.2. Modelo final de predicción de enfermedad elo tiende a confundir enfermedades cuya apariencia
física son las protuberancias. La confusión más
freEn todas las combinaciones de experimentos, bien cuente es entre el carcinoma de células basales y
sea con modelos de aprendizaje automático clási- de células escamosas, representando 844 de 2334
cos o con transformadores ajustados, se trata de errores. Aunque pueden aparecer en cualquier parte
una tarea de clasificación supervisada multiclase del cuerpo, es más probable que estas enfermedades
monoetiqueta. se desarrollen en áreas expuestas al sol, como la</p>
          <p>Observando la Tabla 3, se puede apreciar cómo los cabeza, el cuello y los brazos. La diferencia clave
mejores resultados con respecto a las cuatro métri- entre ellos es su gravedad, siendo el carcinoma
escas se obtienen para el modelo basado en ontologías camoso más agresivo. Otra confusión frecuente
con todas las informaciones añadidas, existiendo del modelo es el acné con la queratosis
seborreuna diferencia sustancial con el resto de opciones. ica con 325 errores. Estas enfermedades tienen
En OR, cuando el modelo conoce las informaciones similitudes en aspecto visual (protuberancias,
ende las ontologías, los resultados superan el 0.84 rojecimiento, picazón) y en lugares de aparición
de precisión absoluta y el 0.92 en precisión top-k. (cara y torso). Son dos condiciones dermatológicas
En PR, la ganancia también es significativa puesto que pueden parecerse en textos descriptivos, lo que
Tabla 3
Tabla con las métricas obtenidas para cada configuración considerada (AAC: aprendizaje automático clásico; TR:
transformador; PR modo predictivo; OR modo oráculo; bsc bsc-bio-ehr-es)</p>
          <p>Modelo
Regresión logística (AAC)
SVM (AAC)
Random Forest (AAC)
PR BETO (TR)
PR bsc (TR)
PR bsc (TR) + gr → sit → t
PR bsc (TR) + sit → gr → t
PR bsc (TR) + t → gr → sit
PR bsc (TR) + t → sit → gr
OR bsc (TR) + t
OR bsc (TR) + gr
OR bsc (TR) + sit
OR bsc (TR) + sit → t
OR bsc (TR) + t → sit → gr</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5. Discusión, conclusión y líneas de trabajo futuras</title>
      <sec id="sec-4-1">
        <title>De manera general, los errores cometidos por el</title>
        <p>modelo pueden ser explicados, pese a la dificultad
de la tarea (muchas enfermedades posibles, informes
médicos que pueden ser tanto de primera cita o de
seguimiento).</p>
        <p>Debido a estos errores hemos decidido usar una
métrica basada en el top-k en vez de la exactitud
estricta. Si este sistema se utiliza en un entorno
médico, entendemos que un profesional prefiere
tener que elegir entre 2 posibles diagnósticos en
vez de 25. Es también interesante mencionar que
el mejor escenario en PR es cuando el modelo tiene
que aprender tanto el sitio anatómico como el tipo y
la gravedad de la enfermedad antes de adivinar esta
última. Concluimos que un transformador necesita
esa información externa para realizar la clasificación
porque su modelo de lenguaje no es suficiente. En
un primer momento, intuíamos que el modelo que
aprende primero de la gravedad daría el mejor
resultado, puesto que esta variable solo tiene 4 categorías
(inofensiva, leve, moderada, extrema). Sin embargo,
el mejor resultado lo da un modelo que aprende
primero el tipo de enfermedad, seguido por el
lugar y al final la gravedad de la enfermedad. Eso
significa, y es lógico a nivel médico, que primero
se detecta el tipo de patología, antes de intentar
adivinar su gravedad.</p>
        <p>Como conclusiones, nuestro trabajo presenta
varias contribuciones importantes. Primero,
proporcionamos un nuevo conjunto de datos de EHR en
español de dermatología, anonimizado y etiquetado
en patologías. Segundo, proponemos un método
novedoso para predecir en EHR la patología que
padece una persona. Tercero, este método es un
sistema híbrido compuesto por varios modelos
transformadores especializados puestos en cascada que
usan como entrada además de los EHR, la salida
del modelo precedente. El último modelo es el que
predice la patología exacta. Los resultados
muestran que los modelos en cascada son más eficaces
que un solo modelo para distinguir enfermedades
poco frecuentes. Eso significa que un solo modelo
de extremo a extremo de transformadores no es
suficiente para distinguir un concepto de patología
entre varias decenas en un EHR, pero además que el
uso de ontologías externas es necesario para que los
transformadores aprendan conceptos intermediarios
relacionados con la patología, de forma similar al</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Agradecimientos</title>
      <p>Agradecimiento a la entidad SATEC por
proporcionar el conjunto de datos, a la Fundación CTIC
que puso a nuestra disposición todo el material y
los recursos. Agradecemos a los revisores así como
a Bea de Otto por la lectura y los comentarios
pertinentes que mejoraron el articulo. Agradecemos y
felicitamos al BSC por el modelo bsc-bio-ehr-es.
aprendizaje humano. Aun así, los resultados
muestran un margen de mejora importante. Esto puede
abordarse desde diferentes puntos de vista, como el
etiquetado manual de los EHR en primera cita o cita
de seguimiento, la búsqueda de nuevas relaciones
ontológicas (como por ejemplo características de
etiología más exhaustivas), o probar modelos
diferentes para aprender cada característica.</p>
      <sec id="sec-5-1">
        <title>Como posible línea de trabajo futuro proponemos</title>
        <p>automatizar el uso de ontologías mediante el RAG
[73], como en BiomedRAG [74] así como el uso de</p>
      </sec>
      <sec id="sec-5-2">
        <title>NegEx [75] para evitar los falsos positivos, acom</title>
        <p>pañado de nuestro sistema de modelos en cascada
para eliminar el determinismo a la hora de
encontrar relaciones de concepto para convertirse en un
modelo de extremo a extremo.
relaciones entre cada informe y la enfermedad
asociada a éste.
amos un modelo en modo supervisado para
aprender ese elemento.
4. Una vez que cada modelo está entrenado,
su predicción del elemento se concatena con
la entrada original, y sirve de nueva entrada
para entrenar el modelo a predecir el próximo
elemento del paquete.
5. Entrenamos otro modelo con el próximo
elemento del paquete y la nueva entrada.
6. Cuando todos los elementos han sido
aprendido por los diferentes modelos en cascada,
se entrena un último modelo con la entrada
original enriquecida por la última salida (con
todos los elementos predichos) para predecir
la enfermedad.
7. Una vez que todos los paquetes están
procesados, se comparan los modelos y se elige el
1, 
do
+ 
do
2
(
do
(
)
)
)
Algoritmo 2 Modelos en cascada
2. Luego, por cada ontología en nuestra lista
tenemos diferentes relaciones, por lo que es
importante usarlas todas. A partir del
nombre de la enfermedad traducida en inglés
tenemos tres opciones:
a) Si es SNOMED, extraemos el sitio del
cuerpo y de la piel afectados.
b) Si es UMLS, extraemos el por la
enfermedad.</p>
      </sec>
      <sec id="sec-5-3">
        <title>c) Si es ICD10, extraemos la gravedad</title>
        <p>de la enfermedad mediante la
interpretación de la información sobre si
es una afección mayor o menor, y si
conlleva morbilidad.</p>
        <p>Algoritmo 1 Extracción de relaciones
1: load pymedtermino library
2: for 
= 1, 2, . . . , 
do
translate 
for 
if   
else if   
else
. 
.
.
  
if ℎ</p>
        <p>(
 
 
 
 
else if ℎ
else if ℎ
else
end if
(ℎ
(
(
(
(
(

with Google API
= 1, 2, . . . ,</p>
        <p>do
then
then
()
)
) then
)
) then
()</p>
        <p>()
)
) then
)
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:</p>
        <p>end if
end for
22: end for</p>
        <sec id="sec-5-3-1">
          <title>A.2. Algoritmo de los modelos en cascada</title>
          <p>En este apartado, explicamos el funcionamiento de
los modelos en cascada (Algoritmo 2):</p>
        </sec>
      </sec>
      <sec id="sec-5-4">
        <title>1. Realizamos la combinación ordenada de las</title>
        <p>tres relaciones que tenemos, con paquetes de
tamaño 1 o 3.</p>
        <p>dataset y lo tokenizamos.</p>
      </sec>
      <sec id="sec-5-5">
        <title>2. Por cada uno de esos paquetes, cargamos el</title>
        <sec id="sec-5-5-1">
          <title>A.3. Configuración del entrenamiento</title>
          <p>Se han identificado los siguientes parámetros del
modelo como susceptibles de tratamiento:
• Tamaño del lote (batch size). Número de
muestras de entrenamiento que se procesarán
a través de la red en una sola iteración antes
de que se actualicen los pesos del modelo.
• Tasa de aprendizaje (learning rate). Controla
cuánto se ajustan los pesos del modelo en
respuesta al error calculado en cada iteración
del entrenamiento.</p>
          <p>Tabla 5
Tabla con los resultados intermediarios para tipo, gravedad y sitio de cada enfermedad</p>
          <p>Categoría de información</p>
          <p>Precisión</p>
          <p>Micro F1</p>
          <p>Macro F1
t
gr
sit
gr → t → sit
gr → sit → t
t → gr → sit
t → sit → gr
sit → t → gr
sit → gr → t
Para cada uno de estos hiperparámetros se han (modelo A) y el método basado en el modelo
bsc• Número de épocas (epochs). Número de veces
que el algoritmo de aprendizaje trabajará
a través de todo el conjunto de datos de
entrenamiento.
contemplado diferentes valores posibles y, tras un
proceso de grid search, se ha determinado que los
valores que mejores resultados proporcionan son
batch size 64, learning rate 0.001 y epochs 10.</p>
        </sec>
      </sec>
      <sec id="sec-5-6">
        <title>Los experimentos se llevaron a cabo mediante</title>
        <p>una NVIDIA GeForce RTX 2080 Ti 12GB y una</p>
      </sec>
      <sec id="sec-5-7">
        <title>NVIDIA RTX A6000 50GB. Usamos la bibioteca</title>
      </sec>
      <sec id="sec-5-8">
        <title>Pytorch 2.2.1 con CUDA 12.1. Cada entrenamiento duraba entre 3 y 5 minutos dados los pocos datos en perimentos necesitaron algo mas que 96 horas para obtener los resultados presentados en el artículo.</title>
        <sec id="sec-5-8-1">
          <title>A.4. Resultados detallados de los modelos intermediarios</title>
        </sec>
      </sec>
      <sec id="sec-5-9">
        <title>En esta sección, presentamos los resultados de varias</title>
        <p>combinaciones en la Tabla 5 que se llevaron a cabo
ble.</p>
        <p>Tratándose de variaciones sin repetición, el
numero total de combinaciones posibles es de la
forma:
︁∑
(variaciones) de tamaños 1 a 3 sin repetición es:
3!
(3 − 1)!
+</p>
        <p>3!
(3 − 2)!
+</p>
        <p>3!
(3 − 3)!
= 15.</p>
        <sec id="sec-5-9-1">
          <title>A.5. Comparativa entre los resultados de los diferentes enfoques</title>
        </sec>
      </sec>
      <sec id="sec-5-10">
        <title>Se ha llevado a cabo una comparativa del método</title>
        <p>OR completo con la información de las ontologías
bio-ehr-es vanilla sin ninguna información añadida
(modelo B) como referencia de los desarrollos
presentados en esta investigación, haciendo especial
hincapié en las mejoras que ha proporcionado el
utilizar la visión top-k, y viendo en qué situaciones
dichos cambios ha supuesto una mejora en los
resultados. Esta comparativa es presentada en la Tabla</p>
      </sec>
      <sec id="sec-5-11">
        <title>Del mismo modo, se ha observado como el modelo</title>
        <p>“psoriasis”, pueden darse razones para ello, como
la apariencia similar en ciertas situaciones
(enrojecimiento, inflamación y picazón común, pudiendo
el corpus. En total, contando el grid search, los ex- score generadas sin el uso de top-k se corresponden
para predecir la patología de la mejor manera posi- de en qué situaciones ambos modelos han mejorado</p>
        <p>Para  = 3, el número total de combinaciones indistintamente para referirse a la misma afección
Tabla 6
Tabla con las métricas (sin top-k) para las 25 patologías mas frecuentes
llegar a escamación en ambos casos), así como en cinoma de células basales”, “carcinoma de células
escuanto a la localización corporal (ambas pueden camosas”) y queratosis (“queratosis actínica”,
“queraparecer en áreas como los codos, rodillas o cuero atosis seborreica”). En este caso no son patologías
cabelludo). semejantes, por lo que el incluir top-k proporcionaría</p>
        <p>En el caso del modelo B, la principal mejora se al facultativo una alternativa sobre la que valorar
presenta en los casos en los que la enfermedad es cuál es la opción adecuada con su conocimiento
“nevus melanocítico adquirido” y se predice “nevus experto.
melanocítico” (11.89%). Los nevus melanocíticos
adquiridos y congénitos comparten varias caracterís- A.6. Resultados del modelo con diferentes
ticas, incluyendo su apariencia, histología, genética umbrales de frecuencia de cada
pay desarrollo. Sin embargo, se diferencian en el
momento de su aparición, siendo los congénitos pre- tología
sentes al nacer o en las primeras semanas de vida, La Tabla 7 muestra los resultados tanto del método
mientras que los adquiridos aparecen a lo largo de A como del B, y demuestra que el umbral de 61
ejemla vida. Esto ilustra cómo no solo el enfoque top-k plos mínimo por categoría es el óptimo para guardar
mejora la precisión de los modelos, sino que algunos un máximo de categorías sin perder la eficacia de
de los errores más comunes son entendibles dado el los modelos de clasificación.
significado de los términos confundidos.</p>
        <p>Cabe destacar también que el enfoque top-k
permite en varios casos mejorar la predicción que in- B. Información complementaria
cluye situaciones “sin diagnóstico”, proporcionando
dicha opción en casos donde el enfoque base no lo En esta sección se presenta información
complecontempla. También es reseñable cómo en ambos mentaria que sirve de apoyo a la comprensión de
métodos aparece un alto número de casos de con- los desarrollos de este trabajo. En particular, se
fusión entre diagnósticos ligados a carcinoma (“car- presenta la siguiente información:
Tabla 7
Métricas obtenidas con diferentes umbrales de ejemplos por patología A es el método con la información de las
ontologías y B el método con el bsc-bio-ehr-es vanilla</p>
        <p>Modelo
B
B
B
B
B (nuestro)
B
B
A
A
A
A
A (nuestro)
A
A</p>
        <p>Tabla 8
Nomenclatura generada a partir de las características extraídas con Pymedtermino con las enfermedades mas
frecuentes y la cantidad de aparición
Figura 4: Distribución de las enfermedades en el conjunto de datos generado.</p>
        <p>Figura 5: Matriz de confusión para modelo A.</p>
        <p>Figura 6: Matriz de confusión para modelo B.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>Para el modelo A, las métricas de precisión y F1- con 0.82 y 0.73, las cuales se han visto mejoradas con el enfoque top-k pasando a valores 0.86 y 0</article-title>
          .
          <fpage>85</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <source>B pasa de valores 0.52 y 0.42 para dichas métricas a 0.67 y 0</source>
          .
          <article-title>61 con la inclusión del top-k. Si bien en el modelo A se aprecian mejoras evidentes, es en el caso B donde existe una mejora más sustancial</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>Ilustrativamente, se presenta tabla 6 un análisis por el uso del enfoque top-k. Con respecto al modelo A, los principales errores vienen de predecir “dermatitis atópica” donde la realidad se corresponde a “eccema” (17.65%) o “psoriasis” (9.8%). En el caso de “eccema”, tiene sentido que se dé dicha confusión, dado que son dos términos que se usan a menudo cutánea. La “dermatitis atópica” es el término más específico, mientras que el “eccema” es un término más general que abarca varios tipos de inflamación de la piel. En lo que respecta a la confusión con</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>