anterior arriba atrasadelante (solo si previamente se ha ido atras)

2.3.4. Redes semánticas y marcos

La representación del conocimiento mediante redes semánticas tiene su origen en el modelo de memoria semántica que vimos en el Apartado 2.3.1. Se trata de un lenguaje gráfico, fácilmente traducible a forma simbólica, muy útil para representar conocimiento taxonómico (Apartado 1.3.3).

El lenguaje de las redes semánticas tiene como alfabeto nodos etiquetados y arcos dirigidos etiquetados. La sintaxis y la semántica, si no entramos en su formalización, es sencilla de describir y comprender:

Los nodos son de dos tipos: unos representan objetos, o clases de objetos, y otros representan valores de propiedades (también llamadas «atributos» ) de esos objetos o clases. Entre estos últimos hay dos subtipos: los normales y los que corresponden a un valor excepcional de la propiedad. Y los arcos también son de dos tipos: unos representan relaciones binarias entre objetos y clases (entre ellas, las que permiten la herencia de propiedades: es_un y tipo_de) y otros representan relaciones también binarias entre objetos o clases y valores de propiedades.

Este lenguaje tiene permite representaciones estructuradas, además del conocimiento taxonómico, del conocimiento factual y de ciertos tipos de conocimiento normativo (Apartado 1.3.2), y se pueden expresar de manera muy fácil las excepciones en los valores de propiedades heredadas. Por ejemplo, la interpretación pretendida de la red mostrada en la Figura 2.4 es bastante obvia. En este caso sólo hay definida una relación entre clases (tipo_de) y varias relaciones entre clases y valores de propiedades. Los nodos correspondientes a valores excepcionales se han señalado con sombreado. Si añadiésemos individuos concretos (objetos) se relacionarían con sus clases con enlaces es_un: una ballena determinada que viviese en el zoo tendría su nombre propio y un valor excepcional para la propiedad «vive_en» .


pict


Figura 2.4: Una red semántica


También es fácil representar otras relaciones binarias entre dos objetos, entre un objeto y una clase, o entre dos clases. Así, en una representación de relaciones familiares podríamos definir relaciones como «hermano_de» , «primo_de» , etc.

Una clase o un objeto tiene las propiedades indicadas con los valores que figuran en los nodos de atributos, y hereda las propiedades y los valores de las clases con las que está relacionada por tipo_de o es_un (aunque en el ejemplo no ocurre, puede haber herencia múltiple: existencia de varios enlaces es_un o tipo_de hacia otras tantas clases). Esta regla de herencia (conocimiento taxonómico), independiente del dominio, está incluida en la semántica del lenguaje, asociada a todas las relaciones tipo_de y es_un.

A partir de esta base se han utilizado numerosas extensiones para enriquecer las posibilidades de representación. Por citar un ejemplo, las restricciones de valor que se pueden introducir en las relaciones binarias. La Figura 2.5 muestra cómo pueden definirse algunos conceptos sobre relaciones familiares. Por ejemplo, «progenitor» (entendiendo por tal «padre o madre» ) es una persona que tiene al menos un hijo que es persona, y «multípara» como una madre que tiene al menos dos hijos.


pict


Figura 2.5: Otra red semántica


Marcos

Los marcos (frames), también conocidos como «estructuras» o «unidades» , introducidos por Minsky (1974) [66], son una forma de expresar las redes semánticas textualmente, pero además pueden incluir representaciones de conocimiento procedimental. En efecto, cada nodo correspondiente a un objeto o a una clase se convierte en un marco, que consta de una primera línea con el nombre del marco y una sucesión de líneas, llamadas «ranuras» (slots) con la sintaxis:

   <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 |  
                            <relacion específica de la aplicación>

Las dos últimas líneas de la definición de «<ranura» son las que confieren a los sistemas basados en marcos esa posibilidad de mezclar conocimiento procedimental con el declarativo. «<if_needed» significa que si se necesita el valor de la propiedad se active un procedimiento para calcularla; «<if_added» , que si en el curso del proceso se rellena o se modifica ese valor se active un procedimiento.

A esta adición de procedimientos a un marco se le llama adosamiento procedimental (procedural attachment).

También es fácil introducir en la representación metaconocimiento, es decir, conocimiento sobre el marco mismo. Como en las tres primeras ranuras de este ejemplo:

marco_avestruz  
  descripcion: caracterización básica de un avestruz  
  autor      : Prof. Ornito  
  fecha      : 31/12/2000  
  tipo_de    : ave  
  patas      : largas  
  vuela      : (exc) no_puede

anterior arriba atrasadelante (sólo si previamente se ha ido atras)


algunos derechos reservados DIT-ETSIT-UPM
Portada