Representación formal

Las ontologías, si van a ser utilizadas para el procesamiento automático en computadoras, deben especificarse formalmente. Existen varios lenguajes que se usan para expresar ontologías. En esta sección resumimos algunos de ellos. Estos lenguajes proporcionan medios para expresar una ontología particular, y con frecuencia también pueden utilizarse para expresar una base de conocimiento basada en la ontología.

La formalidad de la descripción de las ontologías se resume en la figura siguiente. En el extremo derecho de la escala hay un catálogo de términos utilizados para expresar conocimiento o información. Estos términos pueden no tener ninguna descripción, y se entienden solo porque han sido tomados del lenguaje natural, y su significado solo puede estimarse. La descripción de cada término en lenguaje natural es mejor, especialmente si también se expresan relaciones entre los términos, como is-a, part-of, related-to, etc. Sin embargo, mientras esta descripción esté en lenguaje natural, que no está definido formalmente, normalmente no llamamos ontología a tal especificación.

formal ontology scale

Niveles de expresividad en la descripción de ontologías

El punto a partir del cual comenzamos a hablar de ontología, de especificación formal de la conceptualización, es aquel en el que se define y utiliza al menos una relación formal entre términos. Típicamente, esta es una relación formal is-a, taxonomías de clases y propiedades, relación clase-instancia, etc. Una relación formal significa que está expresada en un lenguaje formal y que es posible inferir las implicaciones que se siguen del hecho de que dos términos están conectados por esa relación. Un nivel más arriba están los lenguajes que proporcionan un conjunto de construcciones para describir una ontología, como los marcos o las lógicas simplificadas como las lógicas de descripción. Estos lenguajes permiten describir clases, instancias y relaciones entre ellas, y restringir su uso previsto. En el extremo derecho de la escala hay una teoría lógica general, donde podemos usar lógicas completas (como lógicas de primer orden o de orden superior, lógicas modales) para expresar el uso previsto de los términos que se utilizan en la ontología.

La escala de la figura anterior también expresa la utilidad de las ontologías. La parte de la descripción informal no es muy utilizable para el procesamiento automático, al menos mientras no se disponga de comprensión del lenguaje natural. Por supuesto, cuanto menos formal sea la descripción utilizada, más fácil será desarrollar una ontología. Por otro lado, si contamos con una descripción más formal y expresiva, entonces dicha descripción puede procesarse automáticamente, podemos captar mejor el significado previsto y compartir la ontología resulta más fácil. Al trabajar con una ontología, normalmente queremos mantener la consistencia. Sin embargo, no siempre es posible mantener la completitud y la decidibilidad. Por ejemplo, cuando usamos una descripción en lógica de predicados de primer orden, no podemos garantizar la decidibilidad, lo cual sí puede garantizarse en lógicas de descripción menos expresivas. Así, en los casos prácticos es necesario encontrar un equilibrio entre la expresividad y las propiedades computacionales de la descripción.

Una buena recomendación general al elegir un lenguaje de modelado de ontologías es escoger un formalismo que no nos limite durante el desarrollo de la ontología y que nos permita expresar todas las distinciones que necesitamos. Cuando esta descripción esté terminada y las propiedades computacionales no sean aceptables, entonces podremos utilizar solo un subconjunto de la descripción para algunos niveles de procesamiento automático. Veremos este enfoque más adelante en este tutorial durante la descripción de los lenguajes por capas en la web semántica.

En el resto de esta sección describiremos brevemente formalismos seleccionados para el modelado de ontologías y para la expresión de información y conocimiento.