Sistemas Expertos Adquisicin del conocimiento Fases de desarrollo
































- Slides: 32
Sistemas Expertos Adquisición del conocimiento Fases de desarrollo Ingeniería del Conocimiento Ingeniería Electrónica 10/25/2020 IIA - Sistemas 1
¿Quiénes participan en la construcción de un SE ? Constructor del SHELL Experto del Dominio Extiende Prueba Construye Entrevista SHELL Sistema Experto Ingeniero del Conocimiento Usuario final Usa Construye Refina Prueba 10/25/2020 Agregan datos Personal de Apoyo IIA - Sistemas 2
Participantes fundamentales en el desarrollo. Experto del dominio Ing. del conocimiento Usuario final 10/25/2020 Especialista. Conoce los hechos importantes y comprende el significado de las relaciones entre ellos. Posee conocimiento, juicio, metodología y sabe aplicarlas en el dominio de trabajo. Posee el conocimiento técnico para adquirir, representar y utilizar apropiadamente el conocimiento para estructurar y explicar líneas de razonamiento. Es muchas veces el constructor del sistema. Quien usará el sistema. Sus necesidades deben quedar claramente definidas: objetivos, características de la interacción, tipo de vocabulario, calidad de ayuda y explicaciones. IIA - Sistemas 3
Ingeniero del conocimiento Debe poseer la lógica y las cualidades de un informático. Debe ser un especialista en la tecnología de los sistemas expertos. Debe poseer la capacidad de aprendizaje interdisciplinario. Debe ser competente para reconocer y tratar con lo expertos del dominio. Debe ser hábil para educir el conocimiento en diferentes circunstancias. Debe tener la destreza interpersonal y directiva para liderar el proyecto. 10/25/2020 IIA - Sistemas 4
Usuario Final El equipo de desarrollo de un sistema experto se completa con el concurso del usuario final que contribuye a definir los aspectos operativos y las características de la interfaz. 10/25/2020 IIA - Sistemas 5
Requerimientos para desarrollar un SE. Existen verdaderos expertos Los expertos acuerdan soluciones Los expertos pueden articular sus métodos Y Se dispone de casos de prueba La tarea está bien estructurada y se entiende bien Desarrollo La tarea no requiere sentido común Posible La tarea requiere sólo habilidades cognitivas. 10/25/2020 IIA - Sistemas 6
Cuando es apropiado implementar un SE. Naturaleza Se requiere manipular símbolos Se requieren soluciones heurísticas La tarea no es demasiado fácil Y Complejidad La tarea tiene valor práctico Alcance La tarea es de un tamaño manejable Desarrollo Apropiado 10/25/2020 IIA - Sistemas 7
Justificación del desarrollo de un SE. Experiencia humana escasa Pérdida de experiencia humana Experiencia necesaria en entornos hostiles No existen soluciones alternativas O Alta tasa de recuperación de la inversión Desarrollo Justificado 10/25/2020 IIA - Sistemas 8
SE aplicados a tareas de: Interpretación Infiere la descripción de situaciones a partir de los datos Diagnóstico Infiere mal funcionamiento del sistema a partir de observaciones Debugging Prescribe acciones correctivas ante un mal funcionamiento Predicción Pronóstico. Infiere las consecuencias de la situación actual Monitoreo Compara lo observado con lo deseado Control Planificación Diseño Asist. Inteligente Gobierna la conducta del sistema Diseña planes y acciones para alcanzar un objetivo Configura objetos bajo ciertas restricciones Provee apoyo a decisiones Consultor Indica el “cómo hacerlo” Tutor Ayuda en el aprendizaje 10/25/2020 IIA - Sistemas 9
Problemas y limitaciones de los SE El proceso de adquisición del conocimiento es dificultoso. Los dominios deben estar bien acotados. La validación del sistema puede ser cuestionable, si no existen expertos independientes que verifiquen los resultados. El desarrollo es caro. El sentido común no es representable. Si se los saca de contexto exhiben un comportamiento poco razonable. La incorporación automática de nuevo conocimiento (aprendizaje) es complicada. 10/25/2020 IIA - Sistemas 10
Problemas y limitaciones de los SE El proceso de adquisición del conocimiento es dificultoso. Los dominios deben estar bien acotados. La validación del sistema puede ser cuestionable, si no existen expertos independientes que verifiquen los resultados. El desarrollo es caro. El sentido común no es representable. Si se los saca de contexto exhiben un comportamiento poco razonable. La incorporación automática de nuevo conocimiento (aprendizaje) es complicada. 10/25/2020 IIA - Sistemas 11
Adquisición del conocimiento Proceso de extraer, estructurar y organizar conocimiento de una o varias fuentes. Dificultades: Es el “cuello de botella” del desarrollo. Es costoso Los expertos suelen disponer de poco tiempo Deben existir acuerdos y se debe trabajar en equipo Es fundamental estructurar el conocimiento y explicitar métodos 10/25/2020 IIA - Sistemas 12
Métodos de adquisición del conocimiento. Se estructuran alrededor de algún tipo de entrevista con el/los expertos donde además se trabaja con toda la documentación disponible. Manuales Lentos y caros Aún los más usados Semiautomáticos Programas interactivos que “entrevistan a los expertos”. Se minimiza el rol del ing. del conocimiento. Apoyos computarizados para colaborar con los ing. del conocimiento. Automáticos Se minimizan los roles del experto e ing. del conocimiento. Métodos inductivos 10/25/2020 IIA - Sistemas 13
Métodos manuales de adquisición del conocimiento Entrevistas: distintos tipos El experto “enseña” tratando de explicar y justific su conocimiento del dominio. Informales o no estructuradas El experto instruye sobre como leer e interpretar el material disponible. El experto explica como aborda un caso particular Dificultades Los expertos tienen dificultad en identificar los principales elementos de su conocimiento en dominios complejos. Dificultad para: Los datos adquiridos no se relacionan o tienen distinto nivel de complejidad. 10/25/2020 IIA - Sistemas interpretarlos integrarlos 14 estructurarlos
Métodos manuales de adquisición del conocimiento. Entrevistas: distintos tipos Estructuradas Tienen un objetivo específico. Organizan la comunicación y reducen los problemas de interpretación. Exigen un análisis previo de la información disponible hasta el momento. Agenda con áreas de interés Cuestionario específico Exigen un análisis cuidadoso de la información obtenida para validarla, debiéndose volver sobre ella en entrevistas posteriores. 10/25/2020 IIA - Sistemas 15
Adquisición del conocimiento • La tarea de educción comprende tres aspectos fundamentales: • La motivación del experto del dominio. • El estilo y el conocimiento que posee el ingeniero del conocimiento. • Un método adecuado. 10/25/2020 IIA - Sistemas 16
Métodos manuales de adquisición del conocimiento. Análisis de protocolo Análisis de casos Se propone al experto la realización de una tarea real. Se planifica la actividad previamente y se prepara el escenario. El experto debe explicar detalladamente su proceder, justificar sus decisiones y caracterizar las distintas alternativas con sus valores específicos. Observación de campo Se analiza el comportamiento del experto en campo. Se puede analizar con quienes interactúa y de que forma, a que eventos dirige su atención. Brainstorming Se reúne a varios expertos para que den su opinión sobre distintos aspectos del problema. Es útil para generar ideas. Prototipos Aunque sean parciales, estimulan la crítica por parte de los expertos y ayudan a orientar el desarrollo. 10/25/2020 IIA - Sistemas 17
Soporte para el Ingeniero del conocimiento TRACE Debugging Habitualmente disponibles. BREAK Testeo automático Raramente disponible Almacena gran cantidad de casos de prueba con sus soluciones correctas. Los utiliza para testear las reglas en la KB. Muy útil para analizar modificaciones. EXPERT Desarrollo basado en CASNET - 70 s 10/25/2020 IIA - Sistemas 18
Soporte para el Ingeniero del conocimento La mayoría de los SE pueden explicar de que forma alcanzan sus conclusiones. Puede proveerlo la herramienta o depender del programador Facilidades de explicación Razonamiento retrospectivo Razonamiento hipotético Razonamiento sobre conclusiones EMYCIN 10/25/2020 Traza de las reglas disparadas. Explica las diferencias si cierto hecho o regla hubiera sido distinto. Explica porque no se alcanzó una conclusión esperada. Explicación incluida. Más elaborada que la simple traza de las reglas. IIA - Sistemas Muy complejos 19
Métodos automáticos: Inducción de reglas. Las reglas se obtienen a partir de ejemplos. El programa genera una matriz de atributos, valores y elecciones y sobre ella operan algoritmos de distinto tipo para lograr las reglas (desde métodos estadísticos a redes neuronales). Ventajas Desventajas Al experto le resulta más fácil dar ejemplos. Pueden generar reglas difíciles de comprender. El constructor no necesita ser Ingeniero del conocimiento. El nº de atributos debe ser pequeño. Al revisar las reglas el experto organiza su pensamiento Se limita a situaciones de total certeza. Se debe tener idea de la solución pues no se sabe de antemano el nº de ejemplos necesarios para que la solución sea razonable. Se utilizan como aproximaciones y se complementan luego con otros métodos 10/25/2020 IIA - Sistemas 20
Adquisición a partir de múltiples expertos Dominios complejos que requieren más de una opinión Tareas multidisciplinarias Beneficios Necesidad de varios expertos Dificultades En promedio menos errores Opiniones encontradas El dominio puede ser más amplio Expertos dominantes Síntesis de experiencias particulares Competencia mal entendida Aumenta la calidad por la interacción Temor frente a profesionales de distinta jerarquía. 10/25/2020 IIA - Sistemas 21
Adquisición del conocimiento: Experiencias Experto principal que fijó las estrategias básicas Malezas consenso Grupo de botánicos asesores Los expertos no estaban disponibles Interacción Capas reservorio Experto intermediario: La mayor interacción se realizó con él. Encendido de una caldera 10/25/2020 Se inicia el trabajo con un grupo de expertos sensibilizados a través de cursos. Este grupo inicial se desgrana quedando un experto principal que da las pautas fundamentales y culmina el desarrollo. IIA - Sistemas 22
Herramientas para el desarrollo de SE. Pascal Fortran C Java Orientados al problema Lenguajes de programación Manipulación de símbolos Lenguajes de Ingeniería del conocimiento 10/25/2020 Herramientas (SHELL) IIA - Sistemas Lisp Prolog PC - PLUS KAPPA – PC CLIPS JESS 23
Construcción de un SE: Fases del desarrollo Identificación Reformulación Requerimientos Conceptualización Reformulación Conceptos Caracterizar los aspectos importantes del problema Encontrar los conceptos para representar el conocimiento formalización Rediseño Estructura Diseñar las estructuras para representar el conocimiento Implementación Refinamiento Reglas Testeo 10/25/2020 IIA - Sistemas Desarrollo del sistema Validación del sistema 24
Construcción de un SE: Fases del desarrollo Identificación Estudio de factibilidad de la aplicación Naturaleza del problema (scheduling, diagnóstico, control etc. ) Tarea a cumplir Alcance del problema ( Es manejable? Tiene interés práctico? ) Expertos del dominio Usuarios finales Objetivos del sistema Esta fase requiere un gran esfuerzo para compatibilizar ideas, ya que el equipo de trabajo recién se constituye y las perspectivas de cada integrante suelen ser bastante diferentes. Recursos y fuentes de información 10/25/2020 IIA - Sistemas 25
Construcción de un SE: Fases del desarrollo Conceptualización Razonamiento del experto Se deben determinar los conceptos claves, las relaciones y las características del flujo de información necesario para el proceso de solución del problema. Se considera la posibilidad de descomposición del problema. Se presta atención a los distintos tipos de conocimiento involucrados Se comienza a perfilar la representación del conocimiento del dominio. 10/25/2020 IIA - Sistemas 26
Construcción de un SE: Fases del desarrollo Formalización Se deben representar los conceptos claves y sus relaciones. Se definen los formalismos de representación del conocimiento. Se determina la herramienta constructora de SE que se usará. Se tiene en cuenta: Técnicas de representación. Tipos de conocimiento. Estrategias de búsqueda. 10/25/2020 IIA - Sistemas 27
Construcción de un SE: Fases del desarrollo Implementación Se construye un prototipo con capacidad de resolver un conjunto de casos seleccionados, con los que se pone en evidencia las grandes líneas de razonamiento inherentes a la solución del problema. El desarrollo es incremental, puede involucrar la prueba de distintos enfoques o partir de un modelo simplificado e incluso parcial del problema. Contribuye a una mayor comprensión del problema por parte de los agentes intervinientes. Prueba la calidad de las etapas de desarrollo. Permite un ciclo iterativo de corrección y refinamiento de las fases de desarrollo. 10/25/2020 IIA - Sistemas 28
Construcción de un SE: Fases del desarrollo Se evalúa la perfomance y utilidad del sistema, realizando las correcciones necesarias. Testeo Perfomance Las reglas son correctas y consistentes? Casos de prueba Las decisiones del SE son apropiadas? El control considera los ítems en orden natural? Posibles problemas: Pérdida de conceptos y/o relaciones. Nivel de detalle insuficiente. Estructura de control. Los casos de prueba cubren adecuadamente el dominio, consideran situaciones difíciles? Utilidad Es significativa la ayuda del sistema? Las conclusiones están ordenadas y tienen buen nivel de detalle? Revisar fases 10/25/2020 Es suficientemente rápido el sistema? Es satisfactoria la interface? IIA - Sistemas 29
Construcción de un Sistema Experto La complejidad inherente de la tarea no permite el establecimiento de pasos o fases bien definidas que deben seguir los diseñadores durante el desarrollo. Realimentación permanente Desarrollo incremental Se avanza desde tareas simples a otras más complejas. El sistema apoya el esfuerzo del desarrollo 10/25/2020 IIA - Sistemas De su análisis se obtienen pautas para reenfocar el diseño 30
Construcción de un SE: Modelo en Espiral ES UN MODELO PROGRESIVO O INCREMENTAL. CADA CIRCUITO DE LA ESPIRAL AGREGA ALGUNA CAPACIDAD FUNCIONAL AL SISTEMA. 10/25/2020 IIA - Sistemas 31
Medidas de calidad de software para SE SATISFACCIÓN DE NECESIDADES Y REQUERIMIENTOS. RESPUESTA CORRECTA PARA ENTRADA CORRECTA. RESPUESTA COMPLETA PARA ENTRADA CORRECTA. RESPUESTA REPETITIVA PARA ENTRADA CORRECTA. CONFIABLE (ERRORES Y FALLAS). AMIGABLE CON EL USUARIO. TRANSPORTABLE. DEGRADACIÓN SUAVE DE SUS LÍMITES DE CONOCIMIENTO. INTERACCIÓN CON OTROS PAQUETES DE SOFTWARE. EXPLICACIONES. MEJORABLE. REDITUABLE 10/25/2020 IIA - Sistemas 32