3. Componentes del Modelo de Conocimiento



Documentos relacionados
CommonKADS: Nivel de concepto

Ingeniería de Conocimiento 5º curso Ingeniería Informática

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

M III ABSTRACCIÓN Y CLASIFICACIÓN

Diagrama de Clases. Diagrama de Clases

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

CATÁLOGO DE INFERENCIAS

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Capitulo III. Diseño del Sistema.

Ingeniería del Software I

GESTIÓN DE REDES PARTE III

2.4 Modelado conceptual

El Proceso Unificado de Desarrollo de Software

Universidad de Cantabria

Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases

Curso de Python Inicial

2.2.- Paradigmas de la POO

Eclipse Process Framework Composer EPFC, es un editor de procesos gratuito que sirve para editar fragmentos de método, procesos o metodologías y

Relaciones entre clases: Diagramas de clases UML

DIAGRAMA DE CLASES EN UML

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

TEMA 8: DIAGRAMA DE CLASE EN UML

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

Aplicación del estándar ISO a un modelo relacional de capa, tablas y campos

BASES DE DATOS. Ivon Tarazona Oriana Gomez

Tema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

El Modelo Conceptual

Tipos Abstractos de Datos

Programación orientada a

Bases de Datos Especializadas

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Introducción. Francisco J. Martín Mateos. Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Práctica 2 Gráficos Vectoriales con SVG (versión )


Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

5. Construcción del Modelo de Conocimiento

Patrones de software y refactorización de código

CARRERA TITULO DEL TRABAJO CURSO

Programación Orientada a Objetos con Java

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

Diagramas de Clase en UML 1.1

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

Curso de Java POO: Programación orientada a objetos

Capítulo 1 Documentos HTML5

MODELADO DEL DOMINIO (MODELO CONCEPTUAL)

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

3. DIAGRAMAS DE CLASES INTRODUCCIÓN DIAGRAMAS DE CLASES Perspectivas Clases

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Modelos de Software. Ingeniería en Sistemas de Información 2015

Qué es una ontología?

Tema 2: Modelo Entidad-Relación(ER)

"Módulo OOWS para StarUML" INTRODUCCIÓN

ISO Lenguaje de Esquema Conceptual

Ingeniería del Software. Modelo de Dominio

KW x hora. on/off

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

Tema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica

UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE INFORMATICA BASE DE DATOS

Procesadores de lenguaje Tema 5 Comprobación de tipos

BPMN básico. Clase Modelos de Procesos. Javier Bermudez

Generación de código para Hibernate desde modelos UML

- Bases de Datos - - Diseño Físico - Luis D. García

Proceso de desarrollo del software modelo en cascada

Diseño orientado a los objetos

JavaScript como Orientación a Objetos

Ejercicios Diagramas de casos de uso

BPMN Business Process Modeling Notation

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Ontologías. Santi García Jiménez

GESTIÓN DE REDES PARTE II

UML, ejemplo sencillo sobre Modelado de un Proyecto

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Diccionario de Datos (DD)

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Tema 5. Diseño detallado.

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Elementos del modelo de análisis. Modelado del análisis

Ingeniería de Software en SOA

Interacción Persona - Ordenador

Repaso de Conceptos Básicos de Bases de Datos

Introducción a Protégé

Casos de uso UML. Miguel Vega Granada, octubre de 2010 LSI - UGR

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

Tema 1 Introducción a los Sistemas Basados en el Conocimiento

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

Programación Orientada a Objetos en Java

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

BASES DE DATOS TEMA 2. MODELOS DE DATOS

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, Introducción al Diseño de Software

Ingeniería de Software

Transcripción:

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.1 Introducción Naturaleza del Conocimiento Desafíos del Modelado de Conocimiento El Modelo de Conocimiento Contexto Categorías 2

Naturaleza del conocimiento Información sobre la información Ejemplo: jerarquía de clases Frontera difusa entre información y conocimiento Simplificación: El conocimiento es simplemente información compleja que nos dice algo sobre otra información 3

Conocimiento: Naturaleza/Desafíos person age income has loan loan amount interest INFORMATION John has a loan of $1,750 Harry has a loan of $2,500 KNOWLEDGE A person with a loan should be at least 18 years old A person with an income up to $10,000 can get a maximum loan of $2,000 A person with an income between $10,000 and $20,000 can get a maximum loan of $3,000 4

Desafíos del modelado de conocimiento Encontrar patrones o esquemas que permitan estructurar el conocimiento 5

Patrones Un esquema de conocimiento A person with a loan should be at least 18 years old Otros esquemas A person with an income up to $10,000 can get a maximum loan of $2,000 A person with an income between $10,000 and $20,000 can get a maximum loan of $3,000 6

