Sistema inteligente de gestión del conocimiento de laboratorios para procesado de cultivos microbiológicos
El objetivo general ha sido llevar a cabo una investigación en tecnologías de visión y de inteligencia artificial donde hemos desarrollado un nuevo sistema inteligente de procesado de cultivos microbiológicos.
Se ha resuelto el problema de los cuellos de botella que el procesado de cultivos microbiológicos representa para los laboratorios clínicos.
Los procedimientos manuales tienen un impacto negativo en la eficiencia y productividad del laboratorio, dificultan la integración del diagnóstico con el historial del paciente y alargan el tiempo de espera del paciente.
Los retos principales han sido:
• El diseño de un sistema inteligente que controle de una forma integral las fases de preparación, incubación y diagnóstico de cultivos mediante técnicas de visión artificial y otros.
• La definición de un sistema inteligente de análisis de datos que permita implementar la previsión de epidemias.
Se han estudiado nuevas soluciones para manipular los cultivos, analizar el crecimiento de microorganismos y procesar toda esta información para realizar un diagnóstico rápido y fiable.
En este sentido, el proyecto ha estado orientado a los siguientes objetivos tecnológicos parciales:
• El diseño de un sistema integral de manejo de cultivos.
• La definición de un modelo de reconocimiento de imagen para controlar y analizar el crecimiento de las colonias.
• El diseño de un sistema inteligente de procesado y análisis de datos que permita predecir alarmas sanitarias.
Todas estas mejoras se han traducido principalmente en:
Reducción de errores, aumento de la productividad, aumento de la seguridad, y aumento de la satisfacción laboral.
Los avances científicos y técnicos que han supuesto la consecución de los objetivos del proyecto son los siguientes:
– Nuevos modelos de análisis de imagen para el control y análisis de colonias de bacterias.
– Un sistema inteligente de análisis de datos y detección de alertas sanitarias.
Se han integrado diferentes agentes inteligentes utilizando técnicas de razonamiento y de gestión del conocimiento (web semántica, ontología OWL, minería de datos, sistema experto), de manera que puedan entender el contexto local y compartir esta información para el correcto funcionamiento de aplicaciones e interfaces inteligentes en un laboratorio clínico.
La utilización de la tecnología de ontologías en este proyecto es clave debido a que el conocimiento que un técnico de laboratorio posee sobre un diagnóstico es difícilmente transferible.
Es muy importante disponer en todo momento de los datos sanitarios de un paciente. Gracias a los estándares sanitarios, entre los cuales el HL7 es el más extendido, la información sanitaria de un paciente está disponible en cualquier momento. Es por ello que este proyecto ha contribuido al estudio de estas interfaces en este área de operaciones.
También este proyecto ha permitido avanzar en la investigación de la aplicación de la minería de datos y en el proceso de extracción de conocimiento KDD, realizando análisis sobre datos históricos y aplicando algoritmos de descubrimiento de conocimiento de forma que han generado un conjunto de patrones sobre los datos.
Este proyecto ha permitido la investigación de estas tecnologías en el ámbito de laboratorios de análisis clínicos.
DocThor – Un auto-catalogador de Documentos automático en función del contenido
Desde el departamento de IA, hemos creado un pequeño aplicativo, que con técnicas de Minería de Textos y Algoritmos de Clasificación Aplicados, permite catalogar documentos en función de su contenido, en tres modos de trabajo:
– Manual
– Aprendizaje Supervisado.
– Aprendizaje No Supervisado.
La filosofía del aplicativo es sencilla. Tenemos un conjunto de categorías, y dentro de las mismas, un conjunto de Tags asignados. Un Tag puede estar más de una categoría. Según el modo de trabajo, las categorías son introducidas por los usuarios expertos (modo Manual), o son definidas de forma automática por el sistema, de dos maneras:
– Aprendizaje Supervisado:
Existen ya documentos catalogados con anterioridad (histórico), y el sistema, en base al contenido de dicha catalogación, extrae de los «tags» más representativos de cada categoría (se realiza la clasificación a partir de un árbol de decisión), y crea un modelo de clasificación que se evalua contra el resto de documentos no categorizados.
-Aprendizaje No Supervisado.
En este caso, no existe ningún documento categorizado, y el sistema, por similitud de contenido entre los documentos, los clasifica en «clusters» de conocimiento (segmentación de la información), en base a redes neuronales autoasociativas (SOM), que además, como veremos a continuación, permiten crear un mapa «GIS» que representa dicho conocimiento.
Una vez que los documentos ya están segmentados, se sigue el mismo proceso que en el Aprendizaje Supervisado, para la extracción de los «tags» representativos asignados a la categorías. En este caso, las categorías tendrán nombres genéricos (CategoriaA, B, …), y tendrá que ser el usuario experto, «a posteriori», el que les de nombres en función del contenido.
«Vectorización de los documentos»
Hemos comentado que la clasificación se hace en función del contenido del documento. Efectivamente, gracias a una técnica de Minería de Textos, denominada «vectorización», seleccionamos las palabras del documentos, las «lematizamos» (tomamos su raíz), y después, generamos un vector que contiene tantas columnas como palabras tenga el conjunto de documentos, y tantas filas como documentos. El valor de cada columna es la frecuencia relativa inversa de la palabra con respecto al documento, es decir, lo relevante que es para el documento (cuantas más veces se repita, más relevante), e inversamente proporcional a lo repetida que sea en el resto de documentos (si en todos los documentos, en un entorno de contabilidad, por ejemplo, aparece «cuenta», dicho término no es relevante en general, para clasificar los documentos…).
En la siguiente imagen se muestra un ejemplo de los documentos «vectorizados» del ejemplo anterior:
En este caso (ejemplo de las noticias de la intranet de Ibermática), el árbol de decisión utilizado para categorizar generado de forma automática es el siguiente (árbol de decisión generado por el sistema):
Por último, como los documentos están «vectorizados», por comparación de vectores, y otras técnicas (SOM), se puede generar un mapa conceptual en dónde los documentos más cercanos en un mapa serán los que estén en los mismo «valles», mientras que las montañas indicarán ausencia de documentos, y separación entre segmentaciones «temáticas»:
Los documentos pueden ser de cualquier tipo (word, excel, pdf, http, xml, …), y estar ubicados en directorios concretos, bases de datos, gestor de contenidos o en Web.
Buscadores semánticos en medicina: Codificación CIE-9 y Medicina Basada en la Evidencia
El apoyo automático a las decisiones, principalmente debido al incremento en el volumen de información, en cualquier sector es vital para el negocio, pero en medicina lo es aún más, ya que se está trabajando con conceptos que afectan a la salud.
En Ibermática existe experiencia en la generación de buscadores de contenidos (con herramientas como Lucene, o Swish-e), en documentación, banca o mantenimiento de incidencias. Sin embargo, son buscadores planos, es decir, indexan la información de alguna manera (normalmente, con el algoritmo stemmer de Porter), reduciendo las miles de palabras de un documento a sus raíces (facturación -> factur, facturé -> factur, facturado -> factur), con lo que ya tenemos un índice por el que, posteriormente, navegaremos de forma inversa para buscar la información. Como apoyo a la indexación, existen tablas públicas de palabras no indexables «stopwords», y diccionarios para la corrección automática de errores en base al algoritmos de distancias de Levenshtein.
Sin embargo, estos buscadores son «planos», es decir, la relevancia de orden de los resultados a una búsqueda se basan simplemente en la función de «frecuencia», asignada a un documento, que, básicamente, es proporcional a la «moda» de aparición de los términos buscados en cada documento, e inversamente proporcional a la aparición de dichos términos tienen en el conjunto de información.
(Por ejemplo, en un entorno de ventas, la palabra «pedido» no tendrá mucha relevancia para la indexación, ya que aparecerá en la mayoría de los documentos, es decir, no es un término que permita clasificar bien la información).
Los buscadores semánticos van un poco más allá, e intentan, dentro de un dominio concreto, como lo pueda ser en este caso los diagnósticos médicos, seleccionar los mejores resultados en base a una búsqueda no tan lineal, sino dando un peso concreto a cada uno de los índices extraídos en el paso anterior. Para realizar esta asignación de pesos, o bien, utilizamos el conocimiento de un experto, como es el caso de la codificación CIE-9, o bien, nos basamos en estructuras ya definidas por dichos expertos, y que están accesibles en formato RDF. En ambos casos, estamos hablando de ontologías, que no dejan de ser la implantación de un conocimiento en una representación jerárquica.
En este articulo, se muestran dos aproximaciones, una, la generación de un buscador indexando información de una base de datos especializada e interna, y en la segunda parte, la búsqueda de la información de forma «inteligente» en fuentes externas e internet.
CIE-9. Codificación automática de diagnósticos.
Actualmente, cada vez que se produce un ingreso hospitalario, el médico especialista diagnostica la razón de la hospitalización, y esta, por ley, debe ser codificada mediante un sistema de códigos denominado CIE-9. Para ello, todos los hospitales tienen a cierto personal médico que no ejercen como tal, sino que se dedican a codificar lo que sus compañeros codifican en Lenguaje Natural. En un Hospital, puede haber de media unas 20.000 hospitalizaciones anuales, lo que supone una carga asumible de 2.000 codificaciones a realizar al mes, es decir, 100 al día.
Sin embargo, la codificación automática se quiere ampliar a la atención primaria, en dónde, en un Hospital, puede haber una media de 60.000 consultas y 19.000 urgencias, lo que hace inviable un sistema manual.
Para ello, se está trabajando en la generación de la codificación automática de CIE-9, en base a lenguaje natural. El médico introduce sus impresiones diagnósticas en un texto libre, y el sistema, centralizado, recoge dicha información, la trata, y en función de un estudio en la relevancia de las respuestas, decide si la codifiación selecionada es válida, con lo que la asigna directamente al diagnósito, o de lo contrario, si el sistema no puede decidirse por una en concreto entre varias, las sugiere al codificador humana, para que seleccione la correcta. El sistema «aprende» de estas acciones, de forma que ante textos similares, en próximas consultas, se seleccionará ya el código correcto.
Se sigue el procedimiento descrito anteriormente, se indexa la base de datos de conocimiento en base a los «lemas» contenidos en las palabras que no estén en la tabla «stopwords», consiguiendo ya una base para un buscador «plano». Para incorporar la semántica que permita «comprender» lo que realmente quiere decir el médico, se utilizan dos fuentes externas:
– Las jerarquías de la codificación CIE-9.
– Un diccionario médico de sinónimos y siglas.
En base a esta información, y con la ayuda de un «desambiguador» gramatical, es decir, un sistema que, en base a las frases introducidas (en este caso, a la información de las descripciones CIE-9), se determina la función gramatical de cada palabra, y por ende, de cada lema. Así, en los diagnósticos médicos, habitualmente, es más importante el sujeto, que el adjetivo.
Por ejemplo, en el siguiente texto escrito por un médico: «Dolor torácico prolongado sin alteraciones electrocardiográficas sugestivas de isquemia aguda y marcadores de daño miocárdico repetidamente normales«, en una primera criba, con las palabras en el texto, ya se realiza un filtrado de todas la información de la base de datos. Sin embargo, dentro de todos los posibles diagnósticos que pueden tener relación con este texto (en concreto, 22 diagnósticos), tenemos que seleccionar aquellos que mejor se «adecuen» a lo que, semánticamente, quiere decir el médico. Para ello, no tiene el mismo peso las palabras: normales (peso=30), isquemia (peso=30), torácico (peso=10), miocárdico (peso=10), es decir, isquemia tiene más peso que los adjetivos torácico y miocárdico, pero normal tiene más peso, puesto que puede ser que exista un «marcador anormal«.
Estos pesos permiten romper la «ambiguedad» semántica de los resultados, de forma, que de los 22 posibles códigos a seleccionar, (muestro los tres primeros en la imagen):
Ordenados en función de la moda, la frecuencia inversa, y los pesos semánticos de los lemas, se selecciona el código CIE-9 correcto (78651).
Para la realización del cálculo de la función gramatical, se ha utilizado la plataforma Treetagger, con enlaces al corpus español CRATER, aplicada sobre la jerarquía CIE-9 estándar.
El sistema se complementa con una gestión de sinónimos médicos, en base al diccionario de siglas médicas (Javier Yetano), y traducción automática de siglas a sus «traducciones» médicas.
Medicina Basada en la Evidencia.
El objetivo de este buscador es la generación de guías médicas que apoyen las decisiones a la hora de generar procedimientos, diagnósticos y pautas de actuación, especialmente, en entornos en donde parte de los médicos que toman las decisiones mas importantes inicialmente son residentes, con limitada experiencia clínica (hasta un 64% en el trabajo deMenéndez y cols.), un colectivo que además suele mostrar adherencia al empleo de guías clínicas (82% en el mismo trabajo).
Para la confección de dichas guías, se accede a fuente de datos externas, de forma directa (fuentes de investigaciones, bases de datos especializadas, publicaciones de ensayos…), o de forma indirecta (generación de un meta-buscador en base a las respuestas de, por ejemplo, búsquedas en Google o Yahoo, a partir de la herramienta Dapper, entre otras….).
En este caso, la consulta que realiza el especialista también se escribe en lenguaje natural, pero se transforma en una serie de códigos utilizando un ontología muy conocida en el entorno médico, denominada SNOMED. Esta ontologia, por una parte, permite incorporar sinónimos, antónimos y un tesauro añadiendo más «expresividad» a la consulta inicial. Además, por otro lado, permite conocer la relación entre distintas patologías, diagnósticos y procedimientos, con lo que conforma un contexto preciso para realizar las búsquedas. La indexación se realiza con Sphinx, una herramienta que permite incorporar directamente los índices en bases de datos, (en algunas, no en todas), y la resolución de ambiguedades semánticas, en base a la ontología, a través de la Herramienta GATE, que permite tratar ontologías contextuales, y además, incorpora una ontología propia para el tratamiento de lenguaje natural en distintos idiomas.
Una vez obtenidos los textos de dichas fuentes, se ordenan y organizan en función de la misma función de frecuencias inversas, además de un peso dado por el tipo de fuente y su veracidad, y además, las fuentes encontradas se «anotan» para sus posteriores visualizaciones, incluyendo, en función de su contenido, «tags» de forma automática.
Finalmente, la información se presenta en forma guías, según la pirámide de Haynes, que tiene, en la base, los estudios originales individuales; a partir de estos se construyen los documentos de síntesis que se obtienen de revisiones sistemáticas como las revisiones que se pueden encontrar en Cochrane; a continuación se encuentran las sinopsis en la que se describe de forma breva algunos estudios individuales o revisiones sistemáticas, como las encontradas en las revistas secundarias basadas en la evidencia; los sumarios albergan el siguiente escalón integrando las mejores evidencias disponibles de las capas inferiores para desarrollar guías de práctica clínica o documentos que abarcan una amplia gama de pruebas o evidencias, como por ejemplo, Clinical Evidence, National Guidelines Clearinghouse; finalmente, en la cima del modelo, están los sistemas, en los que las características individuales del paciente se ligan automáticamente a la mejor y más actualizada evidencia que coincida con las circunstancias específicas del paciente y del médico, y que le proporciona a este los aspectos clave de la gestión del caso, como pueden ser los sistemas informatizados de apoyo a la toma de decisiones.
En definitiva, ambos proyectos consisten en la generación de buscadores en ámbitos diferentes (internos y externos), incluyendo unos pesos que ayuden a ordenar la información en función de un contexto determinado. En ambos casos, la información contextual del paciente o del evolutivo en estudio, es una información que ayudará a la optimización de las respuestas (es decir, saber el sexo de un enfermo determinado puede ayudar a codificar mejor un diagnóstico, o a seleccionar mejor ciertos ensayos).
Por último, los dos proyectos se pueden llegar a complementar, siendo la codificación de un diagnóstico en CIE-9 una entrada más de la MBE, o permitiendo a la MBE incorporar información adicional a el motor de codificación que permita resolver ambiguedades de forma más óptima. El nexo de unión parece que puede ser SNOMED, ya que dicha plataforma contempla las traduccionesa CIE-9 y otros formatos.
Entradas recientes
- Sonificación de datos para la supervisión de procesos en tiempo real / 1
- Tratamiento del Lenguaje Natural en Medicina mediante técnicas de IA. Caso de Uso de Hedai.
- El Futuro en Blockchain: IA & Semántica & Blockchain.
- «Semantic Learning» en Salud. Un ejemplo de Minería sobre Estructuras Semánticas
- Ibermática desarrolla un Sistema de Soporte a la Decisión Clínica para pacientes con cáncer de mama