2. Ontologías

 ***********************************************************************************

2.      Ontologías

         Las ontologías se empiezan a utilizar a finales de los 80 en el campo de la IA como medio para compartir y reutilizar el conocimiento. En la segunda mitad de los 90 se empiezan a aplicar a la web para la inclusión de descripciones semánticas explícitas de recursos (contenidos y servicios). En la actualidad, son un eje fundamental en las nuevas tecnologías para la web semántica, porque definen teorías sobre dominios compartidas y comunes, y permiten que las personas y los aparatos se comuniquen de forma más eficaz. También juegan un papel fundamental en hacer posible el acceso, interoperabilidad y comunicación de contenidos por la Red.

 Las ontologías son el núcleo principal de esta tecnología porque proporcionan una característica muy importante: interactúan entre la semántica formal entendible por un ordenador y la semántica entendible por las personas del mundo real. A la luz de esto, pasaremos a describir lo que son las ontologías, los diversos tipos y clasificaciones, lenguajes de representación, herramientas y cuestiones relacionados con la edición de nuevas versiones.

 2.1 Definiciones 

El concepto de ontología ha estado presente desde hace mucho tiempo en la filosofía, recientemente se utiliza en IA para definir vocabularios que las máquinas puedan entender y que sean especificados con la suficiente precisión como para permitir diferenciar términos y referenciarlos de manera precisa.

 La definición declarativa más consolidada es la propuesta por Gruber[1] y extendida por Studer y colaboradores[2] que la describe como “una especificación explícita y formal sobre una conceptualización compartida”. La interpretación de esta definición es que las ontologías definen conceptos y relaciones de algún dominio, de forma compartida y consensuada; y que esta conceptualización debe ser  representada  de una manera formal, legible y utilizable por los ordenadores.

 Las ontologías tienen los siguientes componentes que servirán para representar el conocimiento de algún dominio[3]:

 -         Conceptos: son las ideas básicas que se intentan formalizar. Los conceptos pueden ser clases de objetos, métodos, planes, estrategias, procesos de razonamiento, etc.

 -         Relaciones: representan la interacción y enlace entre los conceptos del dominio. Suelen formar la taxonomía del dominio. Por ejemplo: subclase-de, parte-de, parte-exhaustiva-de, conectado-a, etc. 

-         Funciones: son un tipo concreto de relación donde se identifica un elemento mediante el cálculo de una función que considera varios elementos de la ontología. Por ejemplo, pueden aparecer funciones como categorizar-clase, asignar fecha, etc. 

-         Instancias: se utilizan para representar objetos determinados de un concepto.

-        Axiomas: son teoremas que se declaran sobre relaciones que deben cumplir los elementos de la ontología. Por ejemplo: “Si A y B son de la clase C, entonces A no es subclase de B”, “Para todo A que cumpla la condición C1, A es B”, etc.

 También se han dado definiciones basadas en el proceso de construcción como la de Bernaras: “Medio para describir explícitamente la conceptualización subyacente al conocimiento representado en una Base de Conocimiento (Knowledge Base) y la de Swartout: “Conjunto de términos estructurados jerárquicamente para describir un dominio que puede ser utilizado como esqueleto de una Base de Conocimiento (Knowledge Base)”.

 

Otra definición interesante es la de Uschold-Jasper: Puede tomar muchas formas pero necesariamente incluirá un vocabulario de términos y una especificación de su significado (definiciones e interrelaciones entre conceptos) que impone estructura al dominio y restringe las posibles interpretaciones. 

A modo de resumen podemos decir que las ontologías tratan de capturar conocimiento consensuado en un modo genérico y formal, de tal manera que puedan ser reutilizadas y compartidas por distintas aplicaciones SW y grupos de personas.

 La RAE (Real Academia Española) la define como “parte de la metafísica que trata del ser en general y se sus propiedades transcendentes”. Algunos autores piensan que las ontologías son “colecciones de enunciados redactados en un lenguaje, como el RDF, que define las relaciones entre conceptos y especifica reglas lógicas para razonar con ellos”. Los ordenadores ”comprenderían” el significado de los datos semánticos de una página web siguiendo vínculos con ontologías especificadas.

 2.2 Tipos  de ontologías

 Atendiendo a la riqueza de su estructura interna podemos encontrar:

            -         Vocabularios controlados: Lista de términos, catálogos...

