Tema01 Introduccion SBC

25
–1– Tema 1 Introducción a los Sistemas Basados en el Conocimiento Sistemas Basados en el Conocimiento Grado en Ingeniería Informática

Transcript of Tema01 Introduccion SBC

Page 1: Tema01 Introduccion SBC

– 1 –

Tema 1Introducción a los Sistemas Basados en el Conocimiento

Sistemas Basados en el ConocimientoGrado en Ingeniería Informática

Page 2: Tema01 Introduccion SBC

– 2 –

Referencias

• Ingeniería del Conocimiento.A. Gómez, N. Juristo, C. Montes, J. Pazos. Editorial Centro de estudios Ramón Areces. 1997.

• Ingeniería del Conocimiento. Aspectos Metodológicos. A. Alonso, B. Guijarro, A. Lozano, J. T. Palma, M. J. Tabeada. Pearson Prentice Hall. 2004

• Sistemas expertos representación e inferencia problemas resueltos.A. Fernández. Dykinson (URJC). 2010

• Sistemas expertos: principios y programación (3ª ed.). J. Giarratano, G. Riley, G. Editorial. Thompson Ed. 2001.

• Introduction to expert systems. P. Jackson. Editorial Addison-Wesley. 1999.

• Introduction to Knowledge Systems.Stefik, M. Morgan Kaufmann. 1995

• Intelligent systems for engineering.Sriram, Ram D. Springer. 1997

Page 3: Tema01 Introduccion SBC

– 3 –

Origen de la IC

• Objetivo IA: sistemas que “pensaran” y resolvieran problemas como humanos

• Técnicas generales para la resolución de problemas– STRIPS, GPS, …

• 70s– Métodos generales y técnicas de búsqueda son

insuficientes para ciertos problemas– Potencial depende más del conocimiento que del

mecanismo inferencia– Adquirir conocimiento de expertos

• Primeros Sistemas Basados en el Conocimiento– No estructurados, sin metodología– Fracaso comercial

• Surge Ingeniería del Conocimiento

Page 4: Tema01 Introduccion SBC

– 4 –

El Nivel del Conocimiento

• [Newel, 1982]• Niveles de abstracción en sistemas

computacionales: físico, lógico, simbólico• Problema en la construcción de SBC era la

diferenciación entre:– Conocimiento: p. e. extraído de un experto– Representación: codificación del conocimiento en un

lenguaje determinado

• Newel propone un nivel de abstracción por encima del nivel simbólico para diferenciar entre conocimiento y su representación

Page 5: Tema01 Introduccion SBC

– 5 –

SS.BB.CC.

• Sistemas Tradicionales– Conocimiento incluido en las estructuras de control

• Sistemas Basados en el Conocimiento– Conocimiento representado de forma explícita,

separado del control

• Sistemas Expertos– SBC donde el conocimiento es experto

• Se suelen tratar los términos SBC y SE como sinónimos

Page 6: Tema01 Introduccion SBC

– 6 –

Ingeniería del Conocimiento

SISTEMAS

EXPERTOS

SISTEMAS

BASADOS EN EL

CONOCIMIENTO

INTELIGENCIA

ARTIFICIAL

INGENIERÍA DEL CONOCIMIENTO

Page 7: Tema01 Introduccion SBC

– 7 –

Características de los SS.BB.CC

• Conocimiento específico de un dominio (habitualmente de un experto humano)

• Dominios y problemas complejos• Adquisición de conocimiento costosa y extensa• Generación de explicaciones• Tareas específicas en un dominio determinado

– Síntesis: clasificación, asesoramiento, diagnóstico, …– Análisis: diseño, planificación, …

• Métodos heurísticos y/o aproximados• Simulan el razonamiento humano• Representación declarativa del conocimiento

– Separación de conocimiento y mecanismo de inferencia– Reutilización por separado

Page 8: Tema01 Introduccion SBC

– 8 –

Prog. Declarativa vs Algorítmica

