1 Historia Las categorías son los bloques de construcción primarios para cualquier esquema de representación del conocimiento. Las redes semánticas proporcionan: una ayuda gráfica para visualizar una base de conocimiento algoritmos eficientes para inferir propiedades de un objeto en base a su pertenencia a una categoría. Charles S. Peirce (1909) desarrolló los grafos existenciales como el primer formalismo de redes semánticas usando lógica moderna.
2 Historia Ross Quillian (1961) inició el trabajo con las redes semánticas dentro del campo de la IA. Un artículo influyente de Marvin Minsky (1975) presentó una nueva versión de las redes semánticas: los marcos. Un marco era una representación de un objeto o categoría o concepto, con atributos y relaciones con otros objetos o categorías o conceptos. El artículo fue criticado por ser un conjunto de ideas recicladas desarrolladas en el campo de la programación orientada a objetos, como la herencia y el uso de valores por defecto.
3 Historia En los años 90, en el campo de la IA, se adoptó el termino ontología para los esquemas de representación del conocimiento basados en redes semánticas o marcos. Una ontología es una especificación formal y explícita de una conceptualización compartida, que puede ser leída por un ordenador (Gruber, 1993; Borst, 1997; Studer et al., 1998; Ceccaroni, 2001).
4 Redes semánticas Una red semántica es un grafo donde: los nodos representan conceptos los arcos (dirigidos) representan relaciones entre conceptos Mecanismos de razonamiento específicos permiten responder a preguntas sobre la representación: ¿Están relacionados dos conceptos? ¿Que relaciona dos conceptos? ¿Cuál es el concepto mas cercano que relaciona dos conceptos?
5 Marcos A los marcos se asocia normalmente una parte procedimental. Las relaciones y atributos, y no solo las categorías, tienen una estructura que permite describir su semántica. Ejemplo de marco: Arteria superclases: Vaso sanguíneo pared: Muscular forma:
6 Marcos Un marco está generalmente dividido en: una parte declarativa (atributos o slots) una procedimental (métodos o demons) La parte procedimental permite obtener más información o hacer cálculos sobre sus características o las relaciones que pueda tener con otros marcos. La descripción de los atributos también está estructurada: un atributo puede tener propiedades (facets). En el caso más general se pueden tener taxonomías de atributos.
7 Marcos Las relaciones poseen una descripción formal que establece su semántica y su funcionamiento. Dividimos las relaciones en dos simples clases: taxonómicas: enlace ES-UN (subclase/clase) enlace INSTANCIA-DE (instancia/clase) no taxonómicas
8 Marcos Los atributos poseen un conjunto de propiedades que permiten establecer su semántica: dominio rango cardinalidad valor por defecto métodos … Permiten definir procedimientos de manera que se realicen cálculos bajo ciertos eventos (a través de los métodos).
9 Marcos Los métodos pueden ser: if-needed (se activan al consultar el atributo); if-added (se activan al asignar valor al atributo); if-removed (se activan al borrar el valor del atributo); if- modified (se activan al modificar el valor del atributo). Se puede declarar como el mecanismo de herencia afecta a los atributos. 9
10 Marcos: atributos Etiqueta nombre: valor: dominio: lista de marcos donde puede aparecer rango (tipo de valores que admite): lista, clase cardinalidad máxima: cardinalidad mínima (si es = 1, el atributo es obligatorio): valor-por-defecto (a usar si no hay valor): función para calcular valor: métodos (funciones con activación condicionada): condiciones de herencia (atributo + valor): sí/no (por defecto: relaciones taxonómicas = sí; otras = no) Para acceder al valor de un atributo se usa la sintaxis: < nombre marco>.< nombre atributo> (valor o lista de valores)
11 Marcos: ejemplo de atributo owl:edad nombre: Edad valor: dominio (lista de marcos donde puede aparecer): clase Persona rango (tipo de valores que admite): entero [0..140]; joven/viejo cardinalidad máxima: 1 cardinalidad mínima (si es = 1, el atributo es obligatorio): 0 valor-por-defecto (a usar si no hay valor): función para calcular valor: métodos (funciones con activación condicionada): condiciones de herencia (atributo + valor): sí/no (por defecto: relaciones taxonómicas = sí; otras = no) Para acceder al valor del atributo se usa la sintaxis: Persona.edad 11
12 Marcos: métodos Son acciones o funciones que permiten obtener información sobre el mismo marco u otros marcos. Los métodos pueden invocarse desde marcos abstractos (clases) o marcos concretos (instancias). Pueden ser heredables (se permite invocarlos en los descendientes) o no heredables (exclusivos del marco donde están definidos). A veces, pueden ser invocados con parámetros.
Ejemplo de método if-modified: Si Deunan.edad tenía valor 28 y se modifica a 32, se activa un método que cambia el valor del atributo Deunan.ganas-de-casarse de 1 a 5. 12
Página siguiente |