Monografía: Ontologías,
Primera Aproximación Proyecto: Repositorio Ontológico para Investigadores Noveles
basado en Semánticas Web y Objetos de Aprendizaje
Entidad Ejecutora: Universidad Nacional del Chaco Austral
Directora: DURAN Elena Beatriz Ferreiro de
Investigadora: ZACHMAN Patricia Paola
Estudiantes: NUÑEZ Juan Francisco, UMAÑO Marcos René
Año 2012
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
2
Resumen
La enorme revolución y avance que supuso el uso generalizado de Internet impulsó
el intercambio de información personal, académica y comercial. La Web está a punto de
sufrir un nuevo cambio: la información que aparece en Internet va a poder interpretarse por
los ordenadores sin necesidad de intervención humana, es la denominada Web Semántica.
Para que esto ocurra, es necesario que la información de las páginas web se codifique
mediante ontologías. Las ontologías representarán el conocimiento de Internet, definiendo
formalmente los conceptos de los diferentes dominios y sus relaciones, con capacidad para
realizar deducciones con este conocimiento.
Introducción
La ingeniería del conocimiento, y en particular el procesamiento de ontologías, son
unos de los problemas en los que más se está centrando la atención en la informática actual.
La razón principal es la emergencia de un nuevo conjunto de aplicaciones en las que las
ontologías juegan un papel fundamental, la mayoría de las cuales se encuentran en dos
campos: la última generación de sistemas para la Web (Web 2.0, Web Semántica) y la
necesidad de integración de aplicaciones empresariales cada vez más distribuidas.
La Web surge como una manera de compartir información, en forma de documentos
estáticos, entre una comunidad científica muy específica [Ber90]. Sin embargo, desde su
génesis hasta la actualidad no ha dejado de ofrecer nuevas posibilidades y usos no previstos
inicialmente, pudiendo considerarse sus repercusiones técnicas y sociales como una
auténtica revolución a finales del siglo XX y comienzos del XXI.
Su éxito provino de su conectividad total gracias a su facilidad de acceso, su
descentralización, su compatibilidad y las facilidades que otorga para que se comparta
conocimiento y recursos. Por contrapartida, a medida que fue creciendo, también posee
limitaciones: crecimiento caótico de los recursos, falta de orden y de organización, alto
costo y dificultad en su mantenimiento (enlaces perdidos, páginas inexistentes o muertas,
…), crecimiento de la Web Oculta o Web Profunda (Hidden Web o Deep Web)1,
buscadores eficientes pero limitados, y algo muy importante, la dificultad del
procesamiento automático.
Ante esto, surge la necesidad de que los contenidos de la Web no estén pensados
solamente para que los lea un ser humano, sino para que también sea interpretado por algún
1 Se trata básicamente de herramientas de búsqueda especializada en sitios poco frecuentados por los buscadores
más tradicionales. Entre estas fuentes pueden destacarse directorios sectoriales, bases de datos accesibles en línea
(a menudo denominadas Deep Web) o páginas de difícil acceso. Según algunas estimaciones, la Web Oculta
puede ser en torno a 500 veces la Web Visible. Por ello el saber acceder al resto de los recursos puede ser una
importante ventaja competitiva en términos de acceso a la información. La clave es, por tanto, disponer de las
herramientas adecuadas, así la verdadera cara oculta de la Web Oculta está en la conversión que cada cual puede
hacer de esa información en un verdadero conocimiento.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
3
sistema informático de forma significativa. Por ello surge el concepto de Web Semántica.
La Web Semántica trata de dotar de una estructura semántica a los contenidos
significativos de la Web, creando un entorno en el que aplicaciones de software naveguen
las páginas realizando complejas tareas para los usuarios.
No es una nueva Web segregada de la actual. Es una extensión de la actual en la que
la información se ofrece con un significado bien definido, permitiendo a ordenadores y
personas trabajar de forma cooperativa.
La idea que existe detrás de la Web Semántica es tener datos en la Web definidos y
enlazados de manera que puedan ser usados de forma más efectiva para un descubrimiento,
una automatización, una integración y una reutilización entre diferentes aplicaciones. Para
ello la Web debe evolucionar, ofreciendo una plataforma accesible que permita que los
datos se compartan y se procesen por herramientas automatizadas o personas.
El reto, es ofrecer el lenguaje que exprese tanto datos como reglas para razonar
sobre los datos, y además permita que las reglas sobre cualquier sistema de representación
del conocimiento sean exportadas a la Web, aportando un importante grado de flexibilidad
y frescura a los sistemas de representación de conocimiento centralizados tradicionales, que
se vuelven sumamente agobiantes, crecen rápidamente de tamaño y se vuelven
inmanejables.
Diferentes sistemas web pueden utilizar diferentes identificadores para un mismo
concepto. Así, un programa que quiera comparar o combinar información entre dichos
sistemas tiene que conocer qué términos significan lo mismo. Idealmente, el programa
debería tener una forma de descubrir los significados comunes de cualquier base de datos
que encuentre. Una solución a este problema es incluir un nuevo elemento a la Web
Semántica, colecciones de información denominadas ontologías. Una ontología es una
herramienta conceptual que define un vocabulario común para quien necesita compartir
información dentro de un determinado dominio. Esto incluye definiciones de los conceptos
básicos del dominio, así como sus relaciones, que tienen que ser interpretables por
máquinas [Noy00].
Una ontología no es más que una especificación de lo que existe en un dominio,
convirtiéndose éstas en una pieza fundamental de las tecnologías orientadas a la Web
Semántica. Sin embargo, es un término que ha recibido diferentes acepciones e
interpretaciones en distintas disciplinas, aunque este efecto también se ha dado dentro de la
misma área de conocimiento, como por ejemplo en la inteligencia artificial.
Esta aparición de nuevas aplicaciones ha motivado que el concepto informático de
ontología, desarrollado durante las últimas tres décadas por una comunidad relativamente
pequeña de investigadores, haya ganado repentinamente mucha visibilidad, lo que ha
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
4
causado no pocas fricciones al formarse equipos multidisciplinares, cuyos miembros no
informáticos poseen un bagaje investigador en el que ontología tiene connotaciones muy
diferentes.
El objetivo de este trabajo es dar una visión general de la tradición de
representación del conocimiento, que ha dado lugar al concepto actual de ontología en
informática. Definiremos qué es una ontología, cómo se puede diseñar, cómo se puede
especificar y relacionarlas con la Web Semántica.
A partir de esta base, introduciremos los principios en los que se basan los sistemas
actuales de representación en los que se basan los sistemas actuales de representación
informática de ontologías, y representaremos como ejemplo el sistema de Protégé, que tiene
como gran ventaja el hecho de soportar simultáneamente múltiplos paradigmas de
representación del conocimiento.
El Intercambio de Conocimientos en la Web Semántica
En los últimos años, muchos investigadores están diseñando modelos para
transformar la red desde un espacio de información a un espacio de conocimientos.
Recientemente, Tim Berners-Lee, uno de los inventores de la Web, defiende el desarrollo
de la Web con conocimientos [Ber99], y organizaciones como SematicWeb2 se encargan de
estandarizar lenguajes y herramientas para hacer efectiva la web semántica. Pero, ¿qué se
puede hacer en la web semántica?
La idea es que los datos puedan ser utilizados y “comprendidos” por los
ordenadores sin necesidad de supervisión humana, de forma que los agentes web puedan
ser diseñados para tratar la información situada en las páginas web de manera
semiautomática.
Se trata de convertir la información en conocimiento, referenciando datos dentro de las
páginas web a metadatos con un esquema común consensuado sobre algún dominio. Los
metadatos no sólo especificarán el esquema de datos que debe aparecer en cada instancia,
sino que además podrán tener información adicional de cómo hacer deducciones con ellos,
es decir, axiomas que podrán aplicarse en los diferentes dominios que trate el conocimiento
almacenado.
Con ello, se mejorará la búsqueda de información y se potenciará el desarrollo de
aplicaciones de comercio electrónico, ya que las anotaciones de información seguirán un
esquema común, y los buscadores web compartirán con las anotaciones web los mismos
esquemas. Empresas que traten con clientes y proveedores, podrán intercambiar sus datos
de productos siguiendo estos esquemas comunes consensuados.
2 www.semanticweb.org
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
5
Los agentes web no sólo encontrarán la información de forma precisa, si no que
podrán realizar inferencias automáticamente buscando información relacionada con la que
se encuentra situada en las páginas, y con los requerimientos de la consulta indicada por el
usuario.
Frente a la semántica implícita, el crecimiento caótico de recursos, y la ausencia de
una organización clara de la web actual, la web semántica aboga por clasificar, dotar de
estructura y anotar los recursos con semántica explícita procesable por máquinas. La
figura1 a continuación ilustra esta propuesta. Actualmente la web se asemeja a un grafo
formado por nodos del mismo tipo, y arcos (hiperenlaces) igualmente indiferenciados. Por
ejemplo, no se hace distinción entre la página personal de un profesor y el portal de una
tienda on-line, como tampoco se distinguen explícitamente los enlaces a las asignaturas que
imparte un profesor de los enlaces a sus publicaciones. Por el contrario en la web semántica
cada nodo (recurso) tiene un tipo (profesor, tienda, pintor, libro), y los arcos representan
relaciones explícitamente diferenciadas (pintor – obra, profesor – departamento, libro –
editorial).
La web semántica mantiene los principios que han hecho un éxito de la web actual,
como son los principios de descentralización, compartición, compatibilidad, máxima
facilidad de acceso y contribución, o la apertura al crecimiento y uso no previstos de
antemano. En este contexto un problema clave es alcanzar un entendimiento entre las partes
que han de intervenir en la construcción y explotación de la web: usuarios, desarrolladores
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
6
y programas de muy diverso perfil. La web semántica rescata la noción de ontología del
campo de la Inteligencia Artificial como vehículo para cumplir este objetivo.
Las Ontologías como Soporte de la Web Semántica
Para que esto pueda llevarse a cabo, se necesita que el conocimiento de la web esté
representado de forma que sea legible por los ordenadores, esté consensuado, y sea
reutilizable. Las ontologías proporcionan la vía para representar este conocimiento. A
continuación definiremos el concepto de ontología por diferentes autores.
Definición de Ontología
En la práctica informática, el término de ontología ha adoptado connotaciones
peculiares, alejadas de su sentido filosófico original. A partir de principios de la década de
1990 han proliferado las definiciones de ontología en la literatura informática. Gómez
Pérez y otros (2005) proporcionan una discusión completa; a continuación discutiremos las
más relevantes, entre las que destaca la dada por Gruber [Grub05], que es más citada:
A conceptualization is an abstract, simplified view of the world that we wish to
represent for some purpose. Every knowledge base, knowledge-based system, or knowledge
level agen is committed to some conceptualization, explicitly or implicitly.
An ontology is an explicit specification of a conceptualization. The term is borrowed
from philosophy, where an Ontology is a systematic account of Existence. For AI sistems,
what “exists” is that which can be represented.
La definición está basada en el concepto de conceptualización propuesto anteriormente
por Genesereth y Nilsson (1987)[Gen92], y que en esencia se refiere al conjunto de
conceptos y relaciones entre conceptos que son relevantes en un dominio o una aplicación.
La definición de Gruber fue clarificada por [Borst97]: “An ontology is a formal
specification of a shared conceptualization”. Se pone el énfasis en dos ideas clave:
- Una ontología debe ser especificada usando un lenguaje formal, que pueda ser
procesado por ordenadores y no sólo por personas.
- La ontología es conocimiento compartido, fruto del consenso dentro de un grupo.
La relación entre ontologías, lenguajes formales y programas informáticos es explicada
por Sowa [Sowa00] en su introducción a los sistemas basados en conocimiento:
Knowledge representation is a multidisciplinary subject that applies theories and
techniques from three other fields: Logic provides the formal structure and rules of
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
7
interference. Ontology defines the kinds of things that exist in the application that
distinguish knowledge representation from pure philosophy.
Without logic, a knowledge representation is vague, with no criteria for determining
whether statements are redundant or contradictory. Without ontology, the terms and
simbols are ill-defined, confused, and confusing. And whithout computable models, the
logic and ontology cannot be implemented in computer programs. Knowledge
representation is the application of logic and ontology to the task of constructing
computable models for some domain.
En última instancia, el concepto de una ontología en informática es el de
herramienta (un artefacto ingenieril, en palabras de Guarino [Gua94]) útil para un
propósito, un dominio o una aplicación concreta. Como veremos, esta visión pragmática ha
sido crucial en el desarrollo de las diversas adaptaciones del concepto de ontología a los
usos informáticos.
Características y tipos de ontologías
Las ontologías pueden ser consideradas como repositorios de información ligada a
hechos particulares, a través de la cual se da una interpretación particular a los datos. El
conocimiento de una ontología puede ser verdadero, codificado en una ontología, ó
deducido, que significa que se deriva por alguna forma de razonamiento.
Características representativas de las ontologías
Algunas de las características más representativas de las ontologías se mencionan más
adelante:
• Ontologías múltiples: El propósito de una ontología es hacer explícito algún
punto de vista, por lo tanto, a veces será conveniente combinar dos o más ontologías.
Cada ontología va a introducir conceptualizaciones específicas.
• Distintos niveles de abstracción de las ontologías: Estos niveles de
generalización o abstracción nos dan una topología de ontologías. La idea es caracterizar
una red de ontologías con el uso de multiplicidad y abstracción. Puesto que no podemos
aspirar a tener una descripción completa del mundo, se puede pensar en una estrategia de
construcción gradual de abajo hacia arriba.
• Multiplicidad de la representación: Un concepto puede ser representado de
muchas formas, por lo que pueden coexistir múltiples representaciones de un mismo
concepto.
• Mapeo de ontologías: Establecer relaciones entre los elementos de una o más
ontologías, para establecer conexiones, especializaciones, generalizaciones, etc.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
8
Propiedades que deben cumplir las ontologías
Algunas propiedades que deben cumplir las ontologías:
• Claridad: Para comunicar el significado intencionado de los términos
definidos.
• Coherencia: Para sancionar inferencias que son consistentes con las
definiciones.
• Extensibilidad: Para anticipar el uso de vocabulario compartido.
• Sesgo de codificación mínimo (Minimal encoding bias): Debe de
especificar al nivel de conocimiento sin depender de una codificación particular a nivel de
símbolo.
• Mínimo compromiso ontológico: Debe de hacer la menor cantidad de
"pretensiones'' acerca del mundo modelado.
Clasificación en cuanto al ámbito de conocimiento
Existen 4 tipos de ontologías en función de su alcance y posibilidad de aplicación:
• Ontología de la aplicación: usadas por la aplicación. Por ejemplo,
ontología de procesos de producción, de diagnóstico de fallas, de diseño intermedio de
barcos, etc.
• Ontología del dominio: específicas para un tipo de artefacto,
generalizaciones sobre tareas específicas en algún dominio concreto del conocimiento. Por
ejemplo, ontología del proceso de producción.
• Ontologías técnicas básicas: describen características generales de
artefactos. Por ejemplo: componentes, procesos y funciones.
• Ontologías genéricas: describe la categoría de más alto nivel, describiendo
conceptos generales (como tiempo, espacio, objeto, etc.).
Otras posibles clasificaciones de las ontologías son: en función de su punto de vista,
por ejemplo: físico, de comportamiento, funcional, estructural, topológico, etc.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
9
Según el grado o nivel de abstracción y razonamiento lógico que permitan, por
ejemplo: ontologías descriptivas, que incluyen taxonomías de conceptos, relaciones entre
conceptos pero no permiten inferencias lógicas y ontologías lógicas.
Las que permiten inferencias lógicas mediante la utilización de una serie de
componentes como la inclusión de axiomas, etc.
Diseño de Ontologías
Las ontologías pueden ser utilizadas como herramienta en la ciencia computacional,
su mayor uso se ve más explícito en el campo de la Inteligencia Artificial y disciplinas tales
como la robótica e ingeniería del conocimiento.
Las técnicas de programación orientadas a objetos están siendo más comunes,
debido a que su representación en términos de clases, atributos de las clases, objetos y la
jerarquía de la herencia de clases, ha influido a un número de lenguajes y esquemas que se
utilizan para la representación de conocimiento digital.
Ontología es la teoría de objetos en términos de criterios, que nos permiten
distinguir entre diferentes tipos de objetos y sus relaciones, dependencias y propiedades.
Elementos básicos de una ontología
La ontología define modelos base que tendrán la definición semántica representando
a una clase de objetos en la ontología. En la ontología se definen un conjunto de términos
representativos llamados conceptos. Las ontologías dependientes de dominio proveen
conceptos en un dominio específico, que se enfoca en el conocimiento en un área limitada;
las ontologías genéricas proveen conceptos en un dominio en específico, enfocado al
conocimiento de un área limitada.
En una ontología, los conceptos son las unidades fundamentales para la
especificación.
Proveen una base para la descripción de información. Cada concepto consta de 3
componentes básicos: términos, atributos, relaciones. Los términos son los nombres
utilizados para referirse a y un concepto específico que puede incluir un conjunto de
sinónimos que especifican los mismos conceptos. Los atributos son las características de un
concepto y describen el concepto a más detalle. Las relaciones se utilizan para representar
correspondencias entre diferentes conceptos y para proveer una estructura general a la
ontología.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
10
Cada concepto define una clase que es una representación para una agrupación
conceptual de términos similares. Por ejemplo, una computadora podría ser representada
como una clase, que tiene muchas subclases como son computadoras personales,
mainframes, Workstation, etc.
Las ontologías están formadas de los siguientes componentes que servirán para
representar el conocimiento de algún dominio en específico.
Existen diferentes formalismos de representación de conocimientos para formalizar
(e implementar) ontologías y cada uno de ellos tiene distintos componentes que pueden ser
utilizados en estas tareas de formalización e implementación, sin embargo, dichos
formalismos comparten un conjunto mínimo de componentes, a saber:
Clases o Conceptos, que representan conceptos tomados en su sentido más amplio.
En el dominio de los viajes, por ejemplo, los conceptos que tenemos son: lugares
(ciudades, pueblos, etc.), alojamiento (hoteles, campings, etc.) y medios de
transportes (aviones, trenes, coches, transbordadores, motos, barcos). En la
ontología, las clases están normalmente organizadas en taxonomías por medio de las
cuales se pueden aplicar los mecanismos de herencia. Podemos representar, por
ejemplo, una taxonomía de lugares de diversión (teatro, cine, sala de conciertos,
etc.) Por otro lado, las metaclases también se pueden definir en el paradigma KR
basado en marcos. Metaclases son clases cuyas instancias también son clases y
permiten hacer una gradación del significado ya que establecen diferentes capas de
clases en la ontología en la que están definidas.
Relaciones o Funciones, que representan un tipo de asociación entre los conceptos
del dominio y se definen formalmente como cualquier subconjunto de un producto
de n conjuntos, es decir: R ⊂ C1 x C2 x…xCn . Las ontologías normalmente
contienen relaciones binarias, cuyo primer argumento es conocido como dominio o
la relación, mientras que el segundo es conocido como rango.
Las relaciones binarias muchas veces se utilizan para expresar atributos de
conceptos, conocidos como ranuras (slots) y estos atributos se distinguen de las
relaciones porque su rango es un tipo de datos como, por ejemplo, cadena de
caracteres, número, etc., mientras que el rango de las relaciones es un concepto.
Axiomas, Según Gruber, [Grub93] sirven para modelizar afirmaciones que son
siempre ciertas. En ontologías se utilizan generalmente para representar
conocimiento que no se puede definir formalmente a través de otros componentes,
además sirven para verificar la consistencia de la ontología misma o la consistencia
de los conocimientos almacenados en una base de conocimientos, porque son muy
útiles para inferir conocimientos nuevos. Un axioma en el dominio de los viajes
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
11
sería: no es posible viajar de América a Europa en tren.
Instancias, que se utilizan para representar elementos o individuos en una
ontología.
Las ontologías se pueden ver como un conjunto de conceptos-definiciones, estos
conceptos pueden ser ordenados en jerarquías de taxonomías y tener propiedades asociadas.
En un sentido de manejo de conocimiento, las ontologías aportando una herramienta
para la representación de la semántica de la información y automatización del proceso de
recuperación; son el vehículo para la representación e intercambio del conocimiento en
diferentes niveles de granularidad de diferentes dominios.
La ontología codifica la estructura relacional de conceptos, utilizada para describir
aspectos del mundo. En el proceso de creación de una ontología, se hace uso de
conocimiento previo almacenado en una ontología para la indexación y solución a
problemas de búsquedas. La anotación basada en ontologías es relativamente nueva, pero
que ha mostrado ser de gran utilidad.
Las ontologías se pueden formalizar, además de con formalismos y lenguajes
creados específicamente para representar conocimientos a través de enfoques del campo de
la ingeniería del software, tales como Unified Modeling Language (UML) [Runbaugh y
otros, 1999] o los Diagramas de Entidad Relación (ER) [Chen, 1976], para luego
transformar sus modelos conceptuales en ontologías formales que se puedan representar en
lenguajes de ontologías.
Pasos para la creación de una ontología
Al crear una ontología, se hace explícita la categorización de elementos y relaciones
que intervienen en un modelo de conocimiento. Por un lado el modelo de conocimiento se
puede editar y gestionar, por otro lado, se puede transmitir de manera que un sistema
“entienda” la conceptualización que se ha utilizado en otro. Este hecho se ha citado
fundamental, al convertir el proceso de creación de escenarios educativos en una labor de
ingeniería más que en una labor artesana, además de proporcionar un conocimiento del
dominio reusable y mantenible.
La utilidad de una ontología se puede medir en la capacidad de permitir a los
sistemas, hacer referencias a otros componentes de conocimiento definidos, siempre que
ambos compartan la misma conceptualización. Una ontología compartida solo necesita
describir un vocabulario común para hablar sobre un dominio.
A continuación se citan algunos de los pasos para la creación de una ontología:
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
12
1. Definir el dominio y alcance de la ontología. Esto es definir el dominio que
cubrirá la ontología, definir el uso la aplicación final de dicha ontología, definir a qué tipo
de preguntas responderá la ontología, recolectar la información necesaria, etc.
2. Considerar el rehuso de ontologías, en caso de poder aplicarse se recolectan
términos y características de ontologías comunes ya existentes.
3. Enumerar términos importantes en la ontología. Definir una lista de los términos
que se quieren almacenar en la ontología, así como de sus propiedades y las relaciones que
existen entre ellos.
4. Definir las clases y la jerarquía de clases. Esto es definir la estructura conceptual
del dominio, siguiendo el método top-down, primero se crean las clases para los conceptos
generales en el dominio y su especialización subsiguiente.
5. Definir las propiedades de las clases. Las clases por sí solas no proveen
suficiente información para responder a las peticiones, una vez definidas las clases se deben
definir la estructura interna de los conceptos.
6. Creación de instancias. Creación de instancias de clases individuales en la
jerarquía.
Las ontologías generalmente se usan para:
Anotar términos.
Realizar búsquedas basadas en vistas.
Dar semántica a las relaciones.
La ontología ayuda al usuario a formular consultas de forma correcta.
Compartir el entendimiento común de la estructura de información entre
personas o agentes de software.
Permitir la reutilización de conocimiento de un dominio.
Explicitar suposiciones de un dominio.
Separar el conocimiento del dominio del conocimiento operacional.
Analizar el conocimiento de un dominio, entre otras.
Relaciones que se presentan en una ontología
La ontología, como se ha mencionado anteriormente define un conjunto de clases,
relaciones, funciones y constantes para un determinado dominio, además introduce axiomas
para restringir la interpretación de estos elementos. Las relaciones que se establecen entre
los elementos del dominio son aquellas que clasifican las entidades del dominio en base a
relaciones como: “es-un”, “instancia-de” y “parte-de”.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
13
La relación “instancia-de”, es una membresia entre conceptos. “Parte-de” muestra
relaciones de composición. La relación “es-un”, muestra la propiedad de inclusión,
utilizada en las ontologías para encontrar la similitud a la hora de la comparación. Cuando
un concepto tiene una relación “es-un” hacia otro concepto, significa que el segundo
concepto es más general que el primer concepto.
Una ontología no sólo sirve para hacer anotaciones y precisar la recuperación de la
información, también ayuda al usuario a especificar información correcta y necesaria para
generar consultas correspondientemente. La mayor dificultad que podrían presentar las
ontologías es el trabajo extra que se necesita, para su creación y anotación detallada. Pero a
cambio se obtiene una mejor recuperación de información, que es en sí el objetivo de
nuestro proyecto de investigación.
Cómo Alcanzar la Web Semántica
Para poder explotar la web semántica, se necesitan lenguajes de marcado apropiados
que representen el conocimiento de las ontologías.
Actualmente, mediante OWL (Ontologic Web Language) o RDF-RDF Schema se
pueden representar algunas facetas sobre conceptos de un dominio y permite, mediante
relaciones taxonómicas, crear una jerarquía de conceptos. Pero se necesitan lenguajes de
marcado (basados en RDF) con mayor expresividad y capacidad de razonamiento para
representar los conocimientos que contienen las ontologías [Cor00]. De esta forma, existen
ya disponibles herramientas como Protégé3, OntoEdit
4, o WebOnto
5 para realizar
anotaciones en páginas web con lenguajes de marcado propios.
El lenguaje con gran capacidad expresiva que está emergiendo como un estándar
para realizar anotaciones de ontologías en web es DAML6, aunque en este momento no
tiene sus formatos totalmente definidos.
Por otro lado, se necesitan agentes y aplicaciones web que exploten este
conocimiento anotado en las páginas web. Estos agentes de conocimientos web serán
capaces de interpretar los esquemas ontológicos y axiomas de diferentes dominios,
mantendrán la consistencia de las instancias que se inserten en las páginas web siguiendo
los esquemas ontológicos definidos, realizarán una búsqueda con inferencias utilizando los
axiomas situados en los esquemas, y podrán realizar ligaduras de los árboles taxonómicos
de varias ontologías.
Para potenciar el uso de ontologías en la web, se necesitan aplicaciones específicas
de búsqueda de ontologías, como (Onto)Agent7 [Arp00], que indiquen a los usuarios las
3http://protege.semanticweb.org
4http://ontoserver.aifb.unikarlsruhe.de/ontoedit/
5http://kmi.open.ac.uk/projects/webonto/
6 http://www.daml.org
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
14
ontologías existentes y sus características para poder utilizarlas en su sistema
De la Web Actual a la Web Semántica
Llegados a este punto una pregunta importante a responder es cómo encaja la web
semántica con la actual, es decir a) cómo accederá el usuario a la web semántica, y sobre
todo, b) cómo hacer la transición de la web actual a la web semántica. Para que la web
semántica pueda realizarse es importante que guarde, al menos al principio, una
compatibilidad con la tecnología actual. Es deseable por ejemplo mantener HTML (u otros
lenguajes compatibles con los navegadores actuales) como vehículo de comunicación con
el usuario. La asociación entre las instancias de la web semántica y el código HTML se
puede establecer de distintas maneras (ver figura 2). Una consiste en conservar los
documentos actuales, y crear las instancias asociadas anotando su correspondencia con los
documentos (imagen izquierda en la figura 2). Esta posibilidad es la más viable cuando se
parte de un gran volumen de material antiguo. Otra es generar dinámicamente páginas web
a partir de las ontologías y sus instancias (imagen derecha).
Esta última opción puede resultar factible cuando los documentos antiguos ya se
estaban generando automáticamente a partir, por ejemplo, de una base de datos.
La transición de la web actual a la web semántica puede implicar un coste altísimo
si tenemos en cuenta el volumen de contenidos que ya forman parte de la web. Crear y
poblar ontologías supone un esfuerzo extra que puede resultar tedioso cuando se agregan
nuevos contenidos, pero directamente prohibitivo por lo que respecta a integrar los miles de
gigabytes de contenidos antiguos. Las estrategias más viables combinan una pequeña parte
de trabajo manual con la automatización del resto del proceso. Las técnicas para la
automatización incluyen, entre otras, el mapeo de la estructura de bases de datos a
ontologías, el aprovechamiento, previa conversión, de los metadatos y estándares de
7 http://delicias.dia.fi.upm.es/OntoAgent
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
15
clasificación presentes en la web (y fuera de ella), y la extracción automática de metadatos
a partir de texto y recursos multimedia.
Otra dificultad importante a la hora de realizar la web semántica en la práctica es la
de consensuar ontologías en una comunidad por poco amplia que sea. Converger a una
representación común es una labor más compleja de lo que puede parecer, ya que
típicamente cada parte del sistema conlleva peculiaridades necesarias, y un punto de vista
propio que a menudo necesitan incidir en la propia ontología. La representación del mundo
no es neutra respecto al uso que se le va a dar: tanto un dietista como un biólogo tienen
conocimiento sobre las plantas, pero su representación de esa materia es muy distinta, y
probablemente no sería adecuado imponer la misma representación para ambas
perspectivas. Las vías para salvar esta dificultad consisten en compartir ontologías para las
áreas comunes en que puede tener lugar una interacción o intercambio de información entre
las partes, y establecer formas de compatibilidad con las ontologías locales, mediante
extensión y especialización de las ontologías genéricas, o por mapeo y exportación entre
ontologías.
Lenguaje OWL
El Lenguaje de Ontología Web OWL está diseñado para ser usado por aplicaciones
que procesan el contenido de la información en lugar de presentar esta información a los
humanos. OWL puede usarse para representar explícitamente el significado de términos en
un vocabulario y las relaciones entre estos términos. A este conjunto de términos y
relaciones se le llama ontología. OWL tiene más facilidades para expresar los significados
y la semántica que XML, RDF, y RDF-S, y así OWL va más allá que estos lenguajes en su
capacidad para representar el contenido para ser usado por las máquinas intérpretes en la
Web. OWL es una revisión del Lenguaje de Ontología DAML + OIL incorporando
lecciones aprendidas del diseño y aplicación del mismo.
El lenguaje OWL está descrito en un conjunto de documentos, cada uno con un
propósito y destinado a un público diferente, revisado por miembros del W3C y otras partes
interesadas, y confirmado como una Recomendación W3C (World Wide Web Consortium).
Los documentos existentes son los siguientes:
• Introducción OWL da una simple introducción a OWL proporcionando una lista
de características del lenguaje con una breve descripción.
• Guía OWL demuestra el uso del Lenguaje OWL proporcionando amplios
ejemplos. También proporciona un glosario de los términos usados en el documento.
• Referencia OWL da una sistemática y compacta (pero todavía informal)
descripción de todo el modelado primitivo de OWL.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
16
• Semántica y Sintaxis Abstracta de OWL es el documento final y formal con la
definición de la normativa del lenguaje.
• Casos de Prueba del Lenguaje de Ontología Web OWL es un documento que
contiene un amplio conjunto de casos de prueba del lenguaje.
• Requisitos y Casos de Uso de OWL es un documento que contiene un conjunto
de casos de uso para el lenguaje de ontología Web y especifica un conjunto de requisitos
para OWL.
¿Por qué OWL?
La Web Semántica es una visión del futuro de la Web en la cual la información está
dada explícitamente como significado, haciendo más fácil para las máquinas procesar e
integrar automáticamente la información disponible en la Web. La Web Semántica se
construirá sobre las capacidades de XML para definir esquemas etiquetados de RDF para la
representación de datos.
El primer nivel requerido encima de RDF para la Web Semántica es un lenguaje de
ontología que pueda describir formalmente el significado o la terminología usada en
documentos Web. Si las máquinas van a realizar tareas de razonamiento en estos
documentos, el lenguaje debe ir encima de la semántica básica de RDF Schema.
OWL ha sido diseñado como un Lenguaje de Ontología Web para satisfacer esta
necesidad. OWL es parte de las numerosas recomendaciones de W3C relativas a la Web
Semántica.
• XML proporciona una firme sintaxis para documentos estructurados, pero no
impone construcciones semánticas en el significado de estos documentos.
• XML Schema es un lenguaje para restringir la estructura de los documentos XML
y también extiende XML con tipos de datos.
• RDF es un modelo de datos para objetos (“recursos”) y relaciones entre ellos.
Proporciona una semántica simple para el modelo de datos, y estos modelos de datos
pueden ser representados en una sintaxis XML.
• RDF Schema es un vocabulario para describir propiedades y clases de recursos
RDF, con una semántica para la generalización de jerarquías de tales propiedades y clases.
OWL añade más vocabulario para describir propiedades y clases, por ejemplo,
relaciones entre clases, cardinalidad, equivalencias, características de propiedades…
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
17
Los tres sublenguajes de OWL
OWL proporciona tres sublenguajes diseñados para usarse por comunidades
específicas de programadores y usuarios. Los tres sublenguajes son OWL Lite, OWL DL y
OWL Full. Cada uno de estos sublenguajes es una extensión de su predecesor:
• OWL Lite soporta una jerarquía de clasificación y construcciones simples. Por
ejemplo, soporta cardinalidad, pero sólo permite valores de 0 ó 1. Sería más simple
proporcionar herramientas que soporten OWL Lite en vez de expresiones más complejas, y
OWL Lite proporciona una rápida migración a otras taxonomías. OWL Lite también tiene
una complejidad formal menor que OWL DL.
• OWL DL soporta a los usuarios que quieren la máxima expresividad mientras
conservan las conclusiones computacionales (todas las conclusiones son guardadas para ser
computables) y la capacidad de decidir (todas las operaciones finalizarán en tiempo finito).
OWL DL incluye todo lo que el lenguaje OWL construye, pero puede usarse sólo bajo
ciertas restricciones (por ejemplo, mientras que una clase puede ser una subclase de muchas
clases, una clase no puede ser una instancia de otra clase). OWL DL se llama así debido a
su correspondencia con descripciones lógicas.
• OWL Full soporta a los usuarios que quieren la máxima expresividad y la libertad
sintáctica de RDF sin garantías computacionales. Por ejemplo, en OWL Full una clase
puede ser tratada simultáneamente como una colección de individuos. OWL permite
ontologías que aumenten el significado del vocabulario predefinido (RDF o OWL). Es
improbable que algún software de razonamiento sea capaz de soportar completamente
razonamiento para cada característica de OWL Full.
Los desarrolladores de ontologías deberían considerar qué sublenguaje es mejor
para sus necesidades. La elección entre OWL Lite y OWL DL depende de la extensión que
el usuario requiere, usando OWL DL para construcciones más complejas. La elección entre
OWL DL y OWL Full principalmente depende de la extensión que el usuario requiere
modelando las facilidades de RDF Schema (por ejemplo, definiendo clases de clases, o
atacando a propiedades de clases).
OWL Full puede ser visto como una extensión de RDF, mientras que OWL Lite y
OWL DL pueden ser vistos como extensiones de una vista restringida de RDF.
Cada documento OWL (Lite, DL, Full) es un documento RDF y cada documento
RDF es un documento OWL Full, pero sólo algunos documentos RDF pueden ser
documentos OWL Lite o OWL DL legales. Debido a esto, hay que tener cuidado cuando se
quiera migrar un documento RDF a OWL. Cuando la expresividad de OWL DL o OWL
Lite es apropiada, hay que tomar algunas precauciones para asegurar que el documento
RDF original cumpla con obligaciones adicionales impuestas por OWL DL y OWL Lite.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
18
Protégé 2000
Protégé 2000 es una herramienta de software usada para desarrollar Sistemas de
Bases de Conocimiento, tanto por expertos en un determinado dominio como por
ingenieros de conocimiento. Las aplicaciones desarrolladas con Protégé 2000 se usan para
resolver problemas y tomar decisiones en un dominio particular.
En versiones iniciales de Protégé, al igual que en sistemas de bases de datos
clásicos, se definen, de forma separada, las clases de información (schema), y se
almacenan las instancias de las clases. En Protégé 2000 se facilita el trabajo porque permite
trabajar simultáneamente con clases e instancias. Así, una instancia se podría usar para la
definición de una clase, y una clase puede ser almacenada como una instancia. Igualmente,
las propiedades, las cuales al principio sólo podían usarse dentro de las clases, ahora se
elevan al mismo nivel que éstas. Con este nuevo modelo de conocimiento, también se
facilita el manejo del Conector para Abrir la Base de Conocimiento (OKBC) para acceder a
bases de conocimientos almacenadas en sistemas de representación de conocimiento. Por
último, las aplicaciones que están encima de estos componentes son también ejecutadas
dentro del entorno integrado Protégé 2000.
La principal ventaja de Protégé 2000 es que los sistemas de conocimientos son muy
caros de construir y mantener. Por ejemplo, se espera que el desarrollo de sistemas de bases
de conocimiento sea un esfuerzo de equipo, incluyendo desarrolladores y expertos en el
dominio, que pueden tener menos familiaridad con el software computacional. Protégé
2000 está diseñado para guiar a desarrolladores y expertos en el dominio durante el proceso
de desarrollo del sistema. Protégé 2000 está diseñado para permitir a los desarrolladores
reutilizar dominios de ontologías y métodos de resolución de problemas. Varias
aplicaciones pueden usar la misma ontología de dominio para resolver distintos problemas,
y el mismo método de resolución de problemas puede ser usado con diferentes ontologías.
OWL Plugin
El OWL Plugin es una extensión de Protégé que soporta el Lenguaje de Ontología Web
(OWL).
OWL Plugin permite cargar y salvar ontologías OWL y RDF, editar y visualizar clases
OWL y sus propiedades, definir características lógicas de clases como expresiones OWL,
ejecutar razonadores tales como clasificadores lógicos de descripciones, y editar individuos
OWL para Web Semántica.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
19
La arquitectura flexible de Protégé hace fácil configurar y extender la herramienta. Protégé
tiene una API Java de libre distribución para el desarrollo de componentes de la interfaz de
usuario o servicios arbitrarios de Web Semántica.
El OWL Plugin tiene la siguiente arquitectura:
Creando Ontologías con Protégé 2000
Introducción
En este apartado vamos a ver de forma resumida cómo crear una ontología en el
Plugin OWL de Protégé 2000. Vamos a ver cómo se crean las clases, las propiedades y las
instancias, y vamos a analizar el espacio de nombrado y la importación de ontologías.
Creando Jerarquía de Clases Arrancamos Protégé 2000, y nos aparece el siguiente cuadro:
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
20
Debemos elegir un formato para el proyecto. Como nuestro proyecto será un fichero OWL, seleccionamos
OWL Files, y pulsamos New. Nos aparece entonces lo siguiente:
Todas las clases que creemos serán subclases de Thing, es decir. Thing es la superclase de todas las clases.
Para crear clases se puede hacer de varias formas:
1) Situamos el ratón sobre owl:Thing y pulsamos el botón derecho. Nos aparece una lista y pulsamos sobre
Create Subclass.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
21
2) Otra forma es pulsando el botón de Create Subclass
Si hacemos esto, bien por el camino 1) o 2), nos aparece lo siguiente:
Y en Name debemos escribir el nombre que queremos que tenga nuestra clase:
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
22
Así podemos ir creando toda la jerarquía de clases y subclases.
Dos clases son disjuntas cuando un individuo no puede ser instancia de las dos clases a la vez. Para
especificar que dos clases son disjuntas hay que seleccionar la clase, irse al cuadro de clases disjuntas y
añadir las clases que son disjuntas a la clase seleccionada. El cuadro de clases disjuntas es:
Creando Propiedades
Las propiedades OWL establecen relaciones entre dos individuos. Hay dos tipos
principales de propiedades: ObjectProperties y DatatypesProperties. Los ObjectProperties
enlazan a un individuo con otro individuo. Los DatatypeProperty enlazan a un individuo
con un tipo de datos XML Schema o un literal RDF. OWL también tiene un tercer tipo de
propiedad, AnnotationProperties. Las AnnotationProperties pueden ser usadas para añadir
información (metadatos, datos sobre datos) a clases, individuos y propiedades object o
datatype.
Las propiedades pueden crearse usando la tabla de propiedades siguientes:
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
23
O bien el recuadro siguiente:
Si queremos crear un DatatypeProperty, pulsamos sobre el botón de DatatypeProperty, y nos sale lo siguiente.
En Name escribimos el nombre que queremos que tenga nuestra Propiedad.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
24
Y en Rango seleccionamos el tipo de datos que tendrán los valores de la propiedad. Esos tipos son los
siguientes:
Si queremos crear un ObjectProperty, pulsamos sobre el botón de ObjectProperty, y nos sale lo siguiente:
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
25
En Name escribimos el nombre que queremos que tenga nuestra Propiedad. Y en Rango seleccionamos las
clases que formarán parte del rango. Para especificar que una propiedad es la inversa de otra se usa el cuadro
siguiente:
Una propiedad funcional para un individuo dado significa que ese individuo sólo se relaciona con un único
individuo (o ninguno) vía esa propiedad. Para indicar que una propiedad es funcional hay que pulsar el
recuadro siguiente:
Una propiedad es inversa de funcional cuando la propiedad inversa es funcional. Para indicar hay que pulsar
el recuadro de Inverse Functional. Una propiedad es transitiva si cumple que para un individuo A que se
relaciona con una propiedad transitiva a un individuo B, y B se relaciona por esa misma propiedad a un
individuo C, entonces A se relaciona por esa propiedad a un individuo C. Para indicar que una propiedad es
transitiva hay que pulsar el recuadro siguiente:
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
26
Una propiedad es simétrica si cumple que para dos individuos A y B, si se relaciona con B por una propiedad
simétrica entonces B también se relaciona con A a través de esa propiedad. Para indicar que una propiedad es
simétrica hay que pulsar el siguiente recuadro:
A las propiedades se les pueden poner restricciones. Las restricciones se usan para restringir el número de
individuos que pertenecen a una clase. Las restricciones en OWL pueden tener tres categorías: restricciones
cuantificadoras, restricciones de cardinalidad y restricciones hasValue.
Para crear una restricción hay que pulsar create restriction (botón que pone R) en el siguiente cuadro:
Si pulsamos el botón R (create restiction) nos sale:
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
27
|
Para crear una restricción habría que seleccionar el tipo. Se pueden crear restricciones de 6 tipos:
allValuesFrom, someValuesFrom, hasValue, cardinality, minCardinality y maxCardinality. Además, habría
que seleccionar la propiedad a la que queremos aplicar la restricción, y el valor necesario en función del tipo
de restricción. Por ejemplo, si es una restricción de cardinalidad habría que indicar un valor entero no
negativo, si es una restricción hasValue habría que indicar una instancia, y si es una restricción
allValuesFrom habría que indicar una clase.
Creando Instancias
OWL permite definir individuos y verificar propiedades sobre ellos. Los individuos
también pueden usarse en descripciones de clases. Para crear individuos en Protégé 2000 se
usa la tabla de instancias. Señalamos la clase en la cual queremos crear la instancia, y
pulsamos create instance. Nos aparece lo siguiente.
En Name escribimos el nombre que queremos que tenga nuestra instancia.
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
28
Ontologías, Primera Aproximación Universidad Nacional del Chaco Austral
29
Bibliografía
[Arp00] Arpirez J., Gómez-Pérez A., Lozano Tello A. and Pinto S. “Reference Ontology and (Onto)Agent:
The Ontology Yellow Pages”, Knowledge and Information Systems, An International Journal,
SpringerVerlag, 2 (2000) 4, 387-412. Mar. 2000.
[Ber99] Berners-Lee, T.: Weaving the Web: The Original Design and Ultimate Desiny of the World Wide
Web by its Inventor. HarperCollins Publishers, New York, 1999.
[Borst97] Borst, P. (1997) Construction of Engineering Ontologies for Knowledge Sharing and Reuse.
Ph.D. Dissertation. Tweente University.
[Gen92] Genesereth, M.R. y Fikes, R.E: “Knowledge Interchange Format. Vesion 3.0. Reference Manual”.
Informe técnico Logic-92-1, Computer Scince Department. Standford University, California, 1992.
Disponible en http://meta2.standford.edu/kif/Hypertext/kif-manual.html.
[Grub05] Thomas Gruber (2005). Ontology of Folksonomy: A Mash-up of Apples and Oranges. Int’l
Journal on Semantic Web & Information Systems, 3(2), 2007. Originally published in 2005, this is a rebuttal
to a popular anti-ontology blog, with a constructive call to action.
[Grub93] T. R. Gruber. A Translation Approach to Portable Ontology Specifications. Knowledge
Acquisition, 5(2), pp. 199-220, 1993.
[Gua94] Guarino, N., Carrara, M., Giaretta, P. (1994). Formalizing Ontological Commitment. In
Proceedings of National Conference on Artificial Intelligence (AAAI-94):560-567. Seattle, Morgan
Kaufmann.
[Noy00] Noy, N.F; Fergerson, R.W y Musen, M.A.: “The Knowledge model of Protégé2000: Combining
interopelability and flexibility”. En: R.Dieng y O. Corby (Eds.), Procceedigns of the 12th International
Conference in Knowledge Engineering and Knowledge Management (EKAW’00) (LEcture Notes in
Artificial Inteligence LNAI 1937), pp. 17-32. Spinger-Verlag, Berlin, Germany, Juan-Les-Pins, France, 2000.
[Sowa00] Sowa, J. F. (2000) Knowledge Representation: Logical, Philosophical, and Computational
Foundations. Pacific Grove, CA: Brooks Cole Publishing Co.
GUERRERO BOTE, Vicente; LOZANO TELLO, Adolfo."Vínculos entre las Ontologías y la
Biblioteconomía y Documentación" en La Representación y la Organización del Conocimiento en sus
distintas perspectivas: su influencia en la Recuperación de la Información : Actas del IV Congreso ISKO-
España EOCONSID’99 22-24 de abril de 1999 Granada. Granada: ISKO; Universidad de Granada. Facultad
de Biblioteconomía y Documentación, 1999, p. 25-31.
Enlaces Recomendados
Ivan Herman, (2007), Web Ontologic Languaje (OWL). Visitado el día 29-08-2012,
http://www.w3.org/2004/OWL/
The Protégé Ontology Editor and Knowledge Acquisition System. Visitado el día 29-08-2012,
http://protege.stanford.edu/
Análisis de PROTÉGÉ –2000. Visitado el día 30-08-2012, http://personales.upv.es/ccarrasc/doc/2001-
2002/Protege2000/PROTEGE.htm