Estructurar la Base de Conocimiento Rule 1: IF... THEN... Rule 2: IF... THEN... Rule 3: IF... THEN... Rule 4: IF... THEN... Rule 5: IF... THEN... Rule 6: IF... THEN... Rule 7: IF... THEN... Rule 8: IF... THEN... Rule 9: IF... THEN... Rule 10: IF... THEN... Rule 11: IF... THEN... Rule 12: IF... THEN... <plus many others> rules of type A rules of type C rules of type B rules of type D single flat knowledge base multiple rule sets containing rules with similar structure 7

Modelo de Conocimiento Herramienta de análisis de tareas que hacen un uso intensivo del conocimiento Especifica el conocimiento y su uso para realizar una tarea Se desarrolla como parte del análisis Orientada aplicaciones reales vocabulario de la aplicación, dominio(coche, casa...), razonamiento (diagnosis, evaluación...) Abstrae aspectos de comunicación Independiente de la implementación Reutilización 8

Modelo de Conocimiento: Contexto Modelo de Organización Modelo de Tarea Modelo de Agente Tarea que usa conocimiento Seleccionada en Estudio Viabilidad Más detallada en modelos de Tarea y Agente Modelo de Conocimiento Modelo de Comunicación Especificación Requisitos Funcionales Razonamiento Modelo de Diseño Especificación Requisitos Funcionales Interacción 9

Modelo de Conocimiento: Categorías Conocimiento de Dominio (Domain Knowledge) Conocimiento y Definiciones de tipos específico del dominio Definiciones de enfermedades, síntomas, pruebas y relaciones entre ellos Su descripción es comparable a un modelo de datos o de objetos Estático Conocimiento de Inferencia (Inference Knowledge) Pasos de inferencia básicos Plantear hipótesis, verificar Equivalente Ingeniería Software: nivel mínimo de descomposición funcional Conocimiento de Tarea (Task Knowledge) Metas y como obtenerlas mediante descomposición en subtareas e inferencias Descripción comportamiento dinámico: control Equivalente Ingeniería Software: máximo nivel de descomposición funcional + control 10

Modelo de Conocimiento: Categorías Conocimiento de Tarea metas de la tarea descomposición de la tarea control de la tarea DIAGNOSIS (tarea) Conocimiento de Inferencia inferencias básicas papeles Plantear Hipótesis (Inferencia) Verificar (Inferencia) Conocimiento de Dominio Tipos del dominio Síntoma Enfermedad Prueba Reglas del dominio Hechos del dominio (tipo) (tipo) (tipo) 11

Ejemplo: diagnosis de automóviles fusible fundido batería baja depósito combustible vacío 1 inspección fusible roto 2 3 4 5 indicador batería cero indicador combustible cero 6 potencia desconectada comportamiento motor no arranca 7 8 combustible en motor falso comportamiento motor se para 9 Fragmento de conocimiento de dominio 12

3.2 Conocimiento de Dominio Describe la información estática y los elementos del dominio de la aplicación Consta de uno o más esquemas de dominio patrones una o más bases de conocimiento instancias 13

3.2 Conocimiento de Dominio Esquema de Dominio (Domain Schema) Descripción esquemática del conocimiento e información dependiente del dominio mediante definiciones de tipo Información estática /estructura del conocimiento Perspectiva IS: similar a modelo de datos u objetos Base de conocimiento (Knowledge Base) Instancias de los tipos especificados en el esquema de dominio Principal diferencia con otros sistemas de información (e.g. Base de datos): las particularizaciones que contiene la Base de Conocimiento son de interés en el análisis (e. g. las tuplas de una Base de Datos no) 14

Especificación Esquema de Dominio Conjunto de constructores que permiten especificar un esquema de dominio Notación Textual: Conceptual Modelling Language Gráfica: diagramas de clase UML Constructores básicos: CONCEPT, RELATION, RULE TYPE 15

Conceptos CONCEPT describe un conjunto de objetos o instancias que comparten características similares semejante a las clases UML, pero sin funciones (marcos) ATTRIBUTE describen las características de los conceptos Pueden tener un valor, por defecto único Necesariamente tipo Valores atómicos, descritos mediante VALUE TYPE (además tipos estándar, UNIVERSAL, enumerado) Los atributos no puede referenciar otros conceptos Usar RELATION 16