-         Glosarios: Términos y su significado en lenguaje natural.

-       Tesauros: Añaden semántica y relaciones de sinonimia, pero no hay una jerarquía explícita.

-         Jerarquía formal: Necesaria para explotar la herencia.

-         Jerarquías formales con instancias.

-         Marcos: Clases y propiedades.

-         Restricciones sobre valores de propiedades.

-         Restricciones lógicas generales: Las más expresivas.

 Atendiendo al asunto que conceptualizan:

       -         De representación del conocimiento: Capturan primitivas usadas para formalizar el conocimiento

-         Generales o comunes: Representan conocimiento de sentido común reutilizables en diferentes dominios. Vocabularios relacionados con eventos, tiempo, espacio, causalidad...

-         De alto nivel: Describen conceptos muy generales. Dependen del criterio de clasificación.

-         De dominio: Vocabularios de conceptos en un dominio específico. Especializaciones de conceptos definidos en ontologías de alto nivel.

-         De tarea: Vocabularios de conceptos relacionados con una tarea o actividad genérica.  Términos utilizados para resolver problemas.

-         De tarea de dominio:

o       De método: Especifican procesos de razonamiento.

o       De aplicación: Extensión y especialización de los anteriores  para una aplicación determinada.

 2.3 Tecnologías de ontologías

 URI

 Los URI -Uniform Resource Identifier- (Berners-Lee et al.; 1998), cuyo subconjunto más conocido son losURL -Uniform Resource Locators-, proporcionan el mecanismo para identificar de forma inequívoca cualquier recurso en la red: artículos, imágenes, sonidos, etc. Con la Web Semántica, los URIs cumplirán además con la función de identificadores de objetos del mundo real. Cualquier objeto real podrá ser identificado mediante un URI.

 XML 

 Uno de los resultados del empuje general hacia una estructura más semántica en la Web, fue el desarrollo del lenguaje de demarcación XML, que permite que los creadores de páginas web, usen su propio conjunto de etiquetas de demarcación (markup-tags). Esas etiquetas pueden ser elegidas de manera tal que reflejen la semántica específica del dominio tratado, en lugar de ocuparse meramente de la posición y formato de la información que comprenden.

 El Lenguaje Extensible de Marcas, abreviado XML, describe una clase de objetos de datos llamados documentos XML y describe parcialmente el comportamiento de los programas de computadora que los procesan. XML es un "perfil de aplicación" o una forma restringida de SGML (Lenguaje Estándar Generalizado de Marcación). Por construcción, los documentos XML son documentos SGML conformados.

 Los documentos XML están compuestos por unidades de almacenamiento llamadas entidades, que contienen tanto datos analizados como no analizados. Los datos analizados están compuestos de caracteres, algunos de los cuales, de la forma datos carácter, y otros de la forma marca. Las marcas codifican una descripción de la estructura de almacenamiento del documento y su estructura lógica. XML proporciona un mecanismo para imponer restricciones al almacenamiento y a la estructura lógica.

Se utiliza un módulo software llamado procesador XML para leer documentos XML y proporcionar acceso a su contenido y estructura. Se asume que un procesador XML hace su trabajo dentro de otro módulo, llamado aplicación. Esta especificación describe el comportamiento requerido de un procesador XML en términos de cómo leer datos XML y la información que debe proporcionar a la aplicación.

 Es un lenguaje con una importante función en el proceso de intercambio, estructuración y envío de datos en la Web. Describe los datos de tal manera que es posible estructurarlos utilizando para ello etiquetas, como lo hace HTML, pero que no están predefinidas, delimitando de esta manera los datos, a la vez que favoreciendo la interoperabilidad de los mismos.

 XML es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones.

 Las tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a las demandas más frecuentes por parte de los usuarios. XML sirve para estructurar, almacenar e intercambiar información.

