miércoles, 9 de mayo de 2007

Capas de la Web Semántica

La infraestructura de tecnologías y lenguajes necesarias para la implementación de la Web Semántica se pueden esquematizar en varias capas o niveles (Berners-Lee;1998):





Unicode: El alfabeto. Codificación de texto que permite utilizar caracteres y alfabetos internacionales para que así no aparezca símbolos extraños. Esto, nos permite tener información en la Web Semántica expresada en cualquier idioma.


URI(Uniform Resource Identifier): Las referencias. Cadenas que permiten acceder de forma inequívoca a cualquier recurso de la Web. Se trata de la URL(Uniform Resource Locator) y el URN(Uniform Resource Name). En la Web Semántica las URIs cumplirán con la función de ser identificadores de objetos del mundo real. Cualquier objeto podrá ser identificado mediante una URI. Esto puede traer consigo problemas, como que dos objetos estén identificados por la misma URI. El grupo de trabajo del W3C está intentando resolver este problema.


XML+NS+xmlschema: Es la capa más técnica de la Web Semántica. En ella, se agrupan tecnologías diferentes que posibilitan las comunicación entre agentes. XML(Extensible Markup Language) ofrece un formato común para el intercambio de documentos, NS(namespaces) proporciona un método para cualificar elementos y atributos de nombres usados en documentos XML asociándolos con espacios de nombre identificados por referencias URIs. XML Schema es un lenguaje para describir la estructura y restringir el contenido de documentos XML. La relación entre XML y XML Schema es una relación de control sintáctico.


RDF+rdfschema: Basada en la capa anterior, define el lenguaje universal con el que podemos expresar diferentes ideas en la Web Semántica. RDF es un lenguaje que define un modelo de datos para describir recursos mediante tripetas sujeto-predicado-objeto. Los dos primeros serán URIs y el tercero puede ser URI o un valor literal. RDF Schema es un vocabulario RDF que nos permite describir recursos mediante una orientación a objetos. Esta capa no sólo ofrece una descripción de los datos, sino también cierta información semántica.


Lenguaje de ontologías: Ofrece un criterio para catalogar y clasificar la información. Esta capa permite extender la funcionalidad de la Web Semántica agregando nuevas clases y propiedades para describir objetos.


Lógica: Además de ontologías se precisan reglas de inferencia.


Pruebas: Se intercambiarán "pruebas" escritas en el lenguaje unificador de la Web Semántica. Este lenguaje posibilita las inferencias lógicas realizadas a través del uso de reglas de inferencia.


Confianza: Hasta que no se haya comprobado de forma exhaustiva las fuentes de información, los agentes deberían ser muy escétipcos acerca de lo que leen en la Web Semántica.


Firma digital: Utilizada por los ordenadores y agentes para verificar que la información ha sido ofrecida por una fuente de confianza (XML Signature WG).

Fuente: Mapa conceptual de la Web Semántica. Keilyn Rodríguez Perojo y Rodrigo Ronda León

lunes, 7 de mayo de 2007

Características de un agente inteligente


Como ya hemos comentado anteriormente, para poder explotar la Web Semántica se necesita un lenguaje común con suficiente capacidad expresiva y de razonamiento para representar la semántica de las ontologías, como por ejemplo el lenguaje OWL.

Es necesario crear una ontología definida en formato RDF y ubicada en la Web para determinar el significado contextual de una palabra por medio de la consulta a la ontología apropiada. De esta forma, agentes inteligentes y programas autónomos podrían rastrear la Web de forma automática y localizar, exclusivamente, las páginas que se refieran a la palabra buscada con el significado y concepto precisos con el que interpretemos ese término. Por lo tanto, para potenciar el uso de ontologías en la Web, se necesitan aplicaciones específicas de búsqueda de ontologías, que indiquen a los usuarios las ontologías existentes y sus características para utilizarlas en su sistema, como podría ser el uso del buscador semántico SWOOGLE mencionado en la anterior entrada.

En este sentido, se entiende por agente inteligente aquella entidad de software que recoge, filtra y procesa la información contenida en la Web, realiza inferencias sobre dicha información e interactúa con el entorno sin necesidad de supervisión o control constante por parte del usuario.

