Está en la página 1de 33

REPRESENTACIÓN DEL

CONOCIMIENTO
REPRESENTACIÓN DEL CONOCIMIENTO

PREMISA FUNDAMENTAL DE IA:


Para que un sistema de información demuestre un
comportamiento inteligente en la solución de problemas,
debe poseer gran cantidad de conocimientos y
un potente mecanismo de razonamiento.

IMPORTANCIA DE UNA ADECUADA REPRESENTACION DEL


CONOCIMIENTO
CONOCIMIENTO DEL MUNDO (en IA)
Es la habilidad para construir un modelo de los objetos,
:

sus vinculaciones y de las acciones que pueden


realizar.

REPRESENTACION DEL CONOCIMIENTO


Es la expresión mediante algún lenguaje, de un modelo
que exprese el conocimiento sobre el mundo.
TÉCNICAS DE REPRESENTACIÓN Y RAZONAMIENTO

Información = dato + significado (semántica)

Conocimiento = información + procedimientos

Una técnica de representación de conocimiento se denomina


formalismo de representación de conocimiento e incluye
mecanismos de razonamiento e inferencia asociados
TÉCNICAS DE REPRESENTACIÓN Y RAZONAMIENTO

Los principales formalismos de representación de conocimiento son:

- Formalismos basados en lógica: lógica proposicional, lógica de


predicados y lógica difusa

- Formalismos basados en herencia: redes semánticas y marcos

- Reglas de producción

La representación de los hechos en lenguaje natural implica


ambigüedad
TÉCNICAS DE REPRESENTACIÓN Y RAZONAMIENTO
Hechos Representaciones
(verdades en un (entidades en un determinado formalismo
cierto mundo)
+ mecanismos de inferencia)

Comprensión
Lenguaje Natural
Generación
Lenguaje
Natural

Hechos expresados en lenguaje natural


TÉCNICAS DE REPRESENTACIÓN Y RAZONAMIENTO
Correspondencia
Hechos representación Representación
iniciales Hechos iniciales

Aplicación del
Razonamiento
mecanismo de
pretendido
razonamiento
del formalismo

Inversa de la
Hechos representación Representación
finales hechos finales

La elección de la representación afecta a la dificultad/facilidad de resolución de un problema


TÉCNICAS DE REPRESENTACIÓN Y RAZONAMIENTO
Ejemplo: formalismo: lógica de predicados
Hecho inicial (en lenguaje natural): Fido es un perro
Representación en lógica de predicados
Representación inicial: perro(fido)

Mecanismo de inferencia: ᵾX: perro(X) → tienecola(X)

Representación final: tienecola(fido)


Inversa de la representación

Hecho final (en lenguaje natural): Fido tiene cola


PROPIEDADES DE UNA REPRESENTACIÓN

Para un determinado dominio de trabajo hay las siguientes


propiedades de una técnica de representación

1) Idoneidad representativa: capacidad de representación de


todos los tipos de conocimiento necesarios en ese dominio

2) Idoneidad inferencial: capacidad de manipular los símbolos


que constituyen el formalismo de representación y obtener
nuevo conocimiento
PROPIEDADES DE UNA REPRESENTACIÓN

3) Eficiencia inferencial: capacidad de incorporar meta-conocimiento


que permita focalizar el mecanismo de inferencia hacia las
direcciones más prometedoras

4) Eficiencia adquisitiva: capacidad de adquirir fácilmente nuevo


conocimiento del exterior, idealmente bajo control del propio sistema
(o, simplemente, añadiéndolo una persona)

Ninguna técnica de representación optimiza todas estas


propiedades para todos los dominios y tipos de conocimiento
TIPOS DE CONOCIMIENTO

1) Factual o declarativo (representación de hechos)

- Explícito: se introduce directamente

- Implícito: se infiere a partir del conocimiento explícito

2) Procedimental u operativo (mecanismo de razonamiento o


inferencia)

- Indica cómo actuar en diversas situaciones

- Expresable en forma de programa, reglas de producción, inferencia


