sedted con indice

23
UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE INGENIERÍA ESCUELA ACADÉMICA PROFESIONAL DE INGENIERIA DE SISTEMAS “SISTEMA EXPERTO PARA EL DIAGNÓSTICO DE ENFERMEDADES DERMATOLÓGICAS” Elaboración de Proyecto de Sistemas Expertos AUTORES: HONORIO GUÍA, Miky. DELGADO BAZÁN, Marlo. PROFESOR: Ing. TENORIO CABRERA, Luis.

Upload: mickelitoh-itoh

Post on 27-Dec-2015

10 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Sedted Con Indice

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE INGENIERÍA

ESCUELA ACADÉMICA PROFESIONAL DE INGENIERIA DE SISTEMAS

“SISTEMA EXPERTO PARA EL DIAGNÓSTICO DE

ENFERMEDADES DERMATOLÓGICAS”

Elaboración de Proyecto de Sistemas Expertos

AUTORES:

HONORIO GUÍA, Miky.

DELGADO BAZÁN, Marlo.

PROFESOR:

Ing. TENORIO CABRERA, Luis.

Page 2: Sedted Con Indice

INDICE

PLANTEAMIENTO DEL ÁMBITO DEL SISTEMA EXPERTO----------------------------3

1.1 Actividad de la aplicación----------------------------------------------------------------3

1.2 Descripción de la entidad-----------------------------------------------------------------3

1.3 Importancia---------------------------------------------------------------------------------3

OBJETIVOS--------------------------------------------------------------------------------------------3

2.1 Objetivo General---------------------------------------------------------------------------3

2.2 Objetivos Específicos----------------------------------------------------------------------3

RESUMEN----------------------------------------------------------------------------------------------4

INTRODUCCIÓN-------------------------------------------------------------------------------------5

MARCO TEORICO-----------------------------------------------------------------------------------6

SISTEMAS EXPERTOS--------------------------------------------------------------------------7

CARACTERISTICAS DE LOS SISTEMAS EXPERTOS--------------------------------7

DISEÑO DE UN SISTEMA EXPERTO-------------------------------------------------------9

ETAPAS DEL DESARROLLO DE UN SISTEMA EXPERTO--------------------------9

SWI PROLOG-------------------------------------------------------------------------------------11

EL NETBEANS IDE-----------------------------------------------------------------------------12

DEFINICIÓN DEL CONOCIMIENTO-----------------------------------------------------13

DISEÑO DEL CONOCIMIENTO------------------------------------------------------------15- DISEÑO DETALLADO-----------------------------------------------------------------15- Árbol de dependencia--------------------------------------------------------------------15- Reglas de Conocimiento-----------------------------------------------------------------16

Page 3: Sedted Con Indice

PLANTEAMIENTO DEL ÁMBITO DEL SISTEMA EXPERTO

1.1 Actividad de la aplicación

El sistema experto se aplicará a los pacientes del Consultorio Médico Dr.

1.2 Descripción de la entidad

El Consultorio se encuentra en la Calle Las Magnolias, 420 – Urb. Los Parques – Chiclayo, Lambayeque.

1.3 Importancia

Conocer las posibles enfermedades de una persona a través de un sistema experto.

OBJETIVOS

2.1 Objetivo General

Implementar un Sistema Experto para diagnóstico de enfermedades dermatológicas.

2.2 Objetivos Específicos

- Recolectar información acerca de las enfermedades que afecten a la piel.- Elaborar un sistema experto en base a las enfermedades de la piel.- Validar el prototipo desarrollado.

Page 4: Sedted Con Indice

RESUMEN Este proyecto consiste en el desarrollo de una aplicación cuyo propósito principal es el diagnóstico de enfermedades dermatológicas. La aplicación añade una serie de características adicionales como es una correcta gestión de la información, tanto de las enfermedades tratadas por el sistema como de los diagnósticos y los pacientes tratados por el sistema. Esta información es de utilidad para el usuario a modo de consulta, facilitando estadísticas e información de interés para él. Así mismo, el Sistema ofrece la opción de realizar consultas directas sobre las enfermedades o sus tratamientos. Por tanto, la aplicación (Sistema Experto de Detección y Tratamiento de Enfermedades Dermatológicas) ofrece al usuario cuatro opciones principales:

• Diagnóstico: permite al usuario diagnosticar una enfermedad a partir de los síntomas.

• Consulta: permite la consulta de enfermedades. • Tratamiento: consiste en la consulta de tratamientos específicos

para una enfermedad • Estadísticas: ofrecen al usuario información estadística en base a

