Un Sistema Experto: MYCIN

Anuncio
Un Sistema Experto:
MYCIN
Juan Santaella Vallejo
5º de Ing. De Telecomunicación
Inteligencia de Redes de Comunicación
1º Introducción
En este trabajo vamos a ver un ejemplo de un sistema experto, dicho sistema es MYCIN
veremos cual es su objetivo, como trabaja para concluir con un ejemplo real de aplicación. Pero
antes vamos hacer un poco de historia.
A mediados de los años sesenta los investigadores Alan Newell y Herbert Simon desarrollaron
un programa llamado GPS (General Problem Solver; solucionador general de problemas). Podía
trabajar con criptoaritmética, con las torres de Hanoi y con otros problemas similares. Lo que no
podía hacer el GPS era resolver problemas del mundo real, tales como un diagnóstico médico.
Algunos investigadores decidieron entonces cambiar por completo el enfoque del problema
restringiendo su ambición a un dominio específico e intentando simular el razonamiento de un
experto humano. En vez de dedicarse a computarizar la inteligencia general, se centraron en
dominios de conocimiento muy concretos. De esta manera nacieron los sistemas expertos (SE).
Un SE es un programa que soluciona problemas y da consejos en un área especializada de
conocimiento. Por ejemplo, diagnóstico médico, diseño de automóviles, prospecciones
geológicas.
A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenzó a desarrollar SE
utilizando bases de conocimiento definidas minuciosamente. Dos años más tarde se construye
DENDRAL, el cual es considerado como el primer SE. La función de dicho SE era identificar
estructuras químicas moleculares a partir de su análisis espectrográfico.
En la década de los setenta se desarrolló MYCIN . Este sistema introdujo nuevas características:
utilización de conocimiento impreciso para razonar y posibilidad de explicar el proceso de
razonamiento. Lo más importante es que funcionaba de manera correcta, dando conclusiones
análogas a las que un ser humano daría tras largos años de experiencia.
2º Objetivo de MYCIN
MYCIN como ya hemos dicho es un SE (desarrollado entre 1972 y 1980, Universidad de
Stanford) para la realización de diagnósticos. Iniciado por Ed Feigenbaum y posteriormente
desarrollados por E.Shortliffe y sus colaboradores. Su función es la de aconsejar a los médicos
en la investigación y determinación de diagnósticos en el campo de las enfermedades
infecciosas de la sangre.
El sistema diagnosticaba la causa de la infección usando el conocimiento relativo a la infección
de los microorganismos con historiales de pacientes, síntomas y los resultados de los test de
laboratorio.
Desde el principio, en el proyecto se habían impuesto una serie de obligaciones:
1. Tenía que ser funcional (esto implicaba competencia y consistencia). El área de uso era
elegido según una necesidad demostrada. (Por ejemplo, a principios de los 70 a una cuarta parte
de la población de USA se le recetaba penicilina, el 90 % de esas prescripciones eran
innecesarias).
2. El programa tenía que ser diseñado con un énfasis de cumplir el rol de un medico y como
una utilidad para un medico, a pesar de reemplazar sus propios procesos de razonamiento.
3. El programa debía albergar una cantidad ingente de información técnica.
4 .El sistema tenía que interactuar mediante diálogos, tenía que dar una explicación concreta de
su razonamiento para llegar a la solución propuesta.
5. Velocidad, accesibidad y facilidad de uso.
3º ¿Cómo funcionaba?
Para ver como funcionaba MYCIN vamos a verlo desde dos puntos de vista uno de forma
general el funcionamiento de usuario y otro de forma más específica, viendo en que principios
se basaba.
El funcionamiento de MYCIN a grandes rasgos lo podríamos describir de esta manera. El
sistema, al ser consultado por el médico, solicita primero datos generales sobre el paciente:
nombre, edad, síntomas, etc. Una vez conocida esta información por parte de la maquina, el SE
plantea unas hipótesis. Para poder verificarlas comprueba primero la exactitud de las premisas
de la regla. Esto se realiza mediante una búsqueda de enunciados correspondientes en la base de
conocimientos. Estos enunciados pueden a su vez estar de nuevo en la parte de consulta de otra
regla. También lo realiza mediante determinadas preguntas al usuario. Aquí se hacen preguntas
del tipo: ¿Se ha practicado en el paciente algún tipo de intervención quirúrgica? Con las
respuestas que recibe, el MYCIN verifica o rechaza las hipótesis planteadas.
Para entender bien MYCIN vamos a hablar brevemente sobre los SE. Una característica
decisiva de los SE es la separación entre conocimiento (reglas, hechos) por un lado y su
procesamiento por el otro. A ello se añade una “interface” de usuario y un componente
explicativo. A continuación mostramos una breve descripción de cada uno de los componentes.
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.
El Mecanismo de Inferencia de un Sistema Experto puede simular la estrategia de solución
de un experto.
El Componente Explicativo explica al usuario la estrategia de solución encontrada y el
porqué de las decisiones tomadas.
La Interface de Usuario sirve para que éste pueda realizar una consulta en un lenguaje lo
más natural posible.
También existe un componente de adquisición que puede ofrecer ayuda a la estructuración e
implementación del conocimiento en la base de conocimientos, pero esto no forma parte de la
estructura básica de SE.
MYCIN se basaba para realizar los razonamientos en factores de certeza y certidumbre ya que
los autores de MYCIN decidieron no seguir la teoría de probabilidad porque:
1.Los expertos se resisten a expresar sus procesos de razonamiento en términos
probabilísticos coherentes.
2.La probabilidad requiere de grandes cantidades de datos y muchas aproximaciones y
suposiciones.
Entonces desarrollaron una nueva técnica, cuya base es el concepto de confirmación interpretación lógica de probabilidad subjetiva. Bajo estas consideraciones se desarrolla la
técnica de factores de certeza.
Esta técnica no la vamos a ver en el trabajo ya que seria profundizar mucho pero vamos a
resaltar algunas de sus conclusiones:
Aunque pretendía apartarse de probabilidad, se ha demostrado que la técnica de MYCIN
corresponde a un subconjunto de probabilidad con una serie de suposiciones implícitas:
•
•
•
La evidencia es condicionalmente independiente de la hipótesis y su negación.
La red de inferencia debe corresponder a un árbol para que los resultados sean
coherentes.
Las fórmulas para conjunción y disjunción (min y max) sólo son válidas si uno de los
términos es subconjunto del otro.
Estas suposiciones no son válidas en muchas aplicaciones por lo que el método de MYCIN no
se puede generalizar.
Para concluir este punto vamos a resaltar que MYCIN fue escrito en lenguaje Lisp y sus reglas
están formalmente representadas como expresión Lisp. Esto permite una gran flexibilidad pero
pierde algo de modularidad y claridad.
4 Impacto en la IA
Una de las aportaciones más importantes de MYCIN a la IA es que aparece claramente
diferenciados motor de inferencia y la base de conocimientos. Al separar esas dos partes, se
puede considerar el motor de inferencias aisladamente. Esto da como resultado un sistema vacío
o shell (concha).
Esta nueva forma permitió avanzar sobre los mejores sistemas expertos hasta el momento.
Primero, su base de conocimiento consistía en cientos de reglas. Segundo, esas reglas eran
probabilísticas, como hemos comentado en el punto anterior. MYCIN era lo bastante robusto
como para determinar correctamente conclusiones cuando algunas evidencias eran incompletas
o incorrectas. Tercero, MYCIN podía explicar sus propios procesos de razonamiento. El usuario
podía preguntar de muchas formas. Preguntando, porque al realizar una cuestión concreta o
como había llegado a una determinada conclusión, por ejemplo. Fue uno de los primeros
sistemas genuinamente amigables. Cuarto, y crucial, MYCIN funciona.
MYCIN supuso el punto de partida para un monto de sistemas expertos que fueron dando a su
vez otros. Así surgió EMYCIN (MYCIN Esencial) con el que se construyó SACON, utilizado
para estructuras de ingeniería, PUFF para estudiar la función pulmonar y GUIDON para elegir
tratamientos terapéuticos.
En esa época se desarrollaron también: HERSAY, que intentaba identificar la palabra hablada, y
PROSPECTOR, utilizado para hallar yacimientos de minerales. De este último derivó el shell
KAS (Knowledge Adquisition System).
En la década de los ochenta se ponen de moda los SE, numerosas empresas de alta tecnología
investigan en este área de la inteligencia artificial, desarrollando SE para su comercialización.
Se llega a la conclusión de que el éxito de un SE depende casi exclusivamente de la calidad de
su base de conocimiento. El inconveniente es que codificar la pericia de un experto humano
puede resultar difícil, largo y laborioso.
Un ejemplo de SE moderno es CASHVALUE, que evalúa proyectos de inversión y VATIA, que
asesora acerca del impuesto sobre el valor añadido o IVA
Parte de esto queda muy bien reflejado en el siguiente gráfico:
5 INTERACIONES REALES CON USUARIOS
Vamos a ver un ejemplo de una iteración real con un usuario. Se puede comprobar que se
cumple el funcionamiento explicado en el punto tercero. Ya que MYCIN formula una serie de
preguntas, dará un diagnostico y se pedirá que lo explique.
1. Patient’s name: (first - last)
**
FRED BRAUN
(Questions 1-3 request background patient data).
2. Sex:
**
M
3. Age:
**
55
4. Are there any cultures for Fred Braun which may be related to the present illness, and from
which organisms have been grown successfully in the microbiology laboratory?
**
Y
- - - CULTURE - 1 - - 5. From what site was the specimen for CULTURE - 1 taken?
** BLOD
= BLOOD
(System corrects typing error).
6. Please give the date and time when CULTURE-1 was obtained.
(mo/da/yr time)
** JUN 20, 1977
The first organism isolated from the blood culture of 20-JUN-77 (CULTURE-1) will be referred
to as:
- - - ORGANISM - 1 - - 7. Enter the laboratory - reported identity of ORGANISM-1:
** UNKNOWN
(Typically identity is not known yet).
8. The strain (gram or Ziehl-Neelsen acid-fast) of ORGANISM-1:
** NEG
(Preliminary lab results give some clues).
9. Is ORGANISM - 1 rod or coccus (etc.):
** ROD
10. What is the form of the individual organisms (e.g. lancet-shaped for cocci, fusiform for rods,
etc)?
** FUSIFORM
(... more questions follow in order to gather sufficient information to infer the identity and
significance of the infecting organisms ...)
...
...
23. What is the suspected portal of entry of the gramneg rod from the blood culture of 20-JUN77 (ORGANISM-1) into this sterile site?
** GI (6)
(User indicates the uncertainty of his response).
24. Is Fred Braun a burn patient?
** N
25. Is Fred Braun a compromised host (e.g. alcoholic, sickle-cell-disease, immunosuppressed)?
** N
26. Is Fred Braun febrile?
** Y
( ... after about 50-60 questions, MYCIN prints the diagnostic hypotheses on which therapy will
be based ...)
My therapy recommendations will be designed to treat for organisms that are either very likely,
or, although less likely, would have a significant effect on therapy selection if they were present.
It is important to cover for the following probable infection(s) and associated organism(s):
INFECTION-1 is BACTEREMIA
<ITEM-1> E.COLI [ORGANISM-1]
<ITEM-2> KLEBSIELLA [ORGANISM-1]
<ITEM-3> ENTEROBACTER [ORGANISM-1]
<ITEM-4> KLEBSIELLA-PNEUMONIAE [ORGANISM-1]
6 Conclusiones
Los SE proporcionan la capacidad de trabajar con grandes cantidades de información, que son
uno de los grandes problemas que enfrenta el analista humano que puede afectar negativamente
a la toma de decisiones pues el analista humano puede depurar datos que no considere
relevantes, mientras un SE debido a su gran velocidad de proceso analiza toda la información
incluyendo las no útiles para de esta manera aportar una decisión más sólida.
Otro punto positivo es; debido a la escasez de expertos humanos en determinadas áreas, los SE
pueden almacenar su conocimiento para cuando sea necesario poder aplicarlo. Así mismo los SE
pueden ser utilizados por personas no especializadas para resolver problemas. Además si una
persona utiliza con frecuencia un SE aprenderá de el.
Se puede resumir el proceso de funcionamiento de un SE de esta manera
Descargar