• Programación algorítmica– Se especifica el algoritmo– No suele coincidir con la forma de razonar humana

• Programación declarativa– Representa explícitamente el conocimiento– Más próxima al razonamiento humano

• Ejemplo (Múltiplo)– “0 es múltiplo de cualquier número”.– “A es múltiplo de B si A es mayor o igual que B y A-B es

múltiplo de B”

Page 9: Tema01 Introduccion SBC

– 9 –

Ejemplo

• AlgorítmicoMientras (A>=B) hacer

A←←←←A-B fin mientras.Si (A=0) entoncesdevolver cierto

en otro casodevolver falso

fin si.

• DeclarativoMúltiplo(0,A)

Múltiplo(A,B) si A>=B y múltiplo(A-B,B)

Page 10: Tema01 Introduccion SBC

– 10 –

Programación Declarativa

• Ventajas– Abstracción del conocimiento– Facilidad de comprensión– Flexibilidad– Posibilidad de trabajar con conocimiento

• No algorítmico• Aproximado• Incompleto

• Desventajas– Eficiencia en memoria– Eficiencia en tiempo

Page 11: Tema01 Introduccion SBC

– 11 –

Estructura de un SBC

BASE DECONOCIMIENTO

BASE DEHECHOS

MOTOR DEINFERENCIA

SUBSISTEMADE USUARIO

SUBSISTEMA DEEXPLICACIÓN

SUBSISTEMA DEADQUISICIÓN DECONOCIMIENTO

INTERFAZ

USUARIOINGENIERO DELCONOCIMIENTO

Page 12: Tema01 Introduccion SBC

– 12 –

SS.BB.CC.

• Ventajas– Reutilización del conocimiento– Resolución de problemas complejos– Tratamiento de la incertidumbre– Solución a problemas incompletos– Explicación del razonamiento– Replicación de conocimiento (expertos)– Fácil de modificar el conocimiento

• Desventajas– Dificultad de adquisición de conocimiento– Conocimiento limitado a un dominio– Falta de creatividad y sentido común– Dificultad de aprendizaje y adaptación

Page 13: Tema01 Introduccion SBC

– 13 –

Ingeniería del Conocimiento

• Conjunto de técnicas para diseñar y construir SS.BB.CC.

• Equivale a la Ingeniería del Software en los sistemas tradicionales

• Diferentes metodologías– CommonKADS– Protégé– IDEAL– …

Page 14: Tema01 Introduccion SBC

– 14 –

Ingeniero del Conocimiento

• Diseña y construye SBC• Evaluar aplicaciones potenciales• Extraer conocimiento del dominio• Elegir herramienta de representación adecuada• Construir sistema (prototipos)

Page 15: Tema01 Introduccion SBC

– 15 –

Fases habituales

1. Estudio de viabilidad2. Adquisición del conocimiento3. Conceptualización (análisis)4. Formalización (diseño)5. Implementación6. Evaluación

Page 16: Tema01 Introduccion SBC

– 16 –

Estudio de viabilidad

• Posibilidad

– Existencia de verdaderos expertos– Expertos disponibles e interesados– Expertos capaces de estructurar y explicar sus métodos– Acuerdo entre expertos– No excesivo uso de “sentido común”– Existencia de casos de prueba

Page 17: Tema01 Introduccion SBC

– 17 –

Estudio de viabilidad

• Justificación

– Escasez de expertos– Necesidad del mismo conocimiento en varios lugares– Pérdida de experiencia humana– Entornos peligrosos u hostiles– Alta rentabilidad prevista– No hay otras soluciones

• Adecuación

– Procesamiento más simbólico que numérico– Conocimiento basado más en heurísticas que algoritmos– Ni demasiado fácil ni demasiado difícil– Conocimiento no exacto o incompleto

Page 18: Tema01 Introduccion SBC

– 18 –

Adquisición de conocimiento• Fuentes de conocimiento

– Documentación• Libros, manuales, revistas especializadas, actas congresos, ...

– Expertos humanos– Simuladores

