Upload
jonathan-almeida
View
33
Download
0
Embed Size (px)
Citation preview
– 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