sistemas basados en conocimiento - inicio · prolog para seleccionar las reglas candidatas en cada...

61
Sistemas Basados en Conocimiento Arquitectura - Motor de Inferencias Ingeniería del Conocimiento -EIE Ana Casali Andrea Torres

Upload: dokiet

Post on 24-Sep-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Sistemas Basados en

Conocimiento Arquitectura - Motor de Inferencias

Ingeniería del Conocimiento -EIE

Ana Casali – Andrea Torres

IC - MODULOS

• INTRODUCCION

• SISTEMAS BASADOS EN

CONOCIMIENTO

• RAZONAMIENTO APROXIMADO

• FUZZY SYSTEMS

• APRENDIZAJE AUTOMATIZADO

• AGENTES INTELIGENTES

Conjunto de Conocimientos y Técnicas que permiten aplicar

el saber científico a la utilización del conocimiento.

ADQUISICION QUE SE OCUPA DE LA REPRESENTACION INFERENCIA MANTENIMIENTO

INGENIERIA DEL CONOCIMIENTO

• Es la disciplina tecnológica que se centra en el desarrollo, funcionamiento y mantenimiento de Sistemas Basados en Conocimiento (SBC – KBS) (utilizando Ingeniería de Software) • SBC: sistema de software capaz de soportar la representación explícita de conocimiento.

INGENIERIA DEL CONOCIMIENTO

• SBC (KBS): sistema de software que mantienen una gran cantidad de conocimiento (Base de conocimiento) y que incluyen métodos adecuados para explotarlo. • Sistema Experto: es un SBC que contiene el conocimiento utilizados por expertos humanos (imita la actividad de un experto)

SISTEMA BASADO EN CONOCIMIENTO

•http://www.myacquire.com/aiinc/whalewatcher/

SBC: Whale Whatcher

Sistemas basados en conocimiento (SBC-KBS)

Definiciones.

Sistemas que representan el conocimiento sobre el

dominio en forma explícita y separada del resto del

sistema.

Waterman.

Sistemas basados en conocimiento (SBC-KBS)

Definiciones.

Sistemas de software capaz de soportar la

representación explícita del conocimiento de un

dominio específico y de explotarlo a través de

mecanismos apropiados de razonamiento para

proporcionar un comportamiento de alto nivel en la

resolución de problemas.

Guida y Taso

Sistemas Expertos: Definición.

Es un sistema de cómputo

capaz de simular la conducta

inteligente de un experto

humano en un dominio

específico y especializado, con

el objeto de resolver problemas.

SE/SBC: Tareas

Tareas abordadas

Síntesis: Clasificación, diagnóstico

Análisis: Planificación, diseño o modelado

Las áreas de aplicación son muy variadas !!!

Los SBC abordan problemas complejos en dominios específicos

en los que el peso de las heurísticas para acotar el espacio de

búsqueda es importante.

Primeros Sistemas Expertos

MYCIN

Stanford (Buchanan - Shortliffe 1976):

Diagnóstico y tratamiento de enfermedades

infecciosas (aprox. 500 reglas). Introduce

factores de certeza.

PROSPECTOR

Stanford-US Geological Survey (Duda-Gashning-

Hart, 1979): Evaluación de yacimientos minerales

y petrolíferos. (aprox 1600 reglas). Probabilidades

condicionales y Teorema de Bayes.

Conocimiento

inexacto

INTERNIST Pittsburg (Pople-Myers, 1977): Diagnóstico

en Medicina interna. CADUCEUS: Analiza

relaciones causales.

CASNET Rutgens (Kulikowsky-Weiss-Safir, 1977):

Oftalmología. Aplica un modelo causal para el

diagnóstico de glaucoma.

Razonamiento experto

Modelos causales

R1

MOLGEN

Carnegie Mellon (Mc Dermott): Configuración de

ordenadores VAX (aprox 500 reglas). Descompone

el diseño en distintos niveles de abstracción. Reducción espacio

de búsqueda Stanford (Stefik): Diseño de experimentos

genéticos. Utiliza abstracción.

Estructura básica de un SE/SBC.

Base de

Conocimientos

Motor de

Inferencias

I

n

t

e

r

f

a

c

e

U

s

u

a

r

i

o

Ingeniero del

conocimiento

Experto del

dominio

K

A

T

Estructura básica de un SE/SBC

Base de

Conocimientos

Su estructura de datos queda definida en

términos del esquema de representación

elegido para incorporar el conocimiento

del dominio de trabajo.

Motor de

Inferencias

Es la estructura de control de un SE,

contiene el programa que gestiona la BC y

otros mecanismos necesarios para

administrar un sistema de naturaleza

interactiva.

Separados entre sí

