4. Plantillas de Modelos de Conocimiento -...

39
4. Plantillas de Modelos de Conocimiento 4.1 Introducción 4.2 Tipología de tareas 4.3 Catálogo de Plantillas de Tareas Carlos Alonso González Dpto. de Informática Universidad de Valladolid La metodología CommonKADS

Transcript of 4. Plantillas de Modelos de Conocimiento -...

4. Plantillas de Modelos de Conocimiento

4.1 Introducción4.2 Tipología de tareas4.3 Catálogo de Plantillas de Tareas

Carlos Alonso GonzálezDpto. de InformáticaUniversidad de Valladolid

La metodología CommonKADS

4-2

Reutilización

• Partes del modelo de conocimiento pueden reutilizarse en nuevas aplicaciones

• Reutilizar combinaciones de elementos del modelo de conocimiento

• CommonKADS proporciona catálogos de elementos de modelos de conocimiento

• Principal criterio de reutilización: tarea• Catálogo de plantillas de tareas

4-3

Necesidad reutilización

• No “reinventar la rueda”• Eficiencia coste, tiempo• Disminuye complejidad proceso construcción modelos• Criterio de calidad

4-4

Plantilla de tareas

• Modelo de conocimiento parcial que especifica– Conocimiento de tarea e inferencia habituales en la solución de un

problema de un tipo particular– Esquema de dominio requerido desde la perspectiva de la tarea– Carácter provisional

• Para un tipo de tarea• Permite aproximación analítica al “Análisis de

Conocimiento”

4-5

Tipología de tareas

• Rango limitado de tipos de tareas– Se limita a tareas que hacen un uso intensivo del conocimiento

• Objeto de estudio de las ciencias cognitivas/sicología • Existen numerosas propuestas• Tipología basada en la noción de sistema

4-6

Noción de “Sistema”

• Término abstracto que describe aquello sobre lo que se aplica una tarea– diagnosis médica: cuerpo humano– diagnosis técnica: artefacto o dispositivo– configuración ascensores: ascensor a configurar

• No necesita existir (aún)

4-7

Tareas analíticas/sintéticas

• Tareas analíticas– El sistema ya existe– Entrada: datos sobre el sistema– Salida: alguna caracterización del sistema

• Tareas sintéticas– El sistema aún no existe– Entrada: requisitos del sistema a construir– Salida: descripción del sistema

• Subdivisión adicional– En función del tipo de problema

4-8

Tipo de Tareasknowledge-intensive

task

Tarea Analítica

clasificación

evaluación

Tarea Sintética

diagnosis

monitorización

predicción

modelado

planificación

scheduling

asignacióndiseño

configuración

4-9

Tareas AnalíticasTipo de tarea

Entrada Salida Conocimiento Características

Análisis Observaciones del sistema

Caracterización del sistema

Modelo del sistema Se proporciona la descripción del sistema

Clasifi-cación

Propiedades de objetos

Clase Asociación características-clases

Conjunto de clases predefinidas

Diagnosis Síntomas, quejas

Categoría de fallo

Modelo de comportamiento

Distintos tipos de salidas: cadena causal, estado, componente

Evaluación Descripción caso

Clase de decisión

Criterios, normas Se realiza en un instante temporal

Monito-rización

Datos del sistema

Clase de discrepancia

Comportamiento normal del sistema

Se realiza repetidamente

Predicción Datos del sistema

Estado del sistema

Modelo de comportamiento

Proporciona una descripción del sistema en el futuro

4-10

Tareas Sintéticas (I)Tipo de tarea

Entrada Salida Conocimiento Características

Síntesis Requisitos Estructura del sistema

Elementos, restricciones, preferencias

Hay que generar la descripción del sistema

Diseño Requisitos Descripción dispositivo

Componentes, restricciones, preferencias

Puede incluir diseño creativo de componentes

Diseño de configu-ración

Requisitos Descripción dispositivo

Componentes, plantillas de diseños, restricciones, preferencias

Diseño en el que todos los componentes están predefinidos

Asignación Dos conjuntos de objetos, requisitos

Aplicación de un conjunto en otro

Restricciones, preferencias

La aplicación no tiene que ser 1 a 1

4-11

Tareas Sintéticas (II)Tipo de tarea

Entrada Salida Conocimiento Características

Síntesis Requisitos Estructura del sistema

Elementos, restricciones, preferencias

Hay que generar la descripción del sistema

Planifi-cación

Metas, requisitos

Plan Acciones, restricciones, preferencias

Acciones parcialmente ordenadas

Scheduling Actividades, recursos, tiempos, requisitos

Asignación actividades-tiempos

Restricciones, preferencias

La vertiente temporal lo diferencia de asignación

Modelado Requisitos Modelo Elementos de modelos, plantillas de modelos, restricciones, preferencias

Puede incluir síntesis creativa

4-12

Catalogo de plantillas de Tarea