Las cualidades que tendría
un agente inteliente ideal, según James A. Hendler, serían:

Comunicativo: el agente debe entender las necesidades, objetivos y preferencias del usuario para que éste pueda realizar su función correctamente. El agente también debe poder comunicarse con el entorno mediante representaciones compartidas de conocimiento (ontologías).

Capaz: El agente no sólo debe proporcionar una información, sino también un servicio, es decir, debe tener capacidad para hacer cosas. Por ejemplo, si se precisa un artículo de revista y ésta es de pago, el agente debe ser capaz de encontrar el artículo, informar del precio, dar el número de tarjeta de crédito, etc.


Autónomo: el agente, además de comunicarse, debe poder interactuar con el entorno, tomando decisiones y actuando por sí solo, limitando sus acciones según el nivel de autonomía permitida por el usuario.


Adaptativo: Debe ser capaz de aprender del entorno: preferencias de usuarios, fuentes de información y de otros agentes.



La Web Semántica debería ser capaz de procesar contenido, razonarlo y hacer deducciones lógicas a partir de éste, y cuando un usuario quiera, realizar todas estas acciones de forma automática.

Un agente inteligente entiende (lo que se pide), comprende (el contenido de los sitios), valida (si lo encontrado corresponde a lo pedido) y deduce (nueva información sobre la ya obtenida).

Pero para poder realizar todas estas tareas es necesario estandarizar las funciones que aportan las distintas capas de la Web Semántica: el alfabeto, las referencias, el lenguaje, el formato, las anotaciones sobre significados, los conceptos generales y las reglas y sistemas de deducción.

sábado, 5 de mayo de 2007

Ejemplos

Hemos estado buscando y hemos encontrado varios ejemplos de aplicaciones para el desarrollo de la Web Semántica.





Hemos descubierto la exitencia de un buscador semántico, SWOOGLE. Swoogle (SWDs, Semantic Web Documents), es un sistema de indización, recuperación y organización de la información para Documentos de la Web Semántica.


La nueva versión de Swoogle tiene un diseño más claro que el anterior. Recoge documentos Web semánticos recogidos de la Web, buscando en ficheros OWL, RDF y DAML o a través de páginas Web (HTML) que contengan documentos SW. Tiene más de 10.000 ontologías disponibles en la Web almacenadas en una base de daros en forma de URIs. Permite buscar además términos de cada vocabulario, esquema u ontología.


Por último, recalcar que no es un buscador dirigido al usuario final para encontrar recursos Web, sino que es para buscar, clasificar e incluso validar documentos y vocabularios de la Web Semántica.






Existe un
navegador semántico desarrollado dentro del proyecto Haystack del MIT, que personaliza la navegación según los intereses y gustos del usuario. Entre las funciones de esta navegador podemos destacar las siguientes:


- Crea colecciones de recursos de la Web Semántica y permite navegar por ellos.
- Desarrolla ontologías a medida.
- Importa archivos RDF/XML de la Web o archivos del sistema.
- Lee weblogs basados en RSS.
- Maneja colecciones de fotos digitales y organiza archivos de música.
- Navega por las páginas Web y los recursos semánticos.
- Permite el etiquetado de cualquier objeto, etc.


RSS es un vocabulario RDF basado en XML que permite la catalogación de información. De esta manera hace posible encontrar la información precisa adaptada a las preferencias de los usuarios.


RSS contienen metadatos sobre fuentes de información especificadas por los usuarios cuya función principal avisar de manera automática, a los usuarios de los cambios producidos en los recursos que éstos han seleccionado. De esta manera, se evita que los usuarios tengan que comprobar de manera directa la página.








FOAF (Friend of a friend) permite crear páginas Web para describir personas, vínculos entre ellos y cosas que crean y hacen. FOAF es una tecnología que consiste hace más sencillo poder compartir y utilizar información sobre la gente y sus actividades (fotos, calendarios, weblogs), para transferir la información y poder ampliar, juntar y reutilizarla online.


Se trata de un vocabulario RDF, que permite tener disponible información personal de forma sencilla y simplificada para que pueda ser procesada, compartida y reutilizada.

¿Para qué sirve la Web Semántica?