Habilidades que se esperan de un SE

Buena perfomance, comparable al menos a la de los especialistas.

Manipular con fluidez descripciones simbólicas.

Interfaz amigable, adecuada a las necesidades de la aplicación.

Habilidad para manipular conocimiento incompleto e impreciso.

Capacidad de explicar sus decisiones a los usuarios.

SBC: Ventajas

El conocimiento no se pierde.

Reducción del espacio de búsqueda con heurísticas para que

el problema sea tratable en un tiempo razonable.

Manejo de conocimiento incierto e incompleto.

Posibilidad de justificar el razonamiento seguido.

Hacer el conocimiento disponible en ambientes hostiles o con

carencia de especialistas.

Aumento de fiabilidad, evitando que prevalezcan las últimas

experiencias.

Modificación sencilla de la BC por su característica modular.

SBC: Inconvenientes

La adquisición del conocimiento es difícil y cara.

La reutilización del conocimiento en contextos diferentes

no es simple.

Falta de creatividad y sentido común.

Necesitan aprendizaje y adaptación.

Quedan inmersos en el campo de los Sistemas Inteligentes.

Se trabaja sobre metodología de desarrollo

Se los combina con otras tecnologías

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.

:

Conocimiento – Definición

El conocimiento es una mezcla de experiencia,

información y “saber hacer” que actúa como marco para

la incorporación de nuevas experiencias y guía la acción.

Se utiliza para alcanzar una meta

Genera nuevos hechos/conclusiones

Resulta en gran medida dependiente de la tarea

y del dominio de aplicación.

Representación: Modelado de un sistema

Modelo

Computable

Operacional

Bases de Conocimiento

Mecanismos de inferencia

Mecanismos de control

Las tareas de adquisición y modelado son difíciles y costosas.

Existen esquemas de representación útiles en dominios variados.

Los Sistemas Basados en Conocimiento los combinan.

ELEMENTOS BASICOS QUE INTERVIENEN EN EL

DISEÑO DE UN SISTEMA BASADO EN EL

CONOCIMIENTO (KBS)

Lenguaje formal para expresar conocimiento

Forma de efectuar razonamientos

COMPONENTE MEDULAR DE UN KBS (Agente)

BASE DE CONOCIMIENTOS (KB)

Es un conjunto de representaciones de hechos acerca

del mundo

Conjunto de sentencias del lenguaje para la

representación del conocimiento

AÑADIR Y MODIFICAR

SENTENCIAS

BC

PREGUNTAS RESPUESTAS

MECANISMO DE INFERENCIAS

UNA KB DEBE PERMITIR CON EFICIENCIA:

DISTINTOS FORMALISMOS

FORMALISMOS LOGICOS

SISTEMAS DE PRODUCCION

FORMALISMOS ESTRUCTURADOS:

• OBJETOS

• ONTOLOGÍAS

FORMALISMOS LOGICOS

• Conocimiento es representado mediante un conjunto de fórmulas bien formadas (fbfs)

en algún sistema lógico (proposicional - predicados - multivaluada...)

• Los mecanismos de inferencia son los métodos deductivos del sistema lógico (Resolución en predicados)

PROLOG: Una implementación de

programación lógica

LOGICA DE PREDICADOS

+ DEDUCCIÓN AUTOMÁTICA

(RESOLUCION)

• Dada la BC y una fórmula podemos probar

que

» BC -

Podemos contestar perro (Rex) ?

preguntas como X / perro (X)?

OTROS FORMALISMOS

Sistemas de reglas de producción

Utilizan elementos de la lógica

Salen del marco estrictamente formal

más flexibles

más eficientes

Pierden propiedades fundamentales como la consistencia y completitud.

SE basados en reglas de producción

Sistemas de

producción

Al resolver problemas, las personas utilizan su memoria

a largo plazo (permanente) que aplican a situaciones

actuales contenidas en su memoria a corto plazo

(transitoria).

BC

(Reglas) Memoria de

trabajo (Hechos)

Motor de Inferencias

Mundo Exterior

Sistemas de producción Los procesos del dominio se representan como acciones

independientes que son integradas por el mecanismo de

inferencias para resolver una tarea más general.

Motor de

Inferencias

BASE DE CONOCIMIENTO

Base de

Hechos

Base de

Reglas

ARQUITECTURA

SE basados en reglas de producción

Reglas de

producción IF < CONDICION > THEN < ACCION>

Son “gránulos” de conocimiento.

Reúnen información relativa a las condiciones de

disparo y a los efectos resultantes del disparo.

Son estructuras bidireccionales.

SI ?X ES MAMIFERO Y ?X COME CARNE

ENTONCES ?X ES CARNIVORO.