• Pequeño catalogo de knowledge-intensive taskrelativamente sencillas– Clasificación, diagnosis, evaluación, monitorización,

configuración, asignación, planificación y scheduling

• Descritas por– Caracterización general

• características típicas de la tarea– Método por defecto

• papeles, subtareas, estructura de control, estructura de inferencia– Variaciones del método– Esquema de dominio habitual

4-13

Clasificación. Caracterización general

• Meta: establecer la clase (categoría) de un objeto. Objetos disponibles para su inspección. Clasificación basada en las características del objeto

• Ejemplos típico: clasificación de minerales en una roca, clasificación de una manzana.

• Terminología– objeto (una manzana), clase (Granny Smith), atributo (color),

Característica (color=verde)

• Entrada: un objeto a clasificar• Salida: La(s) clase(s) encontrada(s)• Características

– simple, muchos métodos– otras tareas analíticas se pueden reducir a ella

4-14

Clasificación. Método por defecto: poda

• Método guiado por la solución

• generar todas las clases a las que puede pertenecer el objeto

• especificar un atributo del objeto a clasificar• obtener el valor del atributo (característica)• eliminar las clases que no posean la característica• repetir especificar y obtener

4-15

Clasificación. Estructura de inferencia

object

candidate

attribute

feature

truthvalue

generate

specify

match

obtainclasses

4-16

Clasificación. Método de tarea (control)

generate(object -> candidate-classes) WHILE NEW-SOLUTION specify(candidate -> attribute)

AND SIZE candidate-classes > 1 DOobtain(attribute -> new-feature);current-feature-set := new-feature ADD current-feature-set;FOR-EACH candidate IN candidate-classes DO

match(candidate + current-feature-set -> truth-value);IF truth-value = false;THEN candidate-classes := candidate-classes SUBSTRACT candidate;END IF

END FOR-EACHEND WHILE

4-17

Clasificación. Variantes

• Generación de candidatos limitada– añadir elemento guiado por datos

• Diferentes formas de selección de atributos– árboles de decisión– teoría información– usuario

• Búsqueda jerárquica en estructura de clases– usar la jerarquía para la selección de atributos– usar la jerarquía para guiar la poda (los supertipos son candidatos)

4-18

Clasificación. Esquema de dominio

object type

attribute

value: universal

object class

classconstraint

requires

has-attributeclass-of

2+ 1+attribute

4-19

Ejemplo: clasificación de rocas

volcanicrock

igneousrock

plutonicrock

syenite diorite

peridotite dunite

mineral

rock

texturegrain sizecolour

mineralcontent

percentagepresence

1+

mineral contentconstraint

silicate

nesosilicate

tectosilicate

olivine quartz

mineralsontology

4-20

Evaluación. Caracterización general (I)

• Meta: encontrar categoría de decisión para un caso en base a un conjunto de normas específicas del dominio

• Dominios Típicos: aplicaciones financieras, servicios a la comunidad,

• Ejemplo típico: decidir si una persona obtiene el préstamo que ha solicitado

• Terminología– Caso: el caso a ser evaluado, e.g. datos sobre la entidad de crédito

y el préstamo solicitado – Categoría de decisión: e.g. cualificado-para-préstamo si o no– Normas: conocimiento de dominio utilizado para tomar la

decisión, e.g. Reglas que relacionan ingresos con total solicitado

4-21

Evaluación. Caracterización general (II)

• Entrada: datos sobre el caso (siempre), normas específicas del caso (a veces)

• Salida: categoría de decisión• Características

– Su estructura puede ser similar a monitorización– Diferencias

• Evaluación se realiza en un punto temporal concreto, monitorización a intervalos

• Monitorización obtiene una discrepancia, no una categoría de decisión– Diferencia sutil– Monitorización se podría considerar una sucesión de tareas evaluación

4-22

Evaluación. Método por defecto (I)

• Abstract– Generalmente es necesario abstraer los datos, en función de las

normas– Abstracción se modela como una inferencia que se repite hasta que

no se pueden realizar más abstracciones

• Specify– Hay que encontrar los críterios (norms) que se pueden utilizar para

evaluar el caso– Los criterios (norms) utilizados en cada caso pueden depender del

propio caso

4-23

Evaluación. Método por defecto (II)

• Select– Hay que seleccionar cada norma para su evaluación– El conocimiento de dominio puede indicar el orden de evaluación

• Evaluate– Genera un valor de verdad para la norma– Suele ser un computo sencillo

• Comprobar si ya se puede tomar una decisión• Repetir selección y evaluación de la norma hasta que se

pueda tomar una decisión

4-24

Evaluación. Estructura de Inferencia

abstract

case

abstractedcase specify norms select

normevaluate

normvaluematchdecision

4-25

Evaluación. Tarea y Método de Tarea

TASK evaluación;ROLES:

INPUT: case-description: “El caso a ser evaluado”;OUTPUT: decision: “El resultado de evaluar el caso”;

