La metodología CommonKADS 3. Componentes del Modelo de Conocimiento 3.1 Introducción 3.2 Conocimiento de Dominio 3.3 Conocimiento de Inferencia 3.4 Conocimiento de Tarea Carlos Alonso González Dpto. de Informática Universidad de Valladolid
3.2 Conocimiento de inferencia Describe como usar los elementos estáticos del Conocimiento de Dominio para realizar un proceso de razonamiento Elementos básicos inferencias, papeles de conocimiento y funciones de transferencia Estructura de inferencia Interés relación indirecta con el conocimiento de dominio permite reutilización 2
Inferencias(I) Unidad básica de procesamiento de la información en el modelado de conocimiento compare, select, specify, verify,... Una inferencia Corresponde el nivel más bajo de descomposición funcional Realiza un paso de razonamiento primitivo (atómico) Típicamente, usa conocimiento de una BC para derivar nueva información a partir de una entrada dinámica 3
Ejemplo inferencia dynamic input role inference dynamic output role complaint cover hypothesis my car does not start fuel tank is empty causal model static role fuel tank is empty leads to lack of gas in engine if there is no gas in the engine, then the car does not start 4
Inferencias(II) Una inferencia Totalmente descrita mediante una especificación declarativa de sus entradas y salidas Proceso interno: caja negra, desde la perspectiva de modelado Entradas y salidas: descritas mediante nombres de papeles (roles) Granularidad adecuada de las inferencias Las inferencias proporcionan una traza comprensible del razonamiento (expliación) 5
Papeles de conocimiento (knowledge role) Nombre abstracto de objetos del dominio que indica su papel (función) en el proceso de razonamiento Hypothesis: nombre funcional para un objeto del dominio que realiza el papel de candidato a solución Asociación explicita con tipos del dominio Papeles Dinámicos: Entrada/salida inferencias Estáticos: Conocimiento de dominio utilizado para realizar la inferencia (una base de conocimiento) 6
Ejemplo especificación inferencia INFERENCE cover; ROLES: INPUT: complaint; OUTPUT: hypothesis; STATIC: causal-model; SPECIFICATION: Cada vez que se invoca la inferencia, genera un candidato a solución que puede haber causado la queja. La salida debe ser un estado inicial de la red de dependencia de estado, que causalmente cubra la queja de entrada. ; END INFERENCE cover; 7
Ejemplo papeles dominio dinámico KNOWLEDGE-ROLE complaint; TYPE: DYNAMIC; DOMAIN-MAPPING: estado-coche-visible; END KNOWLEDGE-ROLE complaint; KNOWLEDGE-ROLE hypothesis; TYPE: DYNAMIC; DOMAIN-MAPPING: estado-coche-no-visible; END KNOWLEDGE-ROLE hypothesis; 8
Ejemplo papeles dominio estático KNOWLEDGE-ROLE causal-model; TYPE: STATIC; DOMAIN-MAPPING: dependencia-estado FROM red-causal-automovil; END KNOWLEDGE-ROLE causal-model; 9
Desacoplo datos/función (I) Vocabulario diferente para Dominio / proceso de razonamiento (tarea) Busca incrementar capacidad reutilización 10
Desacoplo datos/función (II) complaint cover hypothesis causal model asociación inferencia-dominio asociación inferencia-dominio asociación inferencia-dominio estado coche visible dependencia estado estado coche no visible 11
Funciones de transferencia (I) Modelan transferencias de información entre el agente que soporta el razonamiento y otros agentes Necesarias si la interacción forma parte del proceso de razonamiento Cajas negras: nombre, entrada y salida Especificación detallada: modelo de comunicación 12
Funciones de transferencia sistema externa iniciativa externa obtain receive sistema present provide origen información 13
Especificación función de transferencia TRANSFER-FUNCTION obtain; TYPE: OBTAIN; ROLES: INPUT: expected-finding; OUTPUT: actual-finding; END TRANSFER-FUNCTION obtain; 14
Estructura de inferencia Representación gráfica de la capacidad básica de inferencia del sistema (todas las inferencias) Papeles dinámicos: rectángulos Inferencias: elipses Funciones transferencia: cajas redondeadas Papeles estáticos: entre dos líneas gruesas Arcos Dirigidos Simples/Gruesos 15
Estructura de inferencia complaint cover causal model obtain actual finding hypothesis predict expected finding compare manifestation model result 16
Uso estructura de inferencia Herramienta de comunicación y discusión durante el desarrollo Carácter provisional durante análisis Dificultad de comprensión por su nivel de abstracción Útil añadir anotaciones con ejemplos del dominio 17
Estructura de inferencia anotada complaint cover motor no arranca reglas dependencia estado causal model obtain indicador combustible = normal actual finding hypothesis depósito combustible vacío reglas manifestación estado predict manifestation model expected finding indicador combustible = cero/bajo no igual compare result 18
Reutilización de inferencias No existe un conjunto estándar de inferencias Se propone un Catálogo: Abstract, Assign, Classify, Compare, Cover, Critique, Evaluate, Generate, Group, Match, Modify, Operationalize, Propose, Predict, Select, Sort, Specify, Verify (Scheriber et al., 1999) Usar nombres estándar 19
Conocimiento de Tarea Describe las metas del razonamiento. Evaluar solicitud de hipoteca para minimizar riesgo de perder dinero Encontrar la causa del fallo de una fotocopiadora para restablecer el servicio Diseñar una ascensor para un edificio nuevo Describe las estrategias para alcanzarlas. Descripción jerárquica mediante Tarea (Task): meta, entrada/salida, especificación. Método de Tarea (Task Method): subtareas, control 20
Ejemplo descomposición tarea tarea diagnosis método de tarea diagnosis mediante generación y prueba cover descomposición obtain inferencias predict compare función de transferencia 21
Tarea Tarea de alto nivel (the top level task) Habitualmente se corresponde con tarea identificada en modelo de tareas Diferencia esencial con función alto nivel: datos manipulados por al tarea descritos de forma independiente del dominio Descrita por Meta Textual, informal Entrada/salida en términos de papeles de tarea Especificación Relación entre entrada salida, textual, informal 22
Especificación tarea TASK diagnosis-automóvil; META: Encontrar una causa probable para la queja de un usuario ; ROLES: INPUT: complaint: Queja sobre el comportamiento del automóvil ; OUTPUT: fault-category: una hipótesis explicada por la evidencia ; evidencia: Conjunto de observaciones obtenidas durante el proceso de diagnóstico SPEC: Encontrar un estado inicial que explique la queja y sea consistente con la evidencia obtenida ; END TASK diagnosis-automóvil; 23
Método de Tarea Describe como se realiza una tarea mediante Descomposición en subfunciones Otras tareas, inferencias o funciones de transferencia Estructura de control Proporciona el flujo de control de subfunciones Subfunciones / procedimientos Roles /parámetros Debe capturar la estrategia de razonamiento Papeles intermedios adicionales Almacenar resultados de razonamiento intermedios 24
Especificación Método de Tarea (I) TASK-METHOD diagnosis-mediante-generación-y-test; REALIZES: diagnosis-automóvil; DECOMPOSITION: INFERENCES: cover, predict, compare; TRANSFER-FUNCTIONS: obtain; ROLES: INTERMEDIATE: hypothesis: Una solución candidata ; expected-finding: Finding predicho si la hipótesis es cierta actual-finding: Finding observado result: El resultado de la comparación 25
Especificación Método de Tarea (II) CONTROL-STRUCTURE: WHILE NEW-SOLUTION cover(complaint -> hypothesis) DO predict(hypothesys -> expected-finding); obtain(expected-finding -> actual-finding); evidence := evidence ADD actual-finding; compare(expected-finding + actual-finding -> result); IF result == equal; THEN break from loop ; END IF END WHILE IF result = = equal THEN fault-category := hypothesis; ELSE no se encontró solución END IF END TASK-METHOD diagnosis-mediante-generación-y-test; 26
Especificación del control mediante diagrama de actividad UML start diagnosis through generate-and-test cover [no more solutions of cover] [result = not equal] no solution found [new solution of cover] predict [result = equal] solution found obtain compare 27
Elementos estructura de control(i) Llamadas a procedimientos Tareas, funciones de transferencia, inferencias Operaciones sobre papeles assign, add/append, delete/subtract, Primitivas de control repeat-until, while-do, foreach-do, if-then-else 28
Elementos estructura de control(ii) Condiciones Expresiones lógicas sobre papeles until differential = empty Dos condiciones especiales has-solution para invocar inferencias que pueden fallar new solution invocar inferencias que pueden ir generando nuevas soluciones 29
Inferencia o tarea? Si el comportamiento interno de una función es importante para explicar el comportamiento del sistema, la función debe definirse como una tarea 30
Modelado de conocimiento frente a modelado convencional El conocimiento del dominio contiene datos sobre datos Conocimiento Las funciones se describen con independencia del modelo de datos Reutilización Énfasis en control interno Estrategia del proceso de razonamiento Se abstraen los aspectos de comunicación 31