Título: EvalSisMed: Evaluador de SBC para el Diagnóstico Médico. Su aplicación en la enseñanza. Software registrado por CENDA # 06939-6939 Autores: Lic. Yailé Caballero Mota Lic. Leticia Arco García Msc. Yanet Rodríguez Sarabia Ponente: Lic. Yailé Caballero Mota Institución: Facultad de Informática. Universidad de Camagüey País: Cuba E-mail: [email protected] Evento: VII Congreso Internacional de Informática en la Educación INFOREDU2002 Tema: La Inteligencia artificial aplicada a la Enseñanza. Resumen La evaluación de un sistema pretende estimar el grado o la medida en que el sistema responde correctamente de acuerdo a lo esperado. Esta etapa del desarrollo de un software no por ser la última carece de importancia, y es más imprescindible aún en sistemas que hacen diagnósticos en el campo de la medicina. Varios autores han propuesto métricas y medidas con el objetivo de evaluar tales sistemas. Además existen funcionales de calidad y de error que cuantifican la calidad de las respuestas que se obtienen. Este trabajo automatiza la etapa de evaluación de sistemas para el diagnóstico médico siguiendo las ideas anteriormente expuestas y sirve de apoyo a la docencia en la asignatura de Inteligencia Artificial en el tema de Evaluación de los Sistemas Basados en el Conocimiento. Introducción La evaluación es el proceso que muestra en qué medida el comportamiento del sistema es correcto, respecto a lo esperado de las especificaciones hechas en el mismo. Este proceso se debe llevar a cabo continuamente durante el diseño y desarrollo de un sistema basado en conocimiento (SBC), y la naturaleza del mismo cambiará con el desarrollo de un SBC. Se distinguen cuatro fases generales: la verificación, la validación, laboratorio de evaluación y campo de evaluación. Las dos primeras pretenden encontrar un óptimo en la ejecución del sistema mientras que las dos últimas se dirigen a valorar la calidad del sistema. Evaluación de sistemas para el diagnóstico médico El desarrollo de cualquier sistema debe incluir su evaluación; pero en particular si se trata de sistemas basados en el conocimiento médico autores como Daalen, Brender y Martín-Baranera reconocen que esta etapa es imprescindible. En tal sentido se proponen algunas métricas y medidas, y además existen funcionales de calidad y error que cuantifican la calidad de las respuestas que se obtienen. Este trabajo trata la problemática de los sistemas para el diagnóstico médico, tanto para aquellos que se traducen en una clasificación simple, es decir, un objeto o caso puede ser clasificado a lo sumo en una de las clases y por tanto las clases no se solapan, como para los de multiclasificación, o sea, un objeto o caso puede ser clasificado en varias clases. El diagnóstico es la tarea de identificar las causas del mal funcionamiento de algún dispositivo y se puede formular como “dado un conjunto de síntomas y la descripción de un dispositivo, encontrar una explicación a esos síntomas”, siendo similar a un problema de clasificación cuando existe un reducido número de posibles explicaciones. Existen diferentes enfoques para resolver problemas de diagnóstico, en los cuales se usan distintos tipos de conocimiento y mecanismos de inferencia. Ejemplos de estos enfoques son las Redes Neuronales Artificiales, los sistemas basados en reglas, los sistemas basados en casos, técnicas estadísticas como el Análisis Discriminante, etc. Muchas veces una forma de evaluar una aplicación que usa un determinado enfoque es aplicando al mismo problema un enfoque validado con anterioridad y comparar los resultados que se obtienen. Métricas y medidas para problemas de clasificación simple Brender propone varias métricas y otras medidas que expresan diferentes aspectos de calidad del conocimiento médico, valoradas estas como alternativas de las métricas tradicionales, que se aplican de forma general para problemas de clasificación en más de dos clases. Los valores que se obtienen oscilan entre 0 y 1, y la cercanía al valor 1 significa mejores resultados. Por ejemplo son descritas las medidas siguientes cuyas expresiones aparecen en [BRE94]: Comportamiento total. Comportamiento condicionado a la clase (valores esperados e inferidos). Comportamiento total de Kappa. Comportamiento de Kappa condicionado a la clase (valores inferidos). Otras medidas son las medidas para tablas binarias. Estas medidas sólo se le pueden aplicar a aquellos problemas que tengan dos clases, de ahí el nombre de tala binaria. El evaluador incluye las medidas siguientes: 1) Russel y Rao, 2) Parejas Simples, 3) Dice, Czekanowski y Sorenson, 4) Sokal y Sneath 1, 5) Rogers y Tanimoto, 6) Sokal y Sneath 2, 7) Kulezynski y 8) Sokal y Sneath 3. Funcionales de calidad y error para problemas de clasificación simple Shulcloper y otros autores en [RUI95] proponen funcionales que miden la calidad de una solución a partir de las respuestas que se obtienen ante varios objetos. Los funcionales pueden ser de calidad o de error. En los primeros se busca maximizar el resultado, obtener valores próximos a 1, dado que la calidad es directamente proporcional a los aciertos, independientemente de cómo se comporten los errores y abstenciones. Un ejemplo de este tipo lo constituye el Funcional de Calidad. Para los llamados funcionales de error es deseable minimizar la función, obtener valores cercanos a 0. En este caso se pretende medir la calidad en términos de sus errores. A continuación se presentan dos variantes: Funcional de Error. Funcional de Error más específico. Esta segunda variante es muy útil en el campo de la medicina porque es muy usual encontrar que para un especialista tenga mayor importancia el error de clasificar un paciente como sano dado que realmente esté enfermo que la acción contraria, es decir, que se asuma que es enfermo dado que está sano. Funcionales para problemas de multiclasificación Shulcloper y otros autores proponen funcionales que miden la calidad de una solución a partir de las respuestas que se obtienen ante varios objetos. Los funcionales pueden ser de calidad o de error. En este caso hay que tener en cuenta que se trata de problemas de Multiclasificación. En los primeros se busca maximizar el resultado, obtener valores próximos a 1, dado que la calidad es directamente proporcional a los aciertos, independientemente de cómo se comporten los errores y abstenciones. La aplicación para Multiclasificación incluye el desarrollo de dos funcionales de este tipo: Funcional de Calidad. Funcional de Calidad Pesado. En este funcional se tiene en cuenta el peso que tiene cada tipo de respuesta en la calidad de la solución. Es necesario que el usuario a través del evaluador introduzca algunos datos de interés para el desarrollo del funcional. Debe seleccionar aquella clase que considere más importante (CE). Para los llamados funcionales de error es deseable minimizar la función, obtener valores cercanos a 0. En este caso se pretende medir la calidad en términos de sus errores. Contamos con dos de este tipo: Funcional de Error (Shulcloper). Este funcional permite diferenciar el error de clasificar en una clase cualquiera. El especialista selecciona una clase llamada Clase Especial (CE). Es lógico que un experto en diagnosticar esta enfermedad no considere de la misma forma el error de decir que un paciente pertenece a la CE si realmente pertenece a cualquiera de las otras; que decir que el paciente tiene alguna manifestación de la enfermedad si está sano. Para esto es necesario conocer para cada clase del problema el peso que se le da a cada tipo de error(I, II, III), que significa dar la clase de más, de menos o abstenerse. La captación de estos datos adicionales la permite el utilitario a través de tablas. Funcional de Error Pesado. En este funcional se tiene en cuenta el peso que tienen los errores y las abstenciones en la respuesta. El usuario debe seleccionar aquella clase que para él resulte especial(CE). Los costos deben ser dados por el usuario mediante una ventana de captación de datos para este funcional que brinda el evaluador. Interesan aquellas respuestas incorrectas totalmente y con características relacionadas con los errores y abstenciones de la clase especial (CE). Cada una de estas respuestas es tratada de forma independiente según señale el usuario mediante los pesos que da a cada error. Distancia Euclideana para problemas de multiclasificación Estimar la distancia entre las soluciones es factible porque ambas soluciones: la obtenida por la red y la esperada, se pueden considerar como dos puntos en un espacio n-dimensional, siendo n la cantidad de valores posibles para el rasgo que estamos analizando. Así con la Distancia Euclideana podemos formarnos un criterio general sobre las soluciones dadas por la red neuronal, comparando con el criterio de los expertos. EvalSisMed para la evaluación de sistemas de diagnóstico médico El Evaluador de SBC para el Diagnóstico Médico es un programa desarrollado a partir de la versión 5.0 de Borland Delphi. Se ejecuta sobre los sistemas operativos Microsoft Windows 95, Windows 98, Windows 2000 o Windows NT. El fichero ejecutable “Evaluador.exe” es de 674 Kbytes aproximadamente, si se quiere contar con la ayuda del sistema son necesarios dos ficheros adicionales: HELPEVALUADOR.HLP y HelpEvaluador.cnt, estos ficheros adicionales de 53 Kbytes aproximadamente. El Evaluador de SBC para el Diagnóstico Médico trabaja con ficheros con extensión .esd que constituyen la tabla de entrada de los datos para la aplicación de Clasificación Simple, aunque esta tabla puede igualmente crearse, en caso que no exista. Los ficheros .esd se construyen con una opción del sistema. El evaluador permite el trabajo tanto para Sistemas de Clasificación Simple como Sistemas de Multiclasificación. En la figura 1de los anexos se muestra la ventana principal del sistema que permite seleccionar el tipo de sistema médico, es decir, si es de Clasificación Simple o de Multiclasificación. EvalSisMed tiene una ayuda que se muestra en la figura 2 de los anexos, esta facilita a los usuarios el trabajo con el evaluador y constituye una vía de aprendizaje para los estudiantes que cursan la asignatura de Inteligencia Artificial en el tema de evaluación de los Sistemas Basados en el Conocimiento. EvalSisMed es un Software registrado por CENDA # 06939-6939. Ejemplos de aplicación de EvalSisMed El sistema para el pronóstico de malformaciones cardiovasculares en recién nacidos (PRONO) permite hacer un pronóstico de la presencia de cardiopatías en el recién nacido a partir de características de ambos progenitores, quedando definidas dos clases: la clase “sanos” y la clase “malformados”. Para hacer este diagnóstico se utilizó una Red Neuronal Artificial y se evaluaron los resultados obtenidos aplicando las métricas y los funcionales anteriormente expuestos. Además se compararon estos resultados con los obtenidos con el empleo de una técnica alternativa (Análisis Discriminante). EvalSisMed también se ha utilizado para ayudar a la evaluación de otros sistemas basados en el conocimiento médico para el pronóstico de Neumonía y Leptospirosis, así como para evaluar el sistema que pronostica las Disartrias desarrollados estos en la Universidad Central de las Villas. Empleo de EvalSisMed como apoyo a la docencia En la Universidad de Camagüey se estudia la carrera de Informática en la Facultad del mismo nombre. Esta es una carrera que está naciendo en nuestra provincia por lo que los esfuerzos que se hagan en cuanto a su preparación resultan pocos. En el plan de estudio de la misma están asignaturas relacionadas con la Inteligencia Artificial, las cuales se impartirán en el cuarto y quinto año de la carrera. Uno de los temas importantes de la Inteligencia Artificial es los Sistemas Basados en el Conocimiento, y dentro de estos su evaluación. El software EvalSisMed está previsto que se use como apoyo a los laboratorios correspondientes a esta temática. El contenido de la evaluación de sistemas resulta tedioso y en ocasiones, difícil de comprender la importancia y aplicatividad del mismo. Con la experiencia de EvalSisMed en los laboratorios se podrá mejorar la calidad del aprendizaje de los estudiantes, así como su motivación en esta área. Los estudiantes tendrán la oportunidad de evaluar los sistemas basados en el conocimiento que se desarrollen incluso en su propia Universidad. Además, la amplia ayuda que brinda EvalSisMed hará posible el entendimiento del tema de una forma amena y dinámica. La ayuda brinda importantes aspectos para el conocimiento de la evaluación de los Sistemas Basados en el Conocimiento tales como: qué es la evaluación, su importancia y descripción de las formas de clasificación que existen. Se hace además una explicación detallada acerca de todas las medidas y distintos tipos de funcionales de calidad y de error que se usaron, así como de la Distancia Euclideana. Conclusiones Como se ha visto es de vital importancia realizar la evaluación de los sistemas basados en el conocimiento para diagnóstico médico. La complejidad de esta etapa de evaluación por la que debe pasar todo sistema basado en el conocimiento se tornaría mucho más larga y tediosa si todos los cálculos que se requieren quedaran en manos del hombre, a lo cual podemos sumar las posibilidades de cometer errores. Es por ello que el evaluador que se obtiene como resultado de este trabajo reviste de gran importancia para los desarrolladores de sistemas de este tipo. Esto se pudo comprobar en la evaluación de las aplicaciones anteriormente expuestas de Sistemas Basados en el Conocimiento para Diagnóstico Médico. Otro aspecto importante a destacar es que este sistema se puede acoplar a cualquier SBC para el diagnóstico médico, brindando al médico, en este caso, usuario experto, mayor seguridad a la hora de decidirse por la adquisición del SBC en cuestión. No se puede dejar de mencionar el apoyo a la docencia que trae consigo EvalSisMed, brindando a los estudiantes importantes conocimientos acerca de la evaluación de los SBC. A su vez permite la motivación y acelera el aprendizaje para aquellos que cursen Inteligencia Artificial. Bibliografía [BRE94] Brender, J. et al. Measuring quality of medical knowledge. In Proceeding of the Twelfth International Congress of the European Federation for Medical Informatics, pp.69-74, may 22- 26,1994. [DAA92] Daalen,C. Evaluating medical knowledge based systems. In proceeding of the 14th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, Oct.29- Nov.1, 1992. pp. 808-809, [GAR97] Garcia, M. y Bello R. El empleo del razonamiento basado en casos en el desarrollo de Sistemas basados en el conocimiento para el diagnóstico. Trabajo de Tesis en opción al grado científico de Doctor en Ciencias Técnicas., UCLV, 1997. [HER98] Hernández D. , Rodríguez, Y. y García, M. Sistema Experto para el dianóstico de Pnuemonía en niños. Trabajo de Diploma, UCLV, 1998. [KOT89a] Koton, P. Evaluating case-based problem solving. In Proceedings of a Workshop on Casebased reasoning. Morgan Kaufmann, 1989. [KOT89b] Koton, P. Applications and validation: case-based reasoning in the real world. In Proceedings of a Workshop on Case-based reasoning. Morgan Kaufmann, 1989. [MAR94] Martin-Baranera, Ma et al. Validating medical expert systems with no gold standard: distance measures and Kappa coefficients. In Proceeding of the Twelfth International Congress of the European Federation for Medical Informatics, pp. 64-68, may 22-26,1994. [NEG98] Negrín C. , Rodríguez, Y. y García, M. Sistema Experto para el diagnóstico presuntivo de Cardiopatía Izquémica. Trabajo de Diploma, UCLV, 1998. [ROD96] Rodríguez, Y. y García, M. Sistema Basado en Casos para el diagnóstico de malformaciones cardiovasculares en recién nacidos. Trabajo de Diploma, UCLV, 1996. [RUI95] Ruiz J. Introducción al Reconocimiento de Patrones. Edit. México, 1995. [SOÑ98] Soñora, E. , Rodríguez, Y. y García, M. Sistema Experto para el pronóstico de Leptospirosis. Trabajo de Diploma, UCLV, 1998. Anexos Figura 1 Ventana principal del sistema. Figura 2. Ventana donde se muestra la ayuda del sistema.