Facultad Nacional de Salud Pública UdeA

(foto:manecolombia.blogspot.com)

Sistema Expertos

(foto:intart.100foros.com)

Comercio Electronico

(foto:eltiempo.com)

Sistemas de Información Geografica

(foto:esriblog.wordpress.com)

Inteligencia de Negocios

(foto:mediterranean-consulting.com)

sábado, 18 de mayo de 2013

RAZONAMIENTO BASADO EN CASOS EN CIENCIAS MÉDICAS SOBRE PLATAFORMA WEB


Resumen
Con el presente trabajo se cumple con una de las perspectivas de una de las líneas de investigación del CECAM, ya que a partir de esta aplicación se recogen los aspectos generales del Razonamiento Basado en Casos y su aplicación en las ciencias médicas, así como las normas que se deben seguir para la elaboración de Bases de Casos para diferentes especialidades médicas y el uso de estas para apoyar el diagnóstico y el proceso de enseñanza-aprendizaje en cualquiera de las especialidades clínicas.
En la siguiente aplicación también se recogen elementos actualizados que sean capaces de simular en una mayor escala el proceso de enseñanza y aprendizaje en un entorno Web donde se integran la programación para el cliente (Javascript) y para el servidor (PHP); bases de datos en MYSQL e información sobre todo lo relacionado con sistemas tutoriales inteligentes, inteligencia artificial distribuida y multimedia.
Este trabajo establece aspectos generales y fundamentales para la elaboración de Bases de Casos y la utilización del Razonamiento Basado en Casos, donde se tomaron diferentes elementos para su elaboración así como también para su utilización, lo que logra así un producto muy útil para el apoyo al diagnóstico y de ayuda al proceso enseñanza-aprendizaje de las diferentes asignaturas de perfil clínico, tanto de pregrado como de postgrado.

La aplicación propuesta permite, por una parte, la validación de estas bases, lo que posibilita tener concentrada toda la información referente a los casos con un determinado diagnóstico
Ello permite además, tener unidas todas las características de los rasgos sobre un juicio estipulado, de forma tal que los usuarios pueden consultar todos los rasgos que influyen en la determinación de un diagnóstico y complementar la información de dichos rasgos con el apoyo de imágenes fijas (ejemplos: radiografías, gammagrafías, TAC, RMN, ECG, EEG, etc.), imágenes animadas (ejemplos: ecografías, video-EEG, angiografías, etc.) y sonidos (ruidos y soplos cardiacos, respiratorios o de otro tipo).


Esta aplicación está destinada para estudiantes de medicina, enfermería y estomatología, residentes y médicos. Una ventaja muy importante de la misma tiene que ver con su utilidad para la consulta de información. Con frecuencia, si se dispone solo de las fuentes tradicionales para hacer alguna consulta acerca de un determinado diagnóstico, se requiere revisar varias fuentes bibliográficas: textos, reproducciones gráficas y otros tipos de información que no es posible en ocasiones recopilar. Con un sistema como el que proponemos se puede, por ejemplo, tener 105 casos con las posibles combinaciones en los valores de sus rasgos, que nos brinden un determinado diagnóstico



El sistema incluye un módulo de ejercicios donde se presentan un conjunto de preguntas de tipo reproductivas (Verdadero o Falso, Selección Única, Selección Múltiple, Completar, Enlazar, etc.), y aplicativas, confeccionadas de manera que se puede comprobar la mayor parte del conocimiento mostrado en el sistema. Esto ayuda al estudiante a comprobar todo lo estudiado y también, a que el profesor monitoree el comportamiento evolutivo del alumno. El sistema para el procesamiento del módulo de los ejercicios se apoya en el diagrama siguiente:



Como pudo observarse en el esquema anterior y en la  todas las respuestas tienen su retroalimentación, tanto si la respuesta es correcta como si no lo es.



VALOR PRÁCTICO:
El valor práctico del aplicativo consiste en su carácter eminentemente docente y clínico, ya que facilita tanto a estudiantes de medicina y de enfermería así como residentes y médicos especialistas que puedan interactuar con Bases de Casos que permitan ayudarlos en el proceso del diagnóstico, así como exponer toda la información relacionada con dicho diagnóstico. Esto permite mejorar el grado de información e instrucción de profesionales de la salud de diversas áreas.

