Web Semántica y Ontologías
Francisco José García Peñalvo
Departamento de Informática y Automática – Facultad de Ciencias
Universidad de Salamanca
fgarcia@usal.es
Resumen: La Web en la actualidad es un gran almacén de datos en el que se
infrautiliza el valor de éstos para convertirse en información útil al requerir, en
la mayoría de los casos, a un agente humano como receptor y procesador de los
datos en información. El potencial de la Web como gestor de conocimiento
universal se ve acrecentado exponencialmente cuando a esos mismos datos se
les otorga un recubrimiento semántico que los habilita para ser consumidos ya
no sólo por agentes humanos sino también por agentes software, abriendo un
mayor espectro de interoperabilidad entre aplicaciones web, facilitando de una
manera clara la introducción y migración hacia aplicaciones orientadas a los
servicios. Esta extensión de la Web, conocida como Web Semántica, se ve
potenciada por muchos factores, como el desarrollo, aceptación y éxito del
lenguaje de marcas XML ( eXtensible
Markup Language). Pero XML por sí sólo
no permite el desarrollo de la Web Semántica, son necesarios otros elementos,
de los cuales cabe destacar las ontologías, como forma de descripción del
conocimiento de un dominio. A la hora de materializar una ontología es
necesario un lenguaje con el que especificarla, aquí entran en juego diferentes
posibilidades, pero precisamente será XML el que ofrezca una base
ampliamente aceptada para definir nuevos lenguajes para la especificación de
ontologías. El desarrollo de una ontología requiere de un método sistemático.
Como herramienta conceptual que es, el proceso de diseño de una ontología va
a estar ligado a diversas corrientes filosóficas que desde antaño han intentado
abordar el siempre difícil problema de la representación del conocimiento. En
este capítulo se pretende dar una visión introductoria que presente de forma
clara el concepto de Web Semántica y su relación con las ontologías como
forma explícita de representación del conocimiento en la Web.
Palabras clave: Web Semántica; Ontología; Lenguaje de descripción de
ontologías; Diseño de ontologías.
1 Introducción
La Web que surge como una manera de compartir información, en forma de
documentos estáticos, entre una comunidad científica muy específica (Berners-Lee,
1999). Sin embargo, desde su génesis hasta la actualidad la Web 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.
2 F. J. García Peñalvo
La clave para el uso masivo de la Web está en 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.
Todo ello conduce a la mitificación, a veces excesiva, de la Web, hasta
popularizarse la creencia de que todo está en la Web o que algo solamente existe si
nuestro buscador es capaz de retornarlo como resultado de una búsqueda.
La evolución de la Web se puede ilustrar en tres generaciones de aplicaciones web
según la tecnología y los servicios de éstas (Kappel et al., 2003). En primer lugar
estarían las aplicaciones
de sólo lectura, que presentan la información
a un conjunto
no predecible de usuarios anónimos en forma de páginas estáticas pensadas sólo para
navegar; las aplicaciones
con páginas generadas al vuelo, mucho más complejas,
se
basan en bases de datos que sirven como fuente de datos para la generación de las
páginas como respuesta a peticiones de los usuarios o a eventos de cambio de
información; y aplicaciones
de acceso ubicuo, que fomentan la conexión total
a
cualquier hora, desde cualquier lugar y dispositivo, para lo que las facilidades de
adaptación y el mantenimiento de la equivalencia semántica de los servicios y la
información se hacen imprescindibles.
Según se avanza por las categorías propuestas en (Kappel et al., 2003) se van
haciendo más patentes las limitaciones de la Web en su estado actual: crecimiento
caótico de los recursos, falta de orden y de organización, alto coste y dificultad en su
mantenimiento (enlaces perdidos, páginas muertas…), crecimiento de la Web Oculta
o Web Profunda ( Hidden
Web o Deep Web)1,
buscadores eficientes pero limitados,
dificultad de procesamiento automático…
La semántica implícita en la Web actual se refleja en las respuestas que recibe un
usuario a sus peticiones en los buscadores, ya que éstas van más allá del estado en el
que los usuarios simplemente realizaban una pregunta y recibían un conjunto
ordenado por prioridad de páginas web. Los usuarios desean respuestas dirigidas a sus
preguntas sin información superflua. Las respuestas deberían contener información de
fuentes autorizadas, términos con el mismo significado a los usados en la pregunta,
enlaces relevantes… (McGuinness, 2004).
En este contexto en el que la mayoría de los contenidos de la Web están pensados
para que los lea un ser humano y no para que los manipule un sistema informático de
forma significativa 2, 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 agentes software naveguen por
las páginas realizando complejas tareas para los usuarios.
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.
2 Un programa puede fácilmente
analizar y procesar una página web automáticamente, sin más
que seguir el flujo de etiquetas que marcan su disposición, pero en general esto no implica
que el programa pueda extraer la semántica de los contenidos de la misma.
Web Semántica y Ontologías 3
La Web Semántica 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 (Berners-Lee et
al., 2001; Hendler et al., 2002).
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.
Añadir semántica explícita (metadatos) a la Web implica permitir documentos que
tienen información en formatos comprensibles por máquinas, además de permitir que
los enlaces se creen con valores en las relaciones.
La Web Semántica no existe todavía, aunque hay una importante infraestructura
tecnológica (lenguajes, herramientas, estándares…) y existe un interés creciente de las
agencias públicas, de las empresas, de los centros de investigación y del W3C
(http://www.w3c.com) por el desarrollo de ésta.
El reto de la Web Semántica 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 3
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 (Noy & McGuinness, 2001).
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. El
objetivo de este capítulo va a ser introducir qué es una ontología, cómo se puede
diseñar, cómo se puede especificar y relacionarlas con la Web Semántica. Para ello el
resto del capítulo se organiza como sigue: en la sección dos se discute el concepto de
ontología, haciendo referencia a su génesis y diversas interpretaciones; la sección tres
aborda el proceso de diseño de una ontología; la sección cuatro introduce algunas
metodologías para la construcción de ontologías; la sección cinco hace un breve
3 En la Web Semántica se aceptan
las preguntas sin respuestas y las paradojas en pro de una
mayor versatilidad.
4 F. J. García Peñalvo
recorrido por las tecnologías para Web Semántica; y, por último, la sección seis cierra
el capítulo con las conclusiones del mismo.
2. Concepto de ontología
Recientemente se ha desatado un creciente interés en las ontologías como artefactos
para la representación del conocimiento y como componentes críticos en la gestión
del conocimiento, la Web Semántica, el comercio electrónico entre otros campos
(Brewster et al., 2004). Sin embargo, especificaciones de lo que existe, o de lo que se
puede decir sobre el mundo, se han utilizado desde la filosofía aristotélica 4.
En Filosofía una ontología es una teoría sobre la naturaleza de la existencia, de qué
tipo de cosas existen. Parte de la metafísica que trata del ser en general y de sus
propiedades trascendentales (RAE, 2001). Así una ontología como disciplina estudia
dichas teorías. Se confunde a menudo con la epistemología, que trata del
conocimiento y el conocer 5.
En el siglo XVII el término ontología se usa como sinónimo de metafísica,
concretamente como la rama de la metafísica que trata con la naturaleza del ser
(Swartout & Tate, 1999).
El término ontología es adoptado por la inteligencia artificial a finales de la década
de los 80s para compartir y reutilizar conocimiento, mientras que en la segunda mitad
de los 90s se incorpora a la ingeniería web para la inclusión de descripciones
semánticas explícitas de recursos (contenidos y servicios). En ambas disciplinas una
ontología se materializa en un documento o un fichero que define formalmente las
relaciones entre términos (Berners-Lee et al., 2001).
En el campo de la inteligencia artificial lo que existe es aquello que se puede
representar. Cuando el conocimiento de un dominio se representa mediante un
formalismo declarativo, el conjunto de objetos que pueden representarse se denomina
universo del discurso. Este conjunto de objetos y las relaciones describibles entre
ellos se reflejan en un vocabulario de representación con el que un programa basado
en conocimiento representa el conocimiento. Por tanto, en el contexto de la
inteligencia artificial 6 se puede describir la ontología de un programa mediante la
definición de un conjunto de términos de representación. Así, en una ontología, las
definiciones asocian los nombres de las entidades en el universo de discurso (clases,
relaciones, funciones u otros objetos) con texto legible desde un punto de vista
humano, describiendo lo que significan los nombres, y axiomas formales que
restringen la interpretación y el uso adecuado de estos términos.
Las ontologías en la Web cubren un amplio espectro de utilización que las lleva a
estar ligadas a grandes taxonomías para clasificar los sitios web, como puede ser el
caso de Yahoo! (http://www.yahoo.com), o bien ligadas a clasificaciones propias de
4 El término ontología fue introducido
originalmente por Aristóteles en su intento de clasificar
todo lo existente en el universo.
5 Doctrina de los fundamentos
y métodos del conocimiento científico (RAE, 2001).
6 En la bibliografía propia de
esta disciplina existen varias definiciones de ontología, muchas
veces contradictorias entre sí.
Web Semántica y Ontologías 5
los productos de sitios web específicos, como por ejemplo Amazon
(http://www.amazon.com).
Sin embargo, en el contexto de la ingeniería web el tipo más normal de ontología
presenta una taxonomía y un conjunto de reglas de inferencia. La taxonomía define
las clases de objetos y de relaciones entre ellos. Clases, subclases y relaciones entre
entidades son herramientas de gran potencia para usarlas en la Web. Las reglas de
inferencia por su parte ofrecen la posibilidad de que una ontología pueda expresar
condiciones. Un programa puede deducir cosas, no es que realmente las entienda,
pero puede manipular los términos de forma efectiva en ocasiones, lo que es útil e
importante para las personas.
En los siguientes subapartados se va a intentar profundizar en la definición de
ontologías, los elementos constituyentes de una ontología, en los tipos principales de
ontologías y en la aplicación de las ontologías.
2.1 Definición de ontología
Una de las definiciones más extendidas y aceptadas (especialmente en el campo de la
inteligencia artificial) del concepto de ontología dentro del contexto de la reutilización
del conocimiento es la de T. R. Gruber (1993) donde se define como una
especificación explícita de una conceptualización . Una definición muy próxima a la
de Gruber (1993) es la de Borst (1997) que define ontología como una especificación
formal de una conceptualización compartida . Pudiéndose fusionar ambas en la
siguiente definición una especificación
formal explícita de una conceptualización
compartida , donde conceptualización significa modelo abstracto de un fenómeno, que
puede ser visto como un conjunto de reglas informales que restringen su estructura,
que por lo general se expresa como un conjunto de conceptos (entidades, atributos,
procesos), sus definiciones e interrelaciones; formal implica una organización
teórica
de términos y relaciones usados como herramienta para el análisis de los conceptos de
un dominio; compartida
significa que captura un conocimiento consensual
que es
aceptado por una comunidad; y, por último, explícita se refiere a la especificación
de
los conceptos y a las restricciones sobre éstos (Studer et al., 1998). Así, una ontología
es una descripción (como la especificación formal de un programa) de conceptos y
relaciones que pueden existir para un agente o una comunidad de agentes. Esta
definición es consistente con el uso de ontología como conjunto de conceptos y
definiciones, pero más general, además de tener un sentido completamente diferente
al que se le da en filosofía.
Uschold y Grüninger (1996) definen ontología como una comprensión compartida
de algún dominio de interés . Aunque una definición más amplia e informal es la que
define ontología como un vocabulario de
términos y alguna especificación de su
significado (Uschold & Grüninger, 1996).
La mayor diferencia entre el enfoque de Gruber y de Uschold es la formalidad
requerida y la naturaleza consensual del conocimiento representado en una ontología.
Es importante que el conocimiento representado sea consensuado, al menos por un
determinado grupo representativo, para que de esta forma pueda ser reutilizado en
diferentes sistemas basados en conocimiento, ya que ésta es la principal razón para
construir ontologías. Sin embargo, el requisito de la formalidad no es consensual.
6 F. J. García Peñalvo
Una ontología es una especificación utilizada
para establecer responsabilidades
ontológicas. Una responsabilidad ontológica es un contrato para usar un vocabulario
(i.e., realizar preguntas y hacer afirmaciones) de forma consistente (pero no
completa) con respecto a la teoría especificada por una ontología (Gruber, 1995).
Se usan ontologías comunes para describir responsabilidades ontológicas para un
conjunto de agentes por lo que ellos se podrían comunicar sobre el dominio de
discurso sin tener que obligatoriamente operar sobre una teoría global compartida. Un
agente se compromete con una ontología si sus acciones observables son consistentes
con las definiciones de la ontología (Gruber, 1995). La idea de las responsabilidades
ontológicas se basa en la perspectiva de nivel de conocimiento de Newell (1982). El
nivel de conocimiento es un nivel de descripción del conocimiento de un agente que
es independiente del nivel simbólico de representación que usa internamente el
agente. El conocimiento se les atribuye a los agentes observando sus acciones. Un
agente conoce algo si actúa como si tuviera la información y está actuando
racionalmente para conseguir sus objetivos. Un compromiso sobre una ontología
común es una garantía de consistencia, pero no de compleción, con respecto a las
preguntas y afirmaciones que se pueden hacer utilizando el vocabulario definido en la
ontología.
Por su parte en (Uschold & Jasper, 1999) se establece que una ontología puede
tener una variedad de formas, pero necesariamente deberá incluir un vocabulario de
términos y alguna especificación de sus significados. Esto contempla definiciones e
indicaciones de cómo los conceptos están interrelacionados, lo que impone una
estructura en el dominio y restringe las posibles interpretaciones de condiciones.
Formalmente, una ontología es la declaración de una teoría lógica. Las ontologías
se equiparan frecuentemente con jerarquías taxonómicas de clases, esto es,
definiciones de clases y sus relaciones, pero las ontologías no están limitadas a estas
formas. Las ontologías tampoco están limitadas a definiciones conservadoras, es
decir, definiciones en el sentido tradicional de la lógica que sólo introduce
terminología y no añade ningún conocimiento sobre el mundo (Enderton, 1972). Para
especificar una conceptualización se necesita definir axiomas que restrinjan las
posibles interpretaciones de los términos definidos.
Siguiendo con la idea de reutilización del conocimiento A. Gómez-Pérez (1995)
define ontología como una biblioteca de
definiciones que pueden ser utilizadas para
diferentes propósitos en diferentes dominios, que permiten compartir y reutilizar
conocimiento y métodos de razonamiento entre agentes .
Para J. F. Sowa (2000) el objeto de una ontología es el estudio de las categorías de
las cosas que existen o pueden existir en algún dominio. El producto de tal estudio se
denomina ontología, es un catálogo de tipos
de cosas que se asumen existen en un
dominio de interés D desde la perspectiva de una persona que usa un lenguaje L
con
el propósito de hablar sobre D . Los tipos en la ontología representan los predicados,
el sentido de las palabras o los conceptos y los tipos de relación del lenguaje L cuando
se usa para discutir tópicos en el dominio D. Una lógica no interpretada es
ontológicamente neutra, ya que no impone restricciones en el estado de la cuestión o
en la forma en que el tema puede caracterizarse. Por sí misma, la lógica no dice nada
sobre cualquier cosa, pero la combinación de lógica con una ontología ofrece un
lenguaje que puede expresar relaciones sobre entidades en el dominio de interés.
Web Semántica y Ontologías 7
Una ontología informal puede especificarse mediante un catálogo de tipos que no
tienen que estar definidos o bien definidos por construcciones en lenguaje natural.
Una ontología formal se especifica mediante una colección de nombres de conceptos
y tipos de relaciones organizados en un orden parcial mediante la relación tiposubtipo.
Las ontologías formales se distinguen por la forma en que los subtipos se
distinguen de los supertipos: una ontología con axiomas distingue a los subtipos por
axiomas y definiciones expresados en un lenguaje formal, como puede ser lógica o
alguna notación orientada a la computación que puede traducirse a la lógica; una
ontología basada en prototipos distingue los subtipos mediante una comparación con
un miembro típico o prototipo para cada subtipo. Las ontologías grandes
frecuentemente usan una mezcla de métodos de definición: axiomas formales y
definiciones se usan para los términos en matemáticas, física e ingeniería, mientras
que los prototipos se usan para plantas, animales y elementos comunes en los hogares
(Sowa, 2000).
Una definición de ontología más cercana al modelado conceptual 7 se encuentra en
(Breuker et al., 1999) según la que una ontología define como una representación
explícita de una conceptualización cognitiva, es decir, la descripción de los
componentes de conocimiento relevantes en el ámbito del modelado . La creación de
una ontología ofrece la ventaja de que se hace explícita la categorización de los
elementos y relaciones que intervienen en el modelo de conocimiento, de forma que,
por un lado, el modelo de conocimiento puede ser editado y gestionado y, por otro, es
posible transmitirlo de manera que un sistema entienda la conceptualización que se ha
utilizado en otro. Las ontologías proporcionan un conocimiento del dominio reusable
y mantenible (Mizoguchi et al., 1997).
En términos parecidos V. Devedži ć
(2002) entiende que una ontología es un
sistema de conceptos definidos e interpretados de manera declarativa. El sistema
define el vocabulario de un dominio y las restricciones que se aplican para que
éstos
puedan ser combinados en el modelo del dominio .
En (Chandrasekaran et al., 1999) se define ontología como las teorías sobre tipos
de objetos, las propiedades de estos objetos, y las relaciones entre los objetos
que son
posibles en un dominio específico de conocimiento .
N. Guarino (1998) define ontología como una
teoría lógica que considera el
significado intencional de un vocabulario formal, es decir, su compromiso ontológico
para una conceptualización particular del mundo .
Una ontología es una descripción formal y explícita de los conceptos de un
dominio de discurso (clases, también denominadas conceptos), propiedades de cada
concepto describiendo varias de sus características y atributos (propiedades –
slots –
también denominadas roles o propiedades), y restricciones de las propiedades
(características o facetas, también denominadas restricciones de los roles) (Noy &
McGuinness, 2001). Una ontología junto con un conjunto de instancias individuales
de las clases constituye una base de conocimiento.
7 Un modelo conceptual es una
abstracción, una vista simplificada del mundo que se desea
representar para algún propósito. Cada base de conocimiento, sistema basado en
conocimiento o agente con algún nivel de conocimiento se asocia con alguna
conceptualización explícita o implícitamente.
8 F. J. García Peñalvo
2.2 Componentes de una ontología
Desde un punto de vista de ingeniería una ontología es un artefacto que está
constituido por un vocabulario específico utilizado para describir una cierta realidad,
además de un conjunto de suposiciones que tienen en cuenta el significado del
vocabulario. De esta manera los componentes de una ontología son una jerarquía de
clases con atributos y relaciones (pero sin métodos), una red semántica (como un
conjunto de instancias interrelacionadas), una lógica, un conjunto de axiomas (por
ejemplo reglas) sobre las clases y/o instancias, y una serie de mecanismos de
inferencia.
No obstante, al revisar la bibliografía especializada se puede apreciar que los
componentes de una ontología varían según el dominio de interés y las necesidades de
los desarrolladores. Se presentan a continuación los componentes de las ontologías
que se describen en (Sowa, 2000; Noy & McGuinness, 2001; Farquhar, 1997).
• Axioma: Elementos que permiten el modelado de verdades que se
cumplen siempre en la realidad. Los axiomas pueden ser estructurales y/o
no estructurales. Un axioma estructural establece condiciones
relacionadas con la jerarquía de la ontología, conceptos y atributos
definidos. Ejemplo: el
concepto A no es una clase de A. Un axioma no
estructural establece relaciones entre atributos de un concepto y son
específicos de un dominio. Ejemplo: la
relación F=m*a, que debe
cumplirse siempre entre los atributos F (fuerza), m (masa) y a
(aceleración) de un determinado concepto .
• Clase o tipo: Una clase es un conjunto de objetos (físicos,
tareas,
funciones...). Cada objeto en una clase es una instancia de esa clase.
Desde el punto de vista de la lógica los objetos de una clase se pueden
describir especificando las propiedades que éstos deben satisfacer para
pertenecer a esa clase. Las clases son la base de la descripción del
conocimiento en las ontologías ya que describen los conceptos del
dominio. Una clase puede ser dividida en subclases, las cuales
representarán conceptos más específicos que la clase a la que pertenecen.
Una clase cuyos componentes son clases, se denomina superclase o
metaclase.
• Instancias o individuos: Son objetos, miembros de una clase,
que no
pueden ser divididos sin perder su estructura y características funcionales.
Pueden ser agrupados en clases.
• Relaciones: Se establecen entre conceptos de una ontología
para
representar las interacciones entre éstos. Definidas por lo general como el
producto cartesiano de n conjuntos: R: C 1
x C2 x …x Cn.
Algunas de las
relaciones mas utilizadas son:
o Instancia de: Asocian objetos a clases.
o Relaciones temporales: Implican precedencia en el tiempo.
o Relaciones topológicas: Establecen conexiones espaciales entre
conceptos.
• Propiedades o slots: Los objetos se describen por medio de un conjunto
de características o atributos que son almacenados en los slots. Éstos
almacenan diferentes clases de valores. Las especificaciones, rangos y
Web Semántica y Ontologías 9
restricciones sobre estos valores se denominan características o facetas.
Para una clase dada, los slots
y las restricciones sobre ellos son heredados
por las subclases y las instancias de la clase.
• Frame: Un objeto que incluye clases, instancias y relaciones.
• Conceptualización: Conjunto de conceptos, relaciones,
objetos y
restricciones que caracterizan un domino.
• Taxonomía: Conjunto de conceptos organizados jerárquicamente.
Las
taxonomías definen las relaciones entre los conceptos, pero no los
atributos de éstos.
• Vocabulario: Conjunto de palabras con una explicación y
documentación
que persigue la universalidad y el formalismo en el contexto de un
dominio.
2.3 Tipos de ontologías
Hay diversas formas de clasificar las ontologías dependiendo de la perspectiva que se
aplique. Se van a presentar clasificaciones de ontologías desde perspectivas tan
diversas como pueden ser su orientación filosófica, su uso o su relación con una tarea
específica entre otras.
En (Brewster et al., 2004) se presenta un visión muy filosófica de las ontologías,
distinguiendo la aproximación newtoniana y la aproximación leibniziana. La
aproximación newtoniana se basa en la idea de encontrar principios elegantes que
simplifiquen. La cognición consiste en abstraer patrones robustos de datos
contaminados con ruido, de forma que lo complejo se haga simple. Por su parte, la
aproximación leibniziana espera hacer justicia a la gran complejidad de la
experiencia.
Ambas perspectivas coinciden en que para llegar a la realidad se requiere un
esfuerzo, siendo la ontología el producto de dicho esfuerzo. La diferencia entre ambas
perspectivas tiene su origen en la forma en las concepciones diferentes de cómo se
teje la realidad. Newton se centra en el único y los muchos (existe una diferencia
cualitativa entre la mente de Dios y la confusión de nuestras mentes, que sólo se
puede salvar si Dios lo desea). Mientras que Leibniz se centra en la parte y en el todo.
Esto es, para Newton el problema consiste en determinar el tipo ideal (el único) de los
cuales los muchos son versiones imperfectas. Para Leibniz el problema es determinar
el todo, cuyas propiedades de algún modo trascienden de sus partes constituyentes
(Fuller, 2001).
En el contexto de la Web Semántica ambos enfoques tienen cabida con sus
ventajas e inconvenientes. Las ontologías elegantes, propias de la tendencia
newtoniana, pueden ser más fáciles de gestionar, pero las ontologías “descuidadas”,
derivadas de la perspectiva leibniziana, pueden ser más fáciles de aplicar.
M. Uschold (1996) ofrece tres dimensiones sobre las cuales varían los tipos de
ontologías, a saber:
• Formalidad: Se refiere al grado de formalismo del lenguaje
usado para
expresar la conceptualización.
• Propósito: Se refiere a la intención de uso de la ontología.
10 F. J. García Peñalvo
• Materia: Para expresar la naturaleza de los objetos que la ontología
caracteriza.
En cuanto a la formalidad cuatro puntos arbitrarios que se puede pensar que forma
un continuo en esta dimensión son:
• Ontología altamente informal: Expresada en lenguaje natural (por
ejemplo un glosario de términos).
• Ontología informal estructurada: Utiliza lenguaje natural estructurado
y restringido, que permite reducción de la ambigüedad.
• Ontología semiformal: Usa un lenguaje de definición formal,
como
puede ser ontolingua (Gruber, 1993).
• Ontología rigurosamente formal: La definición de términos se lleva
a
cabo de manera meticulosa usando semántica formal, teoremas, y pruebas
de estas propiedades como solidez y compleción (por ejemplo TOVE
(Grüninger & Fox, 1995b)).
Los tipos de ontologías según el propósito o uso que se les vaya a dar son los
siguientes:
• Ontologías para comunicación entre personas:
Una ontología informal
no ambigua puede ser suficiente.
• Ontologías para interoperabilidad entre
sistemas: Para
llevar a cabo
traducciones entre diferentes métodos, lenguajes, software... En estos
casos la ontología se usa como un formato de intercambio de
conocimiento.
• Ontologías para beneficiar la ingeniería
de sistemas: Cuando
las
ontologías benefician las aplicaciones software apoyando aspectos como
la reutilización de componentes software en un dominio de interés, la
adquisición de conocimiento, la fiabilidad de los sistemas al proporcionar
consistencia en el conocimiento utilizado, o la especificación de los
sistemas software identificando los requisitos y definiendo
especificaciones para las tecnologías de la información.
Con respecto a la materia, las ontologías pueden ser:
• Ontologías de dominio: Caracterizan disciplinas específicas,
tales como
medicina, finanzas, química, biología… con independencia de los
problemas o tareas relevantes de dichas disciplinas.
• Ontologías de
tarea, de método o de resolución de problemas:
Conceptualizan el problema o la tarea a resolver en un dominio.
• Ontologías de representación o metaontologías:
El objeto que se
caracteriza es un lenguaje de representación de conocimiento.
N. Guarino (1997) clasifica las ontologías de acuerdo con su dependencia y
relación con una tarea específica desde un punto de vista, diferenciando los siguientes
tipos de ontologías:
• Ontologías de Alto Nivel o Genéricas:
Describen conceptos
muy
generales como espacio, tiempo, acción… que son independientes de un
problema o dominio particular. Parece razonable tener ontologías de alto
nivel unificadas para una gran cantidad de comunidades de usuarios. En
relación con los sistemas de información, estas ontologías describirían
conceptos básicos.
Web Semántica y Ontologías 11
• Ontologías de Dominio: Describen un vocabulario relacionado
con un
dominio genérico especializando los conceptos introducidos en la
ontología de nivel superior.
• Ontologías de Tareas o de Técnicas básicas:
Describen una tarea,
actividad o artefacto especializando las ontologías de alto nivel.
• Ontologías de Aplicación: Son las ontologías más específicas.
Describen
conceptos que dependen de las ontologías de dominio y de tarea, siendo
con frecuencia especializaciones de ambas ontologías. Los conceptos en
estas ontologías a menudo se corresponden con los roles propios de las
entidades del dominio mientras que realizan una cierta actividad.
N. Guarino (1998) marca otra distinción y diferencia ontologías refinadas y no
refinadas, o lo que es lo mismo, off-line y on-line. Las no refinadas tienen un número
mínimo de axiomas y su objetivo es ser compartidas por usuarios que concurren sobre
una determinada visión del mundo. Tienen una mayor capacidad de ser compartidas y
deberían ser utilizadas en línea para dar soporte en funcionalidad de sistemas de
información. Las refinadas precisan de un lenguaje de alta expresividad y tiene un
gran número de axiomas. Deberían ser usadas off-line y solamente para referencia.
En (van Heijst et al., 1997) se clasifican las ontologías de acuerdo a la cantidad y
tipo de estructura de la conceptualización, distinguiendo:
• Ontologías terminológicas: Especifican los términos que son usados
para
representar el conocimiento en el universo del discurso. Suelen ser usadas
para unificar vocabulario en un campo determinado.
• Ontologías de información: Especifican la estructura de almacenamiento
de bases de datos. Ofrecen un marco para el almacenamiento
estandarizado de información.
• Ontologías de modelado de conocimiento:
Especifican
conceptualizaciones del conocimiento. Contienen una rica estructura
interna y suelen estar ajustadas al uso particular del conocimiento que
describen.
2.4 Aplicación de las ontologías
Entre las principales razones para crear ontologías se pueden citar (Noy &
McGuinnes, 2001) compartir un entendimiento común de una estructura de
información entre personas o agentes software, posibilitar la reutilización de
conocimiento de un dominio, hacer explícitas suposiciones de un dominio, separar el
conocimiento de un dominio del conocimiento operacional, o analizar el
conocimiento de un dominio.
En (Uschold & Jasper, 1999) se ofrece una clasificación de aplicaciones
ontológicas que permite a los desarrolladores escenarios específicos sobre cómo
deben usar las ontologías para alcanzar provecho en un contexto dado. El aspecto
principal del esquema es que se basa en un conjunto de escenarios de aplicaciones
ontológicas, entendiéndose por escenario un sistema o proceso que hace uso o se
beneficia de la ontología. Cada escenario considerado se caracteriza por el propósito o
beneficio, el rol, los actores necesarios para implantar el escenario, el soporte técnico
y el nivel de madurez. Estos autores diferencian cuatro tipos de escenarios:
12 F. J. García Peñalvo
• Autoría neutral: Se crea un artefacto de información
en un lenguaje y se
traduce a diferentes formatos para ser usado en múltiples sistemas. Sus
beneficios son la reutilización de conocimiento, las mejoras en la
mantenibilidad y la retención de conocimiento de largo término. El
artefacto creado puede ser una ontología o datos operacionales.
• Ontología como especificación: Una ontología de un dominio dado es
usada como la base para especificar y desarrollar alguna aplicación. Sus
beneficios son la documentación, la fiabilidad, el mantenimiento y la
reutilización de conocimiento.
• Acceso común a la información: La información es requerida por uno
o
varias personas o aplicaciones, pero la forma en que está expresada es
mediante un vocabulario poco familiar o en formato inaccesible. La
ontología devuelve la información entendible para proporcionar una
comprensión compartida de los términos para enlazar términos usados.
Sus beneficios son la interoperabilidad y el uso más efectivo y la
reutilización del conocimiento.
• Ontología basada en búsquedas: La ontología es usada para buscar en
un repositorio de información una fuente en particular (páginas web,
documentos…). Sus beneficios son un acceso más rápido a la información
y una reutilización y uso efectivo de las fuentes de conocimiento.
3. Proceso para el diseño y construcción de ontologías
Diseñar una ontología es un proceso altamente complejo. La construcción de
ontologías no responde a una única aproximación lógica sino que depende, en gran
medida, del contexto en el que se construyen, de forma que ha sido norma común que
las diferentes comunidades que desarrollaban ontologías siguiesen sus propios
principios, criterios, reglas o métodos, dependiendo del tipo de ontología a desarrollar
o de una situación particular. Ante esta diversidad, han proliferado una serie de
métodos de diseño y construcción de ontologías, que tienen por finalidad
proporcionar a la comunidad de desarrolladores un procedimiento comúnmente
aceptado, ampliamente validado y verificado, que garantice la consecución de un
producto exitoso.
Valente y Breuker (1996) establecen principios que deben respetar las ontologías,
de forma que una ontología especifique una conceptualización, una forma de ver el
mundo, incorporando así un punto de vista. Estos principios son:
1. Parsimonia: Las ontologías deben ser parsimoniosas, deben contener
suficientes conceptos, pero sólo aquéllos que son estrictamente
necesarios.
2. Bases teóricas claras:
Las ontologías deben tener unas bases teóricas
claras. Una ontología no debe ser una simple jerarquía de términos, sino
un marco teórico que describe el dominio.
3. Categorías versus términos:
No se debe perseguir la especificación de
los términos más comunes, sino de las categorías básicas del dominio del
conocimiento.
Web Semántica y Ontologías 13
4. Coherencia: Las categorías básicas deben ser coherentes, donde
coherente además de significar consistencia y compleción, implica que los
marcos en los que se encuadran las categorías deben tener sentido dentro
del propio dominio de conocimiento.
La representación de objetos del mundo real siempre depende del contexto en el
que se usan los objetos. Este contexto puede verse como un punto de vista tomado de
la orientación a objeto. Es generalmente, imposible enumerar de antemano todos los
posibles puntos de vista útiles de (o clases de) objetos. La reutilización de alguna
parte de conocimiento requiere una descripción explícita de los puntos de vista que
están inherentemente presentes en el conocimiento. De otra forma, no hay forma de
saber si la parte de conocimiento es aplicable a una nueva aplicación y por qué.
Noy y McGuinnes (2001) también establecen algunas reglas básicas para el diseño
de ontologías.
• No hay una única forma correcta de modelar un dominio. Siempre hay
alternativas viables. La mejor solución siempre depende de la aplicación
que se tiene en mente y de las extensiones que se puedan anticipar.
• El desarrollo de una ontología
es necesariamente un proceso iterativo.
• Los conceptos en la ontología deben ser cercanos a objetos (físicos o
lógicos) y a las relaciones en el dominio de interés. Éstos suelen ser
nombres (objetos) o verbos (relaciones) en las frases que describen el
dominio.
El proceso de diseñar una ontología no difiere mucho, en líneas generales, del
usado para construir software. De forma muy pragmática Noy y McGuinnes (2001)
esbozan el esqueleto de un proceso de diseño y construcción de una ontología que
contendría las siguientes actividades:
• Definir las clases de la ontología.
• Organizar las clases en una jerarquía
taxonómica (subclase-superclase).
• Definir las propiedades y describir
los valores posibles para cada una.
• Dar valores a las propiedades para cada una de las instancias.
Sin embargo, las fases que normalmente conforman el ciclo de vida de una
ontología son: especificación
(se identifica el propósito y el ámbito de la
ontología),
conceptualización (se describe en un modelo conceptual la ontología que debe
cumplir la especificación), formalización
(se transforma la descripción conceptual en
un modelo formal), implementación
(se implementa la ontología formalizada en un
lenguaje de representación del conocimiento) y mantenimiento (se actualiza
y corrige
la ontología). Además, de las actividades que se deben realizar en las fases
mencionadas, hay otras actividades que pueden llevarse a cabo durante todo el ciclo
de vida como son la adquisición
de conocimiento (se adquiere el conocimiento
del
dominio), la documentación
(se documenta qué se ha hecho, cómo se hecho
y por qué
se ha hecho) y evaluación
(técnicamente se juzga la ontología). A mayores
de las
actividades presentadas hay otra actividad que depende de la metodología, la
reutilización (se reutilizan otras ontologías en lo medida de lo posible, la mayoría de
las metodologías denominan integración a esta actividad) (Beck & Pinto, 2002).
Aunque estas fases tienen una influencia clara de la ingeniería del software, son
diferentes, siendo las principales diferencias que, por un lado, en las fases de
ingeniería del software, después de la especificación de requisitos, el diseño no se
divide en conceptualización y formalización como sucede en la mayoría de las
14 F. J. García Peñalvo
metodologías centradas en las ontologías y, por otra parte, las actividades de
adquisición del conocimiento, que tienen lugar durante todo el ciclo de vida de las
ontologías, no existen por lo general en lo procesos de ingeniería del software.
En la mayor parte de las ocasiones el desarrollo de las ontologías sigue un modelo
de ciclo de vida basado en prototipos evolutivos.
Construir ontologías desde cero para soportar aplicaciones de un dominio requiere
una gran cantidad de tiempo y esfuerzo. Las ontologías de dominio reutilizables
ofrecen posibilidades a los desarrolladores para explotar y reutilizar el conocimiento
existente en el dominio, para así construir las aplicaciones con más facilidad y
confianza (Annamalai & Sterling, 2003).
4. Metodologías para la construcción de ontologías
Existen multitud de propuestas metodológicas para el diseño y construcción de
ontologías, siendo algunas de las más relevantes TOVE, que se utilizó para construir
la ontología TOVE ( TOronto
Virtual Enterprise), sobre procesos de modelado
de
empresas (Grüninger & Fox, 1994a, Grüninger & Fox, 1994b, Grüninger & Fox,
1995b; Grüninger, 1996); ENTERPRISE, que se utilizó para construir la ontología
con el mismo nombre sobre procesos de modelado de empresas (Uschold & King,
1995; Uschold, 1996; Uschold & Grüninger, 1996); METHONTOLOGY, que se ha
utilizado para construir, entre otras, la ontología Chemicals, que trata sobre los
elementos de la tabla periódica (Gómez-Pérez, 1996; Fernández et al., 1997; Gómez-
Pérez, 1998; Fernández, 1999; Fernández et al., 1999); IDEF5 (KBSI, 1994);
SENSUS (Swartout et al., 1997); o la guía para crear ontologías de la Universidad de
Stanford (Noy & McGuinnes, 2001) entre otras.
En los siguientes subapartados se hará una rápida revisión de alguna de estas
metodologías, aunque para una revisión más detallada se puede consultar (Jones et al.,
1998; Fernández, 1999; Annamalai & Sterling, 2003).
4.1 Guía para crear ontologías – Universidad de Stanford
Se trata de una metodología simple para a ingeniería del conocimiento aplicada a la
creación de ontologías (Noy & McGuinnes, 2001).
Esta metodología está compuesta por siete pasos, a saber:
1. Determinar el dominio
y el alcance o ámbito de la ontología. Definir
el
dominio y el alcance de la ontología, respondiendo preguntas del tipo
¿cuál es el dominio que la ontología debe cubrir?, ¿para qué se va a usar
la ontología?, ¿a qué preguntas debe dar respuesta la ontología?, ¿quién va
a usar y a mantener la ontología? Una de las formas de determinar el
ámbito de la ontología es preparar una lista de preguntas no exhaustiva
que la base de conocimiento basada en la ontología debe ser capaz de
responder, lista que recibe el nombre de preguntas de competencia
(Grüninger & Fox, 1995a). Estas preguntas deberán servir como base de
pruebas más adelante.
Web Semántica y Ontologías 15
2. Considerar reutilizar
ontologías existentes. Comprobar si es posible
usar y extender fuentes de conocimientos ya existentes, y que puedan ser
de utilidad para el dominio del problema. Ejemplos de ontologías
reutilizables se pueden encontrar en Ontolingua
(http://www.ksl.stanford.edu/software/ontolingua/) o en DAML ontology
library (http://www.daml.org/ontologies/).
3. Enumerar los términos
importantes en la ontología. Es útil escribir
una
lista con todos los términos con los que se harían afirmaciones acerca del
dominio o se explicaría éste a un usuario. El contenido de la lista debe ser
preciso y carente de ambigüedades.
4. Definir las clases
y la jerarquía de clases. De la lista creada
en el paso
3, se seleccionan aquellos términos independientes para constituir las
clases. A partir de éstas se organiza la jerarquía. Hay diferentes
aproximaciones (Uschold & Grüninger, 1996): ascendente, descendente y
mixto.
5. Definir las propiedades
de las clases – (slots). Las clases por sí solas no
ofrecen suficiente información para responder a las preguntas de
competencia. Por tanto, se deben describir los conceptos propios de la
estructura interna de las clases. Por lo general los términos que no fueron
seleccionados en el paso 4 pasan a considerarse propiedades de las clases.
En general, hay varios tipos de propiedades de los objetos que se pueden
convertir en propiedades en una ontología: propiedades intrínsecas,
propiedades extrínsecas, partes, si el objeto es compuesto y relaciones con
otros objetos. Adicionalmente, todas las subclases heredan la propiedad
de esa clase, es decir, todas las propiedades de la superclase son heredadas
por sus subclases.
6. Definir las características
(facetas) de las propiedades. Las ranuras
tienen diferentes propiedades que describen el tipo de valor, los valores
permitidos, el número de valores (cardinalidad), así como otras
características de los valores que la propiedad puede tener.
7. Crear instancias. Es el último paso de este proceso. Definir una instancia
individual de una clase requiere a) elegir una clase; b) crear una instancia
individual de esa clase, y c) rellenar las propiedades con valores.
4.2 METHONTOLOGY - Universidad Politécnica de Madrid
Metodología desarrolla en el laboratorio de Inteligencia Artificial de la Universidad
Politécnica de Madrid. Permite la construcción de ontologías a nivel de conocimiento
e incluye la identificación del proceso de desarrollo de la ontología, un ciclo de vida
basado en la evolución de prototipos y técnicas particulares a usar en cada paso
(Gómez-Pérez, 1996; Fernández et al., 1997; Gómez-Pérez, 1998; Fernández, 1999;
Fernández et al., 1999).
Esta metodología está compuesta por siete pasos, a saber:
1. Especificación. Se desarrolla un documento que contenga la meta de la
ontología, nivel de granularidad, alcance, propósito... Se identificar los
términos a ser representados, sus características y relaciones.
16 F. J. García Peñalvo
2. Conceptualización. Se organiza el conjunto de términos y sus
características en una representación intermedia que el desarrollador de la
ontología y los expertos puedan entender. En este paso se construye un
glosario de términos, diagramas de relaciones binarias, diccionario de
conceptos, tablas de atributos instancias, tablas de atributos clases, tabla
de axiomas lógicos, tablas de constantes, tablas de instancias.
3. Adquisición de conocimiento. Este paso se lleva a cabo de manera
independiente en la metodología. Su ejecución puede coincidir con otros
pasos. Por lo general la adquisición de conocimiento se realiza en tres
etapas: reuniones preliminares con los expertos, análisis y revisión de la
bibliografía asociada al dominio, y una vez que se tiene un conocimiento
base se refina y detalla el conocimiento hasta completar la ontología.
4. Integración. Se identifican las ontologías candidatas a ser reutilizadas en
la ontología que se está construyendo, incorporando aquellas piezas de
conocimiento que sean de utilidad.
5. Implantación. Consiste en la codificación del modelo conceptual en un
modelo codificado en lenguaje ontolingua.
6. Evaluación. Se realiza un juicio técnico a la ontología, al ambiente de
software asociado y a la documentación con respecto a un esquema de
referencia en cada paso de la metodología. El esquema de referencia
puede ser: requisitos de especificación, preguntas de competencias y/o el
mundo real.
7. Documentación. Se detallar clara y exhaustivamente cada paso
completado y los productos generados.
4.3 TOVE ( TOronto Virtual
Enterprise)
Se basa en la experiencia de desarrollar la ontología que lleva su mismo nombre
(Grüninger & Fox, 1994a, Grüninger & Fox, 1994b, Grüninger & Fox, 1995b;
Grüninger, 1996).
Esta metodología propone las siguientes fases:
1. Capturar escenarios
motivadores. Historia o ejemplos que describen
la
motivación de la ontología en términos de las aplicaciones deseadas.
2. Formular preguntas
de competencia informales. Preguntas que la
ontología debe poder responder.
3. Especificar la terminología
de la ontología. Se utiliza para ello un lenguaje
formal que use lógica de primer orden.
4. Formular la lista de
preguntas de competencia formalmente. Se utilizará
el lenguaje formal como los términos definidos en la fase anterior.
5. Especificar axiomas
y definiciones para los términos. Se usará el
lenguaje
formal.
6. Evaluar la ontología. Se demostrará la competencia de la ontología respecto
a las preguntas que surgen de las aplicaciones que usan la ontología.
7. Definir las condiciones bajo las que
las soluciones a las preguntas son
completas .
Web Semántica y Ontologías 17
4.4 ENTERPRISE
Este esquema metodológico (Uschold & King, 1995; Uschold, 1996; Uschold &
Grüninger, 1996), constituye la base de muchos de los métodos propuestos y usados
en la actualidad. El esquema está constituido por cuatro pasos y considera además un
conjunto de guías o recomendaciones de diseño que se deben tener presentes en cada
paso del método.
1. Identificar el propósito
y el alcance de la ontología. Se señala
claramente el propósito para el que se desea construir la ontología así
como el alcance de la misma.
2. Construir la ontología. Este paso considera tres aspectos necesarios para
la construcción de la ontología, a saber:
a. Capturar el conocimiento:
Se identifican los conceptos claves y
sus relaciones en el dominio.
b. Codificar el conocimiento:
Se representa en un lenguaje formal
la conceptualización capturada en el paso anterior.
c. Integrar el conocimiento:
Se examinan las ontologías existentes
y se verifica si pueden ser integradas a la que se está
construyendo.
3. Evaluar la ontología. Se hace un juicio técnico a la ontología
considerando la conceptualizacion, el ambiente, el software y la
documentación, con respecto a una referencia. Esta referencia puede ser:
requisitos de especificación, preguntas de competencias y/o el mundo
real.
4. Documentar la ontología. Se documenta adecuadamente el conocimiento
expresado en la ontología, para así garantizar que sea apropiadamente
compartido y reutilizado.
5. Tecnologías para la Web Semántica
Fundamentalmente hay dos tecnologías que han marcado el desarrollo de la Web
Semántica XML ( eXtensible
Markup Language) (Bray et al., 2004) y RDF (Resource
Description Framework ) (Beckett, 2004; Brickley & Guha, 2004; Grant & Beckett,
2004; Hayes, 2004; Klyne & Carroll, 2004; Manola & Millar, 2004).
XML permite crear nuevos vocabularios mediante juegos de etiquetas. Scripts o
programas pueden hacer uso de las etiquetas de formas tan sofisticadas como los
ingenieros del software deseen, pero estos desarrolladores tienen que conocer cuál es
el significado de cada etiqueta. XML permite añadir una estructura arbitraria a los
documentos, pero no dice nada sobre lo que significa la estructura.
El significado se expresa mediante RDF, que se codifica en conjuntos de tripletas.
Cada tripleta es como el sujeto, el verbo y el objeto de una frase elemental. Estas
tripletas se pueden escribir utilizando etiquetas XML. Un documento RDF hace
afirmaciones sobre qué cosas particulares tienen propiedades con ciertos valores. Esta
estructura es una forma natural de describir la mayor parte de los datos procesados
por ordenadores. Sujetos y objetos se identifican mediante URIs ( Universal Resource
18 F. J. García Peñalvo
Identifier ). Los verbos se identifican también mediante URIs que permiten que
cualquiera defina un nuevo concepto.
Además de XML y RDF hay otras muchas tecnologías que se pueden aplicar a la
Web Semántica, bien directamente o indirectamente a través de técnicas y
herramientas orientadas al soporte de las ontologías.
Conocer un concepto es, en gran media, conocer las relaciones entre dicho
concepto y otros conceptos. Para representar este conocimiento en inteligencia
artificial se han utilizado diversos medios como los sistemas basados en marcos, las
lógicas descriptivas o las redes semánticas. Todos ellos se pueden entender como
antecedentes de las ontologías. Así mismo, igual que se han utilizado diferentes
formalismos para estas técnicas, como los grafos conceptuales (Sowa, 1984) para las
redes semánticas, se han de utilizar medios de representación para las ontologías.
Los lenguajes para la representación de ontologías suponen un nivel primario
necesario para la implementación de las ontologías. Los lenguajes de representación
del conocimiento se utilizan para construir descripciones formales de los conceptos de
una ontología. Un lenguaje de representación del conocimiento ofrece formas de
construir representaciones simbólicas de lo que se conoce, conjuntamente con
métodos formales que utilizan estas representaciones para hacer inferencias y obtener
conclusiones. De algún modo, el significado de los conceptos en la ontología debe
representarse de forma que pueda manipularse por ordenadores para realizar tareas de
búsqueda, descubrimiento de relaciones entre conceptos o buscar inconsistencias en la
ontología.
Una primera familia de lenguajes para definir ontologías estaría formada por las
denominadas lógicas descriptivas, que se basan en el cálculo de predicados de primer
orden extendido para razonar sobre las relaciones. Más concretamente, esta familia de
lenguajes tiene su origen en el lenguaje KL-ONE (Brachman & Schmolze, 1985) que
ha producido diferentes lenguajes como BACK (Petalson, 1991), CLASSIC
(Brachman et al., 1991), CRACK (Bresciani et al., 1995), LOOM (MacGregor, 1988),
o YAK (Cattoni & Franconi, 1990) entre otros.
Estos lenguajes se caracterizan por estar definidos precisa y formalmente. Las
formulaciones matemáticas de cualquiera de estos lenguajes pueden expresarse
utilizando aproximaciones teóricas o semánticas. Las operaciones de inferencia que
pueden realizarse sobre los sistemas construidos con estos lenguajes deben estar bien
definidas y su complejidad computacional debe estar especificada. Por otro lado,
existe un límite práctico al poder expresivo de estos lenguajes que viene dado por el
número y la naturaleza de las características que el lenguaje contiene.
Debido a esto se necesitan lenguajes más expresivos para construir ontologías con
una mayor riqueza, surgiendo así los lenguajes para representar ontologías orientadas
a la Web, entre los que se pueden destacar SHOE (Luke et al., 1997; Heflin et
al.,1999; Heflin & Hendler, 2000), RDF (http://www.w3.org/RDF/), OIL ( Ontology
Inference Layer ) (Fensel et al., 2000; Klein et al., 2000; Fensel et al., 2001), DAML
( DARPA Agent Markup Language) (http://www.daml.org), DAML+OIL (Connolly et
al., 2001; McGuinness et al., 2002) u OWL (Horrocks et al., 2003; McGuinness &
van Harmelen, 2004) entre otros.
Una vez que se tiene cubierto el primer nivel de representación con los lenguajes,
el siguiente nivel está formado por herramientas de más alto nivel que permitan la
creación de las ontologías de la forma más independiente posible de los lenguajes, así
Web Semántica y Ontologías 19
se encuentran bibliotecas y APIs ( Application Programming Interfaces)
como Jena 2
(http://www.hpl.hp.com/semweb/jena2.htm), Sesame (http://www.openrdf.org/) o
RDF Gateway (http://www.intellidimension.com/default.rsp?topic=/pages/site/products/rdfgateway.rsp), y
entornos de desarrollo como Protégé (http://protege.stanford.edu/), Kaon
(http://km.aifb.uni-karlsruhe.de/kaon2/modules), OilEd (http://oiled.man.ac.uk/) o
WebODE (http://delicias.dia.fi.upm.es/webODE/) (Corcho et al., 2002; Arpírez et al.,
2003).
6. Conclusiones
En este capítulo se ha tratado de hacer una revisión del concepto de Web Semántica y
de cómo las ontologías influyen decisivamente en el desarrollo de ésta, ya que tener
ontologías sin significados ambiguos es el primer paso hacia la Web Semántica.
Como se ha podido comprobar a lo largo de este capítulo, las ontologías son un
concepto vago que se han utilizado por diferentes disciplinas, pero desde el punto de
vista de la ingeniería web o de los sistemas de información basados en web debe
entenderse como artefacto de ingeniería que está constituido por un vocabulario
específico utilizado para describir una cierta realidad, además de un conjunto de
suposiciones que tienen en cuenta el significado del vocabulario.
Las ontologías como artefactos de ingeniería tienen un ciclo de vida, similar a un
proceso software, pero introduciendo las particularidades propias del descubrimiento
y la gestión del conocimiento propio del dominio que se está abordando.
Debido a la complejidad del mundo de la información se debe convivir con
diversas visiones del mundo. Así mismo, es preciso que los desarrolladores de
sistemas de información tengan herramientas que permitan una combinación de varias
ontologías.
El potencial de la Web Semántica llegará a su plenitud cuando se tengan
programas que recojan contenidos web de diversas fuentes, procesen la información e
intercambien información con otros programas. La efectividad de esos agentes
software se incrementará de forma exponencial cuantos más contenidos semánticos
existan en la Web y mayor sea el número de servicios web estén disponibles.
La Web Semántica presenta una sinergia: agentes que no fueron expresamente
diseñados para trabajar conjuntamente pueden intercambiar datos entre ellos cuando
los datos incluyen su semántica.
En definitiva, el desarrollo de una aplicación para la Web Semántica implicaría tres
pasos fundamentales. El primero el diseño y construcción de una ontología. El
segundo la generación de la base de conocimiento, enlazando con bases de datos y
extrayendo los metadatos oportunos. Y el tercero y último paso el desarrollo de los
módulos de aplicación que permitiesen una gestión oportuna de la información y del
conocimiento que ésta encierra.
20 F. J. García Peñalvo
Agradecimientos
Deseo manifestar mi agradecimiento al grupo AWEG – Adaptive Web Engineering
Group – de la Universidad de Salamanca por sus contribuciones e ideas en el
desarrollo de este trabajo, el cual ha sido parcialmente financiado por el proyecto
SA017/02 de la Junta de Castilla y León (España) y el proyecto ODISEAME ( Open
Distance Interuniversity Synergies between Europe, Africa and Middle East ), ref.
EUMEDIS B7-4100/2000/2165-79 P546.
Referencias
Annamalai, M., Sterling, L. (2003). Guidelines for Constructing Reusable Domain Ontologies.
AAMAS03 Workshop on Ontologies in Agent Systems Proceedings (pp. 71-74).
Arpírez, J. C., Corcho, O., Fernández-López, M., Gómez-Pérez, A. (2003) WebODE in a
Nutshell. AI Magazine, 24(3), 37-48.
Beck, H., Pinto, H. S. (2002) Overview
of Approach, Methodologies, Standards, and Tools for
Ontologies . The Agricultural Ontology Service. UN FAO.
http://www.fao.org/agris/aos/Documents/BackgroundAOS.html. [Última vez visitado,
31-10-2004].
Beckett, D. (Ed.). (2004) RDF/XML Syntax Specification (Revised). W3C Recommendation
10 February 2004. http://www.w3.org/TR/rdf-syntax-grammar/. [Última vez visitado, 31-
10-2004].
Berners-Lee, T. (1999) Weaving the WEB:
The Original Design and Ultimate Destiny of the
World Wide Web by Its Inventor . New York: Harper Collins Publisher.
Berners-Lee, T., Hendler, J., Lassila, O. (2001) The Semantic Web. Scientific American.
Borst, P. (1997) Construction of Engineering Ontologies for Knowledge Sharing and Reuse.
Ph.D. Dissertation. Tweente University.
Brachman, R. J., Borgida, A., McGuinness, D. L., Patel-Schneider, P. F., Resnick, L. A. (1991)
Living with CLASSIC: When and How to Use a KL-ONE-Like Language. En J. Sowa
(Ed.), Principles of Semantic
Networks (pp. 401-456). San Mateo, CA: Morgan
Kaufmann.
Brachman, R. J., Schmolze, J. G. (1985) An Overview of the KL-ONE Knowledge
Representation System. Cognitive
Science, 9(2),
171–216.
Bray, T., Paoli, J., Sperberg-MacQueen, C. M., Maler, E., Yergeau, F. (Eds.). (2004) Extensible
Markup Language (XML) 1.0. 3 rd
Edition. World Wide Web Consortium
Recommendation 04 February 2004. http://www.w3.org/TR/REC-xml. [Última vez visitado,
31-10-2004].
Bresciani, P., Franconi, E., Tessaris, S. (1995) Implementing and Testing Expressive
Description Logics: A Preliminary Report. En G. Ellis, R. A. Levinson, A. Fall, V. Dahl
(Eds.), Knowledge Retrieval,
Use and Storage for Efficiency (pp. 28-39).
Breuker, J., Muntjewerff, A., Bredewej, B. (1999) Ontological Modelling for Designing
Educational Systems. Proceedings of the
AI-ED 99 Workshop on Ontologies for
Educational Systems . IOS Press.
Brewster, C., O’Hara, K., Fuller, S., Wilks, Y., Franconi, E., Musen, M. A., Ellman, J., Shum,
S. B. (2004) Knowledge Representation with Ontologies: The Present and Future. IEEE
Intelligent Systems , 19(1), 72-81.
Brickley, D., Guha, R. V. (Eds.). (2004) RDF Vocabulary Description Language 1.0: RDF
Schema. W3C Recommendation 10 February 2004. http://www.w3.org/TR/rdf-schema/.
[Última vez visitado, 31-10-2004].
Web Semántica y Ontologías 21
Cattoni, R., Franconi, E. (1990) Walking through the Semantics of Frame-based Description
Languages: A Case Study. Proceedings of
the Fifth International Symposium on
Methodologies for Intelligent Systems . North-Holland.
Connolly, D., van Harmelen, F., Horrocks, I., McGuinness, D. L., Patel-Schneider, P. F., Stein,
L. A. (2001) DAML+OIL (March 2001) Reference Description. W3C Note 18 December
2001. http://www.w3.org/TR/daml+oil-reference. [Última vez visitado, 1-11-2004].
Corcho, O., Fernández-López, M., Gómez-Pérez, A., Vicente O. (2002) WebODE: An
Integrated Workbench for Ontology Representation, Reasoning and Exchange. 13th
International Conference on Knowledge Engineering and Knowledge Management
(EKAW'02) (pp. 138-153). Lecture Notes on Artificial Intelligence, Springer-Verlag.
Chandrasekaran, B., Josephson, J. R., Benjamins, V. R. (1999) What Are Ontologies, and Why
Do We Need Them? IEEE
Intelligent Systems, 14(1),
20-26.
Devedži ć, V. (2002) Understanding Ontological Engineering. Communications of the ACM,
45 (4), 136-144.
Enderton, H. B. (1972) A
Mathematical Introduction to Logic. New York:
Academic Press.
Farquhar, A. (1997) Ontolingua Tutorial. University of Stanford.
Fensel, D., Horrocks, I., Van Harmelen, F., Decker, S., Erdmann, M., Klein, M. (2000). OIL in
a Nutshell. En R. Dieng et al. (eds.), Knowledge
Acquisition, Modeling, and
Management, Proceedings of the European Knowledge Acquisition Conference (EKAW-
2000) (pp. 1-16). Lecture Notes in Artificial Intelligence, LNAI, Springer-Verlag.
Fensel, D., van Harmelen, F., Horrocks, I., McGuinness, D. L., Patel-Schneider, P. F. (2001)
OIL: An Ontology Infrastructure for the Semantic Web. IEEE Intelligent Systems,
16(2),
38–45.
Fernández, M. (1999) Overview of Methodologies for Building Ontologies. En V. R Benjamins
(Ed.) Proceedings of IJCAI99 Workshop on
Ontologies and Problem-Solving Methods:
Lessons Learned and Future Trends . CEUR Publications, Volume 18.
Fernández, M., Gómez-Pérez, A., Juristo, N. (1997) METHONTOLOGY: From Ontological
Art Towards Ontological Engineering. Proceedings
of AAAI97 Spring Symposium Series,
Workshop on Ontological Engineering (pp. 33-40).
Fernández, M., Gómez-Pérez, A., Pazos-Sierra, A., Pazos-Sierra, J. (1999) Building a Chemical
Ontology Using Methontology and the Ontology Design Environment. IEEE Intelligent
Systems ,
14(1), 37-46.
Fuller, S. (2001) Strategies of Knowledge Integration. En M. K. Tolda (Ed.), Our Fragile
World: Challenges, Opportunities for Sustainable Development (pp. 1215-1228). EOLSS
Publishers.
Gómez-Pérez, A. (1995) Some Ideas to Evaluate Ontologies. Proceedings of the Eleventh IEEE
Conference on Artificial Intelligence Applications (pp. 299-305). IEEE Computer Society
Press.
Gómez-Pérez, A. (1996) A Framework to Verify Knowledge Sharing Technology. Expert
Systems with Application , 11(4), 519-529.
Gómez-Pérez, A. (1998) Knowledge Sharing and Reuse. En J. Liebowitz (Ed.) Handbook of
Expert Systems . CRC.
Grant, J., Beckett, D. (Eds.). (2004) RDF Test Cases. W3C Recommendation 10 February
2004. http://www.w3.org/TR/rdf-testcases/. [Última vez visitado, 31-10-2004].
Gruber, T. R. (1993). A Translation Approach to Portable Ontology Specifications. Knowledge
Acquisition , 5(2), 199-220.
Gruber, T. R. (1995). Toward Principles for the Design of Ontologies Used for Knowledge
Sharing. International
Journal of Human-Computer Studies, Special Issue
on the Role of
Formal Ontology in the Information Technology, 43(5/6), 907-928.
Grüninger, M. (1996) Designing and Evaluating Generic Ontologies. Proceedings of the 12th
European Conference of Artificial Intelligence (pp. 53-65).
22 F. J. García Peñalvo
Grüninger, M., Fox, M. S. (1994a) The Design and Evaluation of Ontologies for Enterprise
Engineering. Proceedings
of the Workshop on Implemented Ontologies, European
Conference on Artificial Intelligence.
Grüninger, M., Fox, M. S. (1994b) The Role of Competency Questions in Enterprise
Engineering. Proceedings of the IFIP WG5.7
Workshop on Benchmarking - Theory and
Practice .
Grüninger, M., Fox, M. S. (1995a). Methodology for the Design and Evaluation of Ontologies.
Proceedings of the Workshop on Basic Ontological Issues in Knowledge Sharing, IJCAI-
95 .
Grüninger, M., Fox, M. S. (1995b) The Logic of Enterprise Modelling. En J. Brown, D.
O’Sullivan (Eds.), Reengineering
the Enterprise (pp. 83-98). Chapman and Hall.
Guarino, N. (1997) Understanding, Building and Using Ontologies. International Journal of
Human Computer Studies , 46(2/3), 293-310.
Guarino, N. (1998). Formal Ontology and Information Systems. En N. Guarino (Ed.),
Proceedings of the 1st International Conference on Formal Ontologies in Information
Systems, FOIS'98 , (pp. 3-15). IOS Press.
Hayes, P. (Ed.). (2004) RDF Semantics. W3C Recommendation 10 February 2004.
http://www.w3.org/TR/rdf-mt/. [Última vez visitado, 31-10-2004].
Heflin, J., Hendler, J., Luke, S. (1999) SHOE: A Knowledge Representation Language for
Internet Applications. Technical Report, CS-TR-4078 (UMIACS TR-99-71), Dept. of
Computer Science, University of Maryland.
Heflin, J., Hendler, J. (2000) Semantic Interoperability on the Web. Proceedings of the Extreme
Markup Languages 2000 Conference (pp. 111-120).
Hendler, J., Berners-Lee, T., Miller, E. (2002) Integrating Applications on the Semantic Web.
Journal of the Institute of Electrical Engineers of Japan , 122(10), 676-680.
Horrocks, I., Patel-Schneider, P. F., van Harmelen, F. (2003) From SHIQ and RDF to OWL:
The Making of a Web Ontology Language. Journal of Web Semantics, 1(1).
Jones, D. M., Bench-Capon, T. J. M., Visser, P. R. S. (1998) Methodologies for Ontology
Development. Proceedings
of IT&KNOWS Conference, XV IFIP World Computer
Congress.
Kappel, G., Pröll, B., Retschitzegger, W., Schwinger, W. (2003) Customisation for ubiquitous
web applications a comparison of approaches. International
Journal of Web Engineering
and Technology , 1(1), 79-111.
KBSI (1994) The IDEF5 Ontology Description Capture Method Overview. KBSI Report,
Texas.
Klein, M., Fensel, D., van Harmelen, F., Horrocks, I. (2000) The Relation between Ontologies
and Schema-languages: Translating OIL-specifications in XML-Schema. Proceedings of
the Workshop on Applications of Ontologies and Problem-Solving Methods .
Klyne, G., Carroll, J. J. (Eds.). Resource Description Framework (RDF): Concepts and Abstract
Syntax. W3C Recommendation 10 February 2004. http://www.w3.org/TR/rdf-concepts/.
[Última vez visitado, 31-10-2004].
Luke, S., Spector, L., Rager, D., Hendler, J. (1997) Ontology-based Web Agents. Proceedings
of the First International Conference on Autonomous Agents (pp. 59-66). New York, NY:
ACM Press.
MacGregor, R. M. (1988) A Deductive Pattern Matcher. Proceedings of the Seventh National
Conference on Artificial Intelligence (pp. 403-408).
Manola, F., Miller, E. (Eds.). (2004) RDF Primer. W3C Recommendation 10 February 2004.
http://www.w3.org/TR/rdf-primer. [Última vez visitado, 31-10-2004].
McGuinness, D. L. (2004) Question Answering on the Semantic Web. IEEE Intelligent
Systems ,
19(1), 82-85.
McGuinness, D. L., Fikes, R., Hendler, J. (2002) DAML+OIL: An Ontology Language for the
Semantic Web. IEEE Intelligent
Systems, 17(5),
72-80.
Web Semántica y Ontologías 23
McGuinness, D. L., van Harmelen, F. (Eds.). (2004) OWL Web Ontology Language Overview.
W3C Recommendation 10 February 2004. http://www.w3.org/TR/owl-features/. [Última
vez visitado, 1-11-2004].
Mizoguchi, R., Ikeda, M., Sinitsa, K. (1997) Roles of Shared Ontology in AI-ED Research. En
B. de Boulay, R. Mizoguchi (Eds.), Artificial Intelligence in Education AI-ED 97 (pp.
537-544). IOS Press.
Newell, A. (1982). The Knowledge Level. Artificial Intelligence, 18(1), 82-127.
Noy, N. F., McGuinness, D. L. (2001) Ontology Development 101: A Guide to Creating Your
First Ontology. Stanford Knowledge Systems Laboratory Technical Report KSL-01-05
and Stanford Medical Informatics Technical Report SMI-2001-0880.
Petalson, C. (1991) The BACK System: An Overview. Proceedings of the SIGART Bulletin,
2 (3), 114-119.
RAE - Real Academia Española (2001) Diccionario de Real Academia. Vigésimo
segunda
edición. http://www.rae.es. [Última vez visitado, 27-10-2004].
Sowa, J. F. (1984) Conceptual
Structures: Information Processing in Mind and Machine.
Reading, MA: Addison-Wesley.
Sowa, J. F. (2000) Knowledge Representation:
Logical, Philosophical, and Computational
Foundations . Pacific Grove, CA: Brooks Cole Publishing Co.
Studer, R., Benjamins, R., Fensel, D. (1998) Knowledge Engineering: Principles and Methods.
Data and Knowledge Engineering , 25(1/2), 161-197.
Swartout, W. Ramesh, P., Knight, K., Russ, T. (1997) Toward Distributed Use of Large-Scale
Ontologies. Proceedings
of Spring Symposium on Ontological Engineering of AAAI.
Swartout, W., Tate, A. (1999) Ontologies. IEEE Intelligent Systems, 14(1), 18-19.
Uschold, M. (1996) Building Ontologies: Towards a Unified Methodology. Proceedings of 16th
Annual Conference of the British Computer Society Specialist Group on Expert Systems .
Uschold, M., Grüninger, M. (1996) Ontologies: Principles, Methods and Applications.
Knowledge Engineering Review , 11(2), 93-155.
Uschold, M., Jasper, R. (1999) A Framework for Understanding and Classifying Ontology
Applications. En V. R Benjamins (Ed.) Proceedings
of IJCAI99 Workshop on Ontologies
and Problem-Solving Methods: Lessons Learned and Future Trends . CEUR Publications,
Volume 18.
Uschold, M., King, M. (1995) Towards a Methodology for Building Ontologies. Proceedings
of IJCAI95's Workshop on Basic Ontological Issues in Knowledge Sharing.
Valente, A., Breuker, J. (1996) Towards Principled Core Ontologies. Proceedings of the
Knowledge Acquisition Workshop - KAW'96 .
van Heijst, G., Schreiber, A. Th., Wielinga, B. J. (1997) Using Explicit Ontologies in KBS
Development. International Journal
of Human and Computer Studies, 46(2/3), 183-292.
|