Upload
votu
View
214
Download
0
Embed Size (px)
Citation preview
5. Construcción delModelo de Conocimiento
5.1 Introducción: proceso de modelado de conocimiento5.2 Identificación del conocimiento5.3 Especificación del conocimiento5.4 Refinamiento del conocimiento
Carlos Alonso GonzálezDpto. de InformáticaUniversidad de Valladolid
La metodología CommonKADS
5-2
5.1 Introducción
• Hasta ahora: modelo de conocimiento como producto del análisis
• Elaboración del modelo de conocimiento: cuello de botella• Solución: proceso de modelado
– recomendaciones – elementos: etapas, actividades, pautas , técnicas
• El proceso de modelado es una actividad sintética– la solución correcta no es única ni existe una vía óptima
• Apoyado en pautas o directrices que suelen funcionar en la práctica
• El modelado de conocimiento es una forma especializada de especificación de requisitos
5-3
Etapas proceso de modelado
knowledgeidentification
knowledgespecification
- choose task template (provides initial task decomposition)- construct initial domain conceptualization (main domain information types)- complete know ledge-model specification (know ledge model w ith partial know ledge bases)
- domain familiarization (information sources, glossary, scenarios)- list potential model components for reuse (task- and domain-related components)
- validate know ledge model (paper simulation, prototype of reasoning system)- know ledge-base refinement (complete the know ledge bases)
knowledgerefinement
TYPICAL ACTIVITIESSTAGES
5-4
Etapa 1: Identificación del conocimiento
• Objetivo– Examinar en mas detalle items de conocimiento– prepararlos para etapa de especificación
• Entradas– tarea basada en conocimiento seleccionada– principales items de conocimiento identificados– tarea de aplicación clasificada
• Actividades– explorar y estructurar las fuentes de información (1.1)– estudiar la naturaleza de la tarea en más detalle para identificar
posibles elementos reutilizables (1.2)
5-5
Actividad 1.1: Familiarización con el dominio• Factores
– naturaleza de las fuentes• ¿comprendido?, ¿fundamento teórico?
– diversidad de las fuentes• pueden entrar en conflicto• varios expertos genera problemas
• Técnicas– esquemas de fuentes básicas– entrevistas no estructuradas/estructuradas
• Dificultad– aprender sobre el problema sin convertirse en experto
5-6
Pautas
• Considerar personal no experto pero que interacciona con los expertos
• Evitar profundizar en teorías complicadas, salvo casos de probada utilidad
• Construir algunos escenarios típicos que se comprendan a alto nivel
• No dedicar demasiado tiempo (2 personas/semana)
5-7
Exploración dominio “Vivienda”
• Lectura detallada revista bi-mensual– objetivos transparencia procedimiento facilita proceso: criterios
evaluación y descripción del proceso
• Informe original ayuntamiento especificando procedimiento de asignación– gestión casos urgencia
• Entrevistas/conversaciones breves– personal entidad– dos solicitantes (clientes)
5-8
Resultados exploración
• Tangibles– referencias fuentes de conocimiento del dominio, con breve
caracterización– resúmenes de textos claves– glosario de términos– descripción de escenarios desarrollados
• No tangibles– comprensión del dominio
• resultado más importante
5-9
Actividad 1.2:Lista de componentes potenciales• Objetivo: preparar el camino para la reutilización de
componentes ya utilizados• Principales oportunidades de reutilización
– Perspectiva de Tarea• revisar tipo de tarea asignado en Modelo de Tarea• lista de posibles plantillas de tarea
– Perspectiva de Dominio• tipo de dominio: ¿técnico?• descripciones estándar
– ontologías, Art and Architecture Thesaurus, Medical Subject Headings
5-10
Componentes disponibles aplicación “Vivienda”• Tarea: plantilla de evaluación
– Schreiber et al., 99– Breuker, Van de Velde, 94, biblioteca
• Dominio– modelo datos base datos solicitudes– modelo datos base datos residencias– Schreiber et al., 99
5-11
Etapa 2: Especificación del conocimiento
• Objetivo:– especificación completa del modelo de conocimiento, salvo
contenido bases de conocimiento
• Actividades– Elegir una plantilla de tarea (2.1)– Elaborar esquema de dominio inicial (2.2)– Especificar las tres categorías de conocimiento (2.3)
5-12
Actividad 2.1: Elegir plantilla de tarea
• Criterio básico: fuerte preferencia por plantillas existentes– eficiencia, calidad
• Criterio de selección: características de la tarea de aplicación– naturaleza de la salida: componente que falla, decisión– naturaleza entradas: datos disponibles– naturaleza de la tarea– naturaleza del sistema– restricciones impuestas por el entorno de la tarea
• coste observaciones, certeza solución, ...
5-13
Pautas
• Preferir plantillas más utilizadas• Elaborar estructura de inferencia anotada • Si ninguna plantilla se ajusta, cuestionar
– ¿Tarea basada en conocimiento?– ¿Viabilidad?
• Una “mala” plantilla es mejor que ninguna
5-14
Estructura de inferencia anotada, aplicación “Vivienda”
abstract
case
abstractedcase specify norms select
normevaluate
normvaluematchdecision
Datos iniciales sobre residencia y solicitante:edad, ingresos, alquiler
Se añaden al caso abstracciones,como el rango de edad
Criterios como:adecuación de la renta a los ingresos,tamaño de vivienda adecuada
Seleccionar un único criterio, comoadecuación de la renta a los ingresos
Adecuación de la renta a los ingresos =cierto (o falso)
Al solicitante cumple, o no, los requisitospara la adjudicación de la vivienda
5-15
Actividad 2.2:Elaborar esquema de dominio inicial• Objetivo: elaborar modelo de datos inicial, independiente
de la tarea o método• Partes esquema de dominio:
– conceptualizaciones específicas del dominio• batería, tanque de combustible• más estables
– conceptualizaciones específicas del método de solución• reglas manifestación, dependencia estado
• Salida: al menos, primera versión conceptualizaciónespecífica del dominio
5-16
Pautas
• Reutilizar modelos de datos existentes– misma terminología y constructores básicos
• Limitar uso de constructores básicos CML a concepts, subtypes y relations.– centrarse en “datos”– contrapartida distintas técnicas/metodologías
5-17
Esquema inicial “Vivienda”Residencias y Solicitantes
residence
number: naturalcategroy: {starter-residence, followup-residence}build-type: {house, apartment}street-address: stringcity: stringnum-rooms: naturalrent: numbermin-num-inhabitants: naturalmax-num-inhabitants: naturalsubsidy-type: subsidy-type-valuesurface-in-square-meters: naturalfloor: naturallift-available: boolean
applicant
registration-number: stringapplicant-type: {starter, existing-resident}name: stringstreet-address: stringcity: stringbirth-date: dateage: naturalage-category: age-category-valuegross-yearly-income: naturalhousehold-size: naturalhousehold-type: household-type-value
residenceapplication
application-date: string
5-18
Esquema inicial “Vivienda”Criterios
residencecriterion
t ruth-value: boolean
correcthouse category
correcthousehold size
rent fitsincome
residence-specificconstraints
5-19
Actividad 2.3: Especificación completa modelo conocimiento• Ruta-1: “middle-out”
– comenzar con el conocimiento de inferencia– método preferido– precondición: la plantilla de tarea proporciona un grado de
abstracción adecuado para la estructura de inferencia
• Ruta-2: “middle-in”– comenzar en paralelo con la descomposición de la tarea y el
modelado del dominio– requiere mayor esfuerzo– necesario si la plantilla propone nivel de detalle insuficiente
5-20
Middle-in / Middle-out
DOMAI N SCHEMA concepts relations rule types
Expressions in knowledge bases
KNOWLEDGEBASEDEFI NI TI ONS
role mapping
defines control over
middle in middle ou
tasksand
methods
inferencestructure
5-21
Pautas
• La estructura de inferencia esta suficientemente detallada si permite generar explicaciones suficientemente detalladas
• La estructura de inferencia esta suficientemente detallada si para cada inferencia es fácil encontrar un único tipo de conocimiento de dominio que puede actuar como papel estático para la inferencia
5-22
Proceso aplicación “Vivienda”
• Plantilla evaluación proporciona buena descripción estructura de inferencia– solo precisa una adaptación
• El esquema de dominio parece reutilizable– también se puede anotar
• Conclusión: middle-out
5-23
Estructura inferenciacase
abstractedcase norms
normvaluedecision
abstract
select
match
specify
evaluate normcase-specificnorms
raw data about a residenceand an applicant
e.g. age, income, rent
abstractions such as age category are added
to the case
criteria such as "rent fits income,"
"correct household size"
a single criterione.g. rent fits income
e.g rent-fits income = true (or false)
rules that only apply to oneparticular residence
applicant is eithereligible or not eligible
for the residence
5-24
Esquema de dominio plantilla evaluacióncase
case datum
value: universal
casedatum
tieneabstracción
reglaabstraccion
1+
norm
truth-value: boolean
implica
decisionindica
regladecision
1+
requisito
1+
Instancia de relaciónresidence application
atributo de residenceo applicant
alguno de los4 criterios
5-25
Pautas para especificar conocimiento de tarea• Comenzar con la estructura de control
– núcleo del método
• No preocuparse en exceso por los detalles de control• Elegir nombres de papeles significativos• Para aplicaciones en tiempo real, considerar alternativas al
pseudocódigo
5-26
Descomposición de tarea “Vivienda”
assess case
abstract case match case
assess troughabstract & match
abstract method
matchmethod
abstract specify select evaluate match
task
task method
inference
task
task method
5-27
Especificación de Tarea “Vivienda”TASK asses-case;
DOMAIN-NAME: asses-residence-applicationGOAL: “
asses whether an application for a residenceby a certain applicant satisfies the criteria”
ROLES:INPUT: case-descrition:
"data about the applicant and the residence";case-specific-requirements:“residence-specific criteria”
OUTPUT: decision:“elegible or not-elegible for a residence";
END TASK asses-case;
5-28
Método de tarea “Vivienda”
TASK-METHOD asses-through-abstract-and-match;REALIZES: asses-case;DECOMPOSITION:
TASK: abstract-case, match-case;ROLES:INTERMEDIATE: abstracted-case:
“Original case plus abstractions";CONTROL-STRUCTURE
abstract-case(case-description -> abstracted-case);match-case(abstracted-case + case-specific-requirements
-> decision);END TASK-METHOD asses-through-abstract-and-match;
5-29
Estructura inferencia “Vivienda”case
abstractedcase norms
normvaluedecision
abstract
select
match
specify
evaluate normcase-specificnorms
raw data about a residenceand an applicant
e.g. age, income, rent
abstractions such as age category are added
to the case
criteria such as "rent fits income,"
"correct household size"
a single criterione.g. rent fits income
e.g rent-fits income = true (or false)
rules that only apply to oneparticular residence
applicant is eithereligible or not eligible
for the residence
5-30
Esquema dominio anotado “Vivienda”
case
case datum
value: universal
casedatum
tieneabstracción
reglaabstraccion
1+
norm
truth-value: boolean
implica
decisionindica
regladecision
1+
requisito
1+
relaciónresidence application
atributo de residenceo applicant
alguno de los4 criterios
5-31
Esquema dominio completo “Vivienda”
residenceapplication
residencecriterion
residencedecision
residenceabstraction
residencedecision
rule
residencerequirement indicates
hasabstraction
implies
1+
1+
1+
5-32
Reglas de abstracción “Vivienda”
residence-application.applicant.household-size > 1HAS-ABASTRACTIONresidence-application.applicant.household-type = multiple-person;
RULE-TYPE residence-abstraction;ANTECEDENT: residence-application;
CARDNALITY: +1;CONSEQUENT: residence-application;
CARDINALITY: 1;CONNECTION-SYMBOL:
has-abstraction;END RULE-TYPE residence-abstraction;
residenceapplication
residenceapplication
1+ 1has-abstraction
residenceabstraction
5-33
Reglas requisitos“Vivienda”
residence-application.applicant.household-type = single-person ANDresidence-application.applicant.age-category = up-to-22 ANDresidence-application.applicant.income < 28000 ANDresidence-application.residence.rent < 545 AND
INDICATESrent-fits-income.truth-value = true;
residenceapplication
residencecriterion
1+ 1indicates
residencerequirement
5-34
Reglas decisión “Vivienda”
residencecriterion
residencedecision
1+ 1implies
residencedecision rule
correct-residence-category.truth-value = true ANDcorrect-household-size.truth-value = true AND rent-fits-income.truth-value = true ANDresidence-specific-constraints.truth-value = true
IMPLIESresidence-decision.value = elegible;
5-35
Pautas para especificar conocimiento de inferencia• Comenzar con representaciones gráficas• Elegir nombres de papeles independientes del dominio y
significativos• No preocuparse en exceso por la dinámica de los papeles• Si es posible, utilizar nombres de inferencias estándar
5-36
Conocimiento Inferencia (I) “Vivienda”
INFERENCE abstract;ROLES:
INPUT: case-description;OUTPUT: abstracted-case;STATIC: abstraction-knowledge;
SPECIFICATION: “Input is a set of case data. Output is the same set of data
extendedwith an abstracted feature that can be derived from the data
usingthe corpus of abstraction knowledge.”;
END INFERENCE abstract;
5-37
Conocimiento Inferencia (II) “Vivienda”
KNOWLEDGE-ROLE abstraction-knowledge;TYPE: STATIC;DOMAIN-MAPPING:
residence-abstractions FROM system-description;END KNOWLEDGE-ROLE abstraction-knowledge;
KNOWLEDGE-ROLE abstracted-case;TYPE: DYNAMIC;DOMAIN-MAPPING:
residence-application;END KNOWLEDGE-ROLE abstracted-case;
KNOWLEDGE-ROLE case-description;TYPE: DYNAMIC;DOMAIN-MAPPING: residence-application;
END KNOWLEDGE-ROLE case-description;
5-38
Conocimiento Inferencia (III) “Vivienda”
INFERENCE evaluate;
ROLES:
INPUT: norm, abstracted-case, case-specific-requirements;
OUTPUT: norm-value;
STATIC: requirements;SPECIFICATION: “
Establish the truth of the input norm for thr given case description.
The underlying domain knowledge consists of the requirements in the
knowledge base and of additional case-specific requirements (which
are part of the task input).”
END INFERENCE abstract;
5-39
Conocimiento Inferencia (IV) “Vivienda”
KNOWLEDGE-ROLE norm;TYPE: DYNAMIC;DOMAIN-MAPPING:
residence-criterion;END KNOWLEDGE-ROLE norm;
KNOWLEDGE-ROLE norm-value;TYPE: DYNAMIC;DOMAIN-MAPPING:
residence-criterion;END KNOWLEDGE-ROLE norm;
5-40
Conocimiento Inferencia (V) “Vivienda”
KNOWLEDGE-ROLE case-specific-requirements;TYPE: DYNAMIC;DOMAIN-MAPPING:
SET OF residence-requirement;END KNOWLEDGE-ROLE case-specific-requirements;
KNOWLEDGE-ROLE requirements;TYPE: STATIC;DOMAIN-MAPPING:
residence-requirement FROM measurement-system;END KNOWLEDGE-ROLE requirements;
5-41
Etapa 3: Refinamiento del Conocimiento
• Validar el modelo de conocimiento• Completar las bases de conocimiento
5-42
Actividad 3.1:Validar el modelo de conocimiento• Interna y externa• Verificación: validación interna
– ¿Es correcto el modelo?
• Validación: validación externa– ¿Es el modelo correcto?
5-43
Técnicas validación
• Internas– herramientas software– structured walk-through
• Externas– mas compleja– técnica principal: simulación
• traza manual• prototipo
5-44
Traza
the user says:“the car doesnot start”
DIAGNOSIS:Complaint: engine-behavior.status =does-not-start
Complaint is received,for which adiagnostic task isstarted
a possiblecause is thatthe fuel tank isempty
COVER:hypothesis; fuel-tank.status =empty
One of the threepossible causes isproduced.
in that case wewould expectthe gasindicator to below
PREDICT:expected-finding:gas-dial.value = zer
The expected findingprovides us with away of gettingsupportingevidence forhypothesis
DOMINIO MODELO EXPLICACION
5-46
Actividad 3.2:Completar Bases de Conocimiento• El esquema de dominio contiene tipos de dos naturalezas
– “tipos de información”: sus instancias describen casos concretos– “tipos de conocimiento”: sus instancias son porciones del
conocimiento del dominio
• El objetivo es encontrar (todas) las instancias de los tipos de conocimiento
• Instancias de casos: para los escenarios
5-47
Pautas para completar bases de conocimiento• La ocurrencia de instancias valida el esquema• Habitualmente no es posible definir una base de
conocimiento correcta en la etapa de análisis– generalmente requiere pruebas de campo
• Las bases de conocimiento requieren mantenimiento– el conocimiento suele cambiar
• Técnicas:– editores orientados al experto, transcripciones de entrevistas no
estructuradas, entrevistas estructuradas, reutilización de otras bases de conocimiento, aprendizaje automático
5-48
Fragmento base conocimiento “Vivienda”KNOWLEDGE-BASE system-description;
USES:applicant-abstraction FROM assessment-schema;
EXPRESSIONS:residence-application.applicant.household-size < 1
HAS-ABSTRACTIONresidence-application.applicant.household-type = single-person;
residence-application.applicant.household-size > 1HAS-ABSTRACTION
residence-application.applicant.household-type = multiple-person;
END KNOWLEDGE-BASE system-description;
5-49
Fragmento base conocimiento “Vivienda”KNOWLEDGE-BASE measurement-system;
USES:residence-requirements FROM assessment-schema;residence-decision-rule FROM assessment-schema;
EXPRESSIONS:
/* ejemplo para la norma “renta se ajusta a ingresos” */residence-application.applicant.gross-yearly-income >= 70.000 ANDresidence-application.residence.rent > 1007
INDICATESrent-fits-income.truth-value = true;
/* ejemplo regla de decisión */rent-fits-income.truth-value = flase;
IMPLIESdecision.value = not-eligible;
END KNOWLEDGE-BASE measurement-system;
5-50
Documentación del modelo de conocimiento: formulario MC-1• Al menos
– diagrama esquema dominio completo– estructura de inferencia– lista de papeles, estáticos y dinámicos, y asociación al dominio– especificación textual de tarea y método de tarea (quizás gráfica)
• Deseable– modelo de conocimiento completo– fuentes de información– glosario– componentes considerados para reutilización y motivos– escenarios– resultados validación– material para elicitación en apendices