END TASK evaluación;

TASK-METHOD assessment-with-abstraction;REALIZES: evaluación;DECOMPOSITION:

INFERENCES: abstract, specify, select, evaluate, match;ROLES:

INTERMEDIATE:abstracted-case: “Datos sin tratar más abstracciones”;norms: “Conjunto de criterios de evaluación”norm: “Un criterio de evaluación”evaluation-results: “Lista de normas evaluadas”

CONTROL-STRUCTURE:

4-26

Evaluación. Método de Tarea: control

CONTROL-STRUCTURE:WHILE

NEW-SOLUTION abstract(case-description -> abstracted-case)DO

case-description := abstracted-case;END WHILEspecify(abstracted-case -> norms)REPEAT

select(norms -> norm);evaluate(abstracted-case + norm -> norm-value);evaluation-results := norm-value ADD evaluation-results;

UNTILHAS-SOLUTION match(evaluation-results -> decision);

END REPEATEND TASK-METHOD assessment-with-abstraction;

4-27

Evaluación. Método de Tarea:especificación de control UML

abstract

specifynorms

selectnorm

matchdecision

evaluatenorm

[more abstractions]

[no moreabstractions] [match fails

no decision][match succeeds:decision found]

4-28

Evaluación: Variantes del método

• Quizás no sea necesario abstraer• Los criterios (norms) pueden depender del caso• La selección de normas tb. se puede basar en conocimiento

• Aleatoria, heurística, estadística• Influencia en la eficiencia

4-29

Assessment. Esquema de dominio

case

case datum

value: universal

casedatum

tieneabstracción

reglaabstracción

1+

norm

truth-value: boolean

implica

decisionindica

regladecisión

1+

requisito

1+

4-30

Gestión reclamaciones por desempleo

:claim

collectdata

dataentry

decide about claim

computebenefit

sendnotification prepare

payment

[no right][right]

claim handling finacialdepartment

4-31

Reglas de decisióngestión de reclamaciones

<norm>WW benefitrequirement

<decision>WW benefit

right

<decision rule>benefit decision

rule

DEFINES

insured = falseDEFINESWW-benefit-right.value = no-right

iunemployed = falseDEFINESWW-benefit-right.value = no-right

weeks-worked-requirement = falseDEFINESWW-benefit-right.value = no-right

insured = true ANDunemployed = true ANDweeks-worked--requirement = true ANDyears-worked-requirement = falseDEFINESWW-benefit-right.value = short-benefit

insured = true ANDunemployed = true ANDweeks-worked--requirement = true ANDyears-worked-requirement = trueDEFINESWW-benefit-right.value = long-benefit

4-32

Monitorización. Caracterización general (I)

• Meta: analizar un proceso en marcha para determinar si se comporta como se espera

• Ejemplo típico: proyecto software, planta industrial• Terminología

– Parámetro: entidad cuyo valor actual puede ser relevante para detectar un comportamiento anómalo.

– Norma: valor o rango de valores esperado para un parámetro en el caso de comportamiento normal

– Discrepancia: indica un comportamiento anómalo del sistema que se monitoriza

4-33

Monitorización. Caracterización general (II)

• Entrada: datos históricos, generalmente obtenidos en ciclos de monitorización previos

• Salida: Discrepancia encontrada, si existe (no explicación)• Características

– Monitorización/diagnosis: observa/explora– Monitorización/evaluación naturaleza dinámica/estática

4-34

Monitorización. Método por defecto (I)Monitorización guiada por datos• Comienza cuando se reciben nuevos datos (findings)• Para cada dato, se selecciona un parámetro del sistema y su

norma (valor esperado)• La comparación entre el valor recibido y el esperado

genera una diferencia• La diferencia se clasifica como discrepancia (o no) usando

datos de ciclos previos

4-35

Monitorización. Estructura de Inferencia

4-36

Monitorización: Tarea

task monitoring;roles:input: historical-data:

"data from previous monitoring cycles";output: discrepancy:

"indication of deviant system behavior";end task monitoring;

4-37

Monitorización: Método de Tarea (I)

task-method data-driven-monitoring;realizes:monitoring;decomposition:inferences: select, specify, compare, classify;transfer-functions: receive;

roles:intermediate:finding: "some observed data about the system";parameter: "variable to check for deviant behavior";norm: "expected normal value of the parameter";difference: "an indication of the observed norm deviation";

4-38

Monitorización: Método de Tarea (II)

control-structure:receive( new-finding );select( new-finding -> parameter );specify( parameter -> norm );compare( norm + finding -> difference );classify( difference + historical-data -> discrepancy );historical-data := finding add historical-data ;

end task-method data-driven-monitoring;

4-39

Monitorización: Variantes del método

• Monitorización guiada por modelo• El agente basado en conocimiento tiene la iniciativa• Típicamente, tarea periódica

• La clasificación puede ser una tarea compleja• Añadir etapa de abstracción de datos