redes semánticas

31
= REPRESENTACIÓN DEL CONOCIMIENTO =

Upload: edith-lopez

Post on 04-Jul-2015

975 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Redes semánticas

= REPRESENTACIÓN DEL CONOCIMIENTO =

Page 2: Redes semánticas

El conocimiento es importante y primordial entodas sus aplicaciones, su representaciónconstituye una de las prioridades de lainvestigación en IA.

El conocimiento puede ser representado como:

Imágenes mentales Palabras habladas o escritas en algún lenguaje Forma gráfica o en imágenes Cadenas de caracteres, etc.

Page 3: Redes semánticas

En términos generales, se recomienda que elconocimiento esté representado de tal forma que:

Capture generalizaciones Pueda ser comprendido tanto por las personas queproporcionan información como por las que la procesan Pueda ser fácilmente modificado Pueda ser utilizado en diversas situaciones, aúncuando no sea totalmente exacto o completo Pueda ser utilizado para reducir el rango deposibilidades que usualmente debería considerarse parabuscar soluciones.

Dentro del estudio de IA, se consideran las representacionesescritas y sus correspondientes estructuras de datos utilizadaspara su almacenamiento en una computadora.

Page 4: Redes semánticas

Redes semánticas

Representación gráfica de lasrelaciones entre los elementos de undominio.

Se compone de nodos y enlaces

• Los nodos representan a los elementosdel dominio (nombres o conceptos)

• Los enlaces se muestran como vectoresde un nodo a otro y expresan lasrelaciones entre éstos

Page 5: Redes semánticas

Redes semánticas

Un enlace y dos nodos relacionadospueden representar

• Un predicado con dos argumentos (redeslógicas)

• Objetos, atributos y valores (redesconceptuales)

• Relaciones no binarias, como acciones

Page 6: Redes semánticas

Ejemplo:

Page 7: Redes semánticas

Ejemplo:

Paulina es una niña de 10 años que le gustajugar con su perrita Chary

es_una(Paulina,niña)tiene(Paulina,10-años) juega(Paulina,chary) es_una(chary,perrita)

Page 8: Redes semánticas

Redes semánticas

El problema para utilizarlos comoredes lógicas es representar lacuantificación, la negación, laimplicación (reglas) y la disyunción

En las redes conceptuales elproblema es diferenciar los tipos derelaciones

Page 9: Redes semánticas

Red semántica

Transporte

Avión Tren Coche

Motor

Ruedas

Volante

es-un-tipo-de

tiene-un

Page 10: Redes semánticas

Redes semánticas

Tripleta OAV objeto-atributo-valor

Avión es-una-clase-de

Transporte

Tren es-una-clase-de

Transporte

Coche es-una-clase-de

Transporte

Coche tiene-un Motor

Coche tiene-un Volante

Coche tiene-un Ruedas

Page 11: Redes semánticas

Tripletas OAV (Objeto, Atributo, Valor)

Un atributo puede tener más de un valor

Ejemplo: Juan toma clases de Algebra y Música.En Algebra obtuvo un 8 y en Música un 9

**** Representarlo gráficamente ****

Page 12: Redes semánticas

oav(juan,algebra,8). oav(juan,algebra,9). oav(juan,algebra,7). oav(juan,musica,9).

main :-findall(X,oav(juan,algebra,X),L), write('Resultado: '), write(L).

Ejemplo representado en Prolog

Page 13: Redes semánticas

Redes semánticas

Ventajas

No depende del orden

Se pueden relacionar varias redes semánticas entre sí

Page 14: Redes semánticas

Red semántica

Raúl

InésPepe

Leticia

abuelo-de

Alicia

azules

padre-de

padre-de

esposo-de

esposa-de

sillaEl

cielo

Page 15: Redes semánticas

Redes semánticas

Limitantes

No informa en qué contexto se encuentra

Se tiene independencia del contexto a riesgode perder el significado

Se corre el riesgo de perder información

Esquema Si __ tiene X Entonces tome Y

• Si una persona tiene fiebre entonces tome unaaspirina

• Si una persona tiene agua entonces tome unacoca cola

Page 16: Redes semánticas

Sistemas de Marcos (frames)

Es una colección de atributos que definen el estado deun objeto y su relación con otros objetos

Estructura para representar objetos que son comunesa una situación dada

Son muy útiles para simular conocimiento de sentidocomún (área de muy difícil manejo en Computación)

Representa conocimiento relacionado con un temaconcreto que cuenta con mucho conocimientopredeterminado

Es análogo a un registro (estructura en C)

Page 17: Redes semánticas

Marcos (frames)

Cada marco representa una clase deelementos de la misma manera que un nodoen una red semántica

Consiste en una serie de slots (ranuras) querepresentan una propiedad o atributo delelemento. El slot nos da un lugar paracolocar sistemáticamente un componente denuestras experiencias anteriores con relacióna las clases de elementos representados

Se les pueden dar valores y tipos default

Page 18: Redes semánticas

Marcos (frames)

La información varía dependiendo del contexto Los fillers (rellenos) pueden ser valores, como

una propiedad en la ranura del nombre o unrango de valores, como la ranura de tipos

Se pueden tener fillers (rellenos) que seanresultado de un procedimiento adjunto (hacenllamadas a proc)• Es-necesario proc que se ejecutarán cuando se

