Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
Tlamati Sabiduría, Volumen 7 Número Especial 2 (2016)
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
285
Sistema Experto En Diagnóstico De Trastornos Mentales
Universidad Nacional Autónoma de México1 Dr. Eduardo Vázquez Santacruz1
[email protected] Facultad de Ciencias y Tecnologías de la Información2
Alumno: Cirilo Tino Salgado2
Programa DELFÍN
Dr. Eduardo Vázquez Santacruz (Asesor). Universidad Nacional Autónoma de México
Resumen
Los trastornos mentales en México han incrementado considerablemente en los últimos años,
esto debido a la escasa información de la población sobre la salud mental. Cabe señalar que para
el debido tratamiento de los trastornos mentales es necesario un diagnóstico oportuno y eficaz
basado en la sintomatología de tales trastornos, para dicho diagnóstico es necesario que el
paciente sea observado por un especialista y evaluado durante cierto periodo de tiempo, es
necesario reducir el tiempo de espera para un diagnóstico, debido a la necesidad anterior el
objetivo del presente sistema es diagnosticar y orientar a las personas en caso de presentar algún
trastorno mental para su pronta atención, lo anterior haciendo uso de un sistema experto capaz de
dar a conocer al usuario su estado de salud mental. Además, este sistema sirve de apoyo a
psiquiatras y psicólogos que desean conocer las áreas específicas a mejorar en su paciente.
Palabras Claves: Trastornos Mentales, Sistemas Expertos, Psicología, Psiquiatría, Inteligencia Artificial.
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
286
Introducción
La inteligencia artificial es una rama de la computación definida como el conjunto de métodos
para emular el conocimiento humano y fue surgida en la década de los cincuentas con la
publicación “Maquinaria Computacional e Inteligencia” del científico de computación Alan
Turing, el cual es considerado como el padre de la Computación.
Uno de los métodos de la inteligencia artificial son los sistemas expertos, estos han estado
presentes desde el surgimiento de la misma y han contribuido de manera muy significativa a la
resolución de problemas. Dendral fue el primer sistema experto funcional y fue desarrollado en la
Universidad de Stanford en el año 1965 por científico en Computación Edward Feigenbaum y
demás colaboradores.
La arquitectura de los sistemas expertos es fundamental en el funcionamiento de tal y está
formada por: base de conocimientos, base de inferencia y la interfaz de usuario; dichos sistemas
se basan en los conocimientos de un experto humano, la base de conocimientos tiene como
función registrar todos los hechos descritos por el experto humano, mientras que la base de
inferencia se encarga de traducir reglas siguiendo sus propios algoritmos de búsqueda, control y
resolución de conflictos y por último la interfaz de usuario permite la interacción entre el usuario
y el sistema, es decir entradas y salidas como un diagnóstico, lo anterior tal y como se muestra
(Pacheco, 2016).
A pesar de las amplias contribuciones de los sistemas expertos a diversas áreas, en la
psicología y psiquiatría se tienen escasos registros de dichos sistemas, un tema en común entre
estas dos áreas de la salud son los trastornos mentales, los cuales han incrementado
considerablemente en México, afectando la calidad de vida de población. Con base a (Mora,
2016) investigaciones realizadas en el año 2007 demuestran que una de cada tres personas tendrá
un trastorno mental antes de los sesentaicinco años y que una de cada cuatro presentara un
trastorno mental a lo largo de su vida. Aunado a lo anterior el porcentaje de la población con
algún trastorno mental es mayor a la cuarta parte de la población tal y como se observa en la
Figura 1.
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
287
Figura 1. Trastornos mentales en México en el año 2007. Fuente: (Mora, 2016).
Con base a (Mora, 2016) los trastornos mentales más comunes en México son:
ü Psicosis
• Inducida por tóxicos
• Reactiva breve
• Esquizofrenia
• Esquizofreniforme
ü Ansiedad
• Trastorno de Pánico
• Trastorno Obsesivo – Compulsivo
• Trastorno de Estrés Postraumático
ü Depresión
Los especialistas en trastornos mentales se basan en la sintomatología del paciente para su
diagnóstico, la cual puede ser observada en la Figura 2; el tiempo en el que se diagnostica a un
paciente varia con relación al trastorno mental del que se tenga indicio, es necesario desarrollar
un sistema que diagnostique a una persona con algún trastorno mental, tomando en cuenta la
sintomatología de los síntomas, con base a la anterior necesidad desarrollamos el Sistema
Experto en Diagnóstico de Trastornos Mentales.
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
288
Figura 2. Sintomatología de los principales trastornos m
entales en México. Fuente: Elaboración propia.
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
289
Materiales y Métodos
Durante la implementación del Sistema Experto en Diagnóstico de Trastornos Mentales se diseñó
la arquitectura de dicho sistema, la cual puede ser observada en la Figura 3. Además para la
interfaz de usuario se hace uso del Entorno de Desarrollo Integrado (IDE) NetBeans 7.2.1, el
JDK 1.8, ambos pueden ser descargados desde (Oracle, 2016) y el Entorno de Desarrollo Web
WampServer, que a su vez contiene el gestor de base de datos phpMyAdmin, este último puede
ser descargado desde (WampServer, 2016). Con relación a la base de conocimientos y la base de
inferencia se hace uso del Sistema de Producción Integrado en Lenguaje C (CLIPS), para su
descarga vea (SourceForge, 2016).
Para la correcta comunicación entre el IDE NetBeans 7.2.1 y el gestor de bases de datos
phpMyAdmin se requiere del conector denominado my-sql-connector-java-5.1.6-bin.jar, este
puede ser descargado desde (Oracle, 2016), otro conector necesario es el conector CLIPSJNI.jar
cuya función es comunicar CLIPS con el IDE NetBeans 7.2.1 y puede ser descargado en
(SourceForge, 2016).
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
290
Figura 3. Arquitectura del sistema experto en diagnóstico de trastornos mentales. Fuente: Elaboración propia.
Una vez instalado el software necesario, se procede a crear una base de datos en el gestor
phpMyAdmin, la cual se denomina “setrastornosmentales” y está integrada por solo una tabla
llamada “usuarios”, está a su vez contiene campos como email, apellido paterno, apellido
materno, nombre y edad.
Posteriormente se crea un nuevo proyecto en el IDE NetBeans 7.2.1 y se diseña un
formulario de registro de usuarios, se deben de considerar todos los campos de la tabla “usuarios”
de la base de datos previamente creada, el resultado puede ser observado en la Figura 4. Para el
correcto almacenamiento de los datos de entrada provenientes de la interfaz de usuario a la base
de datos se utilizan expresiones regulares y se realiza una clase denominada “conectar.java”, cabe
señalar que la base de datos esta almacenada sobre un servidor local, al cual hacemos referencia
tal y como se observa en la Figura 5.
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
291
Además es necesario anexar en la carpeta del proyecto el conector my-sql-connector-java-
5.1.6-bin.jar y a la postre añadirlo al proyecto desarrollado en el IDE NetBeans 7.2.1, el cual se
agrega desde la ventana proyect del IDE Netbeans 7.2.1 en la carpeta “Libraries” del proyecto ya
creado.
Figura 4. Formulario de registro del sistema experto en diagnóstico de trastornos mentales. Fuente: Elaboración propia.
Figura 5. Clase conectar.java. Fuente: Elaboración propia.
Seguidamente se diseñan los formularios para obtener la sintomatología presente en los
usuarios, estos formularios se diseñan con base a cada trastorno mental descrito en la Figura 2,
como ejemplo puede observar la Figura 6, cabe señalar que el trastorno de fobia no ha sido
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
292
tomado en cuenta en el presente sistema, esto debido a que la sintomatología de dicho trastorno
se presenta en los trastornos mentales de ansiedad restantes.
Figura 6. Formulario de diagnóstico de trastorno de pánico. Fuente: Elaboración propia.
Al termino del diseño de los formularios de diagnóstico de trastorno de pánico, trastorno
obsesivo – compulsivo, estrés postraumático, depresión y psicosis, se procede a realizar los
archivos de reglas, estos permiten retornar un diagnóstico con base a la sintomatología del
usuario.
Para la creación de los archivos de reglas se hace uso de CLIPS, es necesario elaborar un
archivo de reglas para cada trastorno mental, cabe hacer mención que el archivo de reglas del
trastorno de psicosis es un caso particular, por lo cual será descrito detalladamente, es necesario
que todos los archivos sean almacenados en la carpeta del proyecto.
La estructura de un archivo de reglas está definida por: deftemplate, slot y defrule, el
comando deftemplate genera una plantilla, que agrupa a uno o varios slots, estos a su vez son
variables cuyo valor cambia con relación a los hechos que constituyen un defrule o regla. En la
Figura 7 se pueden observar las reglas para el diagnóstico del trastorno de pánico, las reglas están
constituidas por hechos y por medio del slot trastorno retornan el trastorno que el usuario
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
293
presenta. Cabe señalar que se deben considerar todos los casos y que los hechos son
fundamentados en la sintomatología del trastorno, la cual puede observarse en la Figura 2.
Figura 7. Archivo de reglas del trastorno de pánico. Fuente: Elaboración propia.
Para la creación del archivo de reglas de psicosis es necesario elaborar previamente un
archivo de reglas que permita diagnosticar si el usuario padece ansiedad, para ello se verifica si
en el usuario persiste algún trastorno como: trastorno de pánico, trastorno de estrés postraumático
o un trastorno obsesivo compulsivo, si existe por lo menos un trastorno mental se diagnosticará al
paciente con ansiedad.
Una vez creados los archivos de reglas del trastorno de pánico, obsesivo – compulsivo,
estrés postraumático, depresión y ansiedad, se procede a crear el archivo de reglas del trastorno
de psicosis tomando en cuenta como hechos las respuestas del usuario: si consume drogas o
alcohol, si presenta delirios o alucinaciones y el tiempo en que han persistido los anteriores
síntomas, además se adhiere el diagnóstico del archivo de reglas del trastorno de depresión y del
trastorno de ansiedad. El archivo de reglas del trastorno de psicosis podrá arrojar cinco posibles
resultados, entre los que se encuentran:
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
294
• Psicosis inducida por tóxicos.
• Psicosis relativamente breve.
• Psicosis de tipo esquizofreniforme.
• Psicosis de tipo esquizofrenia.
• Ningún trastorno de psicosis.
Seguidamente se cargan los archivos de reglas al proyecto desarrollado en el IDE
NetBeans 7.2.1, para ello es necesario agregar el conector CLIPSJNI.jar a dicho proyecto, el cual
se agrega desde la ventana proyect del IDE NetBeans 7.2.1 en la carpeta “Libraries” del proyecto,
además se crea un objeto de tipo Environment y se inicializa, posteriormente por medio de la
propiedad load se hace referencia al archivo de reglas, tal y como se observa en la Figura 8, el
proceso anterior se repite en todos los formularios con el archivo de reglas correspondiente.
Figura 8. Carga del archivo de reglas del trastorno de pánico. Fuente: Elaboración propia.
Posteriormente se procede a obtener las respuestas del usuario, las cuales son retornadas
por medio de Radio Buttons, tal y como se observa en la Figura 6. Las respuestas son
comprobadas por medio de la propiedad isSelected, si el radio button es seleccionado ejecuta un
hecho, estos hechos son comparados en el archivo de reglas para así retornar el diagnóstico del
usuario, el cual se almacena en una variable de tipo String, el anterior proceso deberá ser
reproducido en cada formulario a excepción del formulario de registro y puede ser visto en la
Figura 9.
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
295
Figura 9. Captura de respuestas para el diagnóstico del trastorno de pánico. Fuente: Elaboración propia.
El proceso de enviar los resultados de cada cuestionario al formulario que nos muestra el
diagnóstico de los trastornos mentales que padece el usuario es uno de los más importantes, el
diagnóstico de cada cuestionario será enviado como parámetro de la clase del formulario
siguiente, para ello se tiene que instanciar el formulario siguiente y pasar como parámetro la
variable del resultado de dicho cuestionario, este proceso puede ser observado en la Figura 10.
Figura 10. Instancia del formulario Test2 teniendo como parámetro el resultado del cuestionario uno. Fuente: Elaboración propia.
Respecto al formulario que recibe la variable del diagnóstico del primer cuestionario se
tiene que declarar una variable que reciba dicho valor, en este caso es llamada “Resultado” y en
su constructor se declara una variable del mismo tipo de dato que el diagnóstico del cuestionario
uno, en el presente caso es una variable de tipo String denominada “diagnosticopanico”, a
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
296
continuación se asigna el valor de la variable “diagnosticopanico” a la variable “Resultado” del
segundo formulario, tal y como se muestra en la Figura 11, los procesos anteriores deberán ser
repetidos en todos los formularios a excepción del formulario de registro.
Figura 11. Atributos y parámetros de la clase Test2 perteneciente al formulario Test2. Fuente: Elaboración propia.
Seguidamente procedemos a diseñar el formulario de diagnóstico general, el cual
presentará en áreas de texto el diagnóstico del usuario, información sobre los trastornos mentales
presentes y centros de ayuda donde el usuario pudiese acudir, tal y como se observa en la Figura
12. Cabe hacer mención que la información sobre los trastornos mentales y los centros de ayuda
solo se presentaran el usuario presenta algún trastorno mental. Además el formulario de
diagnóstico general se presentara si no se diagnóstica alguno de los cuatro primeros trastornos, es
decir, trastorno de pánico, trastorno obsesivo – compulsivo, trastorno de estrés postraumático o
trastorno de depresión, de esta manera no habría necesidad de mostrar el formulario de
diagnóstico de psicosis, por inducción el usuario no presenta ningún trastorno mental.
Para mostrar el diagnostico general, la información sobre dichos trastornos y los centros
de ayuda, el formulario de diagnóstico general recibirá los resultados de los trastornos mentales
posibles, para posteriormente con apoyo de condicionales de selección presentar la información
al usuario. Además es necesaria una clase la cual denominamos como PosiblesRespuestas.java,
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
297
esta contendrá métodos que retornen información sobre cada uno de los trastornos mentales y los
centros de atención donde se puede acudir.
Además si el usuario desea acudir a otro centro de ayuda, puede observar el archivo de
extensión PDF que contiene todos los centros de atención a trastornos mentales en México, este
archivo puede ser visualizado seleccionando el menú Acerca de, apartado Centros de ayuda.
Figura 12. Formulario de diagnóstico general. Fuente: Elaboración propia.
Resultados
Durante la implementación del presente sistema, se obtuvieron resultados en cada
proceso, respecto al registro de usuarios, los datos de los usuarios que utilizan el sistema experto
en diagnóstico de trastornos mentales se almacenan en la base de datos “setrastornosmentales” tal
y como se muestra en la Figura 13.
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
298
Figura 13. Base de datos del sistema experto en diagnóstico de trastornos mentales. Fuente: Elaboración propia.
Después de haber implementado el desarrollo del Sistema Experto en Diagnostico de
Trastornos Mentales en cada uno de los formularios, la consola del IDE NetBeans 7.2.1 nos
mostrará si el usuario padece algún trastorno mental, tal y como se muestra en la Figura 14.
Figura 14. Diagnóstico de un trastorno de pánico en el sistema experto en diagnóstico de trastornos mentales. Fuente: Elaboración propia.
Finalmente, al término de la implementación del Sistema Experto en Diagnóstico de
Trastornos Mentales se obtendrá el diagnóstico del usuario con relación a sus respuestas, se
mostraran los centros de apoyo e información del trastorno mental presente, tal y como se
observa en la Figura 15.
4° Encuentro de Jóvenes Investigadores – CONACYT 11° Coloquio de Jóvenes Talentos en la Investigación
Acapulco, Guerrero 21, 21 y 23 de septiembre 2016
299
Figura 15. Diagnóstico de depresión en el sistema experto en diagnóstico de trastornos mentales. Fuente: Elaboración propia.
Discusiones y conclusiones
El sistema experto en diagnóstico de trastornos mentales en contraste con otros sistemas
dedicados a la salud mental, no solo muestra un diagnostico confiable, sino además muestra
información sobre los trastornos mentales presentes y clínicas donde pudiese atenderse el usuario,
además cuenta con un directorio que muestra los distintos centros de ayuda a pacientes con
trastornos mentales en México.
Es importante conocer los trastornos mentales de una persona, esto permite a los
psicólogos y psiquiatras realizar un tratamiento especializado basado en tales trastornos, de esta
manera se pueden mejorar las condiciones de salud mental en México, si bien algunos de los
trastornos mentales no se pueden erradicar en su totalidad, se puede mejorar la manera en que se
afrontan.
Tlamati Sabiduría Volumen 7 Número Especial 2 (2016)
300
Agradecimientos
Agradezco al Dr. Eduardo Vázquez Santacruz, Catedrático de la Universidad Nacional Autónoma
de México, por guiarme durante mi estancia en el verano de investigación científica.
Al Maestro en Ciencias de la Computación de la Universidad Autónoma de Guerrero Raúl
Juárez Morales por la motivación y el asesoramiento brindado.
Referencias
Mora, M. E. (12 de AGOSTO de 2016). CNNMéxico. Obtenido de CNNMéxico: http://mexico.cnn.com/salud/2013/10/10/las-‐enfermedades-‐mentales-‐mas-‐comunes-‐en-‐mexico
Oracle. (13 de AGOSTO de 2016). Obtenido de Oracle: http://www.oracle.com/technetwork/es/java/javase/downloads/index.html
Pacheco, A. (12 de AGOSTO de 2016). Sistemas Expertos. Obtenido de Sistemas Expertos: http://www.depi.itch.edu.mx/apacheco/ai/definic.htm
SourceForge. (13 de AGOSTO de 2016). Obtenido de SourceForge: sourceforge.net/projects/clipsrules/files/CLIPS/6.30/
WampServer. (13 de AGOSTO de 2016). Obtenido de WampServer: http://www.wampserver.com/en/