la edad, enfermedad, fecha, etc. Para la realización de este sistema, se ha hecho uso de las técnicas de Ingeniería del Conocimiento, creando así un sistema experto, y del Data Mining para aportar fiabilidad al diagnóstico. Como se explica más detalladamente en el capítulo de "Descripción de Metodología a emplear", las etapas para realizar un sistema experto son:

• Adquisición del Conocimiento • Conceptualización del Conocimiento • Representación del conocimiento• Razonamiento

Para la adquisición del conocimiento se ha hecho uso de la entrevista, empezando por entrevistas abiertas para familiarizarme con la terminología y el modo de diagnóstico y entrando paulatinamente en entrevistas estructuradas con el fin de obtener la base de conocimientos que será usada para diagnosticar la enfermedad a partir de las observaciones o hechos realizadas al paciente.

Dicha base de conocimientos es independiente de la aplicación, lo que permite ampliar la modularidad y escalabilidad del sistema. De esta forma, cuando el

Page 5: Sedted Con Indice

sistema tiene la información observada por el usuario, se pone en contacto con la base de conocimientos para obtener una solución factible con los hechos. La programación de la aplicación se ha desarrollado con el lenguaje de programación JAVA. Este lenguaje ha permitido obtener una interfaz con el usuario muy gráfica, uno de los principales objetivos establecidos para este proyecto fin de carrera, ya que este sistema está enfocado principalmente a estudiantes de dermatología o medicina, por lo que ejemplos gráficos son de mucha ayuda. Una vez finalizado el sistema y la aplicación, se puso a prueba con el experto examinando las inferencias realizadas por el sistema experto y la bondad de las mismas.

Estas sesiones resultaron satisfactorias al probar diversos síntomas que el Sistema Experto de Detección y Tratamiento de Enfermedades Dermatológicas llevaron a diagnósticos correctos. La interfaz también se puso a prueba obteniendo un resultado satisfactorio gracias a la facilidad y la sencillez en su funcionamiento.

Como conclusión, cabe destacar que se han cumplido todos los objetivos impuestos por el proyecto y han sido solucionados de forma satisfactoria.

INTRODUCCIÓN

Antes de empezar a explicar los motivos que han llevado a decidirme por desarrollar este proyecto y la metodología que se ha empleado para desarrollarlo, me parece conveniente aportar una introducción sobre el centro del proyecto: La Dermatología. Hoy en día la dermatología está teniendo cada vez más fuerza debido a una gran cantidad de factores en los que destaca la imagen física del paciente. La dermatología actual abarca por un lado toda la patología que incluye todas las enfermedades de la piel y malformaciones y por otro lado la dermo cosmética, es ésta última parte la que está teniendo mayor trascendencia y son mayores las consultas que se reciben por este motivo.

Sin pretender un análisis exhaustivo de estas particularidades de la dermatología, destacaremos que como especialidad médica estructurada tiene un desarrollo de poco más de dos siglos y que la base del diagnóstico dermatológico es el reconocimiento de patrones morfológicos. Esto último justifica, por ejemplo, el permanente interés de la iconografía o las descripciones clínicas.

Los libros de dermatología son un elemento imprescindible para el estudio de la historia de esta especialidad médica, pero existen pocas bibliotecas con fondos.

Page 6: Sedted Con Indice

MARCO TEORICO

La aplicación pretende obtener varias ventajas sobre la enseñanza basada en libros de texto y la enseñanza supervisada, pero siempre como complemento de la misma. No requiere un instructor o libro y además permite observar las relaciones más importantes entre los síntomas y las lesiones con las enfermedades. El programa puede ser usado como un módulo de auto enseñanza, un suplemento para la instrucción tradicional, una fuente de enseñanza continuada o una referencia. El funcionamiento de la aplicación es muy simple: La aplicación comienza mostrando al usuario las distintas opciones que ofrece el Sistema: Diagnóstico, Consulta, Tratamiento.

• Diagnóstico: Es el centro de la aplicación y es donde se hace uso de las técnicas ofrecidas por los sistemas basados en el conocimiento (SBC). A través de una serie de ventanas, se le pregunta al usuario datos sobre el paciente a tratar.

Con los datos introducidos y los síntomas percibidos, se hace un primer acercamiento a la solución, llamado hipótesis, donde se muestra el conjunto de posibles soluciones a los datos introducidos.

