jueves, 14 de junio de 2007

Servicios Web Semánticos

Un adelanto a lo que comenzaremos a ver la próxima semana. De momento, os dejo el enlace al workshop organizado por el W3C en el año 2005.

Como veréis, la cosa no ha cambiado mucho desde entonces. No está claro cuál de todas las líneas va a ser el estándar de-facto de servicios web semánticos. Como siempre, dos propuestas: una americana (OWL-S) y otra europea (WSMO). Ya nos pasó lo mismo con los agentes, entre KQML y FIPA y ¿el resultado? ninguno. Confiemos en que con esto no pase lo mismo.

Así que, como no se pondrán de acuerdo, yo os contaré las dos y, si acaso, vosotros podéis elegir. Yo tengo mi favorita, pero os lo diré al final.

De momento, para ir abriendo boca, os dejo la web del workshop. Tenéis acceso a los artículos y a la transcripción de las conferencias. De todas, la tercera sesión (tecnologías existentes) es la que habla de estos estándares. Os dejo también la transcripción.

martes, 12 de junio de 2007

Mensajes FIPA-ACL en OWL

Esta tarde hemos estado hablando de si tenía sentido seguir usando FIPA-ACL o KQML como lenguajes de comunicación. Todo esto motivado por el post sobre SPARQL que lo proponía como lenguaje de comunicación para los agentes en la web semántica.

El problema con FIPA-ACL no es tanto su semántica como en la sintaxis que utiliza: definiciones entre paréntesis y etiquetas identificadas con ":", siguiendo un estilo LISP. Al aplicar los agentes a la web semántica (y a los servicios web como veremos más adelante) resultan adecuados como lenguajes de contenidos los basados en XML, como RDF, OWL, OWL-S o WSML. Estos lenguajes desplazarían a FIPA-SL, que mantiene la misma sintaxis que FIPA-ACL.

Entonces, si hemos modificado el lenguaje de contenidos y usamos RDF ¿por qué no hacer lo mismo con el ACL? Esto nos permitiría usar el mismo parser para el ACL y el lenguaje de contenido, simplificando la programación del agente. Hoy en día no somos conscientes de esta complejidad porque la mayoría de las plataformas ofrecen una API que permite trabajar directamente con clases/estructuras de datos y nos ocultan los procesos de parseo de los mensajes en ACL.

Pero ¿no son realmente FIPA-ACL o KQML ontologías que representan el lenguaje que usan los agentes para comunicarse? Entonces ¿no sería más adeucado usar los lenguajes para la manipulación de ontologías, como OWL? Esto nos permitiría tener agentes que se comunicaran indistintamente en un lenguaje u otro.

Por ejemplo, usando la posibilidad de definir clases equivalentes en OWL se pueden establecer las equivalencias entre los mensajes FIPA-ACL y KQML de forma que se pueda construir un agente que se comunique indistintamente en cualquiera de estos lenguajes:

<owl:class id="fipa-query-if">
<rdfs:subclassof resource="#FIPA-ACL"/>
<owl:equivalentclass resource="kqml-ask-if"/>
</owl:Class>

Bueno, pues esta tarde me he puesto a buscar por si alguien había hecho algo así ya y me he encontrado un proyecto de la Univ. Politècnica de Catalunya en el que han construido una ontología en OWL para FIPA-ACL y más cosas. Alguna de esas "cosas" es también FIPA-SL (aquí viene un gran OMFG), cuya razón no entiendo muy bien, pero bueno.

Si quieres leer algo más, te dejo un par de artículos

Además también está disponible la ontología en OWL de FIPA-ACL y el grafo completo para que veas toda la ontología de forma gráfica.

El estudio de esta propuesta, implementar un agente que la utilice o cualquier otra cosa que se te ocurra también sirve como trabajo para la asignatura.

lunes, 11 de junio de 2007

AgentOWL: agentes en la web semántica

AgentOWL es una plataforma que permite la construcción de agentes adeptados a los requerimientos y los lenguajes de la web semántica. No es la única y quizá tampoco la mejor, pero es sencillo de probar.

AgentOWL está disponible como una herramienta que podemos añadir a JADE, así que permite empezar a desarrollar rápidamente agentes que la utilicen. El soporte de web semántica se lo proporciona Jena: una plataforma de los HP Labs que permite construir sistemas de razonamiento para la seb semántic que utilizan SPARQL para realizar consultas (ya apareció en un post anterior). Puedes leer algo más en el artículo "AgentOWL: Semantic Knowledge Model and Agent Architecture".

Este va a ser una herramienta muy interesante para los que queráis hacer algún desarrollo o algún trabajo práctico con agentes en la web semántica para el máster IARFID.

miércoles, 6 de junio de 2007

SPARQL ¿el ACL de la web semántica?

Si, lo sé, demasiadas siglas para un título, pero si no me quedaba demasiado largo, como una novela del Renacimiento. Lo dejaremos así "SPARQL ¿el lenguaje de comunicación de agentes en la web semántica?" Creo que es suficiente.

Estas semanas, hablando de ontologías y de la web semántica hemos estado hablando de RDF y de OWL. Y tenemos pendiente algo sobre SPARQL a la hora de establecer mecanismos de razonamiento sobre la web semántica. SPARQL son las siglas de Simple Protocol and RDF Query Language. La idea es disponer de una sintaxis muy semejante a la de SQL para realizar consultas sobre bases de conocimiento (KB) construidas en RDF.

Lo que se está estudiando es si SPARQL puede sustituir a KQML como lenguaje de comunicación entre agentes. Particularmente, creo que es algo limitado porque se queda fuera toda la parte de servicios web (que veremos en breve), pero es un buen intento.

El razonamiento que siguen es este: si cuando se empleaba KIF como lenguaje de contenidos, KQML proporcionaba la capa para la comunicación de esos contenidos, ahora que en la web semántica el lenguaje ha cambiado a RDF, la opción natural sería modificar también el soporte para la comunicación.

Y no van del todo desencaminados. Los métodos de razonamiento sobe la web semántica se basan en uan interfaz conocida como Tell & Ask: se emplean operaciones tell para la construcción de la base de conocimiento (básicamente aserciones sobre una ontología aceptada) y operaciones ask para el proceso de inferencia. Y una interfaz de este estilo es la que se basa la comunicación entre agentes a través de la teoría de los speech acts.

Si quieres leer algo más , te sugiero el comentario de Tim Finin: "If RDF Is the New KIF Then SPARQL Must Be the New KQML".

martes, 29 de mayo de 2007

Apple's Knowledge Navigator

Creo que he tardado demasiado en escribir esto ;-)

La semana pasada vimos en clase el vídeo "Apple's Knowledge Navigator": un vídeo un tanto "visionario" de Apple en el que se trataba de imaginar cómo serían las interfaces del futuro. Es un gran ejemplo de lo que debe ser un agente de información. Si lo analizas con detalle, verás muchas de las características que hemos ido viendo en clase en cuanto a la comunación, la recuperación (muy inteligente) de información y posiblemente coordinación con otros agentes: es difícil que una sola entidad sea capaz hacerlo todo y es probable que realmente se trate de un sistema multiagente (MAS) plagado de intermediación de servicios.

El vídeo está disponible en YouTube, así que lo pongo a continuación (duración: 5.55 min.)



También puedes descargarte los vídeos en formato mov y mpeg (tienen mejor calidad) si lo prefieres o te lo quieres guardar.

lunes, 21 de mayo de 2007

Lío de siglas

Terminando las transparencias para mañana me acabo de dar cuenta de un pequeño follón con las siglas, que imagino que también me afectará cuando escriba cosas en el blog. Y es que acabo de darme cuenta de que las siglas de web semántica y servicios web son exactamente al revés cuando escribes en inglés y en español.

Me explico. Si escribo todo en español tenemo web semántica (WS) y servicios web (SW). Pero en inglés serán semantic web (SW) y web services (WS). Así que tengo que decidirme en qué escribo las siglas para no ir cambiando según tenga el día :-)

Creo que va a ser más natural usar las siglas en inglés, porque cuando vengan los nombres de los lenguajes, como WSDL o WSMO queda más claro que WS hace referencia a web services y que estos dos son lenguajes relacionados con los servicios web.

Aunque claro, la S de OWL-S quiere decir services, mientras que la S de WSDL-S es de semantic. Mejor dejaré de escribir antes de que me raye demasiado.

viernes, 18 de mayo de 2007

The Machine Is Us/ing Us

Es el título del vídeo que vimos el pasado martes. Os lo vuelvo a poner aquí por si queréis echarle otro vistazo.



Después de verlo os comenté que, quizá, esa era la razón por la que el desarrollo de los agentes, sobre todo en el campo de la web, no ha sido el esperado: la inteligencia que se suponía que debían aportar los agentes se había sustituído por la inteligencia social de emana de las comunidades virtuales.

¿Cuál es vuestra opinión? ¿Pensáis que esta es una de las razones? ¿Creéis que esta inteligencia es suficiente o la Web 2.0 requiere algo más? ¿Os parece que los agentes pueden ser útiles en ese entorno? ¿Haciendo qué?