• Es la fase más compleja (cuello de botella)– Conocimiento tácito (no consciente)– Comunicación: lenguaje, vocabulario, ordenador– Representaciones del conocimiento: no suficiente

expresividad• Proceso

1. Primeras reuniones2. Extracción de conocimientos (documentación)3. Educción de conocimientos (del experto)

Page 19: Tema01 Introduccion SBC

– 19 –

Adquisición de conocimiento

1. Primeras reuniones– Determinar requisitos funcionales– Introducir al IC en el dominio

2. Extracción de conocimientos (documentación)– Estudio de documentación– Análisis estructural de textos

3. Educción de conocimientos (expertos)– Ciclo

• Preparación de la sesión (información a tratar, profundidad, técnica, preguntas)

• Sesión (repaso, objetivos, educción, resumen)• Transcripción• Análisis de la sesión• Evaluación (¿objetivos conseguidos?)

Page 20: Tema01 Introduccion SBC

– 20 –

Adquisición de conocimiento

3. Educción de conocimientos (cont.)– Técnicas de educción

• Entrevistas: abiertas, estructuradas• Observación directa de tareas habituales• Incidentes críticos• Clasificación de conceptos• Cuestionarios• Análisis de protocolos• Emparrillado• Brainstorming• Técnica nominal de grupo• Método Delphi

Page 21: Tema01 Introduccion SBC

– 21 –

Conceptualización

• Crear modelo conceptual (no computable) independiente del formalismo de representación

• Entendimiento del dominio del problema y su terminología

• Representación estructurada de los conocimientos adquiridos en la fase de Adquisición

• Herramientas– Diagrama de relaciones– Tabla concepto-atributo-valor– Árboles de decisión, ...

• Ontologías– Conjunto de términos y relaciones entre ellos– Permiten reutilización

Page 22: Tema01 Introduccion SBC

– 22 –

Formalización• Se comienza a modelar el problema desde el punto

de vista del sistema• Crear modelos formales (semicomputables)• Consiste en

– Representar el conocimiento mediante algún formalismo– Organizarlos en bases de conocimientos– Determinar los métodos de inferencia

• Formalismos– Básicos: lógica, redes semánticas, reglas, marcos,

restricciones, ...– Incertidumbre: MYCIN, Prospector, Dempster&Shafer,

redes bayesianas, lógica borrosa, ...– No monotonía– ...

Page 23: Tema01 Introduccion SBC

– 23 –

Formalización

• Factores para elegir un formalismo– Generalidad de la representación– Eficiencia computacional– Completitud y consistencia– Naturalidad

• Se suele priorizar la reutilización• Propiedades de formalismo óptimo

– Adecuación representacional: tipos de conocimiento– Adecuación inferencial: crear nuevo conocimiento– Eficiencia de adquisición: incorporar conocimiento

(manteniendo consistencia)– Eficiencia inferencial: incorporar conoc. inferencial

Page 24: Tema01 Introduccion SBC

– 24 –

Implementación

• Crear un modelo computable• Seleccionar una herramienta de desarrollo que

proporcione– Formalismos de representación para codificar las bases de

conocimientos– Mecanismos de inferencia

• Características de un entorno de desarrollo de SSBBCC– Edición, validación y actualización de conocimiento– Selección/edición de estrategias de control– Facilidad de uso (expertos)– Prototipado rápido– Interfaz de usuario

Page 25: Tema01 Introduccion SBC

– 25 –

Evaluación

• Es distinta a la de IS– Los SSBBCC no son completamente objetivos– Manejo de incertidumbre– Difícil de verificar en laboratorio– Los expertos son necesarios para evaluar la corrección

• Aspectos1. Corrección (verificación)

• Sintaxis y estructura adecuada (no redundante, completo, consistente)• Se realiza en modelos conceptuales, formales y computables

2. Validez• Semántica adecuada � experto• Se realiza en modelos conceptuales, formales y computables

3. Usabilidad4. Utilidad