La Web Semántica es una Web extendida, basada en el significado, ayuda a resolver los problemas o limitaciones de una Web carente de significado. Algunos de estos problemas son los siguientes:


1. Construcción de la consulta: ¿Cuántas veces has buscado un tipo de información y has obtenidos resultados totalmente distintos a los esperados? Este es un problema muy típico al que nos enfrentamos todos los días cuando realizamos una búsqueda. ¿Por qué términos buscar? ¿Cómo plantear la cadena de búsqueda? Esta es una decisión bastante importante pero no existen pautas que nos digan cómo realizar búsquedas para obtener resultados deseados y evitar malgastar más tiempo de lo deseado.


2. Problema de la polisemia: Según la R.A.E polisemia es la pluralidad de significados de una palabra o cualquier signo lingüístico. Este es un gran problema de la Web. No es lo mismo el “pico” de un pájaro que “pico” de herramienta. Este problema puede ser superado con el uso de tesauros. Un tesauro es un conjunto de términos usados en un área, organizado en temas generales y específicos, que sirve de herramienta para buscar y documentar información.


3. Presentación de los resultados: Los resultados de las búsquedas son presentados al usuario en una lista. El número de resultados obtenidos, generalmente es elevado, lo que dificulta la búsqueda. El usuario debe elegir qué resultado ver basándose en un breve resumen proporcionado.


4. Heterogeneidad de fuentes de información con el consiguiente problema de interoperabilidad


Gracias a la Web Semántica el software es capaz de procesas su contenido, razonar este, combinarlo y realizar deducciones lógicas para resolver problemas cotidianos automáticamente.

Supongamos que la Web tenga la capacidad de construir una base de conocimiento sobre las preferencias de los usuarios y a través de una combinación entre su capacidad de conocimiento y la información disponible en Internet, sea capaz de atender de forma exacta las demandas de información de los usuarios. Si esto ocurriese en la vida real, un usuario obtendría resultados exactos sobre su búsqueda y no tendría que escoger los resultados deseados de entre todos los devueltos.

Hemos estado buscando en la Web la existencia de buscadores semánticos y nos hemos dado cuenta de que existen muchos proyectos para avanzar hacia un buscador semántico y hacia la Web del futuro, la Web Semántica.

miércoles, 2 de mayo de 2007

Web semantica, metadatos y lógica

Dos de los principales factores a los que debemos agredecer la construcción de la web semántica son:

  1. Metadatos sobre los documentos y archivos que existen en la web actual.
  2. Lógica aplicada sobre los metadatos.


Metadatos:


Etimológicamente, "metadato" significa "dato sobre datos".Es decir, los metadatos son datos altamente estructurados que describen información, describen el contenido, la calidad, la condición y otras características de los datos.

Sería impensable concebir la web semántica sin que los metadatos fuesen su base. Las ontologías actuarán como metadatos, y los recursos de la red se marcarán con instancias de las ontologías.


Lógica:


Es una disciplina que se dedica al análisis de los conceptos y procedimientos involucrados usados para elaborar conclusiones a partir de información dada. Éstas conclusiones son muy importantes porque los agentes inteligentes las usarán para tomar decisiones, ejecutar acciones y colaborar entre ellos.

Pronto la información de la web actual podrá ser consultada e interpretada, sin necesidad de la ayuda humana. Esto es debido a que las ontologías dan significado semántico a los documentos y archivos que nos podemos encontrar en ella. Además, para que sea posible también hacen falta motores de inferencia, es decir, programas que sean capaces de procesar los metadatos y de establecer relaciones entre los mismos.

Creo que para que la calidad de las respuestas a las peticiones que se hagan a la web sean lo mejores posibles, a parte de los factores nombrados anteriormente también influye la veracidad de las páginas, y para ello considero que es necesario que exista algún sistema que tenga en cuenta esto para que los agentes inteligentes funcionen correctamente.

miércoles, 25 de abril de 2007

Servicios Web

¿Qué son?


Un servicio web es un sistema software diseñado para soportar la interoperabilidad entre computadoras sobre la red. Tiene una interfaz descrita en un formato fácilmente interpretable como puede ser el WSDL. Los sistemas interactúan entre si de la manera descrita por este usando mensajes SOAP. Estos suelen ser transmitidos a través del protocolo HTTP con serialización en XML.