• Consulta: Esta opción no es interactiva para el usuario, es decir, su comportamiento es similar al de los libros. Se introduce la enfermedad que se desea consultar y se muestra la información correspondiente a esa enfermedad. Puesto que se trata únicamente de búsqueda de información, no se aplican técnicas de Ingeniería del Conocimiento pues resultan innecesarias, pero ya que la aplicación está destinada a estudiantes de medicina, parece necesario añadir esta sección.

• Tratamiento: Muy similar a la opción de 'Consulta', consiste en la búsqueda del tratamiento correspondiente con la enfermedad introducida. En esta sección tampoco se hace uso de la Ingeniería del Conocimiento pues se trata de una búsqueda y su uso no es necesario.

Page 7: Sedted Con Indice

SISTEMAS EXPERTOS

Los sistemas expertos son programas que reproducen el proceso intelectual de un experto humano en un campo particular, pudiendo mejorar su productividad, ahorrar tiempo y dinero, conservar sus valiosos conocimientos y difundirlos más fácilmente. Por ejemplo, un sistema experto en diagnóstico médico requeriría comodatos los síntomas del paciente, los resultados de análisis clínicos y otros hechos relevantes, y, utilizando éstos, buscaría en una base de datos la información necesaria para poder identificar la correspondiente enfermedad.

Un Sistema Experto de verdad, no sólo realiza las funciones tradicionales de manejar grandes cantidades de datos, sino que también manipula esos datos de forma tal que el resultado sea inteligible y tenga significado para responder a preguntas incluso no completamente especificadas.

CARACTERISTICAS DE LOS SISTEMAS EXPERTOS Para que un sistema computacional actúe como un verdadero experto, es deseable que reúna, en lo posible, lo más importante de las características de un experto humano, esto es:

Habilidad para adquirir conocimiento. Fiabilidad, para poder confiar en sus resultados o apreciaciones. Solidez en el dominio de su conocimiento. Capacidad para resolver problemas.

La característica fundamental de un Sistema Experto es que separa los conocimientos almacenados (Base de conocimiento) del programa que los controla (Motor de inferencia). Los datos propios de un determinado problema se almacenan en una base de datos aparte (Base de hechos).

Además cuenta con características adicionales las cuales serán nombradas a continuación:

Competencia en su campo: Es el significado de experto. Es necesario que pueda resolver problemas con una eficiencia y calidad comparables a las de un experto humano.

Dominio reducido: El limitarse a un dominio reducido es un requisito para alcanzar la competencia.

Capacidad de explicación: Es aquella capaz de explicar cómo ha resuelto el problema, es decir, qué método ha aplicado y por qué lo ha aplicado.

Tratamiento de la incertidumbre: Es una exigencia que se deriva de la complejidad de los problemas que van a aborda los sistemas expertos.

Page 8: Sedted Con Indice

Flexibilidad en el diálogo: Es deseable que los sistemas expertos tengan esta capacidad, llegando en la medida de lo posible a comunicarse (entender y expresarse) en lenguaje natural como un experto humano.

Representación explícita del conocimiento: Es necesaria para considerar que un sistema está basado en conocimiento.

La Base de Conocimientos de un Sistema Experto

Contiene el conocimiento de los hechos y de las experiencias de los expertos en un dominio determinado.

La Base de conocimientos contiene todos los hechos, las reglas y los Procedimientos del dominio de aplicación que son importantes para la solución del problema.

La base de conocimientos aloja la totalidad de las informaciones específicas relativas al campo del saber deseado.

El Mecanismo de Inferencia de un Sistema Experto

Puede simular la estrategia de solución de un experto. El mecanismo de inferencia es la unidad lógica con la que se extraen conclusiones de la base de conocimientos, según un método fijo de solución de problemas que está configurado imitando el procedimiento humano de los expertos para solucionar problemas.

El Componente Explicativo explica al usuario la estrategia de solución encontrada y el porqué de las decisiones tomadas.

Las soluciones descubiertas por los expertos deber poder ser repetibles tanto por el ingeniero del conocimiento en la fase de comprobación así como por el usuario.

La Interface de Usuario sirve para que éste pueda realizar una consulta en un lenguaje lo más natural posible.

Page 9: Sedted Con Indice

DISEÑO DE UN SISTEMA EXPERTOEl diseño de un sistema cualquiera consiste en la evaluación de las alternativas y la especificación de una solución detallada. El diseño especifica como logrará el sistema los objetivos para los cuales se creará.

Para un sistema experto, el concepto anterior también es válido. Una vez se tiene el problema a resolver se debe analizar y evaluar las soluciones dentro del área de conocimiento respectivo. Aclarando que el diseño de un sistema experto variará en relación a los sistemas tradicionales.

