Sistemas Basados en Conocimiento Sesión 2 E. Morales/L.E. Sucar CCC, INAOE
Definición Un sistema experto o sistema basado en conocimiento se puede definir como: “...sistema que resuelve problemas utilizando una representación simbólica del conocimiento humano” [Jackson 86].
Tienen una separación entre: 1. Conocimiento específico del problema - Base de Conocimiento 2. Metodología para solucionar el problema - Máquina de Inferencia
Características importantes Representación explícita del conocimiento Capacidad de razonamiento independiente de la aplicación específica Capacidad de explicar sus conclusiones y el proceso de razonamiento
Características importantes Alto rendimiento en un dominio específico Uso de heurísticas vs. modelos matemáticos Uso de inferencia simbólica vs. algoritmo numérico
Importancia del Conocimiento Basan su rendimiento en la cantidad y calidad del conocimiento de un dominio específico y no tanto en las técnicas de solución de problemas.
Diferencia con otras técnicas: En matemáticas, teoría de control y computación, se intenta resolver el problema mediante su modelado (Modelo del problema). En sistemas expertos se ataca el problema construyendo un modelo del “experto” o resolvedor de problemas (Modelo del experto).
Enfoque Tradicional PROBLEMA Modelo Matemático ALGORITMO
Enfoque de Inteligencia Artificial Experto PROBLEMA Modelo SISTEMA EXPERTO
Clasificación de Sistemas Basados en Conocimiento 1. Análisis (interpretación) Identificación Monitoreo Diagnóstico Predicción Control
Clasificación de Sistemas Basados en Conocimiento 2. Síntesis (construcción) Especificación Diseño Configuración Planeación Ensamble Modificación
Clasificación de Sistemas Basados en Conocimiento Análisis : Identificación Predicción Control Síntesis : Especificación Diseño Ensamble
Componentes básicos 1. Base de Conocimiento (BdeC) 2. Máquina de Inferencia 3. Memoria de Trabajo 4. Interfaz de Usuario 5. Interfaz de Adquisición
Arquitectura Base de Conocimiento adquisi- ción Máquina de Inferencia usuario Memoria de Trabajo
Ejemplo Sistema de diagnóstico de automóviles
SI tiene gas & batería, OK PROBLEMA Falla (carro no arranca) CONOCIMIENTO SI tiene gas & batería, OK EXPERTO mecánico ENTONCES falla marcha SOLUCIÓN Diagnóstico (marcha)
Ventajas de Sistemas Basados en Conocimiento 1. Resolver problemas para los que no existe un modelo matemático adecuado o su solución es muy compleja, como en: Medicina Ingeniería Exploración Diseño Análisis
Ventajas de Sistemas Basados en Conocimiento 2. Preservar el conocimiento de expertos y hacerlo accesible a más personas. 3. Capacidad de explicar al usuario el proceso de razonamiento.
Representación de Conocimiento
Definición Representación = “... un conjunto de convenciones sintácticas y semánticas que hacen posible el describir cosas ” [Winston 74].
Definición Representación de conocimiento = Escribir en un lenguaje descripciones del mundo. Sintaxis: símbolos y conjunto de reglas para combinarlos. Semántica: significado de las expresiones construidas.
Ingredientes básicos: un lenguaje de representación, capacidad de inferencias, conocimiento del dominio.
Ingredientes básicos: El poder está en el conocimiento explicación de comportamiento, construir sistemas inteligentes, poder representar “sentido común”.
Criterios Capacidad Lógica: Que sea capaz de expresar el conocimiento que deseamos expresar. Poderío Heurístico: Capacidad para resolver problemas. Conveniencia de la Notación: Simplicidad para accesar el conocimiento y facilidad de entendimiento.
Criterios La representación determina la facilidad con la que podemos resolver ciertos problemas y utilizar el conocimiento [Marr 82]. Ejemplos: representación de números romanos vs arábigos. Cuadro mágico (ejercicio en clase)
Características A nivel epistemológico: primitivas (p.ej. segundos vs. años) meta-representaciones (p.ej. meta-reglas)
Características Representaciones no cubiertas por lógica: definiciones vs hechos universales vs defaults razonamiento no-deductivo razonamiento no-monotónico
Características Representaciones alternas: procedurales (se necesita declarativo) analógicas probabilísticas
Problemas de representación: substancias (v.g., litro de leche), causalidad y tiempo, creencias, deseos, intenciones, etc.
Consideraciones: Hacer explícito lo que se considere importante Exhibir las restricciones inherentes al problema Completo y preciso Entendible Fácil de usar Computacionalmente factible
Espacio de Representaciones Estados Epistemológicos (incertidumbre) Modelo del Mundo (expresividad) categórico probabi- lístico estados proposicional 1er orden “lógica proposicional” HMM RB 1er orden” Lógica+Prob. RB+objetos
Ingeniería de Conocimiento El proceso de construir una base de conocimiento se llama ingeniería de conocimiento Un lenguaje de representación tiene que ser expresivo, conciso, no ambiguo y efectivo.
Ingeniería de Conocimiento A veces se tiene que sacrificar el que sea correcto para ganar claridad y ser más conciso Idealmente se separa la base de conocimiento de los procedimientos de inferencia
Una base de conocimiento tiene 2 consumidores potenciales: Humanos Procesos de inferencia
Un error común es seleccionar nombres que por tener sentido para el hombre se cree que van a tener sentido para el proceso de inferencia (v.g., PolíticoDeUñasLargas(Espinosa)). Lo que expresemos en una situación debe poder usarse en otra
... Mejor representar a un nivel más general: Político(Espinosa) o Político(o) => Animal(o) a Animal(a) => ObjetoFisico(a) ...
Consideraciones: Decidir de qué hablar: saber qué objetos y hechos se tienen que tener y cuáles ignorar Decidir en el vocabulario de predicados, funciones y constantes El resultado es una ontología
Consideraciones: Codificar conocimiento genérico del dominio Codificar una descripción de una instancia del problema específico Hacer preguntas al procedimiento de inferencia y obtener respuestas
Ontología Conceptos seleccionados para describir un dominio Vocabulario de predicados, funciones y constantes Seleccionar alternativas: nombres, predicados o funciones o constantes, ... Determinar las “cosas” que existen Ontología general y específicas
Ejemplo: Ontología de Plantas Eléctricas
Elementos de una Ontología General Categorías: incluyen objetos con propiedades comunes arregladas en taxonomías jerárquicas. Se puede inferir la categoría de un objeto, en base a sus propiedades y luego hacer predicciones del objeto.
Elementos de una Ontología General Una categoría se puede “reificar” (reification), que significa cambiar un predicado o función en un objeto del lenguaje. Las categorías permiten organizar y simplificar el conocimiento por medio de herencia.
Elementos de una Ontología General Medidas: Relaciona objetos a cantidades de tipos particulares (v.g., masa, edad, precios, etc). Las medidas cuantitativas son en general fácil de representar. Otras medidas no tienen una escala de valores única (problemas, sabor, belleza, etc).
Elementos de una Ontología General Objetos Compuestos: Objetos que pertenecen a categorías por su estructura constitutiva. Se pueden tener jerarquías de tipo partes-de (parts-of). Se pueden tener objetos compuestos sin estructura.
Elementos de una Ontología General Tiempo, Espacio y Cambio: Para permitir acciones y eventos con diferentes duraciones y que puedan ocurrir simultaneamente. La noción general es que el universo es continuo tanto en tiempo como en espacio.
Elementos de una Ontología General Eventos y Procesos: Eventos individuales ocurren en un tiempo y lugar particular. Los procesos son eventos continuos y homogéneos por naturaleza.
Elementos de una Ontología General Objetos Físicos: Al extender las cosas en tiempo y espacio, los objetos físicos tienen mucho en común con los eventos. A veces les llaman “fluentes” (fluents).
Elementos de una Ontología General Substancias: Temporales y espaciales (v.g., mantequilla). Existen propiedades intrínsecas que son de la substancia del objeto más que del objeto mismo (color, temperatura en que se derrite, etc.), y propiedades extrínsecas (peso, forma, etc).
Elementos de una Ontología General Objetos Mentales y Creencias: Se tiene que razonar acerca de creencias del mundo.
Figura 2.6 Ontología “general” del mundo Cenital Figura 2.6 Ontología “general” del mundo (Basada en [Russell,95] Algo Objetos abstractos Eventos Conjuntos Números Representación Intervalos Lugares Objetos físicos Procesos Categorías Oraciones Medidas Momentos Cosas Sustancias Tiempo Peso Animales Agentes Sólido Líquido Gas Humanos
Tarea Selecciona un problema o dominio para el cual vas a desarrollar diferentes representaciones durante el curso. Para este problema especifica una ontología.
Que sea un campo sobre el que tu conozcas o tengas acceso a un experto amigo. Que sea un problema suficientemente complejo para que amerite utilizar técnicas de IA. Que no sea un problema que se resuelva directamente con técnicas tradicionales de computación como una base de datos o cálculos
Dominio Describir el dominio seleccionado Aplicación Especificar el tipo de aplicación (diagnóstico, diseño, etc.) Conceptos Listar y describir los principales "conceptos" en el dominio Relaciones Indicar las relaciones entre los conceptos desde diferentes puntos de vista (partes de, es un, funcional, ...), de preferencia en forma gráfica