La época tecnológica actual nos lleva trabajar en un mundo donde la información es un territorio muy extenso por explorar, los buscadores actuales están en constante mejoramiento, con el fin de ofrecer mejores resultados a sus clientes, de aquí nace la idea de desarrolla un software inteligente, este agente tiene como finalidad el acelerar el proceso de búsqueda actual y que los resultados que presenta sean los más adecuados y los esperados. En este entorno actual surge el presente trabajo, que tiene como finalidad abordar el estudio del desarrollo y diseño de un agente de búsquedas, basado en la recuperación y manejo de la información, aplicado en la búsqueda de plantas medicinales, donde el usuario ingresa la enfermedad para la cual necesita una planta medicinal y el agente responde a esta consulta, además cada búsqueda será valorada y sumará un peso a cada planta. Los temas a analizar en el desarrollo de este trabajo son: el área de aplicación del proyecto, el planteamiento del problema, solución al problema, evaluación de resultados, trabajos futuros, conclusiones y recomendaciones, todo esto se describe a continuación.
1. AGENTE INTELIGENTE: “BÚSQUEDA DE PLANTAS
MEDICINALES”
Raquel Luzuriaga
RESUMEN:
La época tecnológica actual nos lleva trabajar en un mundo donde la información es un territorio
muy extenso por explorar, los buscadores actuales están en constante mejoramiento, con el fin de
ofrecer mejores resultados a sus clientes, de aquí nace la idea de desarrolla un software inteligente,
este agente tiene como finalidad el acelerar el proceso de búsqueda actual y que los resultados que
presenta sean los más adecuados y los esperados. En este entorno actual surge el presente trabajo,
que tiene como finalidad abordar el estudio del desarrollo y diseño de un agente de búsquedas,
basado en la recuperación y manejo de la información, aplicado en la búsqueda de plantas
medicinales, donde el usuario ingresa la enfermedad para la cual necesita una planta medicinal y
el agente responde a esta consulta, además cada búsqueda será valorada y sumará un peso a cada
planta. Los temas a analizar en el desarrollo de este trabajo son: el área de aplicación del proyecto,
el planteamiento del problema, solución al problema, evaluación de resultados, trabajos futuros,
conclusiones y recomendaciones, todo esto se describe a continuación.
PALABRAS CLAVES – Agente Inteligente de Búsqueda, MAS, Plantas Medicinales, Algoritmos de
Clasificación, SVM, SVO y WEKA.
1. INTRODUCCIÓN
La era Tecnológica actual a generado un océano de información, entorno en el que
operan grandes motores de búsqueda como YAHOO, GOOGLE, ALTA VISTA, entre
otros; estos necesitan de sistemas que faciliten la comunicación con el usuario y ayuden
al filtrado de información y organización de la misma, lo cual contribuye a obtener un
resultado deseado.
Estos sistemas son conocidos como Agentes inteligentes, los mismos que están
formados por (C, A, O, R) Creencias, Acciones, Objetivos y Resultados.1 Los resultados
que presenta pueden ser positivos o negativos, es necesario para poder operar los
parámetros ingresados por el usuario2, en base a los cuales presentará una conducta que
puede ser proactiva, reactiva y colaboradora, con esto cumplirá con un determinado
objetivo, brindándole al usuario el servicio esperado. 3
1
Ioan Alfred Letia1 ,2005. GRADUALLY INTRUSIVE ARGUMENTATIVE AGENTS FOR DIAGNOSIS, Romania, Pág.
59, Artículo Incluido en: First International Workshop on Multi-Agent Systems for Medicine, Computational Biology, and
Bioinformatics (2005), http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.76.9164&rep=rep1&type=pdf#page=24
2
L. Lhotská, Member, IEEE, L. Prieto. 2006 INTELLIGENT AGENTS IN MEDICINE, Pág.3,
http://medlab.cs.uoi.gr/itab2006/proceedings/Intelligent%20Systems/21.pdf
3
Carlos A. Iglesias F. 1998. DEFINICIÓN DE UNA METODOLOGÍA PARA EL DESARROLLO DE SISTEMAS
MULTIAGENTES, Pág. 87, http://www.gsi.dit.upm.es/tesis/pdf/tecisiscif.pdf
2. En este documento se trabajará en el desarrollo del Agente Inteligente: “Búsqueda de
Plantas Medicinales”, para lo cual se escogerá un algoritmo clasificador, el cual
organizará adecuadamente la información para la búsqueda y devolverá un resultado,
en este caso será el nombre de una planta medicinal.
2. OBJETIVOS
OBJETIVO GENERAL
Investigar y desarrollar un agente de búsqueda de plantas medicinales, tomando
como entrada o percepción los datos ingresados por el usuario, esto es una
determinada enfermedad.
OBJETIVOS ESPECÍFICOS
• Encontrar una planta medicinal que sirva para curar una enfermedad, esta
tiene que ser ingresada por parte del usuario.
• Que el agente sea capaz de analizar, entender, clasificar la información que
recibe de su sensor.
• Logar que el agente asigne un valor o peso a cada planta medicinal, en base a
dos criterios. El primero un valor de ingreso por parte del usuario y el
segundo un valor que él puede calcular.
• Determinar los algoritmos de clasificación con los que trabajara el agente.
• Trabajar en la implementación de dichos algoritmos y evaluar los resultados
• Desarrollar un informe final que resuma los resultados del presente trabajo.
3. ÁREA DE APLICACIÓN
El presente trabajo está orientado a un conjunto de áreas de aplicación las mismas que
son:
Plantas Medicinales
Las plantas desde siempre han estado al servicio del hombre, uno de sus usos es la
medicina, de ellas se extraen sustancias utilizadas para combatir enfermedades tales
como: inflamación, limpiados, baño caliente, estomacal, circulación, nervios, resfrío,
cicatrizante y aromática4.Las cuales están constantemente afectando al ser humano por
lo cual, no es sorprendente que el interés en este tipo de plantas se incremente cada vez
más.
Agente Inteligente de Búsqueda
4
Carlos E. Cerón Martínez. 2007. PLANTAS MEDICINALES DE LOS ANDES ECUATORIANOS. Herbario
Alfredo Paredes (QAP), Escuela de Biología de la Universidad Central del Ecuador. Quito, Ecuador. Pág. 1
3. Un agente Inteligente de búsqueda tienen acceso a múltiples y diversas fuentes de
información, las mismas que pueden estar distribuidas geográficamente, en las cuales
deben realizar búsquedas que la mayoría de las veces se convierte en una tarea
compleja. El agente que es producto de este estudio, trabaja sobre dos parámetros el
primero llamado precisión, se encarga de medir la relación existente entre los datos
relevantes para la consulta y el total devueltos en la misma. El segundo es el parámetro
conocido como recall, el cual mide la relación entre el total de datos relevantes devueltos
y el total de datos existentes en la Base de datos. 5 Como todo agente su diseño se
orienta a maximizar una determinada utilidad, esto se logra a través del
comportamiento racional, para lo cual necesariamente debe percibir algo.6
Recuperación y manejo de información
Está área se encarga de ayudar a los usuarios a buscar información y filtrar información,
esta puede ser categorizada, priorizada, seleccionada y compartida bajo criterios
colaborativos, además de esto incluye anotaciones que demuestran su importancia.
4. PLANTEAMIENTO DEL PROBLEMA
a. DESCRIPCIÓN DEL PROBLEMA
La salud es una de las aspiraciones máximas del hombre y no es de sorprender que cada
vez, este en constante búsqueda de mejores soluciones a sus problemas de salud. El
mundo de hoy por las contaminaciones de las fábricas sufre cambios bruscos, que sin
duda afecta a sus ocupantes de ahí que en diversos lugares se está recurriendo a la
medicina natural o a la Herbolaria.
Siendo así que surgen algunos estudios sobre este tema, algunos de los cuales se enfocan
a la medicina tradicional china, complementaria o alternativa, de los cuales se tiene por
ejemplo: “HERBAL MEDICINE RESEARCH IN TAIWAN”7 , “DATABASE OF
TRADITIONAL CHINESE MEDICINE AND ITS APPLICATION TO STUDIES OF
MECHANISM AND TO PRESCRIPTION VALIDATION”8, “METADATA DESIGN
FOR CHINESE MEDICINE DIGITAL LIBRARY USING XML”9.
5
Vicente Julián, Miguel Rebollo y Carlos Carrascosa. 2002. AGENTES DE INFORMACIÓN
6
Terry Payne. 2008. WEB SERVICES FROM AN AGENT PERSPECTIVE, IEEE Intelligence System,
Volumen 23, No. 2 Pág. 3.
7
Krishna Kaphle1, Leang-Shin Wu, Nai-Yen Jack Yang and Jen-Hsou Lin. 2006. Comentary “HERBAL
MEDICINE RESEARCH IN TAIWAN” Pág 1 – 7
8
X Chen1, H Zhou2, YB Liu1, JF Wang2, H Li2, CY Ung2, LY Han2, ZW Cao3 and YZ Chen2. 2006.
DATABASE OF TRADITIONAL CHINESE MEDICINE AND ITS APPLICATION TO STUDIES OF
MECHANISMAND TO PRESCRIPTION VALIDATION. Pág 1- 12
9
Christopher C. Yang and Winter W.M. Chan. 2000. METADATA DESIGN FOR CHINESE MEDICINE
DIGITAL LIBRARY USING XML. Pág. 1-10.
4. Conociendo las opiniones que expertos en este tema tienen del mismo, he planteado el
desarrollo del presente trabajo, tratando de de alcanzar el desarrollo de un agente que
permita realizar la búsqueda de plantas medicinales las cuales pueden ser sometidas al
estudio de sus componentes, toxicidad y en base a eso elaborar planta medicinales
naturales, que sin ocupar mucho tiempo puedan ser preparadas en casa.
Para el desarrollo de este agente se cuenta con información del uso de plantas de nuestro
territorio, exclusivamente de los ANDES ECUATORIANOS.10, esta información abarca
algunas características de las plantas, pero para obtener la toxicidad de cada planta y sus
componentes químicos se utilizarán los datos disponibles en la BIBLIOTECA DIGITAL
DE LA MEDICINA MEXICANA11 , BOTANICAL on-line12 CARACTERÍSTICAS Y
APLICACIONES DE LAS PLANTAS13.
Con la información disponible se pretende encontrar un algoritmo clasificador eficiente
y eficaz que ayude a realizar la clasificación y búsqueda de la información necesaria,
además que sirva para realizar una tarea de aprendizaje por parte del agente. El agente
tiene que dar una respuesta rápida, esta estará medida en minutos.
b. TRABAJOS SIMILARES
APLICACIÓN DE REDES NEURONALES AL FILTRADO DE DOCUMENTOS14
El gran volumen de información disponible en formato electrónico supera
ampliamente la capacidad de los usuarios, en lo que se refiere a procesamiento y
acceso de información relevante.
La rama de los agentes inteligentes tiene como uno de sus objetivos brindar a los
usuarios la ayuda necesaria para que puedan encontrar la información que buscan.
Dichos agentes son capaces de
“aprender” las preferencias de un usuario a través de la adquisición de perfiles de
filtrado por medio de técnicas de machine Learning.
Técnicas Utilizadas:
Se utiliza redes neuronales para determinar el perfil del usuario. Esta elección se
basa en la capacidad discriminante de las redes neuronales y su amplia tolerancia al
ruido en la información de entrada.
10
Carlos E. Cerón Martínez. 2007 .PLANTAS MEDICINALES DE LOS ANDES ECUATORIANOS. Herbario
Alfredo Paredes (QAP), Escuela de Biología de la Universidad Central del Ecuador. Quito, Ecuador. Pág. 4-7
11
BIBLIOTECA DIGITAL DE LA MEDICINA MEXICANA
http://www.medicinatradicionalmexicana.unam.mx
12
BOTANICAL ONLINE http://www.botanical-online.com
13
CARACTERÍSTICAS Y APLICACIONES DE LAS PLANTAS http://www.zonaverde.net . 1998-2008 José
Murcia e Isabel Hoyos.
14
A.C. Sergio A. Gómez, Lic. Laura Lanzarini , 2001. APLICACIONES DE REDES NEURONALES AL
FILTRADO DE DOCUMENTOS.
5. Esta línea de investigación busca estudiar y desarrollar arquitecturas de redes
neuronales aplicadas al reconocimiento de patrones en documentos de texto.
AGENTES INTELIGENTES PARA BÚSQUEDA DE INFORMACIÓN15
En este trabajo se presenta un agente inteligente que observa el comportamiento de
un usuario durante su actividad normal en la Web y realiza un análisis del
contenido de las páginas a las que él accede con el objeto de deducir los temas en los
que se encuentra interesado.
Técnicas Utilizadas:
Se propone la utilización de Razonamiento Basado en Casos (CBR) para, descubrir
dinámicamente el tema de un documento con el suficiente grado de detalle que
permita ser distinguido de temas similares y, decidir la conveniencia o no de
recomendar un documento particular.
A MULTI-AGENT INTELLIGENT ENVIRONMENT FOR MEDICAL
KNOWLEDGE16
Este trabajo está basado en el multi-agente AMPLIA, utilizado para un entorno de
pruebas de diagnóstico que trabaja sobre conocimiento complejo, usado por
docentes y alumnos para la discusión de casos médicos reales.
Técnicas Utilizadas:
Utiliza Redes Bayesianas, que involucra en la construcción de la red aspectos
cualitativos y cuantitativos, además está compuesto de una distribución de
probabilidad de las variables condicionales. Evalúa un modelo especialista frente a
un aprendiz.
AN EMPIRICAL COMPARISON OF SUPERVISED LEARNING
ALGORITHMS17
En este trabajo se realiza un estudio empírico del funcionamiento de algunos
algoritmos de Aprendizaje supervisado como son: BST-DT, RF, BAG-DT, SVM,
ANN, KNN, BST-STMP, DT, LOGREG y NB. Este trabajo está orientado a la
evaluación de criterios de precisión y recall, los cuales son utilizados dentro del área
de medicina.
15
Daniela Godoy, Analía Amandi, 2001. AGENTES INTELIGENTES PARA BÚSQUEDA DE
INFORMACIÓN http://users.exa.unicen.edu.ar/~amandi/papers/godwicc2000.pdf, Argentina.
16
Rosa M. Vicari, Cecilia D. Flores, Andre´ M. Silvestre, Louise J. Seixas, Marcelo Ladeira, Helder Coelho, 2003,
A MULTI-AGENT INTELLIGENT ENVIRONMENT FOR MEDICAL KNOWLEDGE, Pág.335, 339,
Published by Elsevier Science B.V.
17
Rich Caruana,Alexandru Niculescu-Mizil. An EMPIRICAL COMPARISON OF SUPERVISED LEARNING
ALGORITHMS, Pág. 1-8 http://www.cs.cornell.edu/~caruana/ctp/ct.papers/caruana.icml06.pdf
6. c. JUSTIFICACIÓN
El uso de los algoritmos clasificadores o de aprendizaje supervisado, están siendo
considerados en los agentes de búsqueda y recuperación de información, como se
puede apreciar en los trabajos enunciados anteriormente.
Los algoritmos utilizados son muy diversos, esto se debe al tipo de problema que se
aborda en cada trabajo, en el estudio de comparación de algoritmos los que
resultaron más eficientes, fueron: BST-DT, RF, BAG-DT y el SVM.
Por lo que se puede decir que el presente trabajo se seleccionará el algoritmo SVM,
ya que debido al principio de minimización de riesgo estructural, se convierte en
algoritmo robusto y ágil.
5. SOLUCIÓN DEL PROBLEMA
• ALGORITMO: MÁQUINAS DE VECTORES DE SOPORTE
Para el desarrollo del presente trabajo se estará utilizando el al algoritmo de
clasificación de información SVM18 o Máquinas de Vectores de Soporte, las
cuales se han destacado en la clasificación de textos, ya que tienden a minimizar
el error de generalización y los errores del clasificador sobre nuevas instancias.
Los fundamentos de este algoritmo se encuentran en los trabajos de Vapnik y
otros actores sobre la teoría de aprendizaje estadístico, desarrollados a finales de
los 70 y durante los 80. El modelo como se entiende hoy fue presentado en la
conferencia de COLT, teoría de Aprendizaje Computacional en 1992 por Vapnik
junto con Baser y Guyon y descrito con más detalle posteriormente en 1995 y
1998, posibilitando la práctica de la formulación teórica en problemas reales de
reconocimiento de patrones.
Trabaja con un modelo que estructuralmente tenga poco riesgo de cometer
errores ante datos futuros, este principio se denomina Minimización de Riesgo
Estructural (SRM), lo que permite construir modelos confiables.19
Este algoritmo se caracteriza por tener un conjunto de puntos (datos de
entrenamiento) ubicados en un plano dimensional (SVM), que se dividen en
clases, estas se separan de acuerdo a la muestra que se está evaluando, mediante
18
Alberto Téllez Valero. 2005. EXTRACCIÓN DE INFORMACIÓN CON ALGORITMOS DE
CLASIFICACIÓN. Pág 20
19
Basilio Sierra Araujo. 2006. APRENDIZAJE AUTOMÁTICO: CONCEPTOS BÁSICOS Y AVANZADOS
“MÉTODOS KÉRNEL Y MÁQUINAS DE VECTORES SOPORTE” Pág. 175
7. la construcción de un hiperplano que separa y maximicen la distancia entre ellas.
20
Un problema que presenta este algoritmo es el sobrentrenamiento, este se da
cuando han aprendido muy bien los datos de entrenamiento, pero no se pueden
clasificar bien los ejemplos nuevos nunca antes vistos, esto nos da como
resultado una mala generalización. 21
Función de Kernel22
Un algoritmo de máquinas de vector de soporte se fundamente en la función de
Kernel, la misma que proyecta la información a un espacio de características de
mayor dimensión.
La forma más común en que las máquinas de aprendizaje lineales aprenden una
función objetivo es cambiando la representación de la función, es decir
transformar el conjunto de entradas a un espacio de características, dando como
resultado una matriz de Kernel.
SMO 23
En este proyecto se trabajará con el algoritmo SMO u optimización mínima
secuencial, el cual es un nuevo algoritmo de aprendizaje de máquinas de vector
de soporte.
Tiene dos componentes un método analítico y un heurístico que ayuda a escoger
que multiplicadores optimizar
SMO es un algoritmo de entrenamiento mejorado para SVMs que trabaja con
problemas cuadráticos grandes los mismos que los divide en más pequeños,
estos se resuelven rápidamente lo que minimizan el tiempo de cómputo.
20
Gerardo Colmenares 2009. MÁQUINAS DE VECTOR DE SOPORTE. Pág 1.
http://www.webdelprofesor.ula.ve/economia/gcolmen/programa/economia/maquinas_vectores_soporte.pdf
21
Gerardo Colmenares. 2009. MÁQUINAS DE VECTOR DE SOPORTE. Pág 11.
http://www.webdelprofesor.ula.ve/economia/gcolmen/programa/economia/maquinas_vectores_soporte.pdf
22
Ing. Juan Angel Resendiz Trejo. 2006. LAS MAQUINAS DE VECTORES DE SOPORTE PARA
IDENTIFICACIÓN EN LÍNEA. Pág 13-15.
23
John Platt 1998. SEQUENTIAL MINIMAL OPTIMIZATION: A FAST ALGORITHM FOR TRAINING
SUPPORT VECTOR MACHINES JOHN C. PLATT. Pág. 1-21.
8. FORTALEZAS DEBILIDADES
• Utiliza el principio de • En el caso del algoritmo SMO se
minimización de riesgo trabaja con datos nominales, no
estructural, con lo cual abarca los acepta numéricos, para estos
mínimos globales que en el caso últimos se debería utilizar SMOreg.
de las redes neuronales no se
puede manejar. • El sobre entrenamiento es una
desventaja, que se da cuando el
• Maneja un principio de “divide y algoritmo ha aprendido muy bien
vencerás”, es decir que divide un los datos de entrenamiento, pero no
problema cuadrático en se pueden clasificar bien los
subproblemas. Con esto logra ejemplos nuevos nunca antes
minimizar el tiempo de cómputo. vistos, esto da como resultado una
mala generalización.
• Minimiza el error de
generalización y los errores del
clasificador sobre nuevas
instancias.
Cuadro comparativo de las fortalezas y debilidades del algoritmo SVM
Aplicación del Algoritmo24
Definición formal del problema para la búsqueda de plantas tomando en cuenta
si se encuentran disponibles en mercado:
Variables:
X = Mercado
Y = Nombre Científico
Figura1: Ejemplo del Kernel
Linear Kernel: K(x,y) = <x,y>
Descripción:
24 José Hernandez Orallo. 2008. CAP14: INTRODUCCIÓN A LA MINERÍA DE DATOS
9. Si la planta medicinal está en el mercado (x) la función de aprendizaje, nos
devuelve un conjunto de categorías (nombre de plantas), asociadas a dicha
variable, para lo cual parte de un conjunto de aprendizaje S={(xi,yi)}, i=1…n.
formado por ejemplos de Mercado y Nombre Científico de plantas.
Metodología:
Se debe dividir en dos partes el problema en donde cada xi está asociada a una yi.
Medidas de Evaluación:
Se utilizan medidas de Precision y alcance, donde la presicion mide la
probabilidad de que el sistema clasifique la disponibilidad en mercado de una
cierta planta medicinal.
El alcance mide la probabilidad de que el sistema clasifique la planta medicinal
que cura la enfermedad que se especifico, sea la que esté disponible.
Para determinar estas medidas se utiliza la Matriz de Confusión:
Predicción + Predicción -
Clases + A B
Clases - C N
Matriz de Confusión (resultados arrojados por weka)
De aquí se obtiene:
Precision = A/A+C = 64/64+0 = 1
Alcance = A/A+B= 64/64+1=0,985
Resultados del algoritmo desde Weka
Aciertos = A+D = 64+319 =383 esto equivale a un 99, 7396%
Errores = B+D = 0+1 = 1
10. Se utilizará Validación Cruzada sobre los datos para evitar el problema de sobre
entrenamiento.
• HERRAMIENTAS
Para el presente trabajo se utilizará la combinación de las siguientes herramientas:
• JAVA: Java es un lenguaje de programación de la estructura del agente, que
determinan funcionalidades básicas del agente tales como: procesos de envío
y recepción de mensajes25.
• WEKA: Weka es una gran colección de algoritmos de Máquinas de
conocimiento desarrollados por la universidad de WAIKATO (Nueva
Zelanda) implementados en Java.
• METODOLOGÍA
La metodología a seguir para el desarrollo del presente proyecto es la siguiente26:
1. Definición del Problema del Agente. Se establece una conceptualización amplia y
clara del problema que se pretende resolver con el uso de agentes inteligentes, se
identifica el problema; se realiza un análisis del mismo y finalmente se hace una
construcción del modelo conceptual de la situación.
2. Adquisición y Representación del conocimiento. Se genera una representación
de este modelo conceptual en términos de conocimiento, la cual sea transportable al
medio computacional. Se realiza primero la adquisición del conocimiento definiendo
las percepciones, las acciones, los objetivos, las metas y el ambiente. Como segunda
actividad se realiza la representación del conocimiento, haciendo un análisis del
conocimiento adquirido, una selección del esquema de representación y finalmente
la representación del conocimiento.
3. Diseño del Agente. Esta etapa del proceso es muy importante pues es la que
corresponde con el diseño de la solución en el método clásico de diseño y
construcción de sistemas de información, y en el que se pretende generar un modelo
del agente, que sea computacionalmente aplicable. Para lograr esto, el proceso se
divide en el Diseño de la Base de Conocimiento, el Diseño del Motor de Inferencia o
Motor de ejecución, el Diseño de la Interfaz y el Diseño del Lenguaje de
Comunicación.
25
Carlos A. Iglesias F. 1998. DEFINICIÓN DE UNA METODOLOGÍA PARA EL DESARROLLO DE
SISTEMAS MULTIAGENTES, Pág. 52-53, http://www.gsi.dit.upm.es/tesis/pdf/tecisiscif.pdf
26
M.C. Luis Ernesto Mancilla Espinosa, 2008. ¿QUÉ SON LOS AGENTES INTELIGENTES DE SOFTWARE?
11. 4. Implantación del Agente. Se enfoca en la construcción computacional del agente
inteligente diseñado, que no es más que la implantación del diseño obtenido en el
proceso previo. Se realiza
un análisis y selección de herramientas de Implantación, la implantación del Agente,
la implantación de la Base de Conocimiento, la implantación del Motor de Inferencia
o de ejecución, la implantación de la Interfaz y la implantación de la Comunicación.
5. Prueba del Agente. Se realiza una validación del agente construido, en el cual se
verifica y ajusta el funcionamiento de dicho agente, en función de los requerimientos
y la situación analizada en el primer proceso planteado. Inicia con el Diseño de
pruebas, se hace la aplicación de las mismas y finalmente se depuración el Agente.
• IMPLEMENTACIÓN
1. DEFINICIÓN DEL PROBLEMA DEL AGENTE
Arquitectura Del Agente De Búsqueda De Medicina Natural
Control de entrada o Sensores:
• Ingreso de valores de búsqueda por parte del usuario:
o Nombre de la enfermedad (principal o dependiente)
o Contraindicaciones (Opcional o independiente)
o Peso (opcional o independiente)
Organización de datos:
• Identificar la clasificación de los datos de entrada
• Almacenamiento de información aprendida en la base de datos
Comunicación y Procesamiento:
• Atender peticiones de usuario
• Resolver demandas de información
• Informar de errores
Control:
• Gestión de errores
Escenarios Del Agente
Este agente trabajará sobre los siguientes escenarios:
Escenario 1: “Búsqueda de la planta medicinal”
Aquí el agente se realiza una interacción con el usuario de lo cual se obtiene el
siguiente esquema:
12. Figura 2: Diagrama de procesos del Escenario 1
Escenario 2: “Clasificación de la entrada de la información”
El agente debe categorizar la información que recibe con la finalidad de agilizar las
búsquedas y lo que realiza es: sabroso
Figura 3: Diagrama de procesos del Escenario 2
Escenario 3: “Asignación de pesos”
Para asignar el peso a cada planta medicinal el agente operará de la siguiente forma:
13. Figura 4: Diagrama de procesos del Escenario 3
Variables Con Las Que Trabajará El Agente
• Encontrar una planta medicinal que sea eficaz y eficiente.
o Nombre de la enfermedad (principal o dependiente)
o Contraindicaciones (Opcional o independiente)
o Planta Medicinal (Resultado)
• Nombre Común
• Nombre Científico
• Endémica
• Mercado
• Silvestre
• Composición
• Toxicidad
o Peso (opcional o independiente)
• Que el agente sea capaz de clasificar la información que recibe del cliente, en
categorías que mejoren el rendimiento de la búsqueda.
o Nombre de la enfermedad
o Toxicidad
o Peso
o Planta Medicinal (resultado)
• Que el agente pueda obtener un valor de calificación para la planta medicinal
que sea la base de posibles búsquedas.
o Nombre de la enfermedad
o Planta medicinal
o Peso
Asignación De Pesos
El peso es un valor que ayudará a agilizar la búsqueda de la información, para lo
cual se considerará los siguientes criterios:
14. Asignación directa del usuario: Este proceso se da cada vez que el usuario realice
una búsqueda y en base a su criterio le asignara un valor de satisfacción a la Planta
medicinal, para lo cual usará la siguiente tabla de valores: Regular (3), Bueno (2),
Excelente (1), que el agente dará a conocer previamente al usuario. Este valor se
suma al peso de la planta medicinal, este proceso es repetitivo para cada búsqueda.
Asignación automática: Esta asignación de peso la realiza el agente, este adicionará
el valor de 1 a cada Planta medicinal, por cada búsqueda que se realice, siempre y
cuando el usuario no haya asignado ningún peso a la planta medicinal.
2. ADQUISICIÓN Y REPRESENTACIÓN DEL CONOCIMIENTO.
Base de Datos Histórica
Para el presente trabajo la base de datos ha sido construida en base a la información
recopilada de PLANTAS MEDICINALES DE LOS ANDES ECUATORIANOS27,
BIBLIOTECA DIGITAL DE LA MEDICINA MEXICANA28 , BOTANICAL on-line29
CARACTERÍSTICAS Y APLICACIONES DE LAS PLANTAS30y tiene la siguiente
figura:
Figura 5: Base de datos Histórica
3. DISEÑO DEL AGENTE
Objetivo del agente31:
El objetivo que tiene el agente es encontrar una planta medicinal que cubra la
necesidad del cliente, este objetivo requiere de algunas condiciones, las mismas que
son:
27
Carlos E. Cerón Martínez. PLANTAS MEDICINALES DE LOS ANDES ECUATORIANOS. Herbario
Alfredo Paredes (QAP), Escuela de Biología de la Universidad Central del Ecuador. Quito, Ecuador. 2007 Pág. 4-7
28
BIBLIOTECA DIGITAL DE LA MEDICINA MEXICANA
http://www.medicinatradicionalmexicana.unam.mx
29
BOTANICAL ONLINE http://www.botanical-online.com
30
CARACTERÍSTICAS Y APLICACIONES DE LAS PLANTAS http://www.zonaverde.net . 1998-2008 José
Murcia e Isabel Hoyos.
31
Carlos A. Iglesias F. 1998. DEFINICIÓN DE UNA METODOLOGÍA PARA EL DESARROLLO DE
SISTEMAS MULTIAGENTES, Pág.90, http://www.gsi.dit.upm.es/tesis/pdf/tecisiscif.pdf
15. Condiciones de activación, es decir cuando se determina un estímulo que haga que
empiece a trabajar, por ejemplo el agente a desarrollase activará cada vez que se
solicite una búsqueda de una planta medicinal.
Condiciones de finalización, aquí se que determina el fin del trabajo del agente, en
el caso de una búsqueda completa este terminaría cuando recorra todos los nodos.
Condiciones de éxito, determina el cumplimiento del objetivo, como hallar una
planta medicinal.
Condiciones de fracaso, se indica que el objetivo no fue alcanzado, por ejemplo que
la planta medicinal no pueda ser hallada, y a la vez el agente podrá reiniciar la
búsqueda o informar que la planta medicinal no se encontró.
Parámetros de Entrada y de Salida, son las condiciones iniciales con las que el
agente producirá una salida, así tenemos que recibe una enfermedad y devuelve una
planta medicinal.
Identificación de actores32:
Actor: Usuario
Descripción: Es la persona que se comunica con el agente y solicita la búsqueda de
una planta medicinal
Actor: BD Histórica
Descripción: Aquí se almacena la información que usará el agente como base para
realizar sus búsquedas
Formulación de Hipótesis de Evaluación del resultado33
Los parámetros de evaluación de la hipótesis formulada son:
Grado de toxicidad: menor que el de otras plantas que sirvan para curar la misma
enfermedad.
Peso: se usará el criterio del peso menor.
32
Carlos A. Iglesias F. 1998. DEFINICIÓN DE UNA METODOLOGÍA PARA EL DESARROLLO DE
SISTEMAS MULTIAGENTES, Pág. 243, http://www.gsi.dit.upm.es/tesis/pdf/tecisiscif.pdf
33
Rosa M. Vicari, Cecilia D. Flores, Andre´ M. Silvestre, Louise J. Seixas, Marcelo Ladeira, Helder Coelho, 2003,
A MULTI-AGENT INTELLIGENT ENVIRONMENT FOR MEDICAL KNOWLEDGE, Pág.343, Published
by Elsevier Science B.V.
16. Disponibilidad: que la planta pueda ser comprada en el mercado, si es que se
necesita utilizarla.
Si una respuesta cumple con los tres parámetros descritos anteriormente, se
considerará como excelente. Si no cumple será excluida de la búsqueda, porque no es
conveniente tener una planta que no sea fácil de adquirir o que sea muy toxica.
Es esencial que esta búsqueda se realice en corto tiempo.
Hipótesis de búsqueda:
PM =MIN( GT+P)+D
PM= Planta medicinal
GT= grado de toxicidad
P=Peso
D=disponibilidad
Par encontrar exactamente la respuesta se debe buscar las plantas medicinales que
sirva para tratar la enfermedad que especifica el usuario, y cada planta encontrada
debe ser evaluada por la hipótesis de búsqueda y solo la que tenga el valor mínimo
será la aceptada.
4. IMPLANTACIÓN DEL AGENTE
El prototipo del agente que se trata de desarrollar es:
Pantalla Inicial: aquí el usuario del agente debe registrar su ingreso, esto brinda
seguridad al agente.
17. Figura 6: Pantalla Inicial del Agente
Pantalla de Trabajo: Aquí se realizará las búsquedas de las plantas medicinales,
la clasificación de la información que recibe el agente y la asignación de pesos.
Figura 7: Pantalla de trabajo del Agente
Búsqueda de plantas: Esta opción permitirá realizar la búsqueda de la planta
medicinal que cura la enfermedad que el usuario desea conocer.
Figura 8: Ejecución de la opción de búsqueda del AI
Con las opciones que el agente devuelve, el usuario podrá ver detalladamente la
toxicidad de la planta que le presenta el agente, para lo cual hará uso del botón
TOXICIDAD.
18. Figura 9: Botón para ver la toxicidad de las plantas
Luego de esto el usuario debe ingresar el número correspondiente a la toxicidad
de la planta, por ejemplo si esta tiene TOX1 deberá ingresar el valor 1, y hará clic
en Aceptar.
Figura 10: Pantalla para ingresar el Número de toxicidad de la planta
Luego de lo cual se le presentará la Toxicidad de la planta medicinal.
Figura 11: Pantalla que muestra la Toxicidad de la planta medicinal
Lo mismo ocurre con los componentes químicos, para lo cual deberá usar el
usuario el botón COMPONENTES.
Figura 12: Botón para ver los componentes químico
Deberá luego ingresar el número del componente químico, al igual que en el caso
de la toxicidad.
19. Figura 13: Pantalla para ingresar el No. De Componente Químico
Al final aparecerá en pantalla los componentes químicos de la planta medicinal.
Figura 14: Pantalla que muestra los componentes químicos de la planta
Clasificación de Información: Para realizar la clasificación de la información que
facilite la búsqueda de las plantas medicinales y en base a lo cual el agente
aprenderá, se trabajará con el algoritmo Máquinas de Vector de Soporte que ya
se describió anteriormente. El estado actual del agente tiene implementado el
algoritmo SMO (Algoritmo de optimización mínimo secuencial de John Platt).
Para lo cual se ha utilizado las variables predictorias mercado, endémica y
silvestre.
Figura 15: Botón para iniciar clasificación basado en el atributo mercado
Seguidamente se muestran los resultados de esta clasificación..
Figura 16: Pantalla que indica los resultados de la clasificación
Asignación de pesos: Anteriormente ya se describió este escenario del agente, en
las siguientes imágenes se mostrará la parte en la que el peso lo ingresa el
usuario de acuerdo a la satisfacción que obtuvo de la búsqueda.
20. Figura 17: Pantalla que permite asignar peso a una planta medicinal
Figura 18: Pantalla que permite ingresar el peso
6. PRUEBA DEL AGENTE.
Como ya se mencionó antes el algoritmo de clasificación que se ejecutó fue el SMO, el
cual se lo probó con las siguientes variables: Mercado, endemíca y silvestre y nos dio los
siguientes resultados:
Figura 19: Tabla de resultados de la ejecución del algoritmo SMO
21. Figura 20: Gráfica de comparación del número de casos que evaluó el
Kernel
Figura 21: Gráfica de comparación del rendimiento del algoritmo
Conclusiones:
• El mayor número de casos que evaluó la función Kernel del algoritmo SMO
fue de la variable Silvestre y mercado fue la menor.
• El algoritmo dio un mejor rendimiento cuando evaluó los datos de la variable
mercado
• Una combinación de la evaluación de mercado y silvestre ayudaría a brindar
un resultado eficiente para el problema antes propuesto.
6. CONCLUSIONES
Una vez que se ha llegado a la parte final del proyecto se puede concluir:
• El algoritmo máquina de vectores de soporte es eficaz para la clasificación de
información.
• Seguir una metodología para el desarrollo de un agente inteligente hará posible
la culminación del mismo.
• En este trabajo, se evaluaron los datos de tres variables predictorias, las cuales
fueron mercado, endémica y silvestre, y los resultados obtenidos fueron, que la
combinación de los resultados de las variables mercado y silvestre, pueden
ayudar a determinar que planta medicinal puede ser la que el usuario necesita.
• Realizar una investigación minuciosa de la cual se prueben los resultados
obtenidos, garantiza el éxito del desarrollo de agentes inteligentes, por ser esta
área nueva para nuestro grupo social.
22. 7. RECOMENDACIONES
Se recomienda:
• Tener en cuenta que para la selección del algoritmo a utilizar en proyecto de
desarrollo de agentes inteligentes, se depende exclusivamente del problema a tratar,
en el caso de un agente de búsqueda de información se trabaja para la clasificación
con máquinas de vector de soporte por su rapidez, aunque esto no impide que se
utilicen otras técnicas como el clustering, redes neuronales o árboles de decisión.
• Para seleccionar la herramienta con la que se va a trabajar, se deben considerar los
criterios de funcionalidad y disponibilidad de información existentes.
• Considerar todas las opciones posibles para la solución del problema y valorar cada
una para determinar cuál es la más óptima.
• Realizar algunas revisiones de lo que se está realizando para evitar incoherencias y
pérdida del alcance del proyecto.
8. TRABAJOS FUTUROS
Los trabajos que se pueden realizar a partir del presente proyecto son:
• Continuar con la implementación del agente, ya que el presente se desarrolló en
forma documental, llegando a ser implementado en un porcentaje limitado.
• Considerar la utilización de funciones de kernel no lineales para el algoritmo
máquina de vector de soporte, para que el rendimiento sea mejor.
• Evaluar el desempeño del agente con otros algoritmos como los ya descritos
anteriormente, para encontrar una forma nueva de solución, que sea más
eficiente.
• Ampliar la base de datos con la que se trabajó el presente proyecto para
garantizar, mejores resultados en el área de salud, y que además esta sea
validada por personal médico conocedor del tema.
9. REFERENCIAS
Las referencias utilizadas fueron:
[1] Gerardo Colmenares 2009. MÁQUINAS DE VECTOR DE SOPORTE. Pág 1, 11.
http://www.webdelprofesor.ula.ve/economia/gcolmen/programa/economia/maquinas_vectores_so
porte.pdf
[2] Terry Payne. 2008. WEB SERVICES FROM AN AGENT PERSPECTIVE, IEEE
Intelligence System, Volumen 23, No. 2 Pág. 3.
[3] M.C. Luis Ernesto Mancilla Espinosa, 2008. ¿QUÉ SON LOS AGENTES
INTELIGENTES DE SOFTWARE?
[4] Carlos E. Cerón Martínez. 2007. PLANTAS MEDICINALES DE LOS ANDES
ECUATORIANOS. Herbario Alfredo Paredes (QAP), Escuela de Biología de la Universidad
Central del Ecuador. Quito, Ecuador. Pág. 1-7.
23. [5] Basilio Sierra Araujo. 2006. APRENDIZAJE AUTOMÁTICO: CONCEPTOS BÁSICOS
Y AVANZADOS “MÉTODOS KÉRNEL Y MÁQUINAS DE VECTORES SOPORTE”
Pág. 175
[6] Ing. Juan Angel Resendiz Trejo. 2006. LAS MAQUINAS DE VECTORES DE SOPORTE
PARA IDENTIFICACIÓN EN LÍNEA. Pág 13-15.
[7] X Chen1, H Zhou2, YB Liu1, JF Wang2, H Li2, CY Ung2, LY Han2, ZW Cao3 and YZ
Chen2. 2006. DATABASE OF TRADITIONAL CHINESE MEDICINE AND ITS
APPLICATION TO STUDIES OF MECHANISMAND TO PRESCRIPTION
VALIDATION. Pág 1- 12
[8] Krishna Kaphle1, Leang-Shin Wu, Nai-Yen Jack Yang and Jen-Hsou Lin. 2006. Comentary
“HERBAL MEDICINE RESEARCH IN TAIWAN” Pág 1 – 7
[9] L. Lhotská, Member, IEEE, L. Prieto. 2006 INTELLIGENT AGENTS IN MEDICINE,
Pág.3, http://medlab.cs.uoi.gr/itab2006/proceedings/Intelligent%20Systems/21.pdf
[10] Alberto Téllez Valero. 2005. EXTRACCIÓN DE INFORMACIÓN CON
ALGORITMOS DE CLASIFICACIÓN. Pág 20
[11] Ioan Alfred Letia1 ,2005. GRADUALLY INTRUSIVE ARGUMENTATIVE AGENTS
FOR DIAGNOSIS, Romania, Pág. 59, Artículo Incluido en: First International Workshop on
Multi-Agent Systems for Medicine, Computational Biology, and Bioinformatics (2005),
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.76.9164&rep=rep1&type=pdf#page=2
4
[12] Rosa M. Vicari, Cecilia D. Flores, Andre´ M. Silvestre, Louise J. Seixas, Marcelo Ladeira,
Helder Coelho, 2003, A MULTI-AGENT INTELLIGENT ENVIRONMENT FOR
MEDICAL KNOWLEDGE, Pág.335, 339,343. Published by Elsevier Science B.V.
[13] Vicente Julián, Miguel Rebollo y Carlos Carrascosa. 2002. AGENTES DE
INFORMACIÓN
[14] Daniela Godoy, Analía Amandi, 2001. AGENTES INTELIGENTES PARA
BÚSQUEDA DE INFORMACIÓN
http://users.exa.unicen.edu.ar/~amandi/papers/godwicc2000.pdf, Argentina.
[15] A.C. Sergio A. Gómez, Lic. Laura Lanzarini , 2001. APLICACIONES DE REDES
NEURONALES AL FILTRADO DE DOCUMENTOS.
[17] Christopher C. Yang and Winter W.M. Chan. 2000. METADATA DESIGN FOR
CHINESE MEDICINE DIGITAL LIBRARY USING XML. Pág. 1-10.
[18] Carlos A. Iglesias F. 1998. DEFINICIÓN DE UNA METODOLOGÍA PARA EL
DESARROLLO DE SISTEMAS MULTIAGENTES, Pág. 52-53, 87, 90, 243.
http://www.gsi.dit.upm.es/tesis/pdf/tecisiscif.pdf
[19] John Platt 1998. SEQUENTIAL MINIMAL OPTIMIZATION: A FAST ALGORITHM
FOR TRAINING SUPPORT VECTOR MACHINES JOHN C. PLATT. Pág. 1-21.
[20] Rich Caruana,Alexandru Niculescu-Mizil. AN EMPIRICAL COMPARISON OF
SUPERVISED LEARNING ALGORITHMS, Pág. 1-8.
http://www.cs.cornell.edu/~caruana/ctp/ct.papers/caruana.icml06.pdf
[21] BIBLIOTECA DIGITAL DE LA MEDICINA MEXICANA
http://www.medicinatradicionalmexicana.unam.mx
[22] BOTANICAL ONLINE http://www.botanical-online.com
[23] CARACTERÍSTICAS Y APLICACIONES DE LAS PLANTAS
http://www.zonaverde.net . 1998-2008 José Murcia e Isabel Hoyos.