Sistemas de producción Se utilizan Reglas de Producción para

representar el conocimiento

IF <premisa> THEN <conclusión y/o acción>

Son los elementos de deducción básicos

El proceso de inferencia se basa fundamentalmente en la Regla de Inferencia de la lógica denominada MP

A B, A / B

Reglas de producción

Es el modelo formal para representar un elemento

mínimo de conocimiento

IF <premisa> THEN <conclusión y/o acción>

Conclusión

Puede especificar Acción

Estrategia

La premisa es un predicado (puede tener

conectivos lógicos, etc.)

<premisa> = <cláusula1 AND/OR...AND/OR

cláusulak>

Sistemas de producción

Cada regla es independiente del resto de las

reglas en la BC.

Las reglas no tienen porque estar ordenadas en la BC.

Las reglas se pueden agrupar por nociones semánticas en “módulos”.

El metaconocimiento puede ser expresado

mediante reglas: metareglas

SE basados en reglas de producción

Ventajas: Naturaleza modular: El conocimiento es fácil de

encapsular y expandir.

Explicaciones sencillas: El registro de reglas disparadas

permite presentar la cadena de razonamiento asociada.

Semejanza con el proceso cognitivo humano: modelo

natural del razonamiento humano.

Dificultades:

Completitud y consistencia como responsabilidad del desarrollador.

Se necesitan otras estructuras para lograr una visión global del

conocimiento del dominio.

Se las combina con otros formalismos

de representación.

Reglas de producción- Ejemplos

Sintaxis Reglas en JESS