TIPOS DE CONOCIMIENTO
3) Meta-conocimiento o conocimiento de control
Conocimiento a un nivel superior: conocimiento sobre el propio
conocimiento, que permite gestionarlo: para garantizar la
consistencia de la base de conocimiento y para mejorar la
eficiencia en la resolución del problema
Base de conocimiento
Todo el cuerpo de conocimiento utilizable por el sistema,
representado en algún formalismo dado, junto con los mecanismos
de gestión de ese conocimiento (incorporación, supresión,
modificación, consulta exacta, consulta aproximada, inferencia,
control de consistencia, etc.)
CONOCIMIENTO FACTUAL
PROPIEDADES DEL CONOCIMIENTO
1) Conocimiento incompleto
- Suele ser imposible representar todo el conocimiento
- Falta conocimiento en la Base de Conocimiento
- Mecanismo de inferencia insuficiente

2) Conocimiento por defecto (por omisión)


–Conocimiento que se asume implícitamente mientras no se niegue
explícitamente. Las excepciones se establecen posteriormente
–Manejo de excepciones:
• Sistemas monótonos: lo verdadero no puede dejar de serlo (más
fáciles)
• Sistemas no monótonos: requieren garantizar la consistencia (más
válidos)
PROPIEDADES DEL CONOCIMIENTO

3) Conocimiento incierto (inseguro, dudoso)


Conocimiento acompañado de grado de certeza. La incertidumbre
la manejaremos con probabilidades.

4) Conocimiento impreciso (inexacto, ambiguo)


Ejm. “Mateo es alto”, es ambiguo porque no se da el contexto
(varía dependiendo de si es jugador de básquet, de su edad, etc.).
La imprecisión la manejaremos con lógica difusa.
OTROS ASPECTOS DE LA REPRESENTACIÓN

Granularidad de la representación
Es el nivel de detalle en la representación del mundo
−Influye en el número de hechos que constituyen un estado
−Dependerá del problema
−Suele usarse redundancia: distintas representaciones con distintos
niveles de detalle
Representación declarativa
El conocimiento está especificado pero no la manera en que debe usarse
Ventajas: modularidad y flexibilidad
OTROS ASPECTOS DE LA REPRESENTACIÓN

Representación procedimental

La propia representación incluye información de control sobre


cómo va a ser usado el conocimiento (fija forma de uso)

−Ventajas: eficiencia (al adaptarse al problema concreto)

−Desventajas: escasa modularidad y flexibilidad


DESARROLLO DE SISTEMAS BASADOS EN CONOCIMIENTO (SBC)

El problema de la adquisición de conocimiento


−Requiere un contacto continuo entre el programador y el experto:
El programador debe tener intuición y facilidad para entenderse
con otras personas (no necesario para otro tipo de sistemas)
− El programador de un SBC se llama ingeniero del conocimiento, y
el proceso de desarrollo de un SBC se ha llamado Ingeniería del
Conocimiento.
DESARROLLO DE SISTEMAS BASADOS EN CONOCIMIENTO (SBC)

CUANDO UTILIZAR UN SISTEMA BASADO EN CONOCIMIENTO:


1) No hay una solución algorítmica
2) La tarea del dominio (comprensión total para saber qué
conceptos son importantes) la realizan expertos y no simples
aficionados
3) No debe ser ni muy difícil ni muy complicada para el experto
4) El problema no debe requerir demasiado “sentido común”
5) La utilización del SBC reportará beneficios
INGENIERÍA DEL CONOCIMIENTO (IC)

