7.2 Concepto de Web semántica La Web “Heredada” n En la Web que conocemos, la información se representa mediante medios “legibles para humanos” pero no “legibles para máquinas”. n n HTML no proporciona información sobre la semántica o la estructura de sus contenidos. No existen medios normalizados para describir las capacidades de consulta ofrecidas por una fuente web, ni un modelo subyacente unificado, ni una forma estándar de realizar consultas y obtener sus resultados. Web “Semántica” (1) n La Web Semántica pretende crear normas, lenguajes y protocolos para que la información en la Web sea “legible para máquinas”. n n n La estructura y semántica de los elementos de información debe poder definirse de forma clara (XML y XML Schemas). Debe poderse expresar conocimiento que relacione entre sí a diversos elementos (RDF). Debe ser posible definir “ontologías” (similar a “taxonomías”, veremos la diferencia más adelante) para los elementos, de forma que sea posible saber si elementos creados independientemente se refieren o no al mismo contenido semántico (e.g. ¿son estos elementos un “libro”? Si lo son , ¿son un “libro de ficción”?). Web “Semántica” (2) n n n n No puede esperarse que haya una única ontología de referencia: debe ser fácil expresar traducciones entre vocabularios. Debe ser posible expresar reglas de inferencia que obtengan nuevo conocimiento partiendo de otros conocimientos previos. Como en la web, cualquiera puede expresar cualquier conocimiento, es necesario poder autenticar quién expresa una información o conocimiento concreto. Pueden establecerse relaciones de confianza (Web of Trust): n Por ejemplo, una regla de inferencia ejecutada por un programa de una organización A puede tomar como base sólo conocimientos expresados por organizaciones de las que A se fíe. Web “Semántica” (3) n En la actualidad, se han desarrollado normas sólo para las primeras partes del problema: n n n n n n URIs para identificar unívocamente elementos. XML y XML Schema para definir la estructura de elementos de información. RDF para expresar afirmaciones (“conocimiento”) sobre elementos. Ontologías (OWL, DAML+OIL, RDF Schema) para expresar vocabularios y taxonomías de conceptos, y cómo estos se relacionan entre sí. Estas ontologías se expresan muchas veces utilizando primitivas similares a las del diseño OO (herencia, agregación, …). Los Servicios Web también se mencionan a veces como parte de la Web Semántica. Las partes de reglas de inferencia y cadenas de confianza aún no se ha desarrollado. Ejemplo de Web “Semántica” (1) n Ejemplo (Berners-Lee en Scientific American): n n n n Los Beatles cantan “We can work it out” en el equipo de sonido de Bob cuando el teléfono suena… El teléfono avisa a todos los dispositivos que tienen “control de volumen” para que lo bajen automáticamente… Es su hermana Lucy al teléfono. Su madre va a necesitar sesiones de fisioterapia y tienen que turnarse para acompañarla. Acuerdan que sus agentes (que residen probablemente en algún móvil o PDA) hagan los arreglos necesarios. El agente de Lucy recoge la prescripción de los sistemas del médico, busca clínicas en un área de 20 millas que tengan un nivel de confianza por parte de organismos fiables de “alto” o “muy alto”, y que su rango de precios esté en un margen determinado. Ejemplo de Web “Semántica” (2) n Ejemplo (Berners-Lee en Scientific American): n n n n Una vez escogida la clínica, el agente de Lucy contacta con el de su hermano. Cotejan sus agendas personales, y fijan las fechas en las que cada uno acompañará a su madre. Los agentes plantean las opciones a sus usuarios. A Lucy le parece bien, pero a Bob no. A la hora a la que son las sesiones, hay mucho tráfico desde su casa al hospital escogido. Así que Bob especifica a su agente criterios más estrictios de hora y localización. El agente de Bob busca otras opciones y las encuentra siempre que cambie un par de citas de su agenda. Bob lo acepta. El nuevo plan es enviado al agente de Lucy, quién lo acepta. Viabilidad Web “Semántica” (1) n n Como puede verse, el concepto global de Web Semántica es muy ambicioso. Mucha gente tiene dudas sobre la viabilidad actual de la versión más ambiciosa: n n n n Los sistemas basados en reglas de inferencia (estilo Inteligencia Artificial más o menos clásica) no han acabado de funcionar bien salvo en dominios muy específicos. La infraestructura de las redes de confianza puede ser costosa y difícil de montar. Definir ontologías de amplio uso es un proceso lento y difícil. Problema del “momento cero”. Círculo vicioso: n ¿Por qué el médico tendría un sistema de Web Semántica si montarlo tiene un coste importante y casi ningún paciente lo usa? ¿Por qué los usuarios tendrían agentes, si casi ningún proveedor (e.g. médico) lo soporta? Viabilidad Web “Semántica” (2) n Sin embargo, formas menos ambiciosas de la Web Semántica siguen siendo extraordinariamente útiles: n n n Sólo con etiquetación, las organizaciones podrían utilizar enormes volúmenes de información no estructurada y semiestructurada disponible ya en la actualidad en Internet. Etiquetar información no estructurada permite realizar consultas “precisas” y procesamientos complejos que serían impensables en otro caso. Además, muchas tareas que aparentemente requieren “inteligencia”, requieren sólo formas estandarizadas de comunicación inter-aplicación. Viabilidad Web Semántica (3) n Otro ejemplo: ¿Qué hace hoy un secretario de una empresa para organizar un viaje a un congreso? n n n n El viajero le dice más o menos cuando quiere llegar, cuando quiere irse y la ciudad y dirección del congreso ... El asistente contrata los vuelos, reserva un hotel cerca de la exposición y además lo hace al mejor precio posible. Tiene en cuenta conflictos con otras actividades de la agenda del viajero. Antes de confirmarlo todo, pregunta si esta todo bien Viabilidad Web Semántica (y 4) n ¿Puede un agente artificial asumir estas tareas ? n n n n n Imagínese que tenemos fácilmente accesibles servicios web o webs etiquetadas para consultar y contratar hoteles, otros para vuelos, y además un perfil personal del usuario con sus preferencias de viaje y con su agenda. Supóngase además que hay una serie de normas que estandarizan los intercambios entre partners para contratación de viajes. Programar el sistema se transforma en un problema de Integración de Aplicaciones. Por lo tanto, muchas veces el problema no es de “inteligencia”, sino disponer de una manera común de entendimiento entre aplicaciones. Esto puede ser perfectamente posible en ámbitos verticales (B2B es un ejemplo claro), aunque no lo acabe siendo a nivel tan general como en la Web Semántica. URIs (1) n Una URI (Uniform Resource Identifier) es un identificador que identifica un recurso o un objeto cualquiera dentro de la Web Semántica. n n E.g. http://mysite.com/myObject Una URI NO tiene por qué proporcionar una forma de acceder a dicho recurso o a información sobre dicho recurso. n n De hecho, una URI puede referenciar a un objeto que no esté disponible en la web, y sobre el que no tiene por qué haber ninguna información. Las URLs (Uniform Resource Locators) son tipos especiales de URIs que sí dicen cómo localizar un recurso, además de identificarlo. URIs (y 2) n No hay gestión centralizada de las URIs: n n Cualquiera puede crear sus propias URIs de la forma que desee. Puede ocurrir que varias URIs representen el mismo objeto, recurso o concepto. XML n n n A diferencia de HTML, XML especifica la estructura de sus contenidos. XML Schema permite definir esquemas que describen la sintaxis (orden, tipos de dato y formatos) de los documentos XML. El hecho de que el parsing contra el esquema sea interpretado, da bastante flexibilidad para tratar con sitios web nuevos (no es preciso distribuir parsers a priori). RDF (1) n n RDF (Resource Description Framework) es una manera de expresar sentencias simples. Cada sentencia RDF consta de tres partes, que se especifican mediante URIs: n n n n Sujeto Predicado Objeto Ejemplo: <rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:like=http://like.example.org/terms/ > <rdf:Description rdf:about=“http://udc.es/staff/apan”> <like:reallyLikes rdf:resource=“http://amazon.com/books/SemanticWeb”/> </rdf:Description> </rdf:RDF> RDF (y 2) n ¿Por qué no directamente XML? n n n n Habría muchas maneras de expresar algo similar en XML. Estaríamos imponiendo una sintaxis concreta para expresar el conocimiento, lo cuál dificulta la interoperabilidad. Además, la semántica en XML no es explícita, sino implícita. Por tanto, RDF es una manera de expresar relaciones entre conceptos sintácticamente bien definidos y no una manera de definir nuevos elementos sintácticos. Si bien RDF no está siendo tan utilizado como XML y hay un alto grado de confusión sobre su uso, está ganando aceptación con cierta rapidez. Ontologías (1) n n n n Una ontología es un artefacto de ingeniería que contiene un vocabulario de conceptos, así como una serie de relaciones, restricciones y reglas sobre esos conceptos. Las ontologías describen las relaciones entre los conceptos de un determinado dominio de una forma estándar. Una ontología puede actuar como modelo de referencia común entre sistemas diferentes que utilizan conceptos similares: facilitan interoperabilidad. Si no todo el mundo usa la misma ontología: pueden definirse reglas de “mapping”. Ontologías (2) n n Una ontología también puede permitir a los programas “razonar semánticamente” sobre determinados conceptos, sin haber sido programados explícitamente para ello, sino utilizando una serie de primitivas generales en términos de las cuáles están definidos los conceptos que forman las ontologías. Estas primitivas básicas tienen bastante que ver con las utilizadas en diseño OO. Ontologías (3) n Lenguajes: n n n Una ontología contiene: n n n n n n n DAML+OIL. Fusión de DAML (desarrollado por DARPA USA) y OIL (proyecto financiado por la unión europea). OWL. Lenguaje emergente que sustituye al anterior. Clases. Conceptos generales en el dominio. Instancias. Instancias particulares del concepto. Relaciones entre instancias/clases. Propiedades de clases e instancias. Funciones y procesos que involucran a clases e instancias. Restricciones y reglas de inferencia. Los lenguajes para ontologías también incluyen mecanismos de “mapping” entre ontologías. Ontologías (4) n n n Ejemplo: Definición de vino El vino es una subclase de los “líquidos potables” asociado a al menos un “productos”, elaborado a partir de al menos un “tipo de uva” (de tipos uvas válidos para fabricar vino). El vino, además, vienen de una “región productora de vino” (subclase de “región”), y tiene tres propiedades: “color”, “cuerpo” y “sabor”. Ontologías (y 5) n Ventajas: n n n Aplicaciones de fabricantes, productores, distribuidores, clientes, etc. pueden interoperar más fácilmente. La ontología no exige una sintaxis estricta, sino mappings de cómo una sintaxis se ajusta a la ontología. Un programa genérico que no esté programado específicamente para el problema de tratar vinos, será capaz de realizar igualmente bastantes procesamientos con items de tipo vino. Uso Hoy de la Web Semántica (1) n Una organización puede sacar un enorme partido de tener su información etiquetada estructural y semánticamente. n n n Es posible realizar consultas precisas sobre toda la información, combinándola además entre sí: sólo eso es ya un enorme avance. Sería posible también usar RDF para expresar conocimientos sencillos sobre los que ejecutar reglas de inferencia sencillas (más dudoso a corto plazo). Además, etiquetar la información de acuerdo a estándares facilita las cosas: n n Más fácil de implementar y mantener: Herramientas. Permite la interoperabilidad. Uso Hoy de la Web Semántica (y 2) n Lo mismo vale a la hora de definir y utilizar ontologías: n n Las organizaciones de estándares tienden a utilizar lenguajes de la Web Semántica para definir vocabularios, aunque estos muchas veces sean menos generales que el poder de una ontología compleja. Conclusión: n n n Independientemente de que la Web Semántica logre o no hacer realidad su visión más ambiciosa, se está convirtiendo en una norma de facto para etiquetar información. Etiquetar sintáctica y semánticamente toda la información proporciona enormes ventajas a una organización. Por lo tanto, la Web semántica tiene ya hoy espacio para su aplicación.