El objetivo de este Tema 3 es presentar los conceptos
principales de los llamados
“Sistemas Basados en Conocimiento”. Se empieza presentando las
definiciones, razón de
ser y fundamentos de este tipo de sistemas. A
continuación se hace un repaso de
diferentes modelos de representación del conocimiento existentes que se han
utilizado en
distintos sistemas, desde el mas simple modelo de triplas (objeto,
atributo, valor)
marcos, redes semanticas, hasta modelos basados en diferentes
lógicas. Mas adelante se
presenta una panoramica histórica de los sistemas basados en
conocimiento y sus
posibles aplicaciones, para por último terminar explicando las
diferentes arquitecturas de
diseño.
Los sistemas basados en conocimiento surgen como una
evolución de los
paradigmas de programación a lo largo de la historia de la
informatica. En los
primeros tiempos de la computación, los programas, ante una
petición del
usuario, típicamente producían una salida accediendo a datos
almacenados en
ficheros con formatos particulares de cada aplicación.
Mas adelante surgieron las bases de datos, que abstraían la capa
de
almacenamiento/persistencia de datos, eliminando esos ficheros, facilitando así la
gestión de la información necesaria para la
aplicación. Ademas aparecen los
conceptos de la interfaz grafica del sistema operativo, facilitando
la
entrada/salida.
Los sistemas basados en conocimiento son una nueva evolución: en estos
sistemas, los datos, la “base deconocimientos”, se convierten en lo
mas
importante, y el código que los explota, el “motor de
inferencias”, se generaliza
según diferentes paradigmas. Esta base de conocimientos la produce un usuario
experto en el dominio, los ingenieros del
conocimiento, que son diferentes a los
programadores de la interfaz o del
propio motor de inferencias.
Esta diapositiva presenta la diferencia fundamente entre los
sistemas tradicionales y los
sistemas basados en conocimiento.
La ingeniería del
conocimiento surge como una variante de la
ingeniería del
software
tradicional en cuanto a que se enfoca al diseño y construcción de
sistemas basados en
conocimiento.
Históricamente se ha utilizado también el nombre de
“sistemas expertos”, con una
distinción sutil. Al hablar de “sistemas basados en
conocimiento” en general
simplemente se esta haciendo referencia a que lo mas importante del sistema es el
conocimiento que almacena y que gestiona, es decir, una visión
estructural. Sin embargo
el término “sistema experto” se refiere a un sistema que
imita la actividad de un experto
humano para resolver una determinada tarea en un dominio específico, es
decir, una
visión funcional del
sistema.
Así, un sistema experto es un tipo particular
de sistema basado en conocimiento, el que
imita al expertohumano. Hay sistemas basados en conocimiento que no son
sistemas
expertos, por ejemplo, una enciclopedia electrónica. Un
sistema basado en conocimiento
es un tipo de sistema inteligente, en el sentido de almacenar/gestionar/estar
relacionado
con el saber o capacidades humanas.
Índice del resto del tema.
En este punto se va a estudiar diferentes formas de
representar conocimiento en la
memoria de un ordenador para optimizar su utilización de forma
versatil y rapida.
Los modelos de representación del conocimiento se inspiran en
modelos derivados de la
psicología. En los primeros tiempos del subjetivismo,
los seres vivos se consideraban tan
complicados que ni siquiera se planteaba su estudio. Sin embargo, a partir de
los trabajos
de Watson, Thorndike, Paulov, Skinner y otros conductistas, se empieza a
estudiar el ser
desde el punto de vista de estímulo/respuesta: aunque el ser
todavía es una caja negra
cuyo funcionamiento interno se desconoce, se empieza a modelar que ante un
estímulo
determinado se producen una serie de respuestas predecibles, observables y
modificables
de alguna forma determinada. A partir de Jean Piaget, el padre de la
psicología moderna
se desarrolla el cognitivismo, en el que ya se aborda el estudio del razonamiento de los
seres vivos como
cajas blancas, interesandose en los procesos internos de razonamiento,
pensamiento, memoria,aprendizaje, etc.
Conceptos y características del
constructivismo, sobre la creación del conocimiento
(aprendizaje).
La teoría del
desarrollo de Jean Piaget, base de gran parte de la pedagogía moderna.
El aprendizaje social de Vygotski hace énfasis en que los seres vivos
son seres sociales, y
que también se aprende del entorno social. Por ejemplo, un jugador de tenis mejora su
juego al enfrentarse a jugadores de nivel parecido o ligeramente superior al
suyo.
La teoría del
Aprendizaje Receptivo Significativo de Ausubel trata de cómo los
materiales de estudio llegan al alumno en el contexto del aprendizaje y son la base de los
mapas conceptuales.
13
Los mapas conceptuales de Novak son una potente herramienta para facilitar la
comprensión de un problema y la
adquisición de conocimiento sobre un dominio
determinado.
14
Tennyson expone que las estrategias de pensamiento son de complejidad cognitiva
creciente y las divide en tres posibles actividades de alto nivel: recordar,
resolver
problemas y crear.
15
Los Objetivos del
Proceso de Aprendizaje, de Benjamin Bloom, indican lo que se espera
que hayaaprendido el estudiante tras un proceso de aprendizaje. Se han
utilizado para la
definición del modelo del
conocimiento del Espacio Europeo de
Educación Superior
(EEES).
Niveles de Objetivos del Proceso de Aprendizaje de
Bloom.
17
Piramide del aprendizaje de Edgar Dale, que refleja la capacidad de
producir adquisición
efectiva de conocimiento a partir de tareas específicas.
18
Los estudios de Collins y Quilian, a partir de medidas del tiempo medio de
respuesta a
diferentes preguntas, establecen que en el cerebro de los seres vivos, los
conceptos se
almacenan asociandose entre sí.
19
Dos tipos de memoria: episódica (activo, fruto de las experiencias) y semantica
(conocimientos generales).
20
Propuesta de Newel y Simon que modela el sistema nervioso central de los seres
humanos como
un sistema computacional de procesamiento de la información.
21
Quillian propone dos tipos de conocimiento: declarativo, donde se exponen los
hechos y
las reglas que rigen un determinado dominio, y
procedimental, en el que se dan
instrucciones paso a paso sobre cómo realizar una tarea.
22
Inteligencia en Redes de Comunicaciones 03Sistemas Basados en Conocimiento
Ejermplo de conocimiento declarativo: normativa de pagos de talones bancarios.
23
El mismo ejemplo del
talón bancario pero con conocimiento procedimental. En este caso
mucho mas sencillo de entender en esta forma.
24
Ejemplo del algoritmo de quicksort usando conocimiento imperativo (con un lenguaje de
programación imperativo, C, a la derecha) y conocimiento declarativo
(con un lenguaje
de programación funcional, Haskell, a la izquierda). En este caso, mucho mas sencillo
expresarlo de forma declarativa.
25
Requisitos de los lenguajes de representación del conocimiento.
26
Se van a estudiar estos cuatro modelos de lenguajes de
representación.
27
Las triplas (objeto, atributo, valor) son el modelo mas basico.
Han evolucionado con el
tiempo en los atributos de una clase en el paradigma de la programación
orientada a
objetos.
28
Las redes semanticas es un lenguaje
grafico muy sencillo y útil para representar
conocimiento taxonómico.
29
Ejemplo de red semantica en el dominio de la zoología. Las
elipses sonconceptos, los
rectangulos son propiedades, y se han marcado
con negrita aquellas propiedades que
sobreescriben propiedades heredadas.
30
Elementos de las redes semanticas.
31
Los marcos o “frames” son otro modelo de
representación del
conocimiento.
32
Ejemplo de marco.
33
El modelo de representación del conocimiento de la
lógica de primer orden. [Los
razonamientos lógicos se estudian en profundidad en el Tema 4 y 5].
34
Ventajas e inconvenientes de la lógica de primer orden.
35
Ejemplo de representación de una red semantica con lógica
de predicados de primer
orden, en concreto, usando el lenguaje Prolog. Se
modelan las propiedades de cada
objeto y las excepciones de herencia de las propiedades.
36
Continuación del ejemplo, presentando las relaciones y las reglas de
herencia.
37
Consultas en una consola Prolog para explotar el conocimiento de la red
semantica. El
avestruz NO tiene pelo, y una lista de quién vuela y cómo.
38
Inteligenciaen Redes de Comunicaciones 03 Sistemas Basados en Conocimiento
Definición de ontología.
39
Diferencias entre sistemas basados en conocimiento y sistemas expertos, ya
estudiado.
40
Dendral: primer sistema inteligente de la historia, sobre inferencia de
estructuras
moleculares a partir de medidas del espectrómetro de masas.
41
MYCIN, un sistema de ayuda al diagnóstico de enfermedades infecciosas en
la sangre,
esta considerado el primer sistema experto de la historia, puesto que
tenía una separación
expresa entre el conocimiento y el motor de inferencias.
42
MYCIN estaba codificado en reglas como
la mostrada, codificadas en triplas (infección
tipo, quién la produce).
43
Ejemplo de un posible dialogo de MYCIN con un
médico. Captura de datos y
recomendación diagnóstica.
44
Continuación del ejemplo de dialogo. Petición de
explicaciones por parte del
médico
“¿por qué me preguntas eso?”, “cómo has
llegado a esa conclusión?”.
45
Aplicaciones de los sistemas basados en conocimiento.
46
Inteligencia en Redes de Comunicaciones 03Sistemas Basados en Conocimiento
Arquitectura general de los sistemas basados en conocimiento: el motor de
inferencias, la
base de conocimiento (conocimiento estatico sobre el dominio, a largo
plazo), la
memoria de trabajo (conocimiento dinamico sobre el razonamiento actual,
a corto plazo)
la interfaz de usuario con un sistema de entrada/salida, un editor del
conocimiento, y el
generador de explicaciones.
47
Características de la base de conocimiento, que incorpora reglas y
hechos y una
estrategia de control [ver Tema 2 de Resolución de Problemas].
El paradigma es el de razonamiento basado en casos
(“case-based reasoning”, CBR), es
decir, razonar utilizando conocimiento de casos anteriores.
48
Diferentes clasificaciones del tipo de conocimiento.
49
Características del motor de inferencias.
50
Reglas de inferencia con encadenamiento hacia adelante (del estado inicial, aplicando
reglas, se obtienen conclusiones) o encadenamiento hacia atras (del estado final, se
buscan los hechos y reglas para explicar el punto de partido).
51
Al igual que en resolución de problemas, cuando existe mas de una
regla aplicable, hay
que elegir, aplicando una estrategia de resolución de conflictos.
52