Jess> (defrule bienvenido-menor

"Saludo para niños"

(persona {edad < 10})

=>

(printout t "Hola niño!"

crlf)

Sistemas de producción.

Un ejemplo de regla

En el desarrollo de un sistema basado en

conocimiento relativo al diagnóstico de una falla en

un auto, se puede expresar:

“ si el motor no arranca y las luces no encienden,

entonces la falla está en la batería ”.

A partir de esta expresión, se puede definir la

regla de producción asociada a las proposiciones

como:

If el motor no arranca

And las luces no encienden,

Then la falla está en la batería .

Sistemas de producción.

Un ejemplo de regla

Sistemas de producción.

Un ejemplo

If el motor no arranca

And las luces no encienden

Then falla la batería.

If el motor no arranca

And las luces encienden

And llega combustible

Then falla el sistema de ignición.

If el motor no arranca

And las luces encienden

And no llega combustible

Then falla el sistema de combustible.

Sistemas de producción.

Un conjunto de reglas

El desarrollo de las reglas de

producción para construir la KB.

• Cada una de estas reglas

aparece como un gránulo

de conocimiento que es

independiente

• La ampliación de la KB

puede realizarse sin mayor

problema.

El desarrollo de las reglas de

producción para construir la KB.

• estas reglas deben estar

relacionadas por los

hechos que mencionan

para que puedan ser

interpretadas durante el

proceso de inferencia.

El desarrollo de las reglas de

producción para construir la KB.

• Este es el único

requisito que requiere

el agregado de nuevas

reglas

• respetar la sintaxis e

los hechos

representados.

Sistemas de producción

Como razonamos???

Utilizando un

MECANISMO DE INFERENCIA

(MOTOR DE INFERENCIA)

El cual determina de que forma utilizar las

reglas para alcanzar el objetivo planteado

La ejecución del proceso de

inferencia en los KBS

Supóngase que se observa una falla en motor del auto y se

constata que: “no arranca el motor, ni encienden las

luces y llega combustible”.

• es necesario ingresar esta información en la memoria de

trabajo, para obtener una solución o respuesta al problema.

• la interfaz de este KBS, deberá permitir ingresar las

observaciones del caso (pueden ser sensores).

La ejecución del proceso de

inferencia en los KBS

• La respuestas

seleccionadas originan

los hechos: “el motor

no arranca”, “las luces

no encienden” y “llega

combustible” que

ingresarán a la memoria

de trabajo del KBS.

La ejecución del proceso de inferencia en

los KBS

• El proceso de ejecución que

realiza el motor de inferencia,

consiste en tomar cada una de

estas plantillas, y explorar la

KB buscando “matching” en

las premisas de cada una de las

reglas.

• La primera regla se desen-

cadena, y produce entonces la

conclusión: “falla la batería”,

y el problema queda resuelto

Inferencia en los KBS

Este proceso de comparación que explora cada una de las reglas, es prácticamente independiente del orden en que se encuentren dispuestas las mismas en la KB.

Este proceso de inferencia en los KBS, es denominado: pattern maching

Inferencia en los KBS

Las herramientas actuales soportan procesos de matching más complejos, que satisfacen algún predicado:

• que el valor de un slot de un objeto cumpla alguna condición, por ej.

• que su valor sea desconocido

• que la lista asociada a un slot tenga 3 elementos

Jess> (defrule match-tres-items

(lista-almacen ? ? ?)

=>

(printout t "Hay una lista de tres items."

crlf))

Sistemas de producción

Motor de Inferencia

Direcciones de búsqueda:

Hacia delante, Forward Chaining o guiada

por los hechos. JESS

Hacia atrás, Backward Chaining o guiada

por los objetivos. PROLOG

Para seleccionar las reglas candidatas en cada estado utiliza el

FILTRADO o MATCHING.

Sistemas de producción

Flexibles.

Sencillos de modificar y extender.

A los expertos les resulta simple “pensar en reglas”.

Completitud y consistencia.

El conocimiento se separa

en pequeños “gránulos”.

VENTAJAS

PROBLEMAS Es común que se los

combine con otros

formalismos.

Sistemas de predicción del tiempo

Los estratos son nubes de baja altura con aspecto de capas.

Los nimboestratos son nubes de altura media. Los

cirroestratos son nubes de gran altura. Los cúmulos y

cumulonimbos pueden estar a baja o gran altura y su aspecto

es como pilas de algodón, pero los cumulosnimbos son

grises, mientras que los cúmulos son blancos.

Si no hay nubes puede inferirse que el tiempo será soleado.

La presencia de cúmulos indica buen tiempo. Las nubes con

estratos indican lluvia ligera pero si el viento sopla de noreste

a sur la lluvia puede ser prolongada. Las nubes con

nimboestratos indican lluvia breve si la dirección del viento es

sur a norte, pero se indica lluvia persistente si la dirección del

viento es de noreste a sur. Los cumulonimbos indican

chubascos. Los cirroestratos indican lluvia en las 24 hs. si el

viento es norte a sur.

Sistemas estructurados

REDES SEMANTICAS (70s)

OBJETOS (80s)

ONTOLOGÍAS (90s)

Redes semánticas Idea: el significado de un concepto

depende del modo en que se encuentre conectado a otros conceptos

Representación: mediante un grafo dirigido donde

los nodos representan objetos y

los arcos relaciones entre los conceptos

REX PERRO MAMIFERO

INSTANCIA ES-UN

Redes semánticas - Ejemplo

ES-UN

ES-UN

ES-UN

TIENE Estudiante -FCEIA

Estudiante -UNR

Estudiante -LCC Estudiante -IEca

Juan Perez Pedro García Legajo P-1233/5

Legajo

Prom1 Prom2

Promedio

TIENE

INSTANCIA

INSTANCIA INSTANCIA

TIENE TIENE

INSTANCIA INSTANCIA

Redes semánticas - Arcos

Etiquetas de los arcos

“es-un” relación subclase-clase

“instancia” relación objeto-clase

“parte-de” relación componente-objeto

definidas por el usuario

Dominio de

aplicación

Generalización

Instanciación

Agregación

Descripción

Objetos

Los vemos más como una forma de representar el

mundo que como un paradigma de programación

Los encontramos en muchas herramientas dentro del área.

Tienen ciertas características en común con los agentes.

Objetos OBJETO: Es una entidad que tiene un comportamiento.

ESTADO INTERNO MENSAJES que es

capaz de responder.

INTERFAZ

Un PROGRAMA OO es una red de objetos cooperantes,

que interactúan entre sí, enviándose mensajes.

ENCAPSULAMIENTO

Objetos

Una CLASE es una definición de las características

comunes de un conjunto de objetos semejantes.

CLASE

ESTRUCTURA: Conjunto de

variables de clase e instancia.

INTERFAZ: conjunto de

métodos. Los objetos concretos

buscan en su clase la definición

cuando reciben un mensaje.

Objetos

Las CLASES se

organizan en jerarquías

modelizando el dominio

De Estructura: Más estática.

De Comportamiento: Ocurre en ejecución.

HERENCIA

Esquema de colaboración

entre objetos (explícito en

el código)

Cuando un objeto recibe un mensaje, busca el

código en su clase, y si no lo encuentra recorre la

jerarquía.

Es una especificación explícita de una conceptualización. [Gruber]

Conceptos en un dominio: clases

Propiedades de cada concepto describiendo

características y atributos: slots

Restricciones sobre los slots: facetas

Las Ontologías en el desarrollo de Sistemas de Información

permite establecer correspondencias y relaciones

entre diferentes dominios.

Ontología

Cómo elegir la mejor

representación???

No hay receta establecida !!!

Analizar las características del

conocimiento involucrado.

Recurrir a la combinación de formalismos.

Frente a cada problema a resolver: