Introducci´ on a la Ingenier´ıa del Conocimiento Curso 2006–2007
Tema 2: Introducci´ on a los sistemas basados en el
conocimiento
Miguel A. Guti´errez Naranjo
Dpto. de Ciencias de la Computaci´ on e Inteligencia Artificial
Universidad de Sevilla
Inteligencia Artificial
B
Visi´ on artificial, Rob´ otica, . . .
B
Redes neuronales artificiales, Aprendizaje Autom´ atico, . . .
B
Lenguaje natural, comprensi´ on, habla, . . .
B
Sistemas basados en el conocimiento, Sistemas expertos
B
. . .
B
Durante los a˜ nos 60, la Inteligencia Artificial se centraban en los algoritmos de b´usqueda heur´ısti- ca y en la concepci´ on de sistemas para la res- oluci´ on de problemas con un inter´es te´orico y acad´emico (demostraci´ on de teoremas, juegos, problemas l´ ogicos, etc.)
A mitad de los 70 comienzan a tomar cuerpo
Inteligencia Artificial
B
Visi´ on artificial, Rob´ otica, . . .
B
Redes neuronales artificiales, Aprendizaje Autom´ atico, . . .
B
Lenguaje natural, comprensi´ on, habla, . . .
B
Sistemas basados en el conocimiento, Sistemas expertos
B
. . .
B
Durante los a˜ nos 60, la Inteligencia Artificial se centraban en los algoritmos de b´usqueda heur´ısti- ca y en la concepci´ on de sistemas para la res- oluci´ on de problemas con un inter´es te´orico y acad´emico (demostraci´ on de teoremas, juegos, problemas l´ ogicos, etc.)
B
A mitad de los 70 comienzan a tomar cuerpo
dos ideas clave. Se trata del paradigma del sistema
experto y del paradigma del conocimiento.
Inteligencia Artificial
B
Visi´ on artificial, Rob´ otica, . . .
B
Redes neuronales artificiales, Aprendizaje Autom´ atico, . . .
B
Lenguaje natural, comprensi´ on, habla, . . .
B
Sistemas basados en el conocimiento, Sistemas expertos
B
. . .
B
Durante los a˜ nos 60, la Inteligencia Artificial se centraban en los algoritmos de b´usqueda heur´ısti- ca y en la concepci´ on de sistemas para la res- oluci´ on de problemas con un inter´es te´orico y acad´emico (demostraci´ on de teoremas, juegos, problemas l´ ogicos, etc.)
A mitad de los 70 comienzan a tomar cuerpo
Ingenier´ıa del Conocimiento
B
La expresi´ on Ingenier´ıa del Conocimiento se acu˜ n´ o en los a˜ nos 70 para referirse al dise˜ no y construcci´ on de SBC:
Se admite que el conocimiento que se puede extraer de los expertos puede ser incomple- to, inconsistente, impreciso, incierto y no dogm´ atico.
Las respuestas del sistema puedan ser inse- guras , matizadas por un grado de confianza o de creencia.
Adem´ as, el conocimiento puede evolucionar
tanto en la fase de desarrollo como en la de
uso del sistema, por incorporaci´ on de nuevos
conocimientos o porque los expertos recon-
sideran la forma en la que se ha expresado
su conocimiento.
Ingenier´ıa del Conocimiento
B
La expresi´ on Ingenier´ıa del Conocimiento se acu˜ n´ o en los a˜ nos 70 para referirse al dise˜ no y construcci´ on de SBC:
Se admite que el conocimiento que se puede extraer de los expertos puede ser incomple- to, inconsistente, impreciso, incierto y no dogm´ atico.
Las respuestas del sistema puedan ser inse- guras , matizadas por un grado de confianza o de creencia.
Adem´ as, el conocimiento puede evolucionar
tanto en la fase de desarrollo como en la de
uso del sistema, por incorporaci´ on de nuevos
conocimientos o porque los expertos recon-
sideran la forma en la que se ha expresado
Ingenier´ıa del Conocimiento
B
La expresi´ on Ingenier´ıa del Conocimiento se acu˜ n´ o en los a˜ nos 70 para referirse al dise˜ no y construcci´ on de SBC:
Se admite que el conocimiento que se puede extraer de los expertos puede ser incomple- to, inconsistente, impreciso, incierto y no dogm´ atico.
Las respuestas del sistema puedan ser inse- guras , matizadas por un grado de confianza o de creencia.
Adem´ as, el conocimiento puede evolucionar
tanto en la fase de desarrollo como en la de
uso del sistema, por incorporaci´ on de nuevos
conocimientos o porque los expertos recon-
sideran la forma en la que se ha expresado
su conocimiento.
Ingenier´ıa del Conocimiento
B
La expresi´ on Ingenier´ıa del Conocimiento se acu˜ n´ o en los a˜ nos 70 para referirse al dise˜ no y construcci´ on de SBC:
Se admite que el conocimiento que se puede extraer de los expertos puede ser incomple- to, inconsistente, impreciso, incierto y no dogm´ atico.
Las respuestas del sistema puedan ser inse- guras , matizadas por un grado de confianza o de creencia.
Adem´ as, el conocimiento puede evolucionar
tanto en la fase de desarrollo como en la de
uso del sistema, por incorporaci´ on de nuevos
conocimientos o porque los expertos recon-
sideran la forma en la que se ha expresado
Ingenier´ıa del Conocimiento
B
. . .
Por tanto, la responsabilidad del desarrollo y del mantenimiento no recae s´ olo en los inge- nieros, sino tambi´ en en los expertos y en los usuarios finales, que intervienen a lo largo de todo el ciclo de vida.
Como consecuencia de todo ello, no es apli- cable el ciclo de vida cl´ asico, porque no pueden establecerse unas especificaciones definitivas desde el principio.
Esto implica un proceso continuo de depu-
raci´ on de la base de conocimientos, que
muchas veces se prolonga durante toda la
vida del sistema.
Ingenier´ıa del Conocimiento
B
. . .
Por tanto, la responsabilidad del desarrollo y del mantenimiento no recae s´ olo en los inge- nieros, sino tambi´ en en los expertos y en los usuarios finales, que intervienen a lo largo de todo el ciclo de vida.
Como consecuencia de todo ello, no es apli- cable el ciclo de vida cl´ asico, porque no pueden establecerse unas especificaciones definitivas desde el principio.
Esto implica un proceso continuo de depu-
raci´ on de la base de conocimientos, que
muchas veces se prolonga durante toda la
vida del sistema.
Ingenier´ıa del Conocimiento
B
. . .
Por tanto, la responsabilidad del desarrollo y del mantenimiento no recae s´ olo en los inge- nieros, sino tambi´ en en los expertos y en los usuarios finales, que intervienen a lo largo de todo el ciclo de vida.
Como consecuencia de todo ello, no es apli- cable el ciclo de vida cl´ asico, porque no pueden establecerse unas especificaciones definitivas desde el principio.
Esto implica un proceso continuo de depu-
raci´ on de la base de conocimientos, que
muchas veces se prolonga durante toda la
vida del sistema.
Sistemas basados en el conocimiento
B
Sistemas basados en el conocimiento:
Programas que resuelven problemas usando un determinado dominio de conocimiento
B
Terminolog´ıa:
Sistema basado en el conocimiento Sistema experto
Sistema experto basado en el conocimiento
B
Sistemas basados en el conocimiento vs sis- temas expertos:
SBC: conocimiento no necesariamente ex- perto.
SE: conocimiento experto + interacci´ on.
SE ⊆ SBC.
Sistemas basados en el conocimiento
B
Estructura b´ asica de los SBC
B
Sistema basados en el conocimiento =
Conocimiento + Razonamiento
Sistemas Expertos
B
El t´ ermino experto debe entenderse que des- igna a aqu´ el que tiene el conocimiento nece- sario para resolver problemas en un determi- nado campo o dominio de conocimiento.
B
El proceso de adquisici´on del conocimiento, cuyo
objetivo es llegar a expresar de manera ex-
pl´ıcita en alg´ un lenguaje de representaci´ on los
conocimientos que el experto utiliza para re-
solver problemas, result´ o ser el m´ as dif´ıcil de
todo el desarrollo de los sistemas basados en
conocimiento.
Ingenier´ıa del Conocimiento
B
La Ingenier´ıa del Conocimiento es el proceso de dise˜ nar y hacer operativos los Sistemas Basados en el Conocimiento.
B
La Ingenier´ıa del Conocimiento se define co- mo el subcampo de la Inteligencia Artificial concerniente a la adquisici´ on, representaci´ on y aplicaci´ on de conocimientos, o . . .
B
. . . como la disciplina de la Ingenier´ıa por la
cual es conocimiento se integra dentro de un
sistema de computador para resolver proble-
mas complejos que normalmente requieren un
alto nivel de experiencia humana.
Sistemas Expertos
B
En el caso de los Sistemas Expertos es el pro- ceso de mejorar, hasta un nivel de experto humano, las prestaciones de sistemas de pro- gramaci´ on que poseen un amplio cuerpo de conocimiento sobre un ´ area de aplicaci´ on es- pec´ıfica.
B
Un sistema experto es un programa que usa conocimiento y procedimientos de razonamien- to para resolver problemas lo suficientemente dif´ıciles como para necesitar de un experto para su soluci´ on (Feigenbaum, 1982)
.
B
Se usan cuando el problema:
u
No se requiere “sentido com´ un”
u
Se requiere razonamiento simb´ olico
No se resuelve con m´ etodos “tradicionales”
Ventajas I
B
Mayor disponibilidad:
u
La experiencia est´ a disponible para cualquier hard- ware de c´ omputo adecuado
B
Coste reducido
B
Permanencia:
u
La experiencia es permanente, a diferencia de lo que ocurre con los expertos humanos
B
Experiencia m´ ultiple:
u
El conocimiento de varios especialistas puede es- tar disponible para trabajar simult´ anea y continua- mente en un problema.
u
El nivel de experiencia combinada de muchos sis-
temas expertos puede exceder el de un solo espe-
cialista humano.
Ventajas II
B
Respuestas no subjetivas
u
El sistema experto ofrece respuestas s´ olidas, com- pletas y sin emociones en todo momento.
B
Explicaci´ on del razonamiento
u
El sistema experto puede explicar clara y detalla- damente el razonamiento que conduce a una con- clusi´ on
B
Respuesta r´ apida:
u
Algunas situaciones de emergencia pueden exigir respuestas m´ as r´ apidas que las de un humano.
B
Tutor´ıa inteligente
B
Base de datos inteligente
Problemas
B
Problemas fundamentales en la construcci´ on de los SS.BC.:
La adquisici´ on del conocimiento y c´ omo re- presentar el conocimiento humano a una re- presentaci´ on abstracta efectiva.
La representaci´ on del conocimiento en t´ erminos de una estructura de datos que una m´ aquina pueda procesar.
La generaci´ on de inferencias o c´ omo ha-
cer uso de esas estructuras abstractas para
generar informaci´ on ´ util an el contexto de
un caso espec´ıfico.
Tareas
B
Evaluar y reconocer aplicaciones potenciales, diagnosticando las que son triviales o imposi- bles antes de invertir esfuerzos.
B
Extraer el conocimientos privado de los exper- tos y el p´ ublico de donde exista.
B
Dedicar suficiente an´ alisis antes de empezar a implementar.
B
Dise˜ nar, construir y verificar una(s) base(s) de conocimiento, seleccionando representaciones id´ oneas.
B
Dise˜ nar modelos de resoluci´ on de problemas.
B
Usar heur´ısticas para reducir el espacio de
b´ usqueda.
Aplicaciones de SE
B
Tipos de aplicaciones con sistemas de produc- ci´ on:
u
Configuraci´ on
u
Diagn´ ostico
u
Ense˜ nanza
u
Interpretaci´ on
u
Planificaci´ on
u
Predicci´ on
u
Control
B
Campos de aplicaci´ on
u
Medicina: MYCIN, INTERNIST, CADUCEUS, CASNET
u
Geolog´ıa: PROSPECTOR, Dipmeter Advisor
u
Inform´ atica: XCON
u
Matem´ aticas: MACSYMA
u
Educaci´ on: GUIDON, DEBUGGY
Lenguajes de SBC
B
Lenguajes de SBC
u
LISP, PROLOG
u
EMYCIN
u
OPS5, ART, CLIPS
u
KEE
B
PROLOG:
u
Programaci´ on L´ ogica
u
Razonamiento hacia atr´ as
B
CLIPS
u
CLIPS = C Language Integrated Production Sys- tems
u
Es un lenguaje basado en reglas de producci´ on
u
Desarrollado en la NASA desde 1984
u
Escrito en C
Resoluci´on de problemas
B
El primer paso para resolver cualquier proble- ma es definir el ´ area o dominio del problema
B
Generalemte las prestaciones para la soluci´ on
de un problema vienen condicionadas con fre-
cuencia por la existencia de amplias cantidades
de conocimiento sobre la tarea en cuesti´ on y
no por grandes colecciones de m´ etodos inde-
pendientes del dominio.
Tipos de problemas: Estructura
B
Estructurados:
u
Son aquellos en los que se conocen todas y cada una de las componentes de una soluci´ on, es decir, los datos que representan los estados del proble- ma, los operadores y los procedimientos. Son total- mente resolubles por computador y sin necesidad de ayuda humana.
B
Semiestructurados:
u
Aquellos que en alguno(s) de sus subproblema(s) no se conoce alguna de las componentes de la solu- ci´ on. Por ejemplo, los sistemas tradicionales de ayuda a la toma de decisiones.
B
No estructurados:
u
Son aquellos en los que todas o alguna de las com-
ponentes de la soluci´ on son vagas o desconocidas: es
decir, cuando la meta no est´ a totalmente estableci-
Tipos de problemas: Contexto
B
Independientes del contexto:
u
Ajedrez
u
Espectrograf´ıa
u
. . .
B
Sensibles al contexto:
u
Lenguaje natural
u
Explicaciones cualificadas
u
. . .
B
Los problemas que aborda la Ingenier´ıa del
Conocimiento son los problemas semiestruc-
turados o no estructurados y, o, dependientes
del contexto.
Datos e informaci´on
B
Para nuestro prop´ osito (representaci´ on del conocimiento en sistemas artificiales in- teligentes) podemos resumir as´ı:
B
Un agente es un sistema que percibe el entorno y puede actuar sobre ´ el con una funci´ on acotada y espec´ıfica.
B
Los datos son est´ımulos del entorno que el agente percibe, es decir, meras entradas al sis- tema.
B
La informaci´on est´ a formada por datos con sig-
nificado; este significado se obtiene al interpre-
tar el agente, mediante su conocimiento previo,
los datos que recibe.
Datos e informaci´on
B
El conocimiento es la informaci´ on una vez incor- porada en los mecanismos de razonamiento del agente. Como estos mecanismos est´ an orienta- dos por los objetivos del agente, la definici´ on concuerda con la que dice que el conocimiento es informaci´on con prop´osito.
B
Un agente racional tiene conocimiento sobre un dominino de competencia, mecanismos de razonamiento y objetivos, y utiliza los dos primeros para, en funci´ on de los datos que percibe, generar las acciones que conducen a los objetivos.
B
Una representaci´on del conocimiento es la expre-
si´ on de ese conocimiento en un lenguaje.
Representaci´on del conocimiento
B
Requisitos de los formalismos de representaci´ on del conocimiento:
u
potencia expresiva
u
facilidad de interpretaci´ on
u
eficiencia deductiva
u
posibilidad de explicaci´ on y justificaci´ on
B
Principales formalismos de representaci´ on
u
l´ ogica
u
reglas de producci´ on
u
redes sem´ anticas
u
marcos
B
Cada formalismo de representaci´ on usa un m´ etodo de inferencia espec´ıfico:
u
Resoluci´ on, SLD-resoluci´ on
Sistemas basados en reglas.
B
Introducci´ on de los sistemas de producci´ on
u
A. Newell y H.A. Simon Human problem solving (Prentice–Hall, 1972)
B
Correspondencia entre sistemas de producci´ on y memoria humana
u
Memoria de trabajo y memoria temporal
u
Base de conocimiento y memoria permanente
B
S.E. basados en sistemas de producci´ on
u
DENDRAL: S.E. para determinar estructuras moleculares (Buchanan, U. Stanford, 1964)
u
MYCIN: S.E. para diagnosticar meningitis e infec- ciones sangu´ıeas (Shortliffe, U. Stanford, 1972)
u
PROSPECTOR: S.E. para estudio de explo- raciones geol´ ogicas (Duda, Stanford Research In- stitute, 1978)
u
R1 (XCON): SE para configurar equipos VAX (Mc-
Dermott, CMU y DEC, 1978)
Sistemas basados en reglas (II).
B
Ejemplos:
SI el problema no me sale Y es la hora de consulta ENTONCES
consultar al profesor
SI la luz del sem´aforo es verde Y no hay peatones cruzando
ENTONCES
contin´ua la marcha
SI el programa Lisp no carga ENTONCES
comprobar par´entesis
B
Inferencias:
u
Razonamiento hacia adelante (de abajo a arriba)
u
Razonamiento hacia atr´ as (de arriba a abajo)
Redes sem´anticas.
B
Ejemplo:
es-parte-de es-parte-de
Estadística Informática
Prof. F.I.E.
Prof. Prof.
Prof.
Tercero es-parte-de
JLRR es-un
es-un
depto. CCIA
B
Inferencia:
u
Herencia
L´ogica:
B
Ejemplos:
u
∀x(P erro(x) → Animal(x))
u
∃x(Animal(x) ∧ ¬P erro(x))
u
∀x∃y(padre(y, x))
u
¬∀x∃y(padre(x, y))
u
∀²∃n
0∀n ≥ n
0(|x
n− x
n0| < ²)
B
Inferencia:
u
Deducci´ on natural.
u
C´ alculo de secuentes.
u
Regla de resoluci´ on.
u
Reescritura.
B
Razonamiento autom´ atico.
Ejemplo en Prolog
r1 # si Coche tiene cilindrada X entonces
Coche tiene velocidad X.
r1 # si Coche tiene motor inyeccion y Coche es mono-volumen
entonces
Coche tiene velocidad media.
...
r9 # si Coche tiene frenos abs y Coche tiene airbag
entonces
Coche tiene seguridad alta.
f1 hecho opel_astra tiene 1600 c_cubicos.
f2 hecho opel_astra tiene airbag.
f3 hecho opel_astra no_tiene frenos abs.
f4 hecho fiat_punto tiene 1400 c_cubicos.
f5 hecho fiat_punto no_tiene airbag.
f6 hecho fiat_punto no_tiene frenos abs.
f7 hecho renault_space es mono_volumen.
f8 hecho renault_space tiene motor diesel.
Ejemplo en Prolog
?- se_deduce(opel_astra es gama X).
¿Es cierto opel_astra tiene 2000 c_cubicos?
Posibles respuestas: [si, no, porque] (seguidas de un punto): no.
¿Es cierto opel_astra tiene 1600 c_cubicos?
Posibles respuestas: [si, no, porque] (seguidas de un punto): porque.
=== Porque:
La regla r7 dice que probando:
opel_astra tiene 1600 c_cubicos se tiene:
opel_astra tiene cilindrada media Repito:
¿Es cierto opel_astra tiene 1600 c_cubicos?
Posibles respuestas: [si, no, porque] (seguidas de un punto): si.
****** Se ha encontrado respuesta afirmativa:
--- Opciones:
Ejemplo en Prolog
****** Prueba encontrada:
por usted, sabemos que opel_astra tiene 1600 c_cubicos,
luego, segun r7 se concluye que opel_astra tiene cilindrada media, luego, segun r2 se concluye que opel_astra tiene velocidad media, y
por f3, sabemos que opel_astra no_tiene frenos abs, y
por f2, sabemos que opel_astra tiene airbag,
luego, segun r10 se concluye que opel_astra tiene seguridad media, luego, segun r1 se concluye que opel_astra es gama media,
X = media ;
¿Es cierto opel_astra tiene 1400 c_cubicos?
Posibles respuestas: [si, no, porque] (seguidas de un punto): no.
No
Bibliograf´ıa
B
Bratko, I. Prolog Programming for Artificial Intelligence (2nd ed.) (Addison–Wesley, 1990)
B
Giarratano,J. y Riley, G. Expert Systems:
Principles and Programming (2nd ed.) (PWS, 1994)
B
Rich, E. and Knight, K. Inteligencia Artificial (segunda edici´ on) (McGraw-Hill, 1994)
B
Mat´ e Hern´ andez, J.L. y Pazos Sierra, J. Inge- nier´ıa del Conocimiento. Dise˜ no y construc- ci´ on de sistemas expertos (Ed. SEPA)
B