Modelo de Conocimiento en CommonKADS: Una Guía Completa
Modelo de Conocimiento en CommonKADS
Introducción: El modelo de conocimiento, introducido por Newel, distingue entre el análisis y modelado del conocimiento y su representación computacional. Esta separación permite determinar qué hace un sistema y diferenciarlo de cómo lo hace. El modelado de conocimiento es un proceso cíclico, continuo y sujeto a la visión del ingeniero.
Conocimiento en CommonKADS
El modelo de conocimiento en CommonKADS (MC) es una herramienta que ayuda a clarificar la estructura de tareas intensivas en conocimiento. Utiliza la notación gráfica UML y el lenguaje semiformal CML.
Categorías de Conocimiento en CommonKADS
CommonKADS define tres categorías de conocimiento:
- Conocimiento del Dominio: Designa un campo de estudio, permitiendo distintos grados de especialización.
- Conocimiento sobre Inferencias: Especifica los procesos básicos de razonamiento sobre el conocimiento del dominio.
- Conocimiento sobre Tareas: Terminología, modelos computacionales y hechos asociados a la ejecución de una tarea, sin centrarse en el dominio.
Conocimiento del Dominio
Se refiere al conocimiento relevante del dominio, incluyendo tipos y objetivos de conocimiento que se corresponden con la terminología general y los hechos de un dominio. Se divide en:
Esquema del Dominio
Descripción esquemática de la información y el conocimiento estático. Se compone de tres constructores:
- Conceptos: Definen colecciones de objetos con características similares, similar a las clases de objetos, pero sin información funcional (métodos u operaciones).
- Restricciones (AXIOMS): Permiten la especialización, donde los subtipos heredan atributos del supertipo, añadiendo nuevos, restringiendo valores y reduciendo cardinalidad. Dos aspectos importantes de las relaciones de especialización son:
- Completitud: Todas las instancias del supertipo son instancias de al menos un subtipo.
- Disyunción: Cada instancia del supertipo es instancia de máximo un subtipo.
- Relaciones: Unen conceptos definidos en el esquema del dominio.
Reglas de Implicación y Abstracción
Representan antecedente y consecuente, con un símbolo de conexión y cardinalidad 1. Incluir un concepto como antecedente o consecuente implica incluir sus subconceptos. En CML, el esquema del dominio se define entre DOMAIN-SCHEME y END DOMAIN-SCHEMA.
Base de Conocimiento
Especifica las instancias del conocimiento. Se divide en dos partes:
- Definición del tipo de conocimiento mediante la palabra clave USES.
- Definición de las instancias que componen la base de conocimiento con EXPRESSIONS.
La base de conocimiento es una característica distintiva del modelo de conocimiento, equivalente al contenido de una base de datos. En CML, se define entre DOMAIN-KNOWLEDGE y END DOMAIN-KNOWLEDGE, seguido de un ID. La adquisición de conocimiento se realiza en dos fases:
- Definición de los tipos de conocimiento.
- Definición de las instancias correspondientes a esos tipos.
Conocimiento sobre Inferencias
Describe cómo se utilizan las estructuras estáticas para llevar a cabo procesos de razonamiento. Representa el nivel más bajo de descomposición funcional, donde una inferencia es la unidad básica de procesamiento de información y describe un proceso primitivo de razonamiento. Son equivalentes a las funciones hoja en Ingeniería del Software, pero en Ingeniería del Conocimiento, cada inferencia se describe completamente mediante la especificación de sus entradas y salidas (roles dinámicos). El proceso de descomposición termina cuando las inferencias obtenidas permiten una traza comprensible del razonamiento.
Una inferencia solo puede referenciar al conocimiento del dominio indirectamente a través de los roles de conocimiento (etiquetas abstractas que indican el papel del conocimiento del dominio en el razonamiento).
Roles Dinámicos
Constituyen las entradas y salidas del proceso de razonamiento.
Roles Estáticos
Especifican el conocimiento del dominio utilizado para realizar el razonamiento. A diferencia de los roles dinámicos, son estables durante el razonamiento.
La inferencia”cove” permite determinar, para ciertos fallos, las posibles hipótesis que explican el mal funcionamiento. La principal ventaja de usar roles es el desacoplamiento de la especificación de las inferencias del conocimiento del dominio, permitiendo trabajar en paralelo y reutilizar las descripciones de las inferencias.
Funciones de Transferencia
Permiten transmitir información o conocimiento entre el agente de razonamiento y el mundo exterior. Son cajas negras con entradas y salidas, y su especificación se establece en el modelo de comunicación. Cada función tiene dos propiedades que la diferencian:
- Quién inicia el intercambio de conocimiento.
- Quién posee el conocimiento objetivo del intercambio.
Tipos de Funciones de Transferencia
- Obtain: El sistema solicita conocimiento a una fuente externa.
- Receive: El sistema recibe conocimiento de una fuente externa por iniciativa del agente externo.
- Present: El sistema presenta conocimiento al mundo exterior por iniciativa propia.
- Provide: El sistema proporciona conocimiento al mundo exterior por iniciativa de un agente externo.
Diagrama de Inferencia
: se unen las inferencias a traves de sus roles de e/s, no se hace ninguna referencia al control de la ejecucion. los roles dinamicos(rectangulos), inferencias(ovalos), dependencias e/s (flechas), func transf(rectang redondeado), roles estaticos(dos lineas gruesas rodeando el nombre del rol). Conoc de tareas: se detalla todas las tareas que forman parte de nuestro modelo, separando la especif del objetivo de la especif de la estrategia. Tareas:especifica el objetivo del proceso de razonamiento en funcion de sus e/s, las tareas de mas alto nivel se van descomponiendo en tareas mas sencillas hasta alcanzar las inferencias especificadas en el conoc sobre inferencias. Se dibujan: Tareas(rectangulos redondeados), metodo(rectangulo), descomposicion(lineas que van hacia las subtareas), inferencias(ovalos), funciones de tranf(rectangulos discontinuos redondeados). Se genera un grafico llamado estructura de tareas, el conoc de tareas se debe especificar de forma independiente del conc del comino, relacionandose entre ellos de forma indirecta a traves de los roles en las inferencias. Para especificar una tarea en CML se necesita:Nombre de la tarea en infinitivo. el objetivo de la tarea en lenguaje natural, los roles de E/S, una especificacion en lenguaje natural de lo que hace la tarea. Metodo de las tareas indica como se puede llevar a cabo la tarea mediante la descomposicion en subtareas, inferencias y func transf. se tiene que definir: la tarea a la que esta asociado, las subtarea,inferencias y funciones de transf en las que se descompone, los roles intermedios utilizados para almacenar los resultados obtenidos temporalmente, la estructura de control