En todo desarrollo de un sistema, juega un papel importante el equipo de trabajo. Para el desarrollo de un sistema experto, se consideran las siguientes clases de personas que interactúan en su creación:

El experto: La función del experto es la de poner sus conocimientos especializados a disposición del Sistema Experto.

El ingeniero del conocimiento: Es el encargado de realizar las preguntas al experto, estructura sus conocimientos y los implementa en la base de conocimientos.

El usuario: Aporta sus deseos y sus ideas, determina especialmente el escenario en el que debe aplicarse el Sistema Experto.

ETAPAS DEL DESARROLLO DE UN SISTEMA EXPERTOa) Definición del Problema.

Precisamente en la primera fase del proyecto es de vital importancia determinar correctamente el ámbito estrechamente delimitado de trabajo. Por lo que, el ingeniero del conocimiento y el experto trabajan muy unidos para elaborar el problema que debe ser resuelto por el sistema.

b) Planeación

Delimitación, factibilidad, requerimientos, propuestas, revisiones, plan de trabajo.

c) Adquisición del conocimiento.

El experto debe comprobar constantemente si su conocimiento ha sido transmitido de la forma más conveniente. El ingeniero del conocimiento es responsable de una implementación correcta, pero no de la exactitud del conocimiento. La responsabilidad de esta exactitud recae en el experto.

Page 10: Sedted Con Indice

d) Representación del Conocimiento

Se analiza, organiza, depura y plasma simbólicamente el conocimiento obtenido del experto.

e) Desarrollo de prototipos.

Existen dos importantes riesgos en el desarrollo de Sistemas Expertos: No existen implementaciones similares que puedan servir de orientación al encargado del desarrollo en la casi totalidad de los casos.

En muchos puntos, los requisitos necesarios están esbozados con muy poca precisión.

Un método efectivo para la disminución de los problemas anteriores, es la implementación de un prototipo de Sistema Experto que permita llevar a cabo las funciones más importantes de éste.

Para Sistemas Expertos, la implementación de prototipos es el procedimiento más adecuado, pues posibilita una rápida reacción a los deseos en constante cambio, tanto por parte de los expertos como parte del usuario.

f) Integración de ingeniería de sistemas.

Una vez definidas y estructuradas las bases del sistema experto se procede a la integración de la parte cognoscitiva y tradicional del sistema, incluyendo las aprobaciones del experto, usuario e ingeniero del conocimiento.

g) Programación Simbólica

Se escriben los programas que sean necesario para simular en la computadora el proceso de resolución que llevaría el experto humano.

h) Verificación y pruebas.

Por último es necesaria la implementación del sistema elaborado. Para ello se realizan diversas clases de pruebas. Dichas pruebas ayudan al mejoramiento y a la depuración final del sistema, para obtener un producto que cubra las necesidades del usuario.

Page 11: Sedted Con Indice

SWI PROLOG

Es una implementación en código abierto del lenguaje de programación Prolog. Posee un rico conjunto:

• bibliotecas,• herramientas• documentación extensiva.

SWI-Prolog funciona en las plataformas Unix, Windows y Macintosh.

Page 12: Sedted Con Indice

EL NETBEANS IDEEs un IDE de código abierto escrito completamente en Java usando la plataforma NetBeans. El NetBeans IDE soporta el desarrollo de todos los tipos de aplicación Java (J2SE, web, EJB y aplicaciones móviles).

Entre sus características se encuentra un sistema de proyectos basado en Ant, control de versiones y refactoring.

Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.

Page 13: Sedted Con Indice

DEFINICIÓN DEL CONOCIMIENTO- Fundamentación del conocimiento a estudiar

El sistema experto para el diagnóstico enfermedades dermatológicas, se realizará en vista de observarse de forma frecuente los diferentes tipos de enfermedades que afectan a la piel.

- De los profesionales

Para la elaboración de este proyecto contaremos con la ayudar del Dr. Alejandro Medrano Barrera CMP 42876 RNE 20444.

- De los hechos proporcionados ( Enfermedades )

Acné:

Granos y espinillas

Pápulas y pústulas

Piel grasa

Cáncer de piel

Manchas ásperas rojizas

Piel sensible al sol

Bultos Anormales

Alergia al polvo

Picazón

Enrojecimiento de Piel

Dermatitis:

 Exceso de melanina

Ausencia total de pigmentación

Alteración de la pigmentación de la piel

Herpes zóster

Prurito o picor.

Erupción cutánea

Decaimiento

