Post on 23-Jan-2016
Sistemas ExpertosAdquisición del conocimiento
Fases de desarrollo
Ingeniería Electrónica
Ingeniería del Conocimiento
¿Quiénes participan en la construcción de un SE ?
SHELL Ingeniero del Conocimiento
Sistema Experto
Personal de Apoyo
Experto del Dominio
Constructor del SHELL
Usuario final
ConstruyeRefinaPrueba
ExtiendePrueba
Agregan datos
Usa
Construye
Entrevista
Participantes fundamentales en el desarrollo.
Experto del dominioEspecialista. 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.
Usuario final
Ing. del conocimiento
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.
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.
Ingeniero del conocimientoDebe 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.
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.
Requerimientos para desarrollar un SE.
Existen verdaderos expertos
Los expertos acuerdan soluciones
Los expertos pueden articular sus métodos
Se dispone de casos de prueba
La tarea está bien estructurada y se entiende bien
La tarea no requiere sentido común
La tarea requiere sólo habilidades cognitivas.
Y
Desarrollo
Posible
Cuando es apropiado implementar un SE.
Se requiere manipular símbolos
Se requieren soluciones heurísticas
La tarea no es demasiado fácil
La tarea tiene valor práctico
La tarea es de un tamaño manejable
Y
Desarrollo
Apropiado
Naturaleza
Alcance
Complejidad
Justificación del desarrollo de un SE.
Experiencia humana escasa
Pérdida de experiencia humana
Experiencia necesaria en entornos hostiles
No existen soluciones alternativas
Alta tasa de recuperación de la inversión
O
Desarrollo
Justificado
SE aplicados a tareas de:Infiere la descripción de situaciones a partir de los datos
Infiere mal funcionamiento del sistema a partir de observaciones
Prescribe acciones correctivas ante un mal funcionamiento
Pronóstico. Infiere las consecuencias de la situación actual
Compara lo observado con lo deseado
Gobierna la conducta del sistema
Diseña planes y acciones para alcanzar un objetivo
Configura objetos bajo ciertas restricciones
Provee apoyo a decisiones
Ayuda en el aprendizaje
Indica el “cómo hacerlo”
Interpretación
Debugging
Predicción
Control
Planificación
Diseño
Tutor
Monitoreo
Diagnóstico
Consultor
Asist.Inteligente
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.
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.
Adquisición del conocimiento
Proceso de extraer, estructurar y organizar conocimiento de una o varias fuentes.
Es el “cuello de botella” del desarrollo.
Dificultades:
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
Es costoso
Métodos de adquisición del conocimiento.
Manuales
Automáticos
Se estructuran alrededor de algún tipo de entrevista con el/los expertos donde además se trabaja con toda la documentación disponible.
Se minimizan los roles del experto e ing. del conocimiento.
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.
Métodos inductivos
Lentos y carosAún los más usados
Métodos manuales de adquisición del conocimiento
Entrevistas: distintos tipos
Informales o no estructuradas
El experto “enseña” tratando de explicar y justificar su conocimiento del dominio.
El experto instruye sobre como leer e interpretar el material disponible.
El experto explica como aborda un caso particularDificultades
Los expertos tienen dificultad en identificar los principales elementos de su conocimiento en dominios complejos.
Los datos adquiridos no se relacionan o tienen distinto nivel de complejidad.
Dificultad para:
interpretarlos
integrarlos
estructurarlos
Métodos manuales de adquisición del conocimiento.
Entrevistas: distintos tipos
EstructuradasTienen 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.
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.
Métodos manuales de adquisición del conocimiento.
Análisis de protocolo 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.
BrainstormingSe reúne a varios expertos para que den su opinión sobre distintos aspectos del problema. Es útil para generar ideas.
PrototiposAunque sean parciales, estimulan la crítica por parte de los expertos y ayudan a orientar el desarrollo.
Análisis de casos
Soporte para el Ingeniero del conocimiento
Habitualmente disponibles.DebuggingTRACE
BREAK
Testeo automático Raramente disponible
EXPERTAlmacena gran cantidad de casos de prueba con sus soluciones correctas. Los utiliza para testear las reglas en la KB. Muy útil para analizar modificaciones.
Desarrollo basado en CASNET - 70s
Soporte para el Ingeniero del conocimento
Facilidades de explicación
La mayoría de los SE pueden explicar de que forma alcanzan sus conclusiones. Puede proveerlo la herramienta o depender del programador
Razonamiento retrospectivo
Razonamiento hipotético
Razonamiento sobre conclusiones
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.
Muy complejosEMYCINExplicación incluida. Más elaborada que la simple traza de las reglas.
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.
El constructor no necesita ser Ingeniero del conocimiento.
Al revisar las reglas el experto organiza su pensamiento
Pueden generar reglas difíciles de comprender.
El nº de atributos debe ser pequeño.
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
Adquisición a partir de múltiples expertos
Tareas multidisciplinarias
Dominios complejos que requieren más de una opinión
Necesidad de varios expertos
Beneficios Dificultades
En promedio menos errores
El dominio puede ser más amplio
Síntesis de experiencias particulares
Aumenta la calidad por la interacción
Opiniones encontradas
Expertos dominantes
Competencia mal entendida
Temor frente a profesionales de distinta jerarquía.
Adquisición del conocimiento: Experiencias
Malezas
Experto principal que fijó las estrategias básicas
Grupo de botánicos asesores
consenso
Capas reservorio
Los expertos no estaban disponibles
Experto intermediario: La mayor interacción se realizó con él.
Interacción
Encendido de una caldera
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.
Herramientas para el desarrollo de SE.
Lenguajes de programación
Lenguajes de Ingeniería del conocimiento
Orientados al problema
PascalFortran
CJava
Manipulación de símbolos LispProlog
Herramientas (SHELL)
PC - PLUSKAPPA – PC
CLIPSJESS
Construcción de un SE: Fases del desarrollo
Identificación
formalización
Implementación
Testeo
Conceptualización
Requerimientos
Conceptos
Estructura
Reglas
Caracterizar los aspectos importantes del problema
Encontrar los conceptos para representar el conocimiento
Diseñar las estructuras para representar el conocimiento
Desarrollo del sistema
Validación del sistema
Refinamiento
Rediseño
Reformulación
Reformulación
Construcción de un SE: Fases del desarrollo
Naturaleza del problema (scheduling, diagnóstico, control etc.)
Identificación Estudio de factibilidad de la aplicación
Tarea a cumplir
Expertos del dominio
Usuarios finales
Recursos y fuentes de información
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.
Alcance del problema ( Es manejable? Tiene interés práctico?)
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.
Construcción de un SE: Fases del desarrollo
Formalización
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.
Se deben representar los conceptos claves y sus relaciones.
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.
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.
El desarrollo es incremental, puede involucrar la prueba de distintos enfoques o partir de un modelo simplificado e incluso parcial del problema.
Construcción de un SE: Fases del desarrollo Testeo Se evalúa la perfomance y utilidad del sistema, realizando las
correcciones necesarias.
Posibles problemas:
Pérdida de conceptos y/o relaciones.
Nivel de detalle insuficiente.
Estructura de control.
Revisar fases
Utilidad
El control considera los ítems en orden natural?
Perfomance
Las reglas son correctas y consistentes?
Las decisiones del SE son apropiadas?
Los casos de prueba cubren adecuadamente el dominio, consideran situaciones difíciles?
Es significativa la ayuda del sistema?
Las conclusiones están ordenadas y tienen buen nivel de detalle?
Es suficientemente rápido el sistema?
Es satisfactoria la interface?
Casos de prueba
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 permanenteDesarrollo incremental
Se avanza desde tareas simples a otras más complejas.
El sistema apoya el esfuerzo del desarrolloDe su análisis se obtienen pautas para reenfocar el diseño
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.
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