Sistemas Expertos
Sistemas Expertos
Sistemas Expertos
SISTEMAS EXPERTOS
Sistemas Expertos
CONTENIDO
SISTEMAS EXPERTOS ................................................................................................................................................3 1. 2. 3. 4. 5. 6. CONCEPTO DE SISTEMA EXPERTO..................................................................................................................... 3 FUNCIONES DE UN SISTEMA EXPERTO................................................................................................ 5 CARACTERSTICAS ....................................................................................................................................... 6 VENTAJAS Y LIMITACIONES ..................................................................................................................... 6 LIMITACIONES ................................................................................................................................................ 8 A RQUITECTURA Y FUNCIONAMIENTO DE UN SISTEMA EXPERTO SEGN SIERRA MOLINA...................... 10 6.1. La base de conocimientos.....................................................................................................................10 6.2. La base de datos.....................................................................................................................................12 6.3. El motor de inferencia...........................................................................................................................12 6.4. El interfaz de usuario.............................................................................................................................15 7. ESTRUCTURA DE UN SISTEMA EXPERTO SEGN DURKIN ....................................................... 16 7.1. Base de conocimiento (Knowledge Base)..........................................................................................17 7.2. Memoria de trabajo (working memory) .............................................................................................18 7.3. El motor de inferencia (inference engine)..........................................................................................18 8. HERRAMIENTAS: LENGUAJES Y SHELLS......................................................................................................... 18 8.1. Lenguajes de programacion .................................................................................................................18 8.2. Shells.........................................................................................................................................................18 9. LA A DQUISICIN DEL CONOCIMIENTO........................................................................................................... 19 9.1. Mtodos manuales y semiautomticos................................................................................................20 9.2. Aprendizaje automtico.........................................................................................................................23
ii
Sistemas Expertos
SISTEMAS EXPERTOS
La inteligencia artificial tiene por objeto analizar los comportamientos humanos en lo relativo a la percepcin, la comprensin y la decisin, con el fin de reproducirlos despus con la ayuda de una mquina: el ordenador.
Sistemas Expertos
de responder como esta persona, como de explicar y justificar sus respuestas. Los sistemas expertos actan como ayudantes inteligentes de los expertos humanos y como consultores cuando no se tiene ninguna otra posibilidad de acceder a la experiencia y al conocimiento. El Comit de Sistemas Expertos de la British Computer Society ha definido un sistema experto como sigue: "La incorporacin a un ordenador de un componente basado en el conocimiento que se obtiene a partir de la habilidad de un experto, de forma tal que el sistema pueda dar consejos inteligentes o tomar decisiones inteligentes. Una caracterstica adicional deseable, que para muchos es fundamental, es que el sistema sea capaz, bajo demanda, de justificar su propia lnea de razonamiento de una forma inmediatamente inteligible para el usuario. El
estilo adoptado para obtener estas caractersticas es la programacin basada en reglas " Un sistema experto es un programa informtico que utiliza el conocimiento y los procedimientos para resolver problemas difciles para personas profesionalmente entrenadas. Un programa que emplea co-
nocimiento e inferencias para resolver problemas es denominado sistema basado en el conocimiento. Cuando el conocimiento y los procedimientos de inferencia se modelan basndose en expertos humanos, a ese sistema se le puede denominar sistema experto. dos caractersticas que deben resaltarse: Hay
Sistemas Expertos
- Que el desarrollo de sistemas expertos se basa en una teora descriptiva de la forma de resolucin de problemas de los expertos humanos. - Que el foco del desarrollo es una representacin de experiencia, esto es, el conocimiento adquirido por los humanos mediante la prctica y el estudio.
Sistemas Expertos
3. CARACTERSTICAS
Se sugieren las siguientes caractersticas para que los sistemas expertos sean aceptados por sus posibles usuarios: El programa debe ser til. El programa debe poder usarse. El programa debe ser educacional cuando se necesite. El programa debe ser capaz de explicar sus propios consejos. El programa debe ser capaz de responder a preguntas sencillas. El programa debe ser capaz de incorporar nuevo conocimiento. El conocimiento del programa debe poder ser modificado fcilmente
4.
VENTAJAS Y LIMITACIONES
Se destaca las siguientes ventajas de los sistemas expertos: Mejoras en la productividad, permitiendo ahorrar tiempo y dinero, dado que con los conocimientos fcilmente accesibles, los problemas se pueden ir resolviendo a medida que se van planteando y las decisiones se pueden tomar rpidamente. Conservacin de conocimientos importantes. Los
sistemas expertos permiten guardar y encapsular los valiosos conocimientos de un especialista en forma
6
Sistemas Expertos
de paquetes de software y difundirlos, de manera que no se pierdan aunque se pierda el especialista. Los especialistas, a menudo escriben libros que ayudan a difundir sus conocimientos. Sin embargo, los libros suelen ser ms tericos que prcticos, y hay muchas ocasiones en las que no se puede ensear en un libro cmo se aplican los conocimientos de forma prctica, de modo que esta misin se deja en manos del lector. Los sistemas expertos resuelven
este problema, ya que para su construccin se determina la esencia de los problemas que se pretenden resolver y se programa el conocimiento necesario para su resolucin. Mejora del aprendizaje y la comprensin. Los sis-
temas expertos tambin sirven de ayuda a la hora de entender cmo un especialista resuelve un problema o cmo aplica sus conocimientos. A menudo, los es-
pecialistas no saben exactamente cmo estn resolviendo los problemas. Dan por ciertos sus conociPero
para crear un sistema experto, el diseador debe descubrir esos detalles, lek que conduce a una mejor comprensin del razonamiento de la mente humana. Los sistemas expertos tambin ayudan a mejorar la capacidad de aprendizaje. Una persona que utiliza
regularmente un sistema experto para resolver problemas, se familiarizar bastante con la materia en cuestin, aproximndose la capacidad del usuario a la del especialista.
Sistemas Expertos
Castillo y Alvarez1 sealan las siguientes: Posibilidad de utilizar personal no especializado para resolver problemas que requieren especialidad. Obtencin de soluciones ms rpidas. En muchos ca-
sos, la rapidez de obtencin de soluciones es totalmente necesaria, ya que sin esa rapidez las soluciones obtenidas seran intiles. Obtencin de soluciones ms fiables. El incremento
de fiabilidad se consigue gracias al tratamiento de datos informatizado, y a veces a la intervencin de grupos de expertos. Reduccin de costes. Aun cuando el desembolso ini-
cial en el desarrollo o la compra de un sistema experto es elevado, los costes posteriores se reducen notablemente, y la amortizacin se produce con gran rapidez. Al menos sta es la experiencia de la li-
teratura existente, en la que las ganancias producidas por estos sistemas se dan como espectaculares. Eliminacin de operaciones incmodas o montonas. Acceso del conocimiento a poblaciones ms amplias
5.
LIMITACIONES
Entre las limitaciones destacan: La complejidad de los procesos de extraccin de conocimientos:
Castillo, E.y Alvarez, E.(1989). Sistemas Expertos: Aprendizaje e incertidumbre. Paraninfo, Madrid.
Sistemas Expertos
- El hecho de que en ciertas reas existan tantas excepciones como reglas. - Frente a un mismo problema, los especialistas difieren frecuentemente en la solucin a tomar. Problemas ligados a la representacin del conocimiento. Incapacidad para reconocer un problema para el que su propio conocimiento es inaplicable o insuficiente. As, cuando el problema planteado al sistema
sobrepasa su competencia, sus prestaciones se d egradan notablemente. Esta degradacin se debe igualmente a su falta de sentido: no pueden reemplazar datos omitidos mediante un razonamiento de sentido comn. Limites de los motores de inferencia para tratar problemas cuyas informaciones sean incompletas o no montonas. Mala adaptacin de las estrategias. Las estrate-
gias, que estn programadas de forma procedimental, se adaptan mal segn las circunstancias. ordinario poder de adaptacin del El extray el
hombre,
hecho de modificar la estrategia de razonamiento en funcin de la situacin, constituyen una parte importante de su inteligencia. Los expertos utilizan la analoga para tomar decisiones rpidamente, sin probar progresivamente una hiptesis. Esto es posible gracias a que la memo-
ria humana es capaz de comparar la situacin presente con una situacin anloga ocurrida en el pasado. En este caso, no se estudia progresivamente
9
Sistemas Expertos
una hiptesis, sino que se decide de inmediato. Los sistemas expertos no pueden utilizar este tipo de razonamiento. Duracin del desarrollo. Los sistemas operaciona-
les ms recientes han empleado ms de dos aoshombre. Campo de aplicaciones restringido y especfico.
Los sistemas expertos se conciben en dominios de competencia muy estrechos y con muchas restricciones especficas del contexto de utilizacin.
UN
Actualmente no existe algo que pueda ser llamado sistema Sin embargo, hay unos componentes b-
sicos que existen en la mayora de los sistemas expertos, y son: base de conocimientos, base de datos, motor de inferencias y un interfaz de usuario.
componente que contiene el conocimiento del sistema recibe el nombre de base de conocimientos. El mtodo ms comn de representar el conocimiento en los sistemas expertos son las reglas de produc2
Sierra G. y otros (1995). Sistemas Expertos en Contabilidad y Administracin de Empresas. USA: Editorial Addison Wesley.
10
Sistemas Expertos
cin.
sistema experto se divide en muchas fracciones pequeas de conocimientos o r eglas. Las reglas se Por ejem-
plo, las siguientes reglas de produccin podran formar parte de la base de conocimientos de un sistema experto para el pago de un cheque: R1: SI (El cheque es del banco) Y (La firma es autorizada) Y (Las cantidades concuerdan) Y (Hay saldo
suficiente) Y (El receptor ha sido identificado) ENTONCES Pago del cheque permitido R2: SI (El cheque es al portador) O (Firma del receptor comprobada) ENTONCES El receptor ha sido identificado R3: SI (Saldo > Importe) O (Descubierto autorizado) ENTONCES Hay saldo suficiente
11
Sistemas Expertos
No todas las reglas pertenecen al dominio del sistema; existen reglas de produccin, llamadas metarreglas (reglas sobre otras reglas), cuya funcin es indicar en la ejecucin de un sistema experto determinado bajo qu condiciones deben considerarse unas reglas en lugar de otras.
conocimientos no hace inteligente a un sistema experto, sino que debe tener otro componente que di12
Sistemas Expertos
rija y controle la implementacin del conocimiento. A ese elemento se le conoce con diferentes nombres, como estructura de control, intrprete de reglas o motor de inferencias. La estrategia de control incluida en el motor de inferencias determina cmo se examinarn las reglas de la base de conocimientos, puede ser una estrategia de encadenamiento regresivo o progresivo. En
el primer caso se comienza por las reglas que suponen las conclusiones del sistema y se va retrocediendo en el rbol de reglas, y en el segundo se comienza por los hechos disponibles en la base de datos buscando reglas que se satisfagan, y as sucesivamente. Cuando una regla se cumple, las conclusiones obtenidas se incluyen en la base de datos para poder emplearlas en la evaluacin de otras reglas. Cada vez que se examina una nueva regla, la mquina de inferencia comprueba la base de datos para determinar los hechos que conoce e intenta cumplir los requisitos de la informacin para satisfacer la regla. Si no se dispone de suficiente informacin para satisfacer la regla, el sistema experto solicitar nuevos datos. En otro caso, la mquina de inferencia simplemente salta a la siguiente regla de la secuencia, intentando de nuevo contrastar los datos disponibles en la base de datos con las conLa mqui-
13
Sistemas Expertos
se agoten todas las reglas y hechos. En este momento es cuando el sistema presenta sus conclusiones.
6.3.1. Encadenamiento regresivo La mayora de los sistemas expertos emplean tcnicas de encadenamiento regresivo, pues el sistema experto intenta probar una hiptesis. Cuando todos los hechos contenidos en la base de datos y los obtenidos en el proceso de inferencia confirman la hiptesis, se supone que sta es cierta y se transforma en la recomendacin que da el sistema experto. Todos los sistemas exper-
tos tienen almacenadas las conclusiones posibles para un determinado conjunto de problemas en un dominio. Al crear la base de
conocimientos, los expertos y los responsables del diseo definen todos los posibles resultados. La base de conocimientos con-
tiene una regla que infiere todas las posibles conclusiones. Las dems reglas de la
base de datos proporcionan los pasos de inferencia intermedios que finalmente llevan a una de las reglas que confirman la hiptesis. Utilizando encadenamiento regresi-
vo, el sistema experto elige una de las conclusiones finales como hiptesis e intenta probarla a partir de los datos de entrada. Si no la fuera posible de los probar la
mquina
inferencia siguientes
probar
Sistemas Expertos
6.3.2. Encadenamiento progresivo Si se implementa una secuencia de control de encadenamiento progresivo, la mquina de inferencia parte de los hechos disponibles en la base de datos y busca los hechos que se encuentran en la parte SI de las reglas. Si la parte SI de la regla coincide con un hecho en la base de datos, la regla se satisface. La parte ENTONCES de la regla se
considera cierta y el nuevo hecho inferido se almacena en la base de datos. Con esta
nueva informacin, la mquina de inferencia intenta encontrar este hecho recin inferido en la parte SI de otra regla. El proceso contina hasta que no es posible alcanzar ms condiciones. En este momento, el sis-
que permite esta comunicacin es conocida como el interfaz de usuario. La comunicacin que realiza un interfaz de usuario es bidireccional. Al nivel ms sencillo, el usua-
rio debe ser capaz de describir su problema al sistema experto, y ste debe ser capaz de responder
15
Sistemas Expertos
Se pretende en la prcti-
ca que un interfaz de usuario realice otras funciones adicionales. Unas veces se pide al sistema que
explique su razonamiento, y otras, el sistema pide informacin complementaria del problema. El interfaz de usuario debe incluir un subsistema de adquisicin de conocimientos. de Los subsistemas
medios adecuados para aadir nuevas reglas y editar las ya existentes. El subsistema de adquisicin del conocimiento es el encargado de recibir los elementos de conocimiento que proceden del tndem experto-
ingeniero, comprobar que son elementos nuevos, es decir, todava no incluidos en la base de conocimientos y, en su caso, transmitirlos a dicha base de forma inteligible para ella.
7. ESTRUCTURA DURKIN 3
DE
UN
SISTEMA
EXPERTO
SEGN
Cuando proporcionamos algn consejo a alguien, un expeto primero obtiene hechos acerca del problema (Case facts) y almacena este en su memoria de corto plazo (Short Term Memory: STM). El experto entonces razona acerca del problema, combinando los hechos del STM con el conocimiento de la memoria a largo plazo (Long-Term Memory: LTM). utilizando este proceso, el experto infiere la nueva informacin del problema y llega a conclusiones referidos al problemas. La siguiente figura muestra un diagrama de
16
Sistemas Expertos
Los sistemas expertos solucionan problemas utilizando procesos que son muy similares a los mtodos utilizados por un experto humano, tal como se muestra en la siguiente figura:
Sistemas Expertos
8.2. SHELLS
Un shell de sistema experto es un sistema completamente desarrollado, pero con una base de conocimientos vaca. El shell contiene un motor de infe-
Sistemas Expertos
shells utilizan reglas de produccin y proporcionan mecanismos de representacin de conocimiento impreciso mediante factores de certidumbre. temas ms avanzados se incorporan En los sisde
principios
programacin orientada a objetos e interfaces con el entorno informtica que posibilitan el acceso a bases de datos, hojas de clculo y otros ficheros empleados por el usuario. La mayora de los sistemas expertos se han desarrollado haciendo uso de shells y no de lenguajes, debido a que eliminan la programacin, simplificando de esta forma el proceso de creacin del sistema. Entre los ms populares, podemos citar: ART, CRYSTAL, EXSYS, GOLDWORKS, KEE, NEXPERT OBJECT, GURU, PC CONSULTANT PLUS, TIRS y VP-EXPERT.
y herramientas de ayuda en este campo que pueden clasificarse en: Mtodos manuales. Mtodos semiautomticos. Mtodos automticos.
19
Sistemas Expertos
Los sistemas expertos tradicionales presentan el problema de la complejidad de los procesos de ingeniera del conocimiento necesarios para su extraccin y Normalizacin, los mtodos manuales, que describimos ms adelante, constituyen una primera aproximacin para su resolucin. En los ltimos aos, la necesidad de acercar el
lenguaje de representacin al experto y de simplificar los procesos de adquisicin de conocimientos en determinadas aplicaciones, han posibilitado el desarrollo de nuevos sistemas con capacidad de aprendizaje interactivo (mtodos semiautomticos) y con capacidad de aprendizaje automtico.
Entrevistas:
Entrevistas
semiestructuradas:
Cues-
Sistemas Expertos
Entrevistas con repaso: El ingeniero del conocimiento demuestra el entendimiento de la pericia resolviendo el problema.
Programacin
neurolingstica:
Obser-
vacin de aspectos fsicos (movimiento de ojos y lenguaje corporal) para mejorar la comunicacin con el experto.
Observacin participativa: El ingeniero del conocimiento se convierte en aprendiz, o de alguna otra forma participa en el proceso que sigue el experto para la resolucin del problema.
Anlisis
de
protocolos:
Registro
anlisis de las transcripciones obtenidas del pensamiento en voz alta obtenido del experto mientras realizaba su tarea.
Sistemas Expertos
problema: Su objetivo es encontrar y clarificar las estrategias de adquisicin de conocimiento para una relacin mtodo problema que puede darse en: (1) un Problema un muy muy especfico em-
pleando que
mtodo mucho
especializado del
requiere
conocimiento
dominio, o (2) un problema general que se resuelve con un mtodo general que no requiere mucho conocimiento del dominio. Entre los primeros, estn AS-
KE, FIS, MOLTKE, MUM, OPAL, PROTOGE, SMAC y STUDENT. gundos son Ejemplos de los s eCLASSIKA, DART,
AQUINAS,
Len-
guajes de representacin para la definicin y descripcin de problemas y mtodos, entre los que se pueden citar ASTEK, CODE, KADS y MAC.
Editores
inteligentes
hipertexto:
Sistemas Expertos
construccin de grandes bases de conocimientos, como A PPRENTICE, CYC, GKE, KET, KREME, PRED y SEEGRAPH, y sistemas hipertexto, como AC-QUIST, CAMEO, COGNOSYS y SMAC.
aprendizaje). Mtodos empricos de induccin de reglas y rboles de decisin. Razonamiento basado en casos. Algoritmos genticos.
23
Sistemas Expertos
BIBLIOGRAFIA
1. Sierra Molina, Guillermo y otros (1995). Sistemas Expertos en Contabilidad y Administracin de Empresas. Editorial Addison Wesley. USA. 2. Durkin, John (1994). Expert Systems. Ed. Macmillan. USA 3. Castillo, E.y Alvarez, E.(1989). Sistemas Expertos:
24