Page 14: Sedted Con Indice

Hemorroides

Inflamación de la piel

Purito anal

Hongos vaginales

 Picores en la vagina

Mal olor

Verrugas

Pápulas/ verrugas

Alteración de la pigmentación de la piel

Sarna

Picazón excesiva

Piel rojiza y con heridas

Page 15: Sedted Con Indice

DISEÑO DEL CONOCIMIENTO- DISEÑO DETALLADO

- Árbol de dependencia

Page 16: Sedted Con Indice

- Reglas de Conocimiento

%enfermedad acne

sintomas(acne,granosyespinillas).

sintomas(acne,papulasypustulas).

sintomas(acne,pielgrasa).

%enfermedad cancer de piel

sintomas(cancerdepiel,manchasasperasrojizas).

sintomas(cancerdepiel,pielsensiblealsol).

sintomas(cancerdepiel,bultosanormales).

%enfermedad alergia al polvo

sintomas(alergiaalpolvo,picazon).

sintomas(alergiaalpolvo,enrojecimientodepiel).

%enfermedad dermatitis

sintomas(dermatitis,excesodemelanina).

sintomas(dermatitis,ausenciatotaldepigmentacion).

sintomas(dermatitis,alteraciondelapigmentaciondelapiel).

%enfermedad herpes zóster

sintomas(herpeszoster,pruritoopicor).

sintomas(herpeszoster,erupcioncutanea).

sintomas(herpeszoster,decaimiento).

%enfermedad hemorroides

sintomas(hemorroides,inflamaciondelapiel).

sintomas(hemorroides,pruritoanal).

%enfermedad hongos vaginales

sintomas(hongosvaginales,picoresenlavagina).

sintomas(hongosvaginales,malolor).

%enfermedad verrugas

sintomas(verrugas,papulasoverrugas).

sintomas(verrugas,alteraciondelapigmentaciondelapiel).

sintomas(verrugas,doloresfuenrtes).

%enfermedad sarna

sintomas(sarna,picazonexcesiva).

sintomas(sarna,pielrojisayconheridas).

sintomas(sarna,irritacionenlapiel).

Page 17: Sedted Con Indice

resetas(acne,peroxido_de_benzoilo_retinoides_y_antibioticos_por_1_mes_antes_de_dormir).

resetas(cancerdepiel,segun_la_etapa_de_su_cancer_y_otros_factores_sus_opciones_de_tratamiento_pueden_incluir).

resetas(cancerdepiel,cirugia).

resetas(cancerdepiel,inmunoterapia).

resetas(cancerdepiel,terapia_dirigida).

resetas(cancerdepiel,quimioterapia).

resetas(cancerdepiel,radioterapia).

resetas(alergiaalpolvo,restringir_el_tiempo_en_la_ducha_o_baño).

resetas(alergiaalpolvo,use_jabones_suaves).

resetas(alergiaalpolvo,aplique_crema_hidratante_inmediatamente_despues_del_baño_para_ayudar_a_retener_la_humedad_de_la_ducha).

resetas(dermatitis,crioterapia).

resetas(herpeszoster,antihistamínicos_para_reducir_la_picazon).

resetas(herpeszoster,zostrix_una_crema_que_contiene_capsaicina).

resetas(hemorroides,rema_betametazona_al_005_por_ciento).

resetas(hongosvaginales,clotrimazol).

resetas(hongosvaginales,crema_de_miconazol_al_2).

resetas(verrugas,cirugía_por_laser).

resetas(sarna,antihistaminicos_en_forma_de_gotas_o_unguentos_oftalmicos_por_1_a_2_semanas).

diagnostico(X,Y,Z):-

sintomas(Z,X),

sintomas(Z,Y).

diagnostico(X,Y,Q,Z):-

sintomas(Z,X),

sintomas(Z,Y),

sintomas(Z,Q).

medicamentos(X,Y):-

resetas(X,Y).

Page 18: Sedted Con Indice

CONCLUSIONES

- En el proceso de levantamiento de información se obtuvieron los datos necesarios para desarrollar este sistema experto, en el cual podemos encontrar las diferentes enfermedades que afectan a la piel ya sea en hombres o mujeres.

- Este sistema experto está diseñado de forma general para ambos sexos, utilizando el lenguaje de programación JAVA, el cual tiene como entorno NetBeans y también utilizamos un gestor de datos SQL Server, así como el Swi Prolog.

- Este sistema experto permitirá un ahorro de tiempo y otros recursos, que facilitará al galeno el desarrollo del resto de sus actividades.