Vous êtes sur la page 1sur 23

Web Semntica y Ontologas

Francisco Jos Garca Pealvo


Departamento de Informtica y Automtica Facultad de Ciencias Universidad de Salamanca fgarcia@usal.es Resumen: La Web en la actualidad es un gran almacn de datos en el que se infrautiliza el valor de stos para convertirse en informacin til al requerir, en la mayora de los casos, a un agente humano como receptor y procesador de los datos en informacin. El potencial de la Web como gestor de conocimiento universal se ve acrecentado exponencialmente cuando a esos mismos datos se les otorga un recubrimiento semntico que los habilita para ser consumidos ya no slo por agentes humanos sino tambin por agentes software, abriendo un mayor espectro de interoperabilidad entre aplicaciones web, facilitando de una manera clara la introduccin y migracin hacia aplicaciones orientadas a los servicios. Esta extensin de la Web, conocida como Web Semntica, se ve potenciada por muchos factores, como el desarrollo, aceptacin y xito del lenguaje de marcas XML (eXtensible Markup Language). Pero XML por s slo no permite el desarrollo de la Web Semntica, son necesarios otros elementos, de los cuales cabe destacar las ontologas, como forma de descripcin del conocimiento de un dominio. A la hora de materializar una ontologa 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 especificacin de ontologas. El desarrollo de una ontologa requiere de un mtodo sistemtico. Como herramienta conceptual que es, el proceso de diseo de una ontologa va a estar ligado a diversas corrientes filosficas que desde antao han intentado abordar el siempre difcil problema de la representacin del conocimiento. En este captulo se pretende dar una visin introductoria que presente de forma clara el concepto de Web Semntica y su relacin con las ontologas como forma explcita de representacin del conocimiento en la Web. Palabras clave: Web Semntica; Ontologa; Lenguaje de descripcin de ontologas; Diseo de ontologas.

1 Introduccin
La Web que surge como una manera de compartir informacin, en forma de documentos estticos, entre una comunidad cientfica muy especfica (Berners-Lee, 1999). Sin embargo, desde su gnesis hasta la actualidad la Web no ha dejado de ofrecer nuevas posibilidades y usos no previstos inicialmente, pudiendo considerarse sus repercusiones tcnicas y sociales como una autntica revolucin a finales del siglo XX y comienzos del XXI.

F. J. Garca Pealvo & M N. Moreno Garca (Eds.): Tendencias en el Desarrollo de Aplicaciones Web

F. J. Garca Pealvo

La clave para el uso masivo de la Web est en su conectividad total gracias a su facilidad de acceso, su descentralizacin, su compatibilidad y las facilidades que otorga para que se comparta conocimiento y recursos. Todo ello conduce a la mitificacin, 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 bsqueda. La evolucin de la Web se puede ilustrar en tres generaciones de aplicaciones web segn la tecnologa y los servicios de stas (Kappel et al., 2003). En primer lugar estaran las aplicaciones de slo lectura, que presentan la informacin a un conjunto no predecible de usuarios annimos en forma de pginas estticas pensadas slo para navegar; las aplicaciones con pginas generadas al vuelo, mucho ms complejas, se basan en bases de datos que sirven como fuente de datos para la generacin de las pginas como respuesta a peticiones de los usuarios o a eventos de cambio de informacin; y aplicaciones de acceso ubicuo, que fomentan la conexin total a cualquier hora, desde cualquier lugar y dispositivo, para lo que las facilidades de adaptacin y el mantenimiento de la equivalencia semntica de los servicios y la informacin se hacen imprescindibles. Segn se avanza por las categoras propuestas en (Kappel et al., 2003) se van haciendo ms patentes las limitaciones de la Web en su estado actual: crecimiento catico de los recursos, falta de orden y de organizacin, alto coste y dificultad en su mantenimiento (enlaces perdidos, pginas muertas), crecimiento de la Web Oculta o Web Profunda (Hidden Web o Deep Web)1, buscadores eficientes pero limitados, dificultad de procesamiento automtico La semntica implcita en la Web actual se refleja en las respuestas que recibe un usuario a sus peticiones en los buscadores, ya que stas van ms all del estado en el que los usuarios simplemente realizaban una pregunta y reciban un conjunto ordenado por prioridad de pginas web. Los usuarios desean respuestas dirigidas a sus preguntas sin informacin superflua. Las respuestas deberan contener informacin de fuentes autorizadas, trminos con el mismo significado a los usados en la pregunta, enlaces relevantes (McGuinness, 2004). En este contexto en el que la mayora de los contenidos de la Web estn pensados para que los lea un ser humano y no para que los manipule un sistema informtico de forma significativa2, surge el concepto de Web Semntica. La Web Semntica trata de dotar de una estructura semntica a los contenidos significativos de la Web, creando un entorno en el que agentes software naveguen por las pginas realizando complejas tareas para los usuarios.
1

Se trata bsicamente de herramientas de bsqueda especializada en sitios poco frecuentados por los buscadores ms tradicionales. Entre estas fuentes pueden destacarse directorios sectoriales, bases de datos accesibles en lnea (a menudo denominadas Deep Web) o pginas de difcil acceso. Segn 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 trminos de acceso a la informacin. La clave es, por tanto, disponer de las herramientas adecuadas, as la verdadera cara oculta de la Web Oculta est en la conversin que cada cual puede hacer de esa informacin en un verdadero conocimiento. 2 Un programa puede fcilmente analizar y procesar una pgina web automticamente, sin ms que seguir el flujo de etiquetas que marcan su disposicin, pero en general esto no implica que el programa pueda extraer la semntica de los contenidos de la misma.

Web Semntica y Ontologas

La Web Semntica no es una nueva Web segregada de la actual. Es una extensin de la actual en la que la informacin 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 detrs de la Web Semntica es tener datos en la Web definidos y enlazados de manera que puedan ser usados de forma ms efectiva para un descubrimiento, una automatizacin, una integracin y una reutilizacin 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. Aadir semntica explcita (metadatos) a la Web implica permitir documentos que tienen informacin en formatos comprensibles por mquinas, adems de permitir que los enlaces se creen con valores en las relaciones. La Web Semntica no existe todava, aunque hay una importante infraestructura tecnolgica (lenguajes, herramientas, estndares) y existe un inters creciente de las agencias pblicas, de las empresas, de los centros de investigacin y del W3C (http://www.w3c.com) por el desarrollo de sta. El reto de la Web Semntica es ofrecer el lenguaje que exprese tanto datos como reglas para razonar sobre los datos, y adems permita que las reglas sobre cualquier sistema de representacin del conocimiento sean exportadas a la Web, aportando un importante grado de flexibilidad y frescura3 a los sistemas de representacin de conocimiento centralizados tradicionales, que se vuelven sumamente agobiantes, crecen rpidamente de tamao y se vuelven inmanejables. Diferentes sistemas web pueden utilizar diferentes identificadores para un mismo concepto. As, un programa que quiera comparar o combinar informacin entre dichos sistemas tiene que conocer qu trminos significan lo mismo. Idealmente, el programa debera tener una forma de descubrir los significados comunes de cualquier base de datos que encuentre. Una solucin a este problema es incluir un nuevo elemento a la Web Semntica, colecciones de informacin denominadas ontologas. Una ontologa es una herramienta conceptual que define un vocabulario comn para quien necesita compartir informacin dentro de un determinado dominio. Esto incluye definiciones de los conceptos bsicos del dominio, as como sus relaciones, que tienen que ser interpretables por mquinas (Noy & McGuinness, 2001). Una ontologa no es ms que una especificacin de lo que existe en un dominio, convirtindose stas en una pieza fundamental de las tecnologas orientadas a la Web Semntica. Sin embargo, es un trmino que ha recibido diferentes acepciones e interpretaciones en distintas disciplinas, aunque este efecto tambin se ha dado dentro de la misma rea de conocimiento, como por ejemplo en la inteligencia artificial. El objetivo de este captulo va a ser introducir qu es una ontologa, cmo se puede disear, cmo se puede especificar y relacionarlas con la Web Semntica. Para ello el resto del captulo se organiza como sigue: en la seccin dos se discute el concepto de ontologa, haciendo referencia a su gnesis y diversas interpretaciones; la seccin tres aborda el proceso de diseo de una ontologa; la seccin cuatro introduce algunas metodologas para la construccin de ontologas; la seccin cinco hace un breve
3

En la Web Semntica se aceptan las preguntas sin respuestas y las paradojas en pro de una mayor versatilidad.

F. J. Garca Pealvo

recorrido por las tecnologas para Web Semntica; y, por ltimo, la seccin seis cierra el captulo con las conclusiones del mismo.

2. Concepto de ontologa
Recientemente se ha desatado un creciente inters en las ontologas como artefactos para la representacin del conocimiento y como componentes crticos en la gestin del conocimiento, la Web Semntica, el comercio electrnico 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 filosofa aristotlica4. En Filosofa una ontologa es una teora sobre la naturaleza de la existencia, de qu tipo de cosas existen. Parte de la metafsica que trata del ser en general y de sus propiedades trascendentales (RAE, 2001). As una ontologa como disciplina estudia dichas teoras. Se confunde a menudo con la epistemologa, que trata del conocimiento y el conocer5. En el siglo XVII el trmino ontologa se usa como sinnimo de metafsica, concretamente como la rama de la metafsica que trata con la naturaleza del ser (Swartout & Tate, 1999). El trmino ontologa es adoptado por la inteligencia artificial a finales de la dcada de los 80s para compartir y reutilizar conocimiento, mientras que en la segunda mitad de los 90s se incorpora a la ingeniera web para la inclusin de descripciones semnticas explcitas de recursos (contenidos y servicios). En ambas disciplinas una ontologa se materializa en un documento o un fichero que define formalmente las relaciones entre trminos (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 representacin con el que un programa basado en conocimiento representa el conocimiento. Por tanto, en el contexto de la inteligencia artificial6 se puede describir la ontologa de un programa mediante la definicin de un conjunto de trminos de representacin. As, en una ontologa, 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 interpretacin y el uso adecuado de estos trminos. Las ontologas en la Web cubren un amplio espectro de utilizacin que las lleva a estar ligadas a grandes taxonomas 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 trmino ontologa fue introducido originalmente por Aristteles en su intento de clasificar todo lo existente en el universo. 5 Doctrina de los fundamentos y mtodos del conocimiento cientfico (RAE, 2001). 6 En la bibliografa propia de esta disciplina existen varias definiciones de ontologa, muchas veces contradictorias entre s.

Web Semntica y Ontologas

los productos de sitios web especficos, como por ejemplo Amazon (http://www.amazon.com). Sin embargo, en el contexto de la ingeniera web el tipo ms normal de ontologa presenta una taxonoma y un conjunto de reglas de inferencia. La taxonoma 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 ontologa pueda expresar condiciones. Un programa puede deducir cosas, no es que realmente las entienda, pero puede manipular los trminos 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 definicin de ontologas, los elementos constituyentes de una ontologa, en los tipos principales de ontologas y en la aplicacin de las ontologas. 2.1 Definicin de ontologa Una de las definiciones ms extendidas y aceptadas (especialmente en el campo de la inteligencia artificial) del concepto de ontologa dentro del contexto de la reutilizacin del conocimiento es la de T. R. Gruber (1993) donde se define como una especificacin explcita de una conceptualizacin. Una definicin muy prxima a la de Gruber (1993) es la de Borst (1997) que define ontologa como una especificacin formal de una conceptualizacin compartida. Pudindose fusionar ambas en la siguiente definicin una especificacin formal explcita de una conceptualizacin compartida, donde conceptualizacin significa modelo abstracto de un fenmeno, 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 organizacin terica de trminos y relaciones usados como herramienta para el anlisis de los conceptos de un dominio; compartida significa que captura un conocimiento consensual que es aceptado por una comunidad; y, por ltimo, explcita se refiere a la especificacin de los conceptos y a las restricciones sobre stos (Studer et al., 1998). As, una ontologa es una descripcin (como la especificacin formal de un programa) de conceptos y relaciones que pueden existir para un agente o una comunidad de agentes. Esta definicin es consistente con el uso de ontologa como conjunto de conceptos y definiciones, pero ms general, adems de tener un sentido completamente diferente al que se le da en filosofa. Uschold y Grninger (1996) definen ontologa como una comprensin compartida de algn dominio de inters. Aunque una definicin ms amplia e informal es la que define ontologa como un vocabulario de trminos y alguna especificacin de su significado (Uschold & Grninger, 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 ontologa. 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 razn para construir ontologas. Sin embargo, el requisito de la formalidad no es consensual.

F. J. Garca Pealvo

Una ontologa es una especificacin utilizada para establecer responsabilidades ontolgicas. Una responsabilidad ontolgica es un contrato para usar un vocabulario (i.e., realizar preguntas y hacer afirmaciones) de forma consistente (pero no completa) con respecto a la teora especificada por una ontologa (Gruber, 1995). Se usan ontologas comunes para describir responsabilidades ontolgicas para un conjunto de agentes por lo que ellos se podran comunicar sobre el dominio de discurso sin tener que obligatoriamente operar sobre una teora global compartida. Un agente se compromete con una ontologa si sus acciones observables son consistentes con las definiciones de la ontologa (Gruber, 1995). La idea de las responsabilidades ontolgicas se basa en la perspectiva de nivel de conocimiento de Newell (1982). El nivel de conocimiento es un nivel de descripcin del conocimiento de un agente que es independiente del nivel simblico de representacin que usa internamente el agente. El conocimiento se les atribuye a los agentes observando sus acciones. Un agente conoce algo si acta como si tuviera la informacin y est actuando racionalmente para conseguir sus objetivos. Un compromiso sobre una ontologa comn es una garanta de consistencia, pero no de complecin, con respecto a las preguntas y afirmaciones que se pueden hacer utilizando el vocabulario definido en la ontologa. Por su parte en (Uschold & Jasper, 1999) se establece que una ontologa puede tener una variedad de formas, pero necesariamente deber incluir un vocabulario de trminos y alguna especificacin de sus significados. Esto contempla definiciones e indicaciones de cmo los conceptos estn interrelacionados, lo que impone una estructura en el dominio y restringe las posibles interpretaciones de condiciones. Formalmente, una ontologa es la declaracin de una teora lgica. Las ontologas se equiparan frecuentemente con jerarquas taxonmicas de clases, esto es, definiciones de clases y sus relaciones, pero las ontologas no estn limitadas a estas formas. Las ontologas tampoco estn limitadas a definiciones conservadoras, es decir, definiciones en el sentido tradicional de la lgica que slo introduce terminologa y no aade ningn conocimiento sobre el mundo (Enderton, 1972). Para especificar una conceptualizacin se necesita definir axiomas que restrinjan las posibles interpretaciones de los trminos definidos. Siguiendo con la idea de reutilizacin del conocimiento A. Gmez-Prez (1995) define ontologa como una biblioteca de definiciones que pueden ser utilizadas para diferentes propsitos en diferentes dominios, que permiten compartir y reutilizar conocimiento y mtodos de razonamiento entre agentes. Para J. F. Sowa (2000) el objeto de una ontologa es el estudio de las categoras de las cosas que existen o pueden existir en algn dominio. El producto de tal estudio se denomina ontologa, es un catlogo de tipos de cosas que se asumen existen en un dominio de inters D desde la perspectiva de una persona que usa un lenguaje L con el propsito de hablar sobre D. Los tipos en la ontologa representan los predicados, el sentido de las palabras o los conceptos y los tipos de relacin del lenguaje L cuando se usa para discutir tpicos en el dominio D. Una lgica no interpretada es ontolgicamente neutra, ya que no impone restricciones en el estado de la cuestin o en la forma en que el tema puede caracterizarse. Por s misma, la lgica no dice nada sobre cualquier cosa, pero la combinacin de lgica con una ontologa ofrece un lenguaje que puede expresar relaciones sobre entidades en el dominio de inters.

Web Semntica y Ontologas

Una ontologa informal puede especificarse mediante un catlogo de tipos que no tienen que estar definidos o bien definidos por construcciones en lenguaje natural. Una ontologa formal se especifica mediante una coleccin de nombres de conceptos y tipos de relaciones organizados en un orden parcial mediante la relacin tiposubtipo. Las ontologas formales se distinguen por la forma en que los subtipos se distinguen de los supertipos: una ontologa con axiomas distingue a los subtipos por axiomas y definiciones expresados en un lenguaje formal, como puede ser lgica o alguna notacin orientada a la computacin que puede traducirse a la lgica; una ontologa basada en prototipos distingue los subtipos mediante una comparacin con un miembro tpico o prototipo para cada subtipo. Las ontologas grandes frecuentemente usan una mezcla de mtodos de definicin: axiomas formales y definiciones se usan para los trminos en matemticas, fsica e ingeniera, mientras que los prototipos se usan para plantas, animales y elementos comunes en los hogares (Sowa, 2000). Una definicin de ontologa ms cercana al modelado conceptual7 se encuentra en (Breuker et al., 1999) segn la que una ontologa define como una representacin explcita de una conceptualizacin cognitiva, es decir, la descripcin de los componentes de conocimiento relevantes en el mbito del modelado. La creacin de una ontologa ofrece la ventaja de que se hace explcita la categorizacin 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 conceptualizacin que se ha utilizado en otro. Las ontologas proporcionan un conocimiento del dominio reusable y mantenible (Mizoguchi et al., 1997). En trminos parecidos V. Devedi (2002) entiende que una ontologa 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 ontologa como las teoras sobre tipos de objetos, las propiedades de estos objetos, y las relaciones entre los objetos que son posibles en un dominio especfico de conocimiento. N. Guarino (1998) define ontologa como una teora lgica que considera el significado intencional de un vocabulario formal, es decir, su compromiso ontolgico para una conceptualizacin particular del mundo. Una ontologa es una descripcin formal y explcita de los conceptos de un dominio de discurso (clases, tambin denominadas conceptos), propiedades de cada concepto describiendo varias de sus caractersticas y atributos (propiedades slots tambin denominadas roles o propiedades), y restricciones de las propiedades (caractersticas o facetas, tambin denominadas restricciones de los roles) (Noy & McGuinness, 2001). Una ontologa junto con un conjunto de instancias individuales de las clases constituye una base de conocimiento.

Un modelo conceptual es una abstraccin, una vista simplificada del mundo que se desea representar para algn propsito. Cada base de conocimiento, sistema basado en conocimiento o agente con algn nivel de conocimiento se asocia con alguna conceptualizacin explcita o implcitamente.

F. J. Garca Pealvo

2.2 Componentes de una ontologa Desde un punto de vista de ingeniera una ontologa es un artefacto que est constituido por un vocabulario especfico utilizado para describir una cierta realidad, adems de un conjunto de suposiciones que tienen en cuenta el significado del vocabulario. De esta manera los componentes de una ontologa son una jerarqua de clases con atributos y relaciones (pero sin mtodos), una red semntica (como un conjunto de instancias interrelacionadas), una lgica, 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 bibliografa especializada se puede apreciar que los componentes de una ontologa varan segn el dominio de inters y las necesidades de los desarrolladores. Se presentan a continuacin los componentes de las ontologas 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 jerarqua de la ontologa, 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 especficos de un dominio. Ejemplo: la relacin F=m*a, que debe cumplirse siempre entre los atributos F (fuerza), m (masa) y a (aceleracin) de un determinado concepto. Clase o tipo: Una clase es un conjunto de objetos (fsicos, tareas, funciones...). Cada objeto en una clase es una instancia de esa clase. Desde el punto de vista de la lgica 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 descripcin del conocimiento en las ontologas ya que describen los conceptos del dominio. Una clase puede ser dividida en subclases, las cuales representarn conceptos ms especficos 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 caractersticas funcionales. Pueden ser agrupados en clases. Relaciones: Se establecen entre conceptos de una ontologa para representar las interacciones entre stos. Definidas por lo general como el producto cartesiano de n conjuntos: R: C1 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 topolgicas: Establecen conexiones espaciales entre conceptos. Propiedades o slots: Los objetos se describen por medio de un conjunto de caractersticas o atributos que son almacenados en los slots. stos almacenan diferentes clases de valores. Las especificaciones, rangos y

Web Semntica y Ontologas

restricciones sobre estos valores se denominan caractersticas 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. Conceptualizacin: Conjunto de conceptos, relaciones, objetos y restricciones que caracterizan un domino. Taxonoma: Conjunto de conceptos organizados jerrquicamente. Las taxonomas definen las relaciones entre los conceptos, pero no los atributos de stos. Vocabulario: Conjunto de palabras con una explicacin y documentacin que persigue la universalidad y el formalismo en el contexto de un dominio.

2.3 Tipos de ontologas Hay diversas formas de clasificar las ontologas dependiendo de la perspectiva que se aplique. Se van a presentar clasificaciones de ontologas desde perspectivas tan diversas como pueden ser su orientacin filosfica, su uso o su relacin con una tarea especfica entre otras. En (Brewster et al., 2004) se presenta un visin muy filosfica de las ontologas, distinguiendo la aproximacin newtoniana y la aproximacin leibniziana. La aproximacin newtoniana se basa en la idea de encontrar principios elegantes que simplifiquen. La cognicin consiste en abstraer patrones robustos de datos contaminados con ruido, de forma que lo complejo se haga simple. Por su parte, la aproximacin 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 ontologa el producto de dicho esfuerzo. La diferencia entre ambas perspectivas tiene su origen en la forma en las concepciones diferentes de cmo se teje la realidad. Newton se centra en el nico y los muchos (existe una diferencia cualitativa entre la mente de Dios y la confusin de nuestras mentes, que slo 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 algn modo trascienden de sus partes constituyentes (Fuller, 2001). En el contexto de la Web Semntica ambos enfoques tienen cabida con sus ventajas e inconvenientes. Las ontologas elegantes, propias de la tendencia newtoniana, pueden ser ms fciles de gestionar, pero las ontologas descuidadas, derivadas de la perspectiva leibniziana, pueden ser ms fciles de aplicar. M. Uschold (1996) ofrece tres dimensiones sobre las cuales varan los tipos de ontologas, a saber: Formalidad: Se refiere al grado de formalismo del lenguaje usado para expresar la conceptualizacin. Propsito: Se refiere a la intencin de uso de la ontologa.

10

F. J. Garca Pealvo

Materia: Para expresar la naturaleza de los objetos que la ontologa caracteriza. En cuanto a la formalidad cuatro puntos arbitrarios que se puede pensar que forma un continuo en esta dimensin son: Ontologa altamente informal: Expresada en lenguaje natural (por ejemplo un glosario de trminos). Ontologa informal estructurada: Utiliza lenguaje natural estructurado y restringido, que permite reduccin de la ambigedad. Ontologa semiformal: Usa un lenguaje de definicin formal, como puede ser ontolingua (Gruber, 1993). Ontologa rigurosamente formal: La definicin de trminos se lleva a cabo de manera meticulosa usando semntica formal, teoremas, y pruebas de estas propiedades como solidez y complecin (por ejemplo TOVE (Grninger & Fox, 1995b)). Los tipos de ontologas segn el propsito o uso que se les vaya a dar son los siguientes: Ontologas para comunicacin entre personas: Una ontologa informal no ambigua puede ser suficiente. Ontologas para interoperabilidad entre sistemas: Para llevar a cabo traducciones entre diferentes mtodos, lenguajes, software... En estos casos la ontologa se usa como un formato de intercambio de conocimiento. Ontologas para beneficiar la ingeniera de sistemas: Cuando las ontologas benefician las aplicaciones software apoyando aspectos como la reutilizacin de componentes software en un dominio de inters, la adquisicin de conocimiento, la fiabilidad de los sistemas al proporcionar consistencia en el conocimiento utilizado, o la especificacin de los sistemas software identificando los requisitos y definiendo especificaciones para las tecnologas de la informacin. Con respecto a la materia, las ontologas pueden ser: Ontologas de dominio: Caracterizan disciplinas especficas, tales como medicina, finanzas, qumica, biologa con independencia de los problemas o tareas relevantes de dichas disciplinas. Ontologas de tarea, de mtodo o de resolucin de problemas: Conceptualizan el problema o la tarea a resolver en un dominio. Ontologas de representacin o metaontologas: El objeto que se caracteriza es un lenguaje de representacin de conocimiento. N. Guarino (1997) clasifica las ontologas de acuerdo con su dependencia y relacin con una tarea especfica desde un punto de vista, diferenciando los siguientes tipos de ontologas: Ontologas de Alto Nivel o Genricas: Describen conceptos muy generales como espacio, tiempo, accin que son independientes de un problema o dominio particular. Parece razonable tener ontologas de alto nivel unificadas para una gran cantidad de comunidades de usuarios. En relacin con los sistemas de informacin, estas ontologas describiran conceptos bsicos.

Web Semntica y Ontologas

11

Ontologas de Dominio: Describen un vocabulario relacionado con un dominio genrico especializando los conceptos introducidos en la ontologa de nivel superior. Ontologas de Tareas o de Tcnicas bsicas: Describen una tarea, actividad o artefacto especializando las ontologas de alto nivel. Ontologas de Aplicacin: Son las ontologas ms especficas. Describen conceptos que dependen de las ontologas de dominio y de tarea, siendo con frecuencia especializaciones de ambas ontologas. Los conceptos en estas ontologas a menudo se corresponden con los roles propios de las entidades del dominio mientras que realizan una cierta actividad. N. Guarino (1998) marca otra distincin y diferencia ontologas refinadas y no refinadas, o lo que es lo mismo, off-line y on-line. Las no refinadas tienen un nmero mnimo de axiomas y su objetivo es ser compartidas por usuarios que concurren sobre una determinada visin del mundo. Tienen una mayor capacidad de ser compartidas y deberan ser utilizadas en lnea para dar soporte en funcionalidad de sistemas de informacin. Las refinadas precisan de un lenguaje de alta expresividad y tiene un gran nmero de axiomas. Deberan ser usadas off-line y solamente para referencia. En (van Heijst et al., 1997) se clasifican las ontologas de acuerdo a la cantidad y tipo de estructura de la conceptualizacin, distinguiendo: Ontologas terminolgicas: Especifican los trminos que son usados para representar el conocimiento en el universo del discurso. Suelen ser usadas para unificar vocabulario en un campo determinado. Ontologas de informacin: Especifican la estructura de almacenamiento de bases de datos. Ofrecen un marco para el almacenamiento estandarizado de informacin. Ontologas 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 Aplicacin de las ontologas Entre las principales razones para crear ontologas se pueden citar (Noy & McGuinnes, 2001) compartir un entendimiento comn de una estructura de informacin entre personas o agentes software, posibilitar la reutilizacin de conocimiento de un dominio, hacer explcitas 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 clasificacin de aplicaciones ontolgicas que permite a los desarrolladores escenarios especficos sobre cmo deben usar las ontologas para alcanzar provecho en un contexto dado. El aspecto principal del esquema es que se basa en un conjunto de escenarios de aplicaciones ontolgicas, entendindose por escenario un sistema o proceso que hace uso o se beneficia de la ontologa. Cada escenario considerado se caracteriza por el propsito o beneficio, el rol, los actores necesarios para implantar el escenario, el soporte tcnico y el nivel de madurez. Estos autores diferencian cuatro tipos de escenarios:

12

F. J. Garca Pealvo

Autora neutral: Se crea un artefacto de informacin en un lenguaje y se traduce a diferentes formatos para ser usado en mltiples sistemas. Sus beneficios son la reutilizacin de conocimiento, las mejoras en la mantenibilidad y la retencin de conocimiento de largo trmino. El artefacto creado puede ser una ontologa o datos operacionales. Ontologa como especificacin: Una ontologa de un dominio dado es usada como la base para especificar y desarrollar alguna aplicacin. Sus beneficios son la documentacin, la fiabilidad, el mantenimiento y la reutilizacin de conocimiento. Acceso comn a la informacin: La informacin 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 ontologa devuelve la informacin entendible para proporcionar una comprensin compartida de los trminos para enlazar trminos usados. Sus beneficios son la interoperabilidad y el uso ms efectivo y la reutilizacin del conocimiento. Ontologa basada en bsquedas: La ontologa es usada para buscar en un repositorio de informacin una fuente en particular (pginas web, documentos). Sus beneficios son un acceso ms rpido a la informacin y una reutilizacin y uso efectivo de las fuentes de conocimiento.

3. Proceso para el diseo y construccin de ontologas


Disear una ontologa es un proceso altamente complejo. La construccin de ontologas no responde a una nica aproximacin lgica sino que depende, en gran medida, del contexto en el que se construyen, de forma que ha sido norma comn que las diferentes comunidades que desarrollaban ontologas siguiesen sus propios principios, criterios, reglas o mtodos, dependiendo del tipo de ontologa a desarrollar o de una situacin particular. Ante esta diversidad, han proliferado una serie de mtodos de diseo y construccin de ontologas, que tienen por finalidad proporcionar a la comunidad de desarrolladores un procedimiento comnmente aceptado, ampliamente validado y verificado, que garantice la consecucin de un producto exitoso. Valente y Breuker (1996) establecen principios que deben respetar las ontologas, de forma que una ontologa especifique una conceptualizacin, una forma de ver el mundo, incorporando as un punto de vista. Estos principios son: 1. Parsimonia: Las ontologas deben ser parsimoniosas, deben contener suficientes conceptos, pero slo aqullos que son estrictamente necesarios. 2. Bases tericas claras: Las ontologas deben tener unas bases tericas claras. Una ontologa no debe ser una simple jerarqua de trminos, sino un marco terico que describe el dominio. 3. Categoras versus trminos: No se debe perseguir la especificacin de los trminos ms comunes, sino de las categoras bsicas del dominio del conocimiento.

Web Semntica y Ontologas

13

Coherencia: Las categoras bsicas deben ser coherentes, donde coherente adems de significar consistencia y complecin, implica que los marcos en los que se encuadran las categoras deben tener sentido dentro del propio dominio de conocimiento. La representacin 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 orientacin a objeto. Es generalmente, imposible enumerar de antemano todos los posibles puntos de vista tiles de (o clases de) objetos. La reutilizacin de alguna parte de conocimiento requiere una descripcin explcita de los puntos de vista que estn inherentemente presentes en el conocimiento. De otra forma, no hay forma de saber si la parte de conocimiento es aplicable a una nueva aplicacin y por qu. Noy y McGuinnes (2001) tambin establecen algunas reglas bsicas para el diseo de ontologas. No hay una nica forma correcta de modelar un dominio. Siempre hay alternativas viables. La mejor solucin siempre depende de la aplicacin que se tiene en mente y de las extensiones que se puedan anticipar. El desarrollo de una ontologa es necesariamente un proceso iterativo. Los conceptos en la ontologa deben ser cercanos a objetos (fsicos o lgicos) y a las relaciones en el dominio de inters. stos suelen ser nombres (objetos) o verbos (relaciones) en las frases que describen el dominio. El proceso de disear una ontologa no difiere mucho, en lneas generales, del usado para construir software. De forma muy pragmtica Noy y McGuinnes (2001) esbozan el esqueleto de un proceso de diseo y construccin de una ontologa que contendra las siguientes actividades: Definir las clases de la ontologa. Organizar las clases en una jerarqua taxonmica (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 ontologa son: especificacin (se identifica el propsito y el mbito de la ontologa), conceptualizacin (se describe en un modelo conceptual la ontologa que debe cumplir la especificacin), formalizacin (se transforma la descripcin conceptual en un modelo formal), implementacin (se implementa la ontologa formalizada en un lenguaje de representacin del conocimiento) y mantenimiento (se actualiza y corrige la ontologa). Adems, 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 adquisicin de conocimiento (se adquiere el conocimiento del dominio), la documentacin (se documenta qu se ha hecho, cmo se hecho y por qu se ha hecho) y evaluacin (tcnicamente se juzga la ontologa). A mayores de las actividades presentadas hay otra actividad que depende de la metodologa, la reutilizacin (se reutilizan otras ontologas en lo medida de lo posible, la mayora de las metodologas denominan integracin a esta actividad) (Beck & Pinto, 2002). Aunque estas fases tienen una influencia clara de la ingeniera del software, son diferentes, siendo las principales diferencias que, por un lado, en las fases de ingeniera del software, despus de la especificacin de requisitos, el diseo no se divide en conceptualizacin y formalizacin como sucede en la mayora de las

4.

14

F. J. Garca Pealvo

metodologas centradas en las ontologas y, por otra parte, las actividades de adquisicin del conocimiento, que tienen lugar durante todo el ciclo de vida de las ontologas, no existen por lo general en lo procesos de ingeniera del software. En la mayor parte de las ocasiones el desarrollo de las ontologas sigue un modelo de ciclo de vida basado en prototipos evolutivos. Construir ontologas desde cero para soportar aplicaciones de un dominio requiere una gran cantidad de tiempo y esfuerzo. Las ontologas de dominio reutilizables ofrecen posibilidades a los desarrolladores para explotar y reutilizar el conocimiento existente en el dominio, para as construir las aplicaciones con ms facilidad y confianza (Annamalai & Sterling, 2003).

4. Metodologas para la construccin de ontologas


Existen multitud de propuestas metodolgicas para el diseo y construccin de ontologas, siendo algunas de las ms relevantes TOVE, que se utiliz para construir la ontologa TOVE (TOronto Virtual Enterprise), sobre procesos de modelado de empresas (Grninger & Fox, 1994a, Grninger & Fox, 1994b, Grninger & Fox, 1995b; Grninger, 1996); ENTERPRISE, que se utiliz para construir la ontologa con el mismo nombre sobre procesos de modelado de empresas (Uschold & King, 1995; Uschold, 1996; Uschold & Grninger, 1996); METHONTOLOGY, que se ha utilizado para construir, entre otras, la ontologa Chemicals, que trata sobre los elementos de la tabla peridica (Gmez-Prez, 1996; Fernndez et al., 1997; GmezPrez, 1998; Fernndez, 1999; Fernndez et al., 1999); IDEF5 (KBSI, 1994); SENSUS (Swartout et al., 1997); o la gua para crear ontologas de la Universidad de Stanford (Noy & McGuinnes, 2001) entre otras. En los siguientes subapartados se har una rpida revisin de alguna de estas metodologas, aunque para una revisin ms detallada se puede consultar (Jones et al., 1998; Fernndez, 1999; Annamalai & Sterling, 2003). 4.1 Gua para crear ontologas Universidad de Stanford Se trata de una metodologa simple para a ingeniera del conocimiento aplicada a la creacin de ontologas (Noy & McGuinnes, 2001). Esta metodologa est compuesta por siete pasos, a saber: 1. Determinar el dominio y el alcance o mbito de la ontologa. Definir el dominio y el alcance de la ontologa, respondiendo preguntas del tipo cul es el dominio que la ontologa debe cubrir?, para qu se va a usar la ontologa?, a qu preguntas debe dar respuesta la ontologa?, quin va a usar y a mantener la ontologa? Una de las formas de determinar el mbito de la ontologa es preparar una lista de preguntas no exhaustiva que la base de conocimiento basada en la ontologa debe ser capaz de responder, lista que recibe el nombre de preguntas de competencia (Grninger & Fox, 1995a). Estas preguntas debern servir como base de pruebas ms adelante.

Web Semntica y Ontologas

15

2.

3.

4.

5.

6.

7.

Considerar reutilizar ontologas 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 ontologas reutilizables se pueden encontrar en Ontolingua (http://www.ksl.stanford.edu/software/ontolingua/) o en DAML ontology library (http://www.daml.org/ontologies/). Enumerar los trminos importantes en la ontologa. Es til escribir una lista con todos los trminos con los que se haran afirmaciones acerca del dominio o se explicara ste a un usuario. El contenido de la lista debe ser preciso y carente de ambigedades. Definir las clases y la jerarqua de clases. De la lista creada en el paso 3, se seleccionan aquellos trminos independientes para constituir las clases. A partir de stas se organiza la jerarqua. Hay diferentes aproximaciones (Uschold & Grninger, 1996): ascendente, descendente y mixto. Definir las propiedades de las clases (slots). Las clases por s solas no ofrecen suficiente informacin 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 trminos 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 ontologa: propiedades intrnsecas, propiedades extrnsecas, 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. Definir las caractersticas (facetas) de las propiedades. Las ranuras tienen diferentes propiedades que describen el tipo de valor, los valores permitidos, el nmero de valores (cardinalidad), as como otras caractersticas de los valores que la propiedad puede tener. 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 Politcnica de Madrid Metodologa desarrolla en el laboratorio de Inteligencia Artificial de la Universidad Politcnica de Madrid. Permite la construccin de ontologas a nivel de conocimiento e incluye la identificacin del proceso de desarrollo de la ontologa, un ciclo de vida basado en la evolucin de prototipos y tcnicas particulares a usar en cada paso (Gmez-Prez, 1996; Fernndez et al., 1997; Gmez-Prez, 1998; Fernndez, 1999; Fernndez et al., 1999). Esta metodologa est compuesta por siete pasos, a saber: 1. Especificacin. Se desarrolla un documento que contenga la meta de la ontologa, nivel de granularidad, alcance, propsito... Se identificar los trminos a ser representados, sus caractersticas y relaciones.

16

F. J. Garca Pealvo

2.

3.

4. 5. 6.

7.

Conceptualizacin. Se organiza el conjunto de trminos y sus caractersticas en una representacin intermedia que el desarrollador de la ontologa y los expertos puedan entender. En este paso se construye un glosario de trminos, diagramas de relaciones binarias, diccionario de conceptos, tablas de atributos instancias, tablas de atributos clases, tabla de axiomas lgicos, tablas de constantes, tablas de instancias. Adquisicin de conocimiento. Este paso se lleva a cabo de manera independiente en la metodologa. Su ejecucin puede coincidir con otros pasos. Por lo general la adquisicin de conocimiento se realiza en tres etapas: reuniones preliminares con los expertos, anlisis y revisin de la bibliografa asociada al dominio, y una vez que se tiene un conocimiento base se refina y detalla el conocimiento hasta completar la ontologa. Integracin. Se identifican las ontologas candidatas a ser reutilizadas en la ontologa que se est construyendo, incorporando aquellas piezas de conocimiento que sean de utilidad. Implantacin. Consiste en la codificacin del modelo conceptual en un modelo codificado en lenguaje ontolingua. Evaluacin. Se realiza un juicio tcnico a la ontologa, al ambiente de software asociado y a la documentacin con respecto a un esquema de referencia en cada paso de la metodologa. El esquema de referencia puede ser: requisitos de especificacin, preguntas de competencias y/o el mundo real. Documentacin. 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 ontologa que lleva su mismo nombre (Grninger & Fox, 1994a, Grninger & Fox, 1994b, Grninger & Fox, 1995b; Grninger, 1996). Esta metodologa propone las siguientes fases:
1. 2. 3. 4. 5. 6. 7. Capturar escenarios motivadores. Historia o ejemplos que describen la motivacin de la ontologa en trminos de las aplicaciones deseadas. Formular preguntas de competencia informales. Preguntas que la ontologa debe poder responder. Especificar la terminologa de la ontologa. Se utiliza para ello un lenguaje formal que use lgica de primer orden. Formular la lista de preguntas de competencia formalmente. Se utilizar el lenguaje formal como los trminos definidos en la fase anterior. Especificar axiomas y definiciones para los trminos. Se usar el lenguaje formal. Evaluar la ontologa. Se demostrar la competencia de la ontologa respecto a las preguntas que surgen de las aplicaciones que usan la ontologa. Definir las condiciones bajo las que las soluciones a las preguntas son completas.

Web Semntica y Ontologas

17

4.4 ENTERPRISE Este esquema metodolgico (Uschold & King, 1995; Uschold, 1996; Uschold & Grninger, 1996), constituye la base de muchos de los mtodos propuestos y usados en la actualidad. El esquema est constituido por cuatro pasos y considera adems un conjunto de guas o recomendaciones de diseo que se deben tener presentes en cada paso del mtodo. 1. Identificar el propsito y el alcance de la ontologa. Se seala claramente el propsito para el que se desea construir la ontologa as como el alcance de la misma. 2. Construir la ontologa. Este paso considera tres aspectos necesarios para la construccin de la ontologa, 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 conceptualizacin capturada en el paso anterior. c. Integrar el conocimiento: Se examinan las ontologas existentes y se verifica si pueden ser integradas a la que se est construyendo. 3. Evaluar la ontologa. Se hace un juicio tcnico a la ontologa considerando la conceptualizacion, el ambiente, el software y la documentacin, con respecto a una referencia. Esta referencia puede ser: requisitos de especificacin, preguntas de competencias y/o el mundo real. 4. Documentar la ontologa. Se documenta adecuadamente el conocimiento expresado en la ontologa, para as garantizar que sea apropiadamente compartido y reutilizado.

5. Tecnologas para la Web Semntica


Fundamentalmente hay dos tecnologas que han marcado el desarrollo de la Web Semntica 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 cul es el significado de cada etiqueta. XML permite aadir 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. Garca Pealvo

Identifier). Los verbos se identifican tambin mediante URIs que permiten que cualquiera defina un nuevo concepto. Adems de XML y RDF hay otras muchas tecnologas que se pueden aplicar a la Web Semntica, bien directamente o indirectamente a travs de tcnicas y herramientas orientadas al soporte de las ontologas. 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 lgicas descriptivas o las redes semnticas. Todos ellos se pueden entender como antecedentes de las ontologas. As mismo, igual que se han utilizado diferentes formalismos para estas tcnicas, como los grafos conceptuales (Sowa, 1984) para las redes semnticas, se han de utilizar medios de representacin para las ontologas. Los lenguajes para la representacin de ontologas suponen un nivel primario necesario para la implementacin de las ontologas. Los lenguajes de representacin del conocimiento se utilizan para construir descripciones formales de los conceptos de una ontologa. Un lenguaje de representacin del conocimiento ofrece formas de construir representaciones simblicas de lo que se conoce, conjuntamente con mtodos formales que utilizan estas representaciones para hacer inferencias y obtener conclusiones. De algn modo, el significado de los conceptos en la ontologa debe representarse de forma que pueda manipularse por ordenadores para realizar tareas de bsqueda, descubrimiento de relaciones entre conceptos o buscar inconsistencias en la ontologa. Una primera familia de lenguajes para definir ontologas estara formada por las denominadas lgicas descriptivas, que se basan en el clculo de predicados de primer orden extendido para razonar sobre las relaciones. Ms 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 matemticas de cualquiera de estos lenguajes pueden expresarse utilizando aproximaciones tericas o semnticas. 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 lmite prctico al poder expresivo de estos lenguajes que viene dado por el nmero y la naturaleza de las caractersticas que el lenguaje contiene. Debido a esto se necesitan lenguajes ms expresivos para construir ontologas con una mayor riqueza, surgiendo as los lenguajes para representar ontologas 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 representacin con los lenguajes, el siguiente nivel est formado por herramientas de ms alto nivel que permitan la creacin de las ontologas de la forma ms independiente posible de los lenguajes, as

Web Semntica y Ontologas

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 Protg (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; Arprez et al., 2003).

6. Conclusiones
En este captulo se ha tratado de hacer una revisin del concepto de Web Semntica y de cmo las ontologas influyen decisivamente en el desarrollo de sta, ya que tener ontologas sin significados ambiguos es el primer paso hacia la Web Semntica. Como se ha podido comprobar a lo largo de este captulo, las ontologas son un concepto vago que se han utilizado por diferentes disciplinas, pero desde el punto de vista de la ingeniera web o de los sistemas de informacin basados en web debe entenderse como artefacto de ingeniera que est constituido por un vocabulario especfico utilizado para describir una cierta realidad, adems de un conjunto de suposiciones que tienen en cuenta el significado del vocabulario. Las ontologas como artefactos de ingeniera tienen un ciclo de vida, similar a un proceso software, pero introduciendo las particularidades propias del descubrimiento y la gestin del conocimiento propio del dominio que se est abordando. Debido a la complejidad del mundo de la informacin se debe convivir con diversas visiones del mundo. As mismo, es preciso que los desarrolladores de sistemas de informacin tengan herramientas que permitan una combinacin de varias ontologas. El potencial de la Web Semntica llegar a su plenitud cuando se tengan programas que recojan contenidos web de diversas fuentes, procesen la informacin e intercambien informacin con otros programas. La efectividad de esos agentes software se incrementar de forma exponencial cuantos ms contenidos semnticos existan en la Web y mayor sea el nmero de servicios web estn disponibles. La Web Semntica presenta una sinergia: agentes que no fueron expresamente diseados para trabajar conjuntamente pueden intercambiar datos entre ellos cuando los datos incluyen su semntica. En definitiva, el desarrollo de una aplicacin para la Web Semntica implicara tres pasos fundamentales. El primero el diseo y construccin de una ontologa. El segundo la generacin 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 mdulos de aplicacin que permitiesen una gestin oportuna de la informacin y del conocimiento que sta encierra.

20

F. J. Garca Pealvo

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 Len (Espaa) 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). Arprez, J. C., Corcho, O., Fernndez-Lpez, M., Gmez-Prez, 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, 3110-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), 171216. Bray, T., Paoli, J., Sperberg-MacQueen, C. M., Maler, E., Yergeau, F. (Eds.). (2004) Extensible Markup Language (XML) 1.0. 3rd 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., OHara, 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 Semntica y Ontologas

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., Fernndez-Lpez, M., Gmez-Prez, 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. Devedi, 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 (EKAW2000) (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), 3845. Fernndez, 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. Fernndez, M., Gmez-Prez, A., Juristo, N. (1997) METHONTOLOGY: From Ontological Art Towards Ontological Engineering. Proceedings of AAAI97 Spring Symposium Series, Workshop on Ontological Engineering (pp. 33-40). Fernndez, M., Gmez-Prez, 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. Gmez-Prez, A. (1995) Some Ideas to Evaluate Ontologies. Proceedings of the Eleventh IEEE Conference on Artificial Intelligence Applications (pp. 299-305). IEEE Computer Society Press. Gmez-Prez, A. (1996) A Framework to Verify Knowledge Sharing Technology. Expert Systems with Application, 11(4), 519-529. Gmez-Prez, 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. Grninger, M. (1996) Designing and Evaluating Generic Ontologies. Proceedings of the 12th European Conference of Artificial Intelligence (pp. 53-65).

22

F. J. Garca Pealvo

Grninger, 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. Grninger, 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. Grninger, M., Fox, M. S. (1995a). Methodology for the Design and Evaluation of Ontologies. Proceedings of the Workshop on Basic Ontological Issues in Knowledge Sharing, IJCAI95. Grninger, M., Fox, M. S. (1995b) The Logic of Enterprise Modelling. En J. Brown, D. OSullivan (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., Prll, 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 Semntica y Ontologas

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 Espaola (2001) Diccionario de Real Academia. Vigsimo segunda edicin. 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., Grninger, 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.

Vous aimerez peut-être aussi