necesita un valor de relleno pero no hay ningunopresente o el valor por default no es adecuado

• Si-añadido se ejecuta cuando se agrega un valor deuna ranura

• Si-es-eliminado se ejecuta cada vez que se elimina unvalor de una ranura. Generalmente cuando un valor esobsoleto

Page 19: Redes semánticas

Esquema

Nombre Propiedad

especialización de una-clase-de-objeto

tipo (coche,bote, casa)

Si-añadido. Proc. AÑADE-PROPIEDAD

dueño default: gobierno

si-requerido. Proc ENCUENTRA-DUEÑO

ubicación (casa, trabajo, móvil)

Marcos (frames)

Page 20: Redes semánticas

Los marcos (frames), también conocidos como«estructuras» o «unidades», [Minsky, 1974], sonuna forma de expresar las redes semánticastextualmente, pero además pueden incluirrepresentaciones de conocimiento procedimental.

En efecto, cada nodo correspondiente a un objetoo a una clase se convierte en un marco, queconsta de una primera línea con el nombre delmarco y una sucesión de líneas, llamadas«ranuras»(slots) con la sintaxis:

Marcos (frames)

Page 21: Redes semánticas

<ranura> ::= <nombre de relación>: <objeto relacionado> | <nombre de relación>: <clase relacionada> | <nombre de propiedad>: <valor de la propiedad> | <nombre de propiedad>: (excep) <valor de la propiedad> | <nombre de propiedad>: if_needed <procedimiento> | <nombre de propiedad>: if_added <procedimiento> <nombre de relación> ::= es_un | tipo_de | <relación específica de la aplicación>

Ejemplo:

Page 22: Redes semánticas

Las dos últimas líneas de la definición de«<ranura» son las que confieren a los sistemasbasados en marcos esa posibilidad de mezclarconocimiento procedimental con el declarativo.

«<if_needed» significa que si se necesita elvalor de la propiedad se active un procedimientopara calcularla;

«<if_added», que si en el curso del proceso serellena o se modifica ese valor se active unprocedimiento.

Ejemplo:

Page 23: Redes semánticas

A esta adición de procedimientos a un marco se lellama adosamiento procedimental (proceduralattachment).

También es fácil introducir en la representaciónmetaconocimiento, es decir, conocimiento sobre elmarco mismo. Como en las tres primeras ranurasde este ejemplo:

Ejemplo:

Page 24: Redes semánticas

marco_avestruz

descripción: caracterización básica de una avestruz autor : Edith fecha : 19-mar-12

tipo_de : ave patas : largas vuela : (exc) no_puede

Ejemplo:

Page 25: Redes semánticas
Page 26: Redes semánticas

Ejemplo Marco (Frame) en Prolog

Un frame es un conjunto de slots.

Cada slot puede ser a su vez otro frame, undato, una imagen, una subrutina, una regla, etc.

Ejemplo: Juan está en 8 semestre de IC de laFacultad de Ingeniería, cursa IA y Redes

Page 27: Redes semánticas

frame(1,slot(nombre,juan)). frame(1,slot(semestre,8)). frame(1,slot(carrera,ic)). frame(1,slot(escuela,uat)). frame(1,slot(materia,ia)). frame(1,slot(materia,redes)). frame(1,slot(aprobado,R)) :- aprueba2(juan,R).

frame(2,slot(nombre,ana)). aprueba2(X,si) :- aprueba(X), !. aprueba2(_,no). % ?- frame(1,slot(R,X)), number(X).

Ejemplo Marco (Frame) en Prolog

Page 28: Redes semánticas

Scripts (guiones)

Es una especialización del concepto generalde marco

Es una estructura que se usa para guardarprototipos de secuencias de sucesos en uncontexto en particular

Page 29: Redes semánticas

Scripts (guiones)

Se pueden usar componentes como:

• Condiciones de entrada, condiciones quedeben existir para que se aplique el guión

• Resultados del guión. Condiciones queserán verdaderas después de los eventos delguión

• Utilería. Ranuras que presentan objetosinvolucrado en el guión

• Papeles. Ranuras que representan agentesque realizan sucesos en el guión

• Escenas Secuencias específicas de eventos

Page 30: Redes semánticas

Scripts (guiones)

Razonamiento por guiones:

Los guiones se activan por coincidencia denombre, precondiciones, papeles, etc.

Objetivo: inferir, por medio de razonamientopor defecto, conocimiento que no ha sidodado de forma explícita

Page 31: Redes semánticas

Scripts (guiones)Ejemplo:

• NOMBRE: Cine

• PAPELES: cinéfilo, taquillero, portero, acomodador

• CONDICIONES DE ENTRADA: cinéfilo desea ver película

• PROPIEDADES: película, butaca, dinero, entrada

• ESCENAS:

-Solicitar entradaCinéfilo MTRANS “deme butaca” a taquillero

Cinéfilo ATRANS dinero a taquillero

Taquillero ATRANS entrada a cinéfilo

-Entrar en salaCinéfilo ATRANS entrada a portero

Portero ATRANS entrada a cinéfilo

Cinéfilo PTRANS cinéfilo a sala

-Acomodarse ...................

-Ver película ..................

-Salir de sala ..................

• RESULTADOS:-Cinéfilo ha visto la película

-Taquillero tiene más dinero

-Cinéfilo tiene menos dinero