Tomado de:http://www.rcim.sld.cu/revista_12/articulos_htm/razonamiento.htm

(RBC) Razonamiento Basado en Casos


  El Razonamiento Basado en Casos (RBC) se basa en almacenar, recuperar y reutilizar las soluciones a problemas semejantes anteriormente resueltos, en lugar de generar soluciones basadas en un modelo exhaustivo de comportamiento. Las raíces del RBC hay que buscarlas en ciertos resultados de psicología donde se muestra que, en muchas ocasiones, los seres humanos resuelven problemas en base a experiencias pasadas y no a partir de un conocimiento profundo del problemas en cuestión. Los médicos, por ejemplo, buscan conjuntos de síntomas conocidos, los ingenieros toman muchas de sus ideas de soluciones previas ya construidas con éxito, o los programadores expertos reutilizan esquemas más o menos abstractos de las soluciones que conocen.

Un sistema que utilice RBC necesita una serie de experiencias, llamadas "casos", almacenadas en una base de casos, donde cada caso se compone generalmente de una descripción del problema y la solución que se aplicó. Las hipótesis fundamentales en las que se basa el RBC son, primero, que un sistema -o un ser humano- puede ser un resolutor de problemas eficiente y efectivo sin necesidad de poseer un conocimiento completo, hasta las últimas consecuencias, de la relación que existe entre un problema y su solución, siempre y cuando tenga suficiente experiencia. Y, segundo, que los problemas tienden a repetirse y, por ello, la experiencia es un recurso útil.
A pesar del éxito de los sistemas basados en conocimiento, existen varios problemas:


  •          El proceso de extracción de conocimiento es difícil
  •      Su construcción requiere de habilidades especiales
  •         Normalmente son lentos e incapaces de accesar grandes cantidades de información 
  •         Son difíciles de mantener
  •       Un Razonador Basado en Casos resuelve problemas nuevos mediante la adaptación de soluciones previas usadas para resolver problemas similares (Riesbeck, Schank 89)
  •      No requiere de un modelo explícito del dominio y el proceso de extracción se reduce a juntar casos históricos
  •      Su construcción se reduce a identificar atributos relevantes con los cuales describir los casos. Puede empezar con unos cuantos casos y elimina el que el sistema sea completo.
  •          Permite dar explicaciones.
  •          Usan técnicas de base de datos para manipular grandes volumenes de información.
  •       CBR puede aprender adquiriendo nuevo conocimiento como casos haciendo su mantenimiento más fácil.
  •          Pueden ir creciendo reflejando la experiencia acumulada.

                     Tomado de: http://www.buenastareas.com/ensayos/El-Razonamiento-Basado-En-Casos/1418945.html
                                           http://ccc.inaoep.mx/~emorales/Cursos/Representa/node173.html
                      Foto:  http://razbacaso.wordpress.com

RAZONAMIENTO BASADO EN CASOS (RBC)



Razonamiento basado en casos. Es el proceso de solucionar nuevos problemas  basándose en las soluciones de problemas anteriores. El Razonamiento basado encasos es una manera de razonar haciendo analogías. Se ha argumentado que el razonamiento basado en casos no sólo es un método poderoso para el razonamiento de computadoras, sino que es usado por las personas para solucionar problemas cotidianos. Más radicalmente se ha sostenido que todo razonamiento es basado en casos porque está basado en la experiencia previa.


Este sistema de razonamiento se basa en una unidad mínima llamada caso. Un caso se puede definir como una representación de una experiencia anterior, una vivencia. Podría ser visto como una caja en la que encontramos todas aquellas cosas que pasaron en la experiencia. Una buena analogía seria utilizando reglas, podríamos describir este caso como un conjunto de reglas relacionadas con una experiencia. Debe quedar claro que las reglas por si solas no tienen significado, ya que es en el conjunto de la experiencia donde encontramos la mínima expresión. Si considerásemos reglas sueltas de esta experiencia nos encontraríamos con que estaríamos delante de un sistema experto.

El contexto en el sistema experto también tiene mucha importancia ya que en el proceso de inferencia puede ser utilizado. El caso está basado en un conocimiento, es decir no es algo creado artificialmente sobre hechos sino que está basado en un conocimiento existente previamente y por lo tanto que podemos considerar cierto desde el inicio. Además, el hecho de que hablemos de experiencia ya nos comienza a hacer notar que este sistema estará muy ligado a la adquisición de conocimiento externo, ya que al estar basado en las experiencias será necesario que el sistema vaya adquiriendo nuevas experiencias para mejorar su razonamiento.

Las experiencias que tenemos en el sistema no se refieren a cualquier experiencia sino sólo a aquellas que nos aportan alguna información sobre el tema tratado por el sistema experto, además de no repetir experiencias ya existentes con el mismo contexto, ya que no aportan nueva información al sistema. El uso de los casos persiguen directamente la consecución de los objetivos del razonamiento, que como en cualquier sistema experto es la consecución de una conclusión que dependiendo del tipo de problema puede ser muy variado.

Características

Aunque se utiliza el término de razonamiento basado en casos como un término genérico en todo el documento, típicamente este método tiene una serie de características que lo distinguen del resto y que vale la pena comentar. Comenzaremos comentando que cuando hablamos de caso damos por hecho que este poseerá un cierto grado de riqueza en la información que contiene, es decir la descripción de la experiencia está perfectamente descrita y se intenta que no falte información en su descripción, además es necesario que toda esta información que contiene posea un cierto grado de organización que permita su rápido entendimiento y sobre todo llegar a la información necesaria rápidamente minimizando acceder a información no necesaria. Por otro lado, nos encontramos con otra particularidad y es la capacidad que existe para modificar o adaptar este caso a una solución cuando se está solucionando un problema en un contexto diferente. Además como se había comentado cuando analizábamos la descripción del significado, es muy importante el contexto del conocimiento, concretamente la riqueza con el que estará descrito, su representación y el rol que tenga con el conocimiento principal; resulta evidente que a un mayor conocimiento del contexto las conclusiones que se podrán obtener del razonamiento serán mejores. Como contrapartida de esto, el exceso de información puede provocar que sea demasiado lento en el proceso de razonamiento. Es por eso que es necesario buscar un término medio entre estos dos términos.


Tomado de :http://www.ecured.cu/index.php/Archivo:Razonamienbasacas.jpeg
Foto: http://www.experientiadocet.com/2009_08_01_archive.html

sábado, 11 de mayo de 2013

Sistema inteligente para el tratamiento de alarmas en anestesiología

Resumen: Se describe el desarrollo de un Sistema de Información basado en Multiagentes, cuyo objetivo es analizar las señales de monitoreo de procesos anestesiológicos, contextualizarlas con los datos del paciente y de la cirugía, para luego generar las alarmas correspondientes solamente para aquellas situaciones que lo justifiquen. De esta forma se trata de minimizar el número de falsas alarmas y aumentar la calidad de la información disponible para los anestesiólogos. La arquitectura del sistema está conformada por un grupo de Agentes Inteligentes: Diagnosticador basado en Redes Neuronales, Guardián que utiliza algoritmos del Control Estadístico de Procesos Multivariados, Validador que contiene modelado con Redes Bayesianas y el Generador de Alarmas. Para su diseño se utilizo la metodología Gaia, con los modelos de Roles, Actividades y Agentes. Se trabajo sobre casos de pacientes con Hemorragia Aguda de 100, 300, 500, 700 y 900 ml/min, obteniéndose resultados satisfactorios.



La meta del sistema es la siguiente:
"Reducir la posibilidad de daños en pacientes sometidos a procesos anestesiológicos, dando soporte al anestesiólogo para mantener el proceso de anestesia en condiciones normales durante una cirugía".
El proceso está dividido en dos fases: en primer lugar la fase de configuración y en segundo lugar, la fase de seguimiento y soporte.
La fase de configuración consiste en las primeras cinco actividades del proceso. En ellas, el anestesiólogo debe configurar el Sistema para comenzar la cirugía. Para tal fin, el Sistema es alimentado con las características propias del paciente y las del tipo de cirugía a realizar. Luego, se genera un plan de actividades de chequeo, que debe realizar el anestesiólogo para verificar el correcto funcionamiento de todos los equipos. Finalmente, el Sistema presenta un plan de acción inicial a recomendar e inicia las actividades propias de la fase siguiente.
La fase de seguimiento y soporte está conformada,por un conjunto de actividades que se llevarán a cabo concurrentemente:
Leer Acción del Anestesiólogo: El Sistema es capaz de recibir como entrada una acción del anestesiólogo y luego almacenarla. Esto le permite analizar los posibles efectos de dicha acción, como así también modificar el plan de acción a sugerir.
Capturar señales: Toma periódicamente muestras de las señales vitales provenientes desde los monitores y las guarda para su posterior análisis.
Analizar Condición del Paciente: Lee las señales capturadas y determina si la condición del paciente es normal o anormal. Si es anormal habilita la actividad Determinar Posible Patología.
Determinar Posible Patología: Se encarga de leer las señales tomadas del paciente y analizarlas, para determinar si el paciente podría padecer una patología conocida. Si encuentra tal situación, habilita la actividad Diagnosticar Patología.
Diagnosticar Patología: Tiene como objetivo analizar las posibles patologías que se encuentran en el paciente y determinar si verdaderamente existe una. Activa la alarma pertinente si fuera necesario.
Supervisar Plan de Acción: A partir del estado del paciente y de las acciones realizadas por el anestesiólogo, define y actualiza el plan de acción a seguir.
Operar Alarma: Activa o desactiva la alarma correspondiente.
Cada una de estas actividades ha sido detallada con el fin de determinar los roles que deberán desempeñar los Agentes del Sistema.

Tomado de: http://www.scielo.org.ar/scielo.php?script=sci_arttext&pid=S1851-17162008000100008
Foto : http://a407.idata.over-blog.com/600x466/1/21/63/43/Fase-23/anestesia1.jpg
                 

AGENTES INTELIGENTES PARA EL DIAGNÓSTICO DE PATOLOGÍAS GINECOLÓGICAS

Resumen
Como un lógico proceso de desarrollo, la Medicina ha ido asimilando la introducción de las computadoras para agilizar y mejorar los procesos de apoyo médico. El presente trabajo trata sobre el diseño e implementación de un sistema multiagentes para el diagnostico de las patologías ginecológicas más comunes, para apoyar a médicos jóvenes en los diagnósticos de dichas dolencias. Se describe el proceso de selección de las patologías y las características del sistema, el cual presenta una arquitectura abierta para agregar nuevos agentes y adapta el modelo Cooperativeen la solución mostrada.
- En este trabajo se sistematiza el conjunto de patologías reportadas en la especialidad de Ginecología.
- Después de una revisión bibliográfica de la literatura médica sobre Ginecología se encontraron 109 patologías, por lo que se decide aplicar una encuesta para determinar de ellas cuales se presentan con más frecuencia, según el criterio de especialistas en Gineco-Obstetricia durante su carrera.
- Una vez determinadas las patologías que serían tratadas por el Sistema, se efectuó una intensa revisión de la literatura médica para establecer una caracterización.
se definieron que rasgos eran determinantes para sospechar su existencia. Algunos están asociados a síntomas y signos presentados por la paciente, otros al resultado de análisis complementarios que son determinantes para diagnosticarla.
Requerimientos del Sistema.
· Procesador Pentium III o superior.
· Al menos 64 Megabytes de memoria.
· Versión Windows 2000 o superior, con Framework .NET v1.1.4322 o superior.
Tomado de:  http://www.informatica2007.sld.cu/Members/dgalvez/agentes-inteligentes-para-el-diagnostico-de-patologias-ginecologicas


¿Qué es un Agente Inteligente?




El tema de agentes inteligentes es muy extenso; debido a ello, en este artículo sólo voy a referirme a las definiciones que han dado los diferentes autores y cómo las han clasificado; en entregas posteriores les mencionaré las aplicaciones de los agentes inteligentes, la contribución que han hecho a las diferentes ramas de la industria, el comercio, la salud, etc.; a la vez analizaré cuál será el futuro de este apasionante tema.


Previa a la definición de lo que es un Agente Inteligente, debo remontarme al significado de la Inteligencia Artificial (IA); pues esta rama de la informática es la encargada de construir y ejecutar procesos, que luego producen resultados de acuerdo con las entradas recibidas, por ejemplo, que una máquina imite el comportamiento y la comprensión humana. Pero para hacer más estricta la definición de Inteligencia Artificial, es importarte referirse a Russel y Norvig (1999), quienes a su vez toman de otros autores definiciones extendidas por varias categorías como: los sistemas que piensan como humanos, los que piensan racionalmente, los que actúan como humanos y los que actúan racionalmente. Pero de todas las definiciones recopiladas por ellos, la que más me gusta es la de Rich y Knight (1991) quienes dicen que la Inteligencia Artificial es “El estudio de cómo lograr que los computadores realicen tareas que, por el momento, los humanos hacen mejor”. Interpretando esta definición, puedo indicar que la Inteligencia Artificial desarrolla sistemas que piensan y actúan racionalmente.
Pero ¿por qué tomo la definición de IA antes de describir un agente? Porque existe una estrecha conexión entre la IA y los agentes inteligentes; por ejemplo, Jon Doyle (1983) propuso la idea que relaciona estos dos términos, así: “el diseño de agentes racionales es la médula de la IA y seguiría siendo su objetivo primordial”. En pocas palabras, los agentes inteligentes son el nuevo paradigma de la Inteligencia Artificial y hacia allí ésta se está enfocando, por cuanto las técnicas de la IA pueden ser empleadas en cualquier tipo de problema y son susceptibles de aplicarse de forma clara, más apropiada y unificada en diferentes campos que requieran construcción de sistemas inteligentes y con mayor rango de complejidad.
Una vez tenemos claro lo que es la Inteligencia Artificial, revisemos el concepto que aquí nos ocupa. Comencemos con la palabra agente, que viene del latín agere, hacer. El agente es una entidad que puede actuar de forma autónoma y razonada; se considera agente aquello que percibe su ambiente mediante sensores y que responde o actúa por medio de efectores. Si nos referimos a los agentes inteligentes, estos se conciben, como es de suponerse, por la etimología de las palabras, como algo que razona y toma decisiones.
De otra parte, el agente, según Hípola y Vargas-Quesada (1999), es una entidad de software que se basa en su propio conocimiento, realiza un conjunto de operaciones destinadas a satisfacer las necesidades de un usuario o de otro programa, bien por iniciativa propia o porque alguno de éstos se lo requiere.
Una definición más. Según Labidi, S. y Lejouad, W. (1993), un agente es una entidad física o abstracta que puede percibir su ambiente a través de sensores, es capaz de evaluar tales percepciones y tomar decisiones por medio de mecanismos de razonamiento sencillos o complejos, comunicarse con otros agentes para obtener información y actuar sobre el medio en el que se desenvuelve a través de ejecutores.
Son muchas las clases de agentes que se han creado; para dar cuenta de solo unas pocas, se las mencionaré:
  1. Los agentes autónomos: Son sistemas que sienten el entorno y actúan sobre él a través del tiempo, sin perder de vista su objetivo ni afectar lo que sienta en el futuro.
  2. Los agentes humanos: Son los sistemas que tienen sensores (ojos, oídos, otros órganos). Como por ejemplo robots, cámaras, telémetros infrarrojos; y efectores (manos, piernas, boca y otras partes del cuerpo). Por ejemplo, robots con motores.
  3. Los agentes robóticos: Son sistemas a los que se les sustituyen los sensores por cámaras infrarrojas y los efectores por motores.
  4. Los agentes racionales: Son sistemas que hacen lo correcto; es decir, que puedan medir su propio desempeño.
  5. Los agentes de software: Son sistemas cuyos bits codificados representan las percepciones y las acciones.
  6. Los agentes Inteligentes: Son sistemas capaces de autoaprender, autoevaluarse y cambiar de acción de acuerdo con el ambiente en el que se desenvuelven. Según Nikola Kasabov, un agente inteligente es el que tiene capacidad para aprender nuevos problemas e incrementar normas de solución; que tiene capacidad de adaptación en línea y en tiempo real; que es capaz de analizar condiciones en términos de comportamiento, el error y el éxito; el que es capaz de aprender y mejorar a través de la interacción con el medio ambiente; que es capaz de aprender rápidamente de grandes cantidades de datos que estén en un medio de almacenamiento masivo y recuperar dicha capacidad de aprender.
Los agentes inteligentes se pueden clasificar según Russel y Norvig (1999), a su vez, en:

  • Agentes reactivos: Son sistemas que no poseen protocolos ni lenguajes de comunicación; no son individualmente inteligentes, pero sí lo son globalmente. Sólo responden a estímulos, a acciones entre el conjunto de agentes cognitivos.


  • Agentes cognitivos: Son capaces de realizar operaciones complejas; son inteligentes, capaces de razonar sobre la base de su conocimiento, se comunican con otros agentes y pueden llegar a acuerdos sobre alguna decisión con algunos de ellos, o con todos. Estos sistemas se componen de varios agentes cognitivos.


  • Agentes inteligentes de información: Son aquellos que tienen capacidad de proceso; esto quiere decir que son capaces de descomponer una consulta en sub consultas, asociar distintos términos resultantes con otros o con afines, por medio de su conocimiento y el de otros agentes que se comuniquen con él, son capaces de conocer el entorno en el que se encuentran, acceden a información, bien sea de otro agente, o de su conocimiento previo. Existen cuatro características primordiales en este tipo de agentes: la primera, que son autónomos, es decir que actúan sin intervención humana y tienen el control de sus propios actos; la segunda, que son sociables, es decir, que se comunican con otros agentes o con humanos por medio de un lenguaje común; la tercera, que tienen capacidad de reacción, es decir, que perciben del entorno y reaccionan para adaptarse a él; la cuarta característica es que tienen iniciativa, es decir, que emprenden las acciones necesarias para resolver problemas.

    • Agentes cooperativos: Son sistemas autosuficientes, que conocen su entorno, que coopera y se coordinan con otros agentes. Esto lo pueden hacer a través de la descomposición de consultas en sub consultas, que son encargadas a otros agentes para que las resuelvan.
    • Agentes móviles: Son sistemas que se mueven por los distintos nodos de la red; son autónomos para realizar tareas, capaces de ejecutarse en varias máquinas sin que en ellas se encuentre su código y éste es móvil. Operan sin conexión, es decir, trabajan sin que la red esté funcionando; para ello, se esperará a que la conexión se reanude. Las funciones que debe ejecutar el agente no sólo las lleva a cabo en el PC donde se encuentre, sino en otras que estén en la red. Tienen la capacidad de indicar hacia qué servidor moverse; no necesariamente cambian de estado y pueden ir hacia otro servidor y seguir en ejecución. Algunas de las características más importantes de estos agentes: son eficientes, se adaptan al cliente, reducen el tráfico de la red, gestionan grandes volúmenes de información y permiten la comunicación en tiempo real.
    Pero ¿cómo se podría concebir un agente inteligente ideal? Lo primero que diría es que sea comunicativo, es decir, que entienda lo que le solicitan, que sepa qué limitaciones tiene y cuáles son las preferencias; esto quiere decir, que sea capaz de escoger entre varias opciones, como respuesta a una consulta. Otra característica importante que agregaría para el agente ideal es que éste sea autónomo, que actúe por sí solo, que tome sus propias decisiones y en su propio tiempo, que sea adaptable, es decir, que aprenda de sus experiencias, de otras experiencias y de lo que el usuario prefiera.
    Tomado de: http://ingenierias.usergioarboleda.edu.co/index.php?option=com_k2&view=item&id=118:%C2%BFqu%C3%A9-es-un-agente-inteligente?-parte-i