¿Como funcionan?


Al principio un proveedor de un servicio web debe registrarse en un directorio de servicios (páginas amarillas) como puede ser el registro UDDI. Para ello debe de enviarle la especificación WSDL donde se especifica cómo deben los otros sistemas comunicarse con el. Posteriormente el sistema que requiere de sus servicios se comunicará con el registro para encontrarlo y descargarse el mismo documento WSDL. Con este documento el cliente compondrá su mensaje SOAP para ser enviado directamente al proveedor de servicios y este le responderá con otro mensaje con la información que se ha solicitado. Toda esta comunicación se realiza basándose en formatos XML y transporte HTTP consiguiendo así un sistema universal y compatible con la mayoría de los sistemas actuales.


Pros y Contras


Esta tecnología permite que los servicios estén realmente descentralizados y distribuidos. Así como una mejora del tiempo de respuesta frente a los sistemas tradicionales.

Generalmente los sistemas software son paquetes cerrados de difícil revisión y mantenimiento. Sin embargo los servicios web se pueden entender como componentes y como tal más fácilmente desarrollados y lanzados al mercado.

Por el contrario la definición de los datos en ontologías no son actualmente de la calidad y amplitud necesarias para todos los ámbitos y poco a poco van mejorando con nuevas incorporaciones. Pero esto no evita que cada cual imponga sus propios esquemas.

Tampoco existe una garantía de calidad o rendimiento. Y la seguridad es un punto a desarrollar como puede ser la especificación WS-Security.

domingo, 22 de abril de 2007

¿Qué es necesario para el funcionamiento de agentes inteligentes en la web semántica?

Por un lado, sería imprescindible un lenguaje estandarizado y compartido de definición de ontologías (OWL podría ser la mejor opción) , y por otro, sería conveniente la creación de ontologías y la anotación de recursos web en función de las mismas.

Hasta que esto no suceda no se podrán crear agentes inteligentes interoperativos y mientras tanto, como es lógico, un usuario podría preguntarse qué ventajas tiene anotar sus páginas web mediante ontologías si no existen agentes que justifiquen este esfuerzo.

La solución podría alcanzarse llevando a cabo aplicaciones informáticas de publicación web, que anotaran automáticamente las páginas creadas por el usuario en función de las ontologías ya existentes en la web, con la menor intervención posible del usuario en el proceso.

Referencia bibliográfica : Artículo Análisis de la Web Semántica: estado actual y requisitos futuros. E.Peis, E. Herrera-Viedma, Y.Hassan y J.C. Herrera. Universidad de Granada

¿Qué es OWL?

Web Ontology Language, está diseñado para ser usado por aplicaciones que necesitan procesar el contenido de la información en vez de presentar sólo información para las personas. Owl facilita la interpretación del contenido web soportado por XML, RDF y Schema(RDF-S) proporcionando vocabulario adicional con semántica formal.

lunes, 2 de abril de 2007

Definición de la Web Semántica e Introducción del papel de los agentes en ella


La Web Semántica es una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y sencilla gracias a una información mejor definida.

Al dotar a la Web de más semántica, se pueden obtener soluciones a problemas habituales en la búsqueda de información gracias a la utilización de una infraestructura común, mediante la cual, es posible compartir, procesar y transferir información de forma sencilla. Esta Web se apoya en lenguajes universales que resuelven los problemas ocasionados por una Web carente de semántica en la que, en ocasiones, el acceso a la información se convierte en una tarea difícil y frustrante.

Surge a finales de los 90 con el fin de que las máquinas puedan entender, y por tanto utilizar, lo que la web contiene. Esta nueva web estaría poblada por agentes o representantes software capaces de navegar y realizar operaciones por nosotros para ahorrarnos trabajo y optimizar los resultados.

Para conseguir esta meta, la web semántica propone describir los recursos de la web con representaciones procesables (es decir, entendibles) no sólo por personas, sino por programas que puedan asistir, representar, o reemplazar a las personas en tareas rutinarias o inabarcables para un humano.