Conceptos: Especificación gráfica y textual indicador combustible valor: valor-indicador CONCEPT indicador-combustible; ATTRIBUTES: valor: valor-indicador; END CONCEPT indicador-combustible; depósito combustible estado: { lleno, casi-vacío, vacío} CONCEPT depósito combustible; ATTRIBUTES: estado: {lleno, casi-vacío, vacío}; END CONCEPT depósito combustible; VALUE-TYPE valor-indicador; VALUE-LIST: {cero, bajo, normal}; TYPE: ORDINAL; END VALUE-TYPE valor-indicador; 17

Jerarquías SUPER-TYPE-OF/SUB-TYPE-OF permiten modelar relaciones de generalización/especialización organizar los conceptos/relaciones en jerarquías de herencia UML generalization Semántica subtype? Tres tipos de especializaciones básicas Nuevas características: añadir nuevos atributos Restricción de tipo Restricción cardinalidad Excepciones?, Contradicciones? 18

observable coche valor: universal indicador combustible valor: valor-indicador indicador batería valor: valor-indicador inspección fusible valor: {normal, roto} Relaciones subtipo en el dominio de la diagnosis de automóviles (I) 19

estado coche status: universal observable: boolean estado coche no visible observable: {false} fusible status: {normal, fundido} batería potencia status: {normal, status: {on, baja} off} estado coche visible observable: {true} comportamiento motor status: {normal, no-arranca, se-para} depósito combustible status: {lleno, casi-vacío, vacío} combustible en motor status: boolean Relaciones subtipo en el dominio de la diagnosis de automóviles (II) 20

Subtipos Vivienda residence CONCEPT house; DESCRIPTION: "a residence with its own territory"; SUB-TYPE-OF: residence; ATTRIBUTES: square-meters: NATURAL; END CONCEPT house; house square-meters: natural apartment entrance-floor: natural lift-available: boolean CONCEPT apartment; DESCRIPTION: "part of of a larger estate"; SUB-TYPE-OF: residence; ATTRIBUTES: entrance-floor: NATURAL lift-available: BOOLEAN; END CONCEPT apartment; 21

Relaciones RELATION o BINARY-RELATION permite definir relaciones entre conceptos UML association similar a atributos cuyo valor es otro concepto Se definen mediante ARGUMENTs tipo, cardinalidad, papel Pueden tener Atributos (Association class) Pueden tener dirección (si binarias) 22

Relaciones: espec. gráfica y textual a) b) coche coche 0+ pertenencia 0-1 0+ posee 0-1 persona persona BINARY-RELATION poseido-por; INVERSA: posee; ARGUMENT-1: coche; CARDINALITY: 0-1; c) coche 0+ 0-1 persona ARGUMENT-2: persona; CARDINALITY: ANY; ATTRIBUTES: poseido-por fecha compra: date fecha compra: DATE; END BINARY-RELATION poseido-por; 23

Modelado de reglas Las reglas permiten representar con facilidad el conocimiento de naturaleza heurística: Relaciones ente elementos del dominio (síntomas y enfermedades, por ejemplo) No necesariamente formales En al análisis se buscan reglas con una estructura común Estructura definida por rule type 24

Tipo Regla Permite modelar relaciones entre expresiones sobre valores de atributos de conceptos esencial en CommonKADS depósito-combustible.status = vacío => combustible-en-motor.status = false batería.status = baja => indicador-batería.valor = cero Se trata de encontrar conjuntos de reglas del dominio de aplicación que tengan estructura similar Reglas naturales: relación existente entre expresiones No necesariamente implicaciones lógicas Especificar símbolo de conexión 25

Ejemplo tipo regla person name: string income: integer 1+ restricts loan amount: integer interest-rate: number loan constraint person.income <= 10,000 RESTRICTS loan.amount <= 2,000 person.income > 10,000 AND person.income <= 20,000 RESTRICTS loan.amount <= 3,000 A person with an income up to $10,000 can get a maximum loan of $2,000 A person with an income between $10,000 and $20,000 can get a maximum loan of $3,000 26

Estructura tipo regla <antecedente> <símbolo-conexión> <consecuente> Ejemplo de regla depósito-combustible.status = vacío CAUSA combustible-en-motor.status = false 27

Relaciones entre expresiones fusible fundido batería baja depósito combustible vacío 1 inspección fusible roto 2 3 4 5 indicador batería cero indicador combustible cero 6 potencia desconectada 7 8 combustible en motor falso 9 comportamiento motor no arranca comportamiento motor se para Fragmentos de conocimiento en el dominio de la diagnosis de automóviles 28