RDF y RDF-S 

Resource Description Framework (RDF) [Infraestructura para la Descripción de Recursos] es una base para procesar metadatos; proporciona interoperabilidad entre aplicaciones que intercambian información legible por máquina en la Web.

 

RDF destaca por la facilidad para  habilitar el procesamiento automatizado de los recursos Web. RDF puede utilizarse en distintas áreas de aplicación; por ejemplo: en recuperación de recursos para proporcionar mejores prestaciones a los motores de búsqueda, en catalogación para describir el contenido y las relaciones de contenido disponibles en un sitio Web, una página Web, o una biblioteca digital particular, por los agentes de software inteligentes para facilitar el intercambio y para compartir conocimiento; en la calificación de contenido, en la descripción de colecciones de páginas que representan un "documento" lógico individual,  para describir los derechos de propiedad intelectual de las páginas web, y para expresar las preferencias de privacidad de un usuario, así como las políticas de privacidad de un sitio Web.

RDF junto con las firmas digitales será la clave para construir el "Web de confianza" para el comercio electrónico, la cooperación y otras aplicaciones. 

uno de los objetivos de RDF es hacer posible especificar la semántica para las bases de datos en XML de una forma normalizada e interoperable. RDF y XML son complementarios: RDF es un modelo de metadatos y sólo dirige por referencia muchos de los aspectos de codificación que requiere el almacenamiento y transferencia de archivos (tales como internacionalización, conjuntos de caracteres, etc.). Para estos aspectos, RDF cuenta con el soporte de XML. Es importante también entender que esta sintaxis XML es sólo una sintaxis posible para RDF y que pueden surgir formas alternativas para representar el mismo modelo de datos RDF. 

 

El objetivo general de RDF es definir un mecanismo para describir recursos que no cree ninguna asunción sobre un dominio de aplicación particular, ni defina (a priori) la semántica de algún dominio de aplicación. La definición del mecanismo debe ser neutral con respecto al dominio, sin embargo el mecanismo debe ser adecuado para describir información sobre cualquier dominio. 

 

RDF, al igual que XML tiene asociado un esquema que es Esquema RDF (RDF Schema o RDFS). Es un vocabulario RDF que nos permite definir propiedades de dominios específicos y clases de recursos  para que esas propiedades se puedan aplicar. Para ello proporciona un mecanismo para definir clases, objetos y propiedades; relaciones entre clases y propiedades; y restricciones de domino y rango sobre las propiedades.

Con RDFS podemos describir jerarquías de clases, tales como ontologías simples, sobre las que poder realizar consultas y razonamiento automático. Aún así, RDFS no es lo suficientemente expresivo para representar ontologías de la complejidad que necesita la Web Semántica, ya que el agente inteligente sólo podría realizar la inferencia sobre la herencia de propiedades, pues RDFS no permite declarar axiomas. A esto habría que añadir que algunas características de RDFS, como la reificación – posibilidad de tratar un aserto como parte de otro, permitiendo de esta forma declarar asertos sobre otros asertos- , dificultan el razonamiento inferencial. RDFS no se diseñó como solución final para la representación de conocimiento, sino como un núcleo para ser extendido.

 


 

[1] Gruber T.,“Toward Principles for the Design of Ontologies Used for Knowledge Sharing” Technical Report KSL-93-04, Knowledge Systems Laboratory,Stanford University, CA, 1993.

[2] Studer S, Benjamins R., and FenselD., “Knowledge Engineering: Principles and Methods”, Data and KnowledgeEngineering, 25, 161-197, 1998.

[3] Gruber T., “A Translation Approach to Portable Ontology Specifications”, Knowledge Acquisition, 5 (2), 199-220, 1993b.