Los SBC surgen en los años 1970, con los sistemas expertos:
Extracción del conocimiento especializado (a partir de expertos
humanos, Internet, libros, etc.) y representación en bases de
conocimiento
Adquisición de conocimiento sobre un dominio, a partir de una o
más fuentes y su conversión a un formato que pueda ser utilizado
por una computadora para resolver problemas que sólo pueden
ser resueltos por personas con amplio conocimiento del dominio
INGENIERÍA DEL CONOCIMIENTO (IC)
La Ingeniería del Conocimiento nace a finales de los1980 (crisis de
los SBC)
Misión del IC: no sólo transformar el conocimiento disponible para que sea
aplicable por una máquina (“manufacturar” conocimiento), sino también:
−Utilizar herramientas existentes y disponibles para resolver el problema,
o ser capaz de desarrollar una adecuada si no la hubiera
−Reconocer qué conocimiento concreto se utiliza para resolver un
problema
−Saber clasificar ese conocimiento
−Determinar cuál es la mejor manera de representarlo
ACTIVIDADES DEL INGENIERO DEL CONOCIMIENTO
Tareas de Actividades Productos
procesamiento ingenieriles
del conocimiento
Extracción Adquisición del Conceptos y reglas
Conocimiento
Modelado Diseño del sistema Arquitectura del
sistema y elección de la
representación
Ensamblado Programación del Base de conocimiento
conocimiento (incluyendo motor
de inferencia)
Refinamiento Refinamiento del Conceptos y reglas
conocimiento revisados
DESARROLLO DE SISTEMAS BASADOS EN CONOCIMIENTO

Modelo de ciclo de vida propuesto por Buchanan


• Cuello de botella en el desarrollo de un SBC: adquisición de conocimiento (por
la falta de conocimiento que el IC tiene sobre el dominio de la aplicación)
• Abarca desde la concepción del sistema hasta su madurez
FASES DEL DESARROLLO

Identificación: caracterización de los aspectos más importantes del


dominio del problema
−Objetivos a alcanzar por el sistema
−Papel a desarrollar (sustitución, complemento, ayuda, entrenamiento)
−Tipo de interfaz

Conceptualización: se extraen los conceptos subtareas y


restricciones necesarias para resolver el problema
−Explicitar los conceptos y relaciones utilizados en el dominio
−Analizar la certidumbre, completitud, etc. del conocimiento
−Es útil un modelo conceptual (mental) entre el experto y el IC
FASES DEL DESARROLLO
FASES DEL DESARROLLO

Formalización: los conceptos de la etapa de conceptualización se


representan con las herramientas y esquemas de representación
disponibles
− Analizar las distintas herramientas y esquemas de representación
− Encajar conceptos, subproblemas, ... en el marco de representación
elegido
− ¿Herramienta de adquisición?, ¿chequeos de la base de datos?,
¿reglas?, ¿redes semánticas?, ¿frames?, ¿esquema de
razonamiento?, ¿módulo de explicación?...
FASES DEL DESARROLLO

Implementación
− Incorporar a la BC los conocimientos formalizados en la etapa
anterior, utilizando editores de reglas, detectando inconsistencias,
etc.
− Desarrollo de una herramienta de propósito específico
− Utilización de algún shell para el desarrollo de SBC

Validación (verificación y refinamiento)


− El prototipo es comprobado con el experto
− Evaluación del prototipo con una amplia batería de ejemplos
FASES DEL DESARROLLO
FASES DEL DESARROLLO
ARQUITECTURA DE UN SBC
HERRAMIENTAS PARA EL DESARROLLO DE SBC

Diversas herramientas para el proceso de desarrollo de los SBC,


principalmente para las fases de implementación y validación

Las herramientas llevan implícito uno o varios:

−Formalismos de representación de conocimiento (lógica, marcos,


reglas)

−Paradigmas de resolución de problemas (reglas, CBR, ...)

Shell es un software para SBC al que solo hay que incorporar la


base de conocimiento
HERRAMIENTAS PARA EL DESARROLLO DE SBC

LENGUAJES DE HIBRIDOS: SHELLS Y PARADIGMAS SHELLS


PROGRAMACIÓN DE PROGRAMACIÓN

LISP PROLOG REGLAS


JAVA LOOPS KEE
C++ CLIPS VPEXPERT
C# EXPERTA PC+
PYTHON KAPPA
CLOS
JESS
GRACIAS

También podría gustarte