Inteligencia Artificial e Ingeniería del Conocimiento

Documentación en progreso
Historial de revisiones
Revisión 0.118-Feb-2003Revisado por: apm
Creación

Tabla de contenidos
1. Introducción 2º Cuatrimestre
2. T.G. 4: Implementación
2.1. Selección y Uso de un Entorno de Diseño
2.2. Entornos de Desarrollo
2.2.1. Nexpert Object
2.2.2. CLIPS (C Language Inferended Product System - http://www.ghg.net/clips/CLIPS.html)
2.2.3. COOL
2.3. Ontologías
2.4. Interfaces Gráficas
2.4.1. Herramientas de Desarrollo de Interfaces
3. T. G. 5: Evaluación
3.1. Criterios
3.1.1. T.G. 1: Identificación y Análisis del Dominio y T.G. 2: Adquisición y Modelado del Conocimiento
3.1.2. T.G. 3: Reducción al Nivel Simbólico
3.1.3. T.G. 4: Implementación
3.2. Métodos y técnicas de evaluación
3.3. Elementos para la realización de la Evaluación
3.4. Concepto de Explicación

Este articulo son los apuntes recogidos durante las tutorias de la asignatura de "Inteligencia Artificial e Ingeniería del Conocimiento" del 4º curso de Ingeniería Informática de la UNED.


1. Introducción 2º Cuatrimestre

Desarrollo de un Sistema Experto


2. T.G. 4: Implementación

2.1. Selección y Uso de un Entorno de Diseño

En el proceso de discriminación y elección, de un Entorno de Diseño para un S.E. (Sistema Experto), influyen los siguientes factores:

  • Selección de los Métodos de Representación del Conocimiento requeridos (reglas, marcos, ...)

  • Selección de las Herramientas (para la adquisición del conocimiento) que mejor se adapten al método de representación elegido

  • Interfaz con el Usuario (Facilidad de Uso)

  • Prototipos e Implementación

Herramientas de Desarrollo de S.E. Entre las mas destacadas se encuentran: Nexpert Object y CLIPS (siendo esta ultima herramienta Software Libre).

Características:

  • Potencia de Representación del Conocimiento

  • Flexibilidad (modificar y adaptar la herramienta)

  • Comodidad y Sencillez de la Interfaz de Usuario

  • Eficiencia

  • Robustez

  • Traza y Depuración (se explica la como se ha llegado a la conclusión)

  • Interfaces (usuario, bases de datos, lenguajes de programación, sistemas operativos, ...)


2.2. Entornos de Desarrollo

2.2.1. Nexpert Object


2.2.2. CLIPS (C Language Inferended Product System - http://www.ghg.net/clips/CLIPS.html)

Se compone de:

Lista de Hechos
Lista de Instacias
Base de Conocimiento (para el Almacenamiento de Reglas)
Motor de Inferencia (Agenda con Prioridad de Reglas)

Mecanismos de Representación del Conocimiento

  • Reglas con encaminamiento hacia adelante

  • Programación Secuencial

  • Programación Orientada a Objetos (Marcos)


2.2.3. COOL

Extensión de CLIPS para Programación Orientada a Objetos (POO), con las características de Herencia y Encapsulamiento.

Classes: Define un concepto general

Objects: Instanciaciones de una clase

Slots: Propiedades de una clase

Messages: Comunicación entre objetos

Relations: Relaciones entre clases (is-a)

Facets: Restricciones sobre las propiedades (slots)


2.3. Ontologías

Definición. Descripción formal explicita de los conceptos de un dominio de discurso, propiedades de cada concepto que describen diversos aspectos y atributos y restricciones sobre los atributos.

Base de Conocimiento. Es la representación de las Ontologías y las Instanciaciones. (Knowledge Base)

Desarrollo de Ontologías

  • Definición de Clases

  • Estructuración de Taxonomia Jerárquica

  • Definición de Propiedades y Resticciones

  • Generación de Instanciaciones

Metodología

  • Generación desde arriba (partiendo de las superclases)

  • Generación Abstraccón (partiendo de las instacias)

  • Generación Hibrida

Nota

Debe aproximarse lo mas posible al Modelo del Experto del Dominio.

Pasos

  1. Determinar el Dominio y el alcance

  2. Reutilización de Ontologías previas

  3. Enumerar los terminos importantes del dominio

  4. Definición de la Jerarquía de Clases

  5. Definición de las Propiedades

  6. Definición de Restricciones

  7. Instanciación (crear los objetos concretos de las clases)

Siblings: Todos los nodos (subclases) de una determinada clase

Convenciones Tipográficas: Seguir una normas de estilo para escribir los nombres de las clases, propiedades, restricciones, guiones...

Metaclases: Tipos de clases

Metaslots: Tipos de propiedades

Slots Invertibles: Propiedades que pueden ser instancias de otra clase


2.4. Interfaces Gráficas

Herramienta que permite la interacción entre el Sistema Experto y el usuario.

Tipos de Usuarios. Deben de estar diseñado para distintos tipos de usuarios ( experto, diseñador, principiante ... ).

Tipos de Interfaz

  • WIMP (Windows Icon Menu Pointer)

  • Conversacionales (comandos en modo texto)

Sistemas de Desarrollo de Interfaces. Su desarrollo se compone de un modelo de conocimiento para el tipo de interacción.

Características

  • Capaz de generar herramientas estándar con poco esfuerzo.

  • Guía de usuario

  • Tratamiento de gráficos

  • Desarrollo de prototipos

Separación entre Dialogo y Computación

  • Facilita el diseño de interfaces no supeditados a la implementación de la aplicación.

  • Modificiación Selectiva. En elproceso de mantenimiento se pueden realizar modificaciones en cada módulo sin que afecte al resto.

  • Mantenimiento. Sustitución de la interfaz sin que afecte al Sistema Experto.

Figura 1. Modelo ó Módulo de Sceheim

Tipos de Interacción

  • Gramaticas Independientes del Contexto (Context Free Grammars)

  • Redes de Transiciones (Transicion Diagrams)

  • Modelos de Eventos (Event Models or Languages)

  • Árboles de Menús

Nota

Las Redes de Transiciones se representa por la multiplicidad posibles estados cuyas transiciones (arcos) son procesos de comunicación de 3 tipos: usuario, internas (Mecanismos de control), externas (Aplicación)

Etapas en la Construcción de una Interfaz

  1. Diseño

  2. Construcción

  3. Ejecución

  4. Evaluación


2.4.1. Herramientas de Desarrollo de Interfaces

Herramientas de Simulación

  • No son interfaces en sí.

  • No son interactivos.

Librerías Estándar (Toolkit)

  • No están orientados a Inteligencia Artificial.

  • Desarrollo de Software General (Ingeniería de Sistemas).

Sistemas de Gestión de Interfaces de Usuario (User Interface Management Systems - UIMS)

  • Basados en un Modelo de la Interacción del Dialogo (existe un Modelo de Conocimiento del Dialogo).

  • Facilidades de Prototipado

  • Facilidades de Implementación y Ejecución

  • Facilidades de Evaluación

  • Facilidades de Modificación y Mantenimiento

  • Diseño de la interfaz en la fase previa basado en especificaciones.

Ejemplos: ITS, Hypernews, MAGIT, ACE, CLIM

Figura 2. MAGIT


3. T. G. 5: Evaluación

Evaluación: Es el proceso final que debe ser llevado a cabo desde el principio de la implementación, es decir en todas las etapas. El proceso de Evaluación engloba la Validación y la Verificación.

Validación: Comprobar que hemos construido el Sistema Experto correcto, adecuado.

Verificación: Comprobar que hemos construido el Sistema Experto bien.

Distinción entre estrategia, conocimiento de tareas, inferencias y conocimiento del dominio.

Características

  1. Fiabilidad. Sistema Basado en el Conocimiento para explicar el resultado de la evaluación.

  2. Validez. El SBC y el método de evaluación (Resultado). Tratar los aspectos relevantes y Comprobar que el proceso de inferencia es correcto.

  3. Aceptación. Se mide con los usuarios finales (utilización y utilidad). Concepto de Explicación


3.1. Criterios

Criterios para el proceso de evaluación en el desarrollo de un Sistema Experto.


3.1.1. T.G. 1: Identificación y Análisis del Dominio y T.G. 2: Adquisición y Modelado del Conocimiento

Completitud del Dominio (No falta conocimiento)
Consistencia
Exclusiones


3.1.2. T.G. 3: Reducción al Nivel Simbólico

Adecuación; descomposición en subtareas
Eficacia de inferencias
Comparación de alternativas


3.1.3. T.G. 4: Implementación

Validez; explicación de la traza del resultado obtenido del razonamiento
Funcionalidad; Ingeniería del Software, Interfaz, Integración y Aceptación del usuario


3.2. Métodos y técnicas de evaluación

Inspección Manual. Revisar el código (requisitos) a mano. No es sistemático.

Verificación Estática. Comprobar la Base de Conocimientos de un Sistema Experto buscando anomalias (conflictos, redundancia ...)

Prueba Formal. Se da para Sistemas Formalizados (Desarrollo Teoría, Demostración ... )

Verificación por Referencia Cruzada. Distintos niveles de conocimiento (Físico, Simbólico y Conocimiento) en las entidades del diseño conocimiento. Se mantiene en los distintos niveles (Completitud y Consistencia de las descripciones)

Comprobación Empírica. Es analogo al Test de Turing, que consiste en: Comprobar si el Sistema Experto se comporta como un Experto Humano, sin distinguir quien es quien. Conductista evalua el Sistema Experto por cómo se comporta.


3.3. Elementos para la realización de la Evaluación

  • Documento Requisistos Aplicación (requisitos míninos y deseados)

  • Modelo Conceptual (Metodología de KADS u otras metodologís

  • Modelo Diseño que especifican sistemas en terminos de entidades de computación

  • Sistema implementado o Prototipo


3.4. Concepto de Explicación

Dar un razonamiento (explicación) del resultado obtenido; cómo y porque se ha llegado a esa conclusión

  • Crear un Sistema Experto para explicar las Inferencias del Sistema Experto original

  • Traza: Enumera las reglas o jerarquias (Marcos) se han activado y su orden

  • Aprendizaje Simbólico