Ejemplo reglas dependencia estado depósito-combustible.status = vacío => combustible-en-motor.status = false RULE-TYPE dependencia-estado; ANTECEDENT: estado coche no visible; CARDINALITY: 1; CONSEQUENT: estado coche; estado coche no visible 1 1 causa estado coche CARDINALITY: 1; CONECTION-SYMBOL: dependencia estado causa END RULE-TYPE dependencia-estado; Modela relaciones 2, 3, 6, 7, 8, 9 29

Ejemplo reglas dependencia estado combustible-en-motor.status = false => depósito-combustible.status = vacío RULE-TYPE dependencia-estado; ANTECEDENT: estado coche; CARDINALITY: 1; CONSEQUENT: estado coche no visible; estado coche 1 1 Causado-por estado coche no visible CARDINALITY: 1; CONECTION-SYMBOL: dependencia estado causado-por END RULE-TYPE dependencia-estado; Modela relaciones 2, 3, 6, 7, 8, 9 30

Ejemplo reglas manifestación batería.status = baja => indicador-batería.valor = cero RULE-TYPE regla-manifestación; DESCRIPTION: Regla que establece la relación entre un estado interno y su comportamiento externo en términos de estado coche no visible 1 se 1 manifiesta observable coche un valor observable ; ANTECEDENT: estado coche no visible; CONSEQUENT: observable coche; regla manifestación CONECTION-SYMBOL: se-manifiesta; END RULE-TYPE regla-manifestación; Modela relaciones 1, 4, 5 31

Base de conocimiento Instancias de los tipos (de conocimiento) especificados en el esquema de dominio Consta de Slot USES, que indica los tipos utilizados y esquemas de dominio que los declaran <type> FROM <domain schema> Slot EXPRESSIONS, que contiene las instancias de reglas 32

Base de Conocimiento red-causal-automóvil KNOWLEDGE-BASE red-causal-automóvil; USES: dependencia-estado FROM esquema-diagnosis-automóvil; regla-manifestación FROM esquema-diagnosis-automóvil; EXPRESSIONS: /* dependencias de estado */ fusible.status = fundido CAUSA potencia.status = off; batería.status = baja CAUSA potencia.status = off; potencia.status = off CAUSA comportamiento-motor.status = no-arranca; depósito.combustible.status = vacío CAUSA combustible-en-motor.status = false; combustible-en-motor.status = false CAUSA comportamiento-motor.status = no-arranca; combustible-en-motor.status = false CAUSA comportamiento-motor.status = se-para; /* reglas de manifestación */ fusible.status = fundido SE-MANIFIESTA inspección-fusible.valor = roto; batería.status = baja SE-MANIFIESTA indicador-batería.valor = cero; depósito-combustible.status = vacío SE-MANIFIESTA indicador-combustible.valor = cero; END KNOWLEDGE-BASE red-causal-automóvil; 33

Base de Conocimiento red-causal-automóvil KNOWLEDGE-BASE red-causal-automóvil; USES: dependencia-estado FROM esquema-diagnosis-automóvil; regla-manifestación FROM esquema-diagnosis-automóvil; EXPRESSIONS: /* dependencias de estado */ potencia.status = off CAUSADO-POR fusible.status = fundido; potencia.status = off CAUSADO-POR batería.status = baja; comportamiento-motor.status = no-arranca CAUSADO-POR potencia.status = off; combustible-en-motor.status = false CAUSADO-POR depósito.combustible.status = vacío; comportamiento-motor.status = no-arranca CAUSADO-POR combustible-en-motor.status = false; comportamiento-motor.status = se-para CAUSADO-POR combustible-en-motor.status = false; /* reglas de manifestación */ fusible.status = fundido SE-MANIFIESTA inspección-fusible.valor = roto; batería.status = baja SE-MANIFIESTA indicador-batería.valor = cero; depósito-combustible.status = vacío SE-MANIFIESTA indicador-combustible.valor = cero; END KNOWLEDGE-BASE red-causal-automóvil; 34

Sintaxis CML Conocimiento de dominio (1) domain-knowledge ::= domain-knowledge Domain-knowledge; <domain-schema knowledge-base>* end domain-knowledge domain-schema ::= domain-schema Domain-schema; <domain-construct ;>* end domain-knowledge [Domain-knowledge] domain-construct ::= binary-relation concept mathematical-model relation rule-type value-type 35

Sintaxis CML Conocimiento de dominio (2) knowledge-base ::= knowledge-base knowledge-base; use: knowledge-base-use [[instances:] <instance tuple>+] [variables: variable-declaration;... ;] [expresions :knowledge-based-expresion... ;] [annotations: Text ;] [attributes] end knowledge-base [ knowledge-base ] knowledge-base-use::= Domain-schema Rule-Type from Domain-schema knowledge-base-expresion::= variable-declaration rule-type-instance text 36