Visualización de la Información
2.2.3 Web Semántica
Este apartado está constituido por varios bloques dedicados a los aspectos más relevantes de la Web Semántica relacionados con la tesis. En primer lugar, se presentan los fundamentos de la misma, mostrando su vinculación con la Web actual. En segundo lugar, se introduce el concepto de Ontología, elemento esencial de la nueva Web. A continuación se describe la torre de lenguajes que aspiran a sustentar la Web Semántica sobre la Web actual. Después se tratan algunos temas relativos a las ontologías y que se refieren a su definición, implementación y explotación. Por último, se habla de los Agentes Software, dedicando atención a la definición de estos elementos, a los Sistemas Multi-Agente y a cuestiones relacionadas con su implementación.
La Web Semántica [Berners-Lee 2001] es una propuesta de evolución de la Web actual, constituida principalmente por documentos destinados al entendimiento humanos, hacia otra Web, que incorpore información adecuada para que los ordenadores puedan tratarla automáticamente. De esta forma la Web Semántica podría verse cómo una red global de información enlazada de modo que las máquinas puedan procesarla fácilmente, pero también cómo un modo eficiente de representar datos en la Web, o cómo una Base de Datos enlazada de forma global [Palmer 2001].
La idea de la Web Semántica parte de Beemers-Lee, el creador de la Web, las URIs, el protocolo HTTP (Hypertext Transfer Protocol) y el lenguaje HTML (Hypertext Markup Language). Cuenta con un equipo dedicado a ella en el Consorcio de la Web (W3C) [W3C 2008], que trabaja en mejorar, extender y estandarizar el sistema, propiciando el desarrollo de especificaciones, lenguajes y herramientas, así como en la publicación y divulgación de todo ello. [Needleman 2003].
La Web Semántica constituye un gran desafío tecnológico, aunque la finalidad del proyecto y su futuro parecen claros en general, no resulta siempre fácil lograr el consenso sobre el modo de afrontar los retos para alcanzar los objetivos marcados. Todavía no están maduras todas las tecnologías necesarias para soportar completamente la Web Semántica, ni tampoco está
disponible la mayoría de la información que será necesaria para su funcionamiento. Sin embargo, el camino se va aclarando en ambos sentidos, para conseguir llegar a la Web Semántica desde la Web actual, que se considera el punto de partida ineludible.
Hacia la Web Semántica
Para trazar una trayectoria desde la Web actual hasta la Web Semántica es necesario considerar el punto de partida. Hoy en día la mayoría de los datos existentes en la Web están ocultos en ficheros HTML, adecuados para las personas pero no para explotarlos automáticamente de forma generalizada.
El lenguaje HTML está inspirado en la norma SGML (Standard Generalized Markup
Language) que surge de las investigaciones de IBM, durante la década de los 60, sobre el modo
de gestionar documentos de forma automática [Goldfarb 1999]. La idea del marcado consiste en incorporar información sobre los documentos dentro de ellos mismos. De esta forma se puede establecer el modo de presentación de un documento, pero también especificar otras muchas cuestiones sobre él, como su historia, su estructura o las palabras claves que lo describen. Por tanto, el lenguaje HTML es una aplicación de SGML para documentos de hipertexto. Aunque permite incorporar cierta información adicional sobre los documentos, su objetivo principal es describir, de modo básico, la estructura y el formato de los mismos. Una de las limitaciones más evidentes de las primeras versiones del lenguaje era la rigidez con que se manejaban los formatos.
El éxito de la Web y los requerimientos de presentaciones mejoradas hicieron que el W3C promoviera un nuevo lenguaje para adjuntar formatos flexibles a los documentos HTML: las hojas de estilos en cascada CSS (Cascading Style Sheets) [CSS 2008]. Para ello, se extendió el lenguaje HTML con un mecanismo sencillo que soportaba la incorporación de los nuevos estilos, definidos por los diseñadores de cada sitio Web, de manera compatible con los formatos fijos predefinidos en el lenguaje.
Sin embargo, esta solución no dio respuesta a todas las necesidades que la evolución de las Web originaba, no se trataba sólo de un problema de presentación de los datos, que es los que HTML hace fundamentalmente, sino también de describirlos suficientemente. Fue entonces cuando el W3C desarrollo una versión simplificada de la norma SGML, que se conoce como XML (Extensible Markup Language) [XML 2008].
El nuevo lenguaje preservaba las principales ventajas del SGML a la vez que eliminaba su inconveniente más destacado, la complejidad. XML no pretende sustituir a HTML, puesto que en determinados contextos necesita a éste para presentar los datos que él describe. Sin embargo, XML aspira a ser el lenguaje de descripción de datos de la nueva Web, y esto conlleva el que todo en ella se escriba o rescriba en XML. De esta forma HTML se puede reformular en XML,
el resultado de ello es XHTML (eXtensible HTML) [XHTML 2008], que es el lenguaje llamado a remplazar a HTML en la Web que viene.
En XML es posible definir nuevas etiquetas y atributos, para ello se utiliza la definición de tipo de documentos o DTD (Document Type Definition). La DTD no esta escrita en XML, sino en SGML lo que complica su creación, además de no seguir la filosofía de la nueva Web. Por esta razón se ha introducido más adelante la especificación XMLS (XML Schema), que permite definir los documentos XML utilizando la propia sintaxis XML.
Ontologías
Como se anticipó en la introducción de este documento, la necesidad de reutilizar y compartir el conocimiento ha motivado la búsqueda de representaciones adecuadas del mismo. El uso de ontologías es una posibilidad con bastante aceptación en los últimos años. El concepto de ontología proviene de la metafísica y se refiere a la rama de ésta que se dedica al estudio sistemático de la existencia, el concepto del ser, sus modos, sus principios, sus propiedades, sus divisiones y sus causas.
Sin embargo, en el ámbito de sistemas basados en conocimiento, una ontología es una entidad computacional, un recurso que contiene el conocimiento sobre qué conceptos existen en el mundo y cómo se relacionan entre ellos [Mahesh 1996]. En este sentido una ontología es un recurso artificial que se crea para representar de forma simplificada la realidad y así poder trabajar con ella.
En este mismo contexto se enmarca la concisa y generalmente aceptada definición de Gruber, donde se dice que una ontología es una representación conceptual compartida del conocimiento, hecha de un modo explícito y formal [Gruber 1993]. En esta definición, el termino conceptual se refiere a un modelo abstracto de cómo se conciben las cosas en el área de trabajo y el término explícito significa que los conceptos y relaciones del modelo abstracto se expresarán de forma clara y evidente mediante términos y definiciones [Gruninger 2002]. Considerando todo lo dicho, una ontología debe concebirse como un entendimiento común y compartido de un dominio, que puede comunicarse entre personas y sistemas informáticos [Pérez 2002].
Chandrasekaran aporta algunas consideraciones interesantes sobre las ontologías. Por un lado, afirma que el análisis ontológico clarifica la estructura del conocimiento de los dominios tratados, a la vez que apoya la idea de que las ontologías permiten que ese conocimiento se pueda compartir. Y por otro lado, observa que aunque los elementos que conforman lo que existe no dependen de los objetivos de los diseñadores de las ontologías, normalmente los aspectos que se eligen de esos elementos para configurar las ontologías suelen depender de tales objetivos y por lo tanto también lo hacen las ontologías resultantes. De este modo, opina que es poco probable que una ontología pueda servir para todos los posibles usos potenciales; es decir,
una ontología de un dominio y el conocimiento basado en ella, serán más apropiados para unos usos que para otros y no se podrán aplicar a tareas muy diferentes de aquellas que los motivaron [Chandrasekaran 1999].
Gruninger afirma en este sentido que aunque el uso de ontologías se debe originalmente a la necesidad de compartir y reutilizar el conocimiento, la posibilidad de hacer ambas cosas está limitada porque los usuarios de ontologías (y otros diseñadores) no siempre comparten las mismas presunciones que los diseñadores originales. También observa que es difícil para los usuarios identificar cuáles son las presunciones implícitas y entender las diferencias clave en la ontología, aunque reconoce que algunos desacuerdos entre las personas son sólo superficiales [Gruninger 2002].
Se pueden considerar cuatro tipos fundamentales de ontologías [Pérez 2002]:
• Ontologías de tarea [Guarino 1998], que son las que han sido creadas para una aplicación concreta y las diseñadas para una actividad o tarea específica, como la venta de productos o el diagnóstico de una enfermedad.
• Ontologías de un dominio [Steve 1998], en las que se representa el conocimiento especializado pertinente de un dominio o subdominio, como la medicina, las aplicaciones militares, la cardiología, etc.
• Ontologías genéricas [Steve 1998], en las que se representan conceptos generales y fundacionales del conocimiento como las estructuras parte/todo, la cuantificación, los procesos o los tipos de objetos.
• Ontologías de representación [Steve 1998], en las que se especifican las conceptualizaciones que subyacen a los formalismos de representación del conocimiento, por lo que también se denominan meta-ontologias.
Es posible distinguir varias aplicaciones de las ontologías [Gruninger 2002]:
• Para comunicación, entre sistemas informáticos, entre humanos o entre humanos y sistemas informáticos.
• Para inferencia computacional, para internamente representar y manipular planes y planificar información, y para analizar las estructuras internas, algoritmos, entradas y salidas de sistemas implementados en términos teóricos y conceptuales.
• Para reutilización (y organización) del conocimiento, para estructurar u organizar librerías o repositorios de planes y planificar la información de un dominio.
Existen distintas formas de aplicar las ontologías para la gestión del conocimiento en intranets e Internet, por ejemplo emplearlas como soporte para la memoria corporativa centralizada de una organización, para la interoperatividad entre bases de datos, para la automatización de la
generación de documentos con algún propósito particular o para construir, mantener e interrogar el conocimiento distribuido de una organización [Benjamins 1999].
Relacionado con este asunto está el desarrollo de vocabularios ontológicos, que se ha producido de forma paralela y gozan de un amplio apoyo. Se trata de juegos de términos que se emplean para referirse a los conceptos que manejan las ontologías. Algunos son de propósito general como Dublin Core (“http://dublincore.org”), y otros de carácter específico, como Chemdex (“http://www.chemdex.com”) para comercio electrónico entre compañías, WordNet [WordNet 2008] [Fellbaum 1999] para procesamiento del lenguaje natural o IMS (Instructional Metadata System, “http://www.imsproject.org”) y EML (Educational Modeling Language, “http://eml.ou.nl”) para temas de formación.
Separación de Presentación y Contenido
Una propuesta interesante de la Web Semántica es la de separar el contenido y la presentación en los documentos que maneja. De este planteamiento viene la idea de documento virtual [Milosavlejevic 1999], que consiste en un documento que no existe como unidad integrada en ninguna URI (Uniform Resource Identification) y se compone dinámicamente combinando información que puede estar dispersa por la red. Este enfoque facilita la conceptualización, procesamiento y recuperación de la información que compone los documentos, que además pueden adaptarse a los requerimientos de las interfaces y condiciones de uso. Esta posibilidad permite integrar en la Web Semántica propuestas de la Hipermedia Adaptativa [Brusilovsky 1998], de la que se habló en el apartado de Interacción Persona-Ordenador, que constituyen un antecedente en el que las ontologías subyacentes suelen estar implícitas en el sistema y no se pueden modificar. Aunque la Web Semántica comparte con la Hipermedia Adaptativa algunas áreas de intersección, el ámbito de estudio de la primera se limita a los sistemas y aplicaciones que emplean la Web, mientras que campo de interés de la segunda tiene mayor recorrido y otras áreas de aplicación, que en los últimos años se ha orientado también a las aplicaciones y a los sistemas Web.
Para la generación dinámica de documentos en la Web existen actualmente multitud de alternativas –estándares, lenguajes y tecnologías-, todas ellas con ventajas e inconvenientes. Entre los que permiten la generación de los documentos en el servidor pueden citarse CGIs (Common Gateway Interface), C, Perl, ASP (Active Server Page) –con Visual Basic, Javascript- , Servlets, JSP (Java Server Page) –con Java-, PHP (inicialmente deriva de Personal Home Page Tools), Servidores de Aplicaciones, Bases de Datos. Y entre los que generan los documentos en el cliente: Javascript y Java. Fuera de estas dos categorías están por ejemplo XSL (eXtensible Stylesheet Language) y XML (Extensible Markup Language) [XML 2008].