Tema01 Introduccion SBC

Post on 29-Oct-2015

32 views 0 download

Transcript of Tema01 Introduccion SBC

– 1 –

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

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

– 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

– 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

– 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

– 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

– 6 –

Ingeniería del Conocimiento

SISTEMAS

EXPERTOS

SISTEMAS

BASADOS EN EL

CONOCIMIENTO

INTELIGENCIA

ARTIFICIAL

INGENIERÍA DEL CONOCIMIENTO

– 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

– 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”

– 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)

– 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

– 11 –

Estructura de un SBC

BASE DECONOCIMIENTO

BASE DEHECHOS

MOTOR DEINFERENCIA

SUBSISTEMADE USUARIO

SUBSISTEMA DEEXPLICACIÓN

SUBSISTEMA DEADQUISICIÓN DECONOCIMIENTO

INTERFAZ

USUARIOINGENIERO DELCONOCIMIENTO

– 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

– 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– …

– 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)

– 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

– 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

– 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

– 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)

– 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?)

– 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

– 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

– 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– ...

– 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

– 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

– 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