x
1

Ontología (informática)



En ciencias de la computación y ciencias de la comunicación, una ontología es una definición formal de tipos, propiedades, y relaciones entre entidades que realmente o fundamentalmente existen para un dominio de discurso en particular. Es una aplicación práctica de la ontología filosófica, con una taxonomía.

Una ontología cataloga las variables requeridas para algún conjunto de computación y establece las relaciones entre ellos.[1][2]​ En los campos de la inteligencia artificial, la Web Semántica, ingeniería de sistemas, ingeniería de software, informática biomédica, bibliotecología y arquitectura de la información se crean ontologías para limitar la complejidad y para organizar la información. La ontología puede entonces ser aplicada para resolver problemas.

El término ontología tiene su origen en la filosofía y ha sido aplicado en muchas formas diferentes. Proviene de onto- de Griego ὤν, ὄντος, (""lo que se es"), presente participio del verbo εἰμί ("ser"). El significado en ciencia de la computación es un modelo para describir el mundo que consiste en un conjunto de tipos, propiedades y relaciones entre tipos. También se espera que lo representado por modelo en una ontología sea lo más semejante posible al mundo real. (en relación con el objeto).[3]

Lo que muchas ontologías tienen en común, tanto en Informática como en Filosofía, es la representación de entidades, ideas y eventos, junto con sus propiedades y relaciones, de acuerdo con su sistema de categorización. En ambos campos hay trabajo considerable sobre los problemas relativos a la ontología (e.g., Quine y Kripke en Filosofía, Sowa y Guarino en Informática),[4]​ y debates correspondientes a que si la ontología normativa es viable (Ej., debates sobre fundamentalismo en filosofía, y sobre el proyecto Cyc en inteligencia artificial). La diferencia entre los dos es en la manera como se enfocan. Los informáticos están más preocupados por un establecimiento fijo y vocabularios controlados, mientras que los filósofos están más preocupados por los principios, es decir si existen cosas tales como una esencia fija o si las entidades deben primar ontológicamente sobre los procesos.

Las ontologías provienen de la rama de la filosofía conocida como metafísica, la cual tiene que ver con la naturaleza de la realidad  – de lo que existe. Esta rama se preocupa por el análisis de varios tipos o modos de existencia, frecuentemente con especial atención en las relaciones entre lo particular y lo universal, entre las propiedades intrínsecas y extrínsecas y entre la esencia y la existencia. El objetivo tradicional del análisis ontológico es de dividir el mundo "en conjuntos" para descubrir aquellas categorías o tipos fundamentales en el cual los objetos del mundo están naturalmente. [5]

Durante la segunda mitad del siglo XX, los filósofos debatieron exhaustivamente los posibles métodos o aproximaciones para construir ontologías sin ser realmente construidas en cualquier ontología elaborada por ellos. En contraste, los científicos de la computación fueron construyendo algunas ontologías grandes y robustas, tales como WordNet y Cyc, con debates de como deberían ser construidas.

Desde mediados de los 1970, investigadores en el campo de la inteligencia artificial (IA) habían reconocido que capturar el conocimiento es la clave para construir grandes y poderosos sistemas de IA. Los investigadores de IA argumentaron que ellos podrían crear nuevas ontologías como modelos computacionales que permitan cierto grado de razonamiento automático. En los años 80, la comunidad de IA comenzó a usar el término ontología para referirse a la teoría del mundo modelado y a una componente de los sistemas de conocimiento. Algunos investigadores, se inspiraron de algunas ontologías filosóficas, viendo una ontología computacional como un tipo de filosofía aplicada.[6]

A principios de los 90, una página web y un artículo muy citados "Toward Principles for the Design of Ontologies Used for Knowledge Sharing" por Tom Gruber[7]​ fue reconocido como una definición deliberada de ontología como un término técnico en ciencia de la computación. Gruber introdujo el término para referirse a una especificación de una conceptualización:

Una ontología es una descripción (como una especificación formal de un programa) de los conceptos y relaciones que pueden formalmente existir para un agente o comunidad de agentes. Esta definición es consistente con el uso de ontología como un conjunto de definiciones conceptuales, pero más generales. Y esto es un sentido diferente de la palabra ontología utilizada en filosofía.[8]

De acuerdo con Gruber (1993):

Ontologías son frecuentemente asociadas con jerarquías taxonómicas de las clases, definición de clases y las relaciones, pero ontologías necesitan no ser limitadas a estas formas. Ontologías no son limitadas tampoco a las definiciones conservadoras — o sea, definiciones en el sentido lógico tradicional que solamente introduce terminología y no añade ningún conocimiento acerca del mundo.[9]​ Para especificar una conceptualización , se necesitan establecer axiomas que limiten las posibles interpretaciones para los términos definidos .[1]

En 1997, Borst hizo más específica la definición de Gruber al afirmar que una ontología es "una especificación formal de una conceptualización compartida". Por lo que la conceptualización ontológica debe expresar una visión compartida entre varias partes, un consenso más que un punto de vista individual. Además, tal conceptualización debe estar expresada en un lenguaje formal para que pueda ser procesada por una computadora.[10]

Las ontologías contemporáneas comparten muchas similitudes estructurales, indiferente al lenguaje en el cual ellos fueron expresados. Como se mencionó arriba, la mayoría de las ontologías describen individuos (instancias), clases (conceptos), atributos y relaciones. En esta sección cada uno de estos componentes será discutido:

Los componentes más comunes de una ontología son:

Las ontologías se suelen codificar usando lenguajes de ontologías.

La ontología de dominio (u ontología de dominio específico) representa conceptos que pertenecen a una parte del mundo. El significado particular de un término aplicado a ese dominio es proporcionado por el dominio de la ontología. Por ejemplo, la palabra tarjeta tiene muchos significados. Una ontología acerca del dominio banco podría modelar el significado a "tarjeta de crédito", mientras que una ontología acerca del dominio de hardware de computadoras podría modelar los conceptos a "tarjeta de red" y "tarjeta gráfica".

Como las ontologías de conceptos representan conceptos de manera muy específica, normalmente son muy incompatibles. Como sistemas que dependen de ontologías de dominio expandidas, normalmente necesitan mezclar ontologías de dominio dentro de una representación más general. Esto representa un reto para el diseño de una ontología. Diferentes ontologías en el mismo dominio son hechas en diferentes lenguajes, diferentes intentos de uso de la ontología y diferentes percepciones del dominio (basados en la formación cultural, educación, ideología, etc.).

Actualmente, mezclar ontologías que no están desarrolladas desde una ontología común básica, es un proceso manual muy caro y largo. Las ontologías de dominio que usan la misma ontología básica que provee un conjunto de elementos básicos con los cuales especificar el significado de los elementos de la ontología de dominio puede ser mezclado automáticamente. Hay estudios en técnicas generalizadas para mezclar ontologías,[11]​ pero esta área sigue siendo muy teórica.

Representan conceptos generales que no son específicos de un dominio. Por ejemplo, ontologías sobre el tiempo, ontologías de conducta, de causalidad, etc. Pueden reutilizarse a través de diferentes dominios.[12]

Proporcionan el vocabulario para describir términos involucrados en los procesos de resolución de problemas los cuales pueden estar relacionados con tareas similares en el mismo dominio o en dominios distintos. Incluyen nombres, verbos, frases y adjetivos relacionados con la tarea (“objetivo”, “planificación”, “asignar”, “clasificar”, etc.).[12]

Especifican los términos que son usados para representar conocimiento en el universo de discurso. Suelen usarse para unificar vocabulario en un dominio determinado (contenido léxico y no semántico). Conocidas también como ontologías lingüísticas.[12]

Especifican la estructura de almacenamiento de bases de datos. Ofrecen un marco para el almacenamiento estandarizado de información (estructura de los registros de una BD).[12]

Especifican conceptualizaciones del conocimiento. Poseen una rica estructura interna y suelen estar ajustadas al uso particular del conocimiento que describen (términos y semántica).[12]

Un estudio de técnicas visualización de ontologías está presentada por Katifori et al.[13]​ Una evaluación de las dos técnicas de visualización de ontologías más usadas: árboles y grafos es discutido en.[14]​ Un lenguaje visual para ontologías representadas en OWL es especificada por Visual Notation for OWL Ontologies (VOWL).

Ingeniería de Ontología (o construcción de ontologías) es una rama de ingeniería del conocimiento. Estudia el proceso de desarrollo de la ontología, su ciclo de vida, los métodos y las metodologías para construir ontologías, así como las herramientas y lenguajes que los soportan.[15][16]

La ingeniería de ontología tiene como objetivo hacer explícito el contenido dentro de las aplicaciones de software, y dentro de los procedimientos de negocios y empresas para un dominio en particular. La ingeniería de ontología ofrece una dirección hacia la solución de los problemas interpretativos traídos por los obstáculos de la semántica, tales como los relacionados con las definiciones de términos de negocios y las clases de software. La ingeniería de ontología es un conjunto de tareas relacionadas con el desarrollo de las ontologías en un dominio específico.[17]

El aprendizaje de una ontología es una creación automático o semiautomático de ontologías, incluyendo extraer término de un dominio de un texto en lenguaje natural. Como construir manualmente una ontología es una labor intensamente compleja y consume mucho tiempo, hay una motivación para automatizar el proceso. Extracción de información y métodos de minería de datos han sido explotados para unir automáticamente ontologías con documentos, ej. En el contexto de los retos BioCreative. [18]

Un lenguaje de ontología es un lenguaje formal usado para codificar una ontología. Hay un gran número de dichos lenguajes:

El desarrollo de ontologías para la web ha conducido a que emerjan servicios proveyendo listas o directorios de ontologías con facilidad de búsqueda. Tales directorios han sido llamados bibliotecas de ontología. Algunos ejemplos:

Los siguientes son directorios y motores de búsqueda al mismo tiempo. Ellos incluyen búsqueda con crawlers.

Werner Ceusters ha notado la confusión causada por los diferentes significados de la palabra ontología cuando es usado en filosofía comparada con el uso de la palabra en ciencia de la computación, y aboga por la gran precisión en el uso de la palabra por los que miembros de varias disciplinas usan varias definiciones de la palabra. Escribió: “Antes de contestar la pregunta '¿qué es una ontología?', se debería primero responder a la pregunta ' ¿qué significa la palabra ontología?'.[55]​ Tampoco nos es muy claro cómo las ontologías encajan dentro de las bases de datos NoSQL .



Escribe un comentario o lo que quieras sobre Ontología (informática) (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!