Geosemántica emergente

imagen del proyecto NYTE, el mundo en Nueva York

Vía el blog Un gaditano en Silicon Valley tengo conocimiento de un espectacular proyecto de visualización, NY Talk Exchange desarrollado conjuntamente por un laboratorio del MIT y por una sección ya desaparecida de Yahoo ( Yahoo! Design Innovation), que se expendrá en el MOMA de Nueva York. Dejando a un lado cuestiones de privacidad de datos, el potencial de este tipo de aplicaciones es enorme. Establecen una nueva forma de ver la demografía de la ciudad, podemos establecer nuevas categorizaciones de los barrios, e incluso, puede servir a la empresa de telefonía (AT&T, en este caso), para gestionar mejor sus telecomunicaciones al extranjero.

Por ejemplo, una forma interesante sería la de implementar un sistema multiagente para la gestión de ese tráfico, especializando la gestión mediante agentes y por países, junto con una administración de los recursos que use cada agente dependiendo de los datos que en este tipo de proyectos aparecen. Finalmente, sería muy interesante socializar demográficamente una ontología estándar sobre telecomunicaciones para gestionar la gestión del sistema. Como siempre, la gestión del conocimiento es un activo intangible de altísimo valor que muchas veces se descuida en aras de una gestión eficiente de la información, más sencillo pero más pobre.
Finalmente, y aunque a primera vista puede parecer una ingenuidad, esa aplicación que he esbozado en el párrafo anterior, aplicada a nuestro país, podría ser un punto de inflexión determinante para la gestión de nuestra telefonía internacional.

Agentes racionales “acotados”: dispositivos “listos” y gestión débil del conocimiento

Asistente del openofficeEn el proyecto en el que estamos embarcados hemos tomado una decisión transcendental: hemos agentificado diversos módulos importantes del sistema. Es una decisión arriesgada, inusual en proyectos Web 2.0 (e incluso en la Web Semántica), pues apostamos por una nueva tecnología de Inteligencia Artificial, y, en principio, parece innecesaria para nuestro proyecto. Delegar cierta parte de la gestión del conocimiento en un sistema de agentes racionales (SAR) es un desafío apasionante que nos obligará a investigar, innovar y no limitarse a desarrollar. Personalmente, creo que va a funcionar.
La decisión se basa en una serie de razones a favor (aunque también tiene algunas desventajas) que, como es habitual en este blog, enumero:

  • Agentificar parte de nuestro proyecto ha clarificado enormemente la arquitectura del sistema. De hecho, un simple análisis de los tipos de agentes nos ha llevado a conocer su ubicación, y la arquitectura social del SAR.
  • Delegar la gestión de cierto tipo de conocimiento en agentes nos ha inducido a pensar en interesantes cuestiones relativas a cómo debemos acotar el carácter deliberativo del agente. Obtener y trabajar con SAR “acotados” es algo habitual, lo que es relativamente nuevo es su aplicación intensiva en el campo de la Web Semántica.
  • Nos ha sugerido la necesidad de elaborar una teoría de agentes gestores de conocimiento, en el caso en el que la complejidad del conocimiento es escasa. Serán listos (smarts) y virtualizarán un dispositivo accesible por humanos.
  • Se ha clarificado enormemente la arquitectura social híbrida (humanos y agentes) del sistema, sus dependencias y la conciliación de sus comportamientos.

Ahora, las dificultades (para las que parece que ya hemos encontrado soluciones):

  • La monitorización de los recursos utilizados es muy difícil, debido a la autonomía de los agentes.
  • Precisamente, la propia autonomía de ciertos grupos de agentes puede comprometer la seguridad del sistema.
  • La teoría que debemos diseñar no debe ser sólo implementable, tiene que serlo  muy eficientemente.
  • La escalabilidad estaría comprometida si la cuestión anterior no está bien resuelta, pero también si la plataforma no soporta bien una población de agentes activos muy grande. La forma de solucionarlo depende de la adecuación lógico-computacional de la teoría de gestión de conocimiento, y el uso de varios contenedores.

Nacimiento del grupo SEmanticVILLE

etapas de germinación de una planta en una probeta

(Disclaimer: pertenezco al grupo al que hago referencia en este post).

El grupo SemanticVille nace dentro del Departamento de Ciencias de la Computación e Inteligencia Artificial de la Universidad de Sevilla con el objetivo de crear herramientas tecnológicas avanzadas (utilizando la Ingeniería Informática y la Inteligencia Artificial en su construcción) que soporten el nacimiento de nuevas comunidades de tipo MetaWeb. Con el término MetaWeb nos referimos a la previsible nueva generación de la Web que nacerá de la fusión natural entre la Web Semántica y la Web 2.0. La idea básica es que la dinámica de la red llevará a ésta desde el “desorden actual” a una interconexión eficiente (que no totalmente efectiva) del conocimiento. Una descripción más precisa del término se puede encontrar en el blog de uno de los creadores de éste, N. Spivack.

El grupo está formado, actualmente, por profesores del citado departamento y alumnos de doctorado y de Ingeniería Informática. Nuestra premisa es que cada proyecto de SemanticVille proporcionará nuevas plataformas para crear conocimiento organizado a su comunidad de usuarios, haciendo emerger de esa forma nuevos productos culturales o informacionales. La diferencia fundamental que los distinguirá de los proyectos Web 2.0 actuales es que se basarán en una mejor organización del conocimiento generado, utilizando técnicas semánticas (de la Web Semántica o herramientas de menor alcance). Con el término emerger hacemos referencia a nuestra intención de minimizar la administración del proyecto una vez lanzado y validada su robustez, permitiendo que la comunidad (y su producción cultural y/o de conocimiento) se autogestione en el mayor grado posible siempre que no se dañe la organización del conocimiento producido. Para los lectores de mi anterior post, nuestro objetivo es que la apropiación social del proyecto se alcance lo más rápidamente posible (siempre que la organización del conocimiento no esté en peligro).
Tenemos en cartera dos proyectos para comenzar estos meses y varias ideas para lanzar otros más adelante. Los objetivos, una vez que hemos comenzado, parecen apasionantes. Espero poder comentar aquí los resultados cuando estén maduros.

Mención de calidad del programa de doctorado “Lógica, Computación e Inteligencia Artificial”

Logo del Departamento(disclaimer: soy el coordinador del programa de doctorado al que hace referencia esta entrada) Hemos recibido una buena noticia de la Agencia Nacional que evalúa la calidad, entre otras cosas, de los programas de doctorado. Hemos conseguido la mención de calidad (con muy buena puntuación), lo que es un buen comienzo para su futura transformación en un máster oficial (académico-investigador).

Personalmente, considero esta mención el merecido fruto de un grupo de profesores y un esfuerzo del Departamento de Ciencias de la Computación e Inteligencia Artificial al que pertenezco. Durante estos diez años de vida, nuestro programa de doctorado Lógica, Computación e Inteligencia Artificial los grupos de investigación implicados han dirigido un número muy importante de Tesis doctorales, ha formado un numeroso grupo de profesores y ha producido una elevado número de publicaciones en los campos donde el programa de doctorado se asienta. Hemos contado con alumnos de muchas nacionalidades (Colombia, Brasil, Rumanía, Italia, Mongolia y Portugal, entre otras) y de distinta formación lo que ha supuesto un enorme esfuerzo personal docente / investigador / administrativo, no sólo mío como coordinador del programa, sino de todo el departamento en su conjunto.
Desde aquí animo a cualquier titulado superior (de cualquier nacionalidad) interesado en los temas de este blog, o en los temas que engloba el programa y los grupos de investigación implicados y que desee una formación doctoral a ponerse en contacto conmigo (jborrego@us.es) para su ingreso en el programa. El periodo docente comprende desde Enero a finales de Junio (adaptando de este modo el calendario a las necesidades de alumnos de Iberoamérica). Los periodos de preinscripción se están ampliando debido a un gran retraso por parte de la Agencia de Evaluación en enviar la documentación oficial de la mención de calidad.
Enhorabuena a todos.

Avanzando en las tres dimensiones de la Web Semántica

Hace unos años dirigí un proyecto fin de carrera (Ingeniería superior) donde se construía un periódico semántico. Realmente, de las diferentes dimensiones ontológicas que un portal de este tipo puede tener (véáse las principales en la figura de arriba, correspondiente al proyecto Ontoweaver) en el proyecto sólo se consideraba la ontología de dominio (una ontología sobre noticias), mientras que las restantes tareas no soportaban semántica. Sin embargo, permitía la construcción de agentes que componían periódicos mediante la extracción de noticias de otros, atendiendo a búsquedas semánticas. Como proyecto de grado que es, y teniendo en cuenta el entorno académico, la experiencia fue gratificante.

Considerado dentro de la geografía tridimensional de la Web Semántica en cuanto a la delegación de tareas en agentes (extraída del artículo de R. Benjamins y otros en SIGSEMIS), un tal proyecto quedaría encuadrado muy cerca del origen de coordenadas (véase la figura):

La cuestión relevante en este tipo de portales es: ¿hasta dónde se podría extender? Personalmente, creo que el aprendizaje sería la gran barrera. Téngase en cuenta que se manejan items (noticias) que en el caso de periódicos son actualizables constantemente, lo que obligaría a una monitorización constante de distintos tipos de búsqueda, junto con algún tipo de procedimiento de aprendizaje automático basado en el paradigma simbólico (como extensiones de la programación lógica inductiva). Seguramente, la solución pasaría por añadir colaboración social, pero la combinación de los dos tipos de razonamiento debe ser estudiada.

Sobre la necesidad de ontologías en la comunicación entre agentes

Cuando un alumno me pregunta por la necesidad de utilizar ontologías en la comunicación entre agentes, algo que no le parece necesario en otros ámbitos, la respuesta usual que doy es: para retratar el conocimiento común. Si los agentes que intervienen en la comunicación utilizan contextos distintos (es decir, ontologías distintas) o términos ambiguos, la comunicación puede ser un desastre. El mejor ejemplo que he encontrado de esto es este sketch de la serie Padre de Familia. Una sonrisa para el fín de semana.

Otro ejemplo que ilustra la importancia del contexto, aunque este es mucho más sutil, es en la comunicación humana en las comunidades virtuales. En éstas, mouchos de los comentarios están, usualmente ausentes de contexto. Esto significa que la interpretación de la performativa intencional del mensaje no esta disponible por el receptor (a menos que el emisor lo haga explícito). Las consecuencias de una mala interpretación de la performativa implícita en el mensaje están, además de la mala interpretación de la información, son la existencia de discusiones sobre el contenido del mensaje (por ejemplo, entender un mensaje irónico como informativo, y por tanto que está presentando la opinión personal del emisor). Véase este post de Enrique Dans al respecto, que analiza el problema desde una perspectiva más general.

Programación orientada a agentes y conocimiento común

Existen varios lenguajes orientados a agentes basados en el cálculo de situaciones de J. McCarty (y en las extensiones de otros como R. Reiter), como GOLOG y extensiones o FLUX. La importancia de estos lenguajes es que, desde el punto de vista de la Inteligencia Artificial, pueden ser considerados como lenguajes para la programación de agentes basados en el conocimiento, es decir, técnicamente programar un agente en estos lenguajes es simplemente insertar el conocimiento del mundo que tiene el agente (principalmente, con respecto a las acciones que puede realizar).

Desde el punto de vista de la Web semántica, proporcionan un valioso fundamento lógico para el análisis de los servicios web semánticos, su especificación y su comprensión como acciones en un mundo con ontologías como referentes semánticos (véase Adapting Golog for Composition of Semantic Web Services de S. McIlraith y T. Son). El problema fundamental de esta aproximación es cómo se maneja la(s) ontología(s) que intervienen en este contexto. Incluso, cómo la propia acción de los agentes puede inducir revisión de alguna de estas ontologías. En nuestra ponencia Learning services based on Formal Concept Analysis (aceptado en el ISA 2007) presentamos una aproximación débil pero factible basada en el Análisis Formal de Conceptos. Por supuesto, esto no resuelve el principal problema, a saber, cómo manejar ontologías en la ejecución de agentes basados en conocimiento. Esto es un problema debido fundamentalmente a que será habitual que el tamaño de la ontología sobrepase con creces el programa GOLOG del agente, lo que provocará mucho ruido en la computación.

Recomendación social e Inteligencia Colectiva

Esta entrada está sugerida por el auge que los sistemas de recomendación social (como pueden ser menéame o CoRank) tienen actualmente, así como por su análisis como fenómeno de Inteligencia Colectiva. El estudio de la evolución de estas redes como redes de confianza es una de las fronteras de la IA para este siglo. Muchos investigadores (entre los que se encuentra J. Golbeck, por ejemplo) son de la opinión de que es posible aislar ciertos factores en los que se basan los usuarios para otorgar confianza, para después integrarlo en sistemas lógicos de razonamiento (no monótonos, seguramente), así como ayudar al diseño de interfaces socialmente inteligentes. Esta última idea es innovadora, pues, actualmente, el diseño de esas herramientas se hace por aceptación social (la famosa frase “siempre estamos en beta”).

La introducción contínua de nuevas utilidades en sistemas de recomendación social, o la transformación menor de herramientas ya exitosas es usual, pero no parece conveniente sin un estudio previo del impacto sobre la red. Por ejemplo, un pequeño cambio en el sistema de valoración (como la función karma en el citado meneame) podría provocar que el sistema de confianza se desequilibrara. Básicamente, porque por ahora debemos considerar estas redes como sistemas dinámicos no predecibles, aunque existan herramientas de física teórica para analizar asintóticamente (o probabilisticamente) redes de este tipo. Este problema puede considerarse como un problema del nuevo siglo para la IA, un desafío para el que se tienen herramientas poderosas pero no sabemos, por ahora, cómo combinarlas.

Modelos para entender las redes sociales

¿Cómo estudiar, analizar y (lo que es más interesante) predecir la semiótica de una red social? En el artículo Semiotics Dynamics for embodied agents, el autor, L. Steels, analiza y plantea este nuevo reto para la AI. Para atacar esta fascinante cuestión (y relacionadas) hay que combinar y comparar métodos de muy diferentes ramas: teoría de redes, lingüística, Representación del conocimiento, Teoría de agentes, etc. A continuación voy a intentar responder a las cuestiones que, de manera natural aparecen con el planteamiento mismo de este desafío:

  1. ¿Tiene interés económico (desde luego que científico lo tiene)?. La rápida expansión de la Web 2.0 hace difícil a los economistas valorar realmente las empresas creadas. Uno de los valores intangibles de este tipo de empresas es el grado de cohesión social de los usuarios (la dimensión semiótica es uno de ellos), que mediría la frecuencia de uso, establecimiento de relaciones, etc. En la Web 2.0, el valor reside en el usuario y lo que el produce y puede producir, y eso es un bien intangible.
  2. ¿Es posible combinar todos esos campos para establecer los modelos adecuados? Sí y no. Sí porque basta establecer grupos de trabajo. No porque la disparidad es absoluta. Por tanto, la respuesta sería más bien: parece que sí.
  3. Si tuviésemos una buena teoría sobre esto, ¿Serviría para predecir el comportamiento de mi proyecto después de unos meses de vida? Por supuesto que sí, con las oportunas precauciones.
  4. ¿Dónde está la teoría de agentes en todo esto? tiempo al tiempo. Ni siquiera sabemos cómo descubrir utilidades nuevas (servicios nuevos) en una sociedad de agentes. En una ponencia que nos acaban de aceptar en el congreso IADIS Intelligent Systems and Agents, titulada Learning services by means formal concept reasoning, analizamos la cuestión de cómo descubrir (para después programar) tales servicios.

Hakia: búsqueda “razonada con sentido (semántico)”

Hakia es un buscador que un equipo multinacional con sede en Nueva York está desarrollando. El objetivo: que el buscador “entienda” la cuestión que se le plantea. Es decir, a diferencia de Google, donde las consultas se basa en palabras clave, el objetivo de Hakia es responder a preguntas como: ¿cuál es el tiempo previsto en Sevilla para mañana? y me responda con una serie de enlaces que responden (o ayudan a responder) a esa pregunta. Más información se puede encontrar en este interesante artículo.

El motivo de esta entrada no es tanto describir Hakia como plantear serias dudas sobre algunas de las ideas que se destilan del artículo antes citado. Básicamente, el artículo comienza hablando de la Web Semántica y enmarca a Hakia en ella. No es estríctamente cierto. Hakia no usa ontologías (aunque las utilice internamente) para sus razonamientos. No es su objetivo la fiabilidad. Se conforman con que se haya entendido la cuestión, para poder responderla. Eso sí puede ser un salto cualitativo, pero, sólo, con las correspondientes killer apps que sean capaces, a partir de preguntas automatizadas de manera adecuada (para que Hakia las responda aceptablemente), anotar los enlaces de resultados. Esto no es muy difícil. Pasos:

  1. Minería de ontologías (humano): experimentar hasta encontrar la ontología de las preguntas respondidas de manera aceptable por Hakia.
  2. Elegir la ontología sobre el tipo de recursos que queremos anotar (geográficos, de música, etc.)
  3. Ejecutar mediante un agente las preguntas pertinentes para poblar la ontología.

¿Qué conseguiríamos con eso? pues una primera anotación automatizada de recursos mediante un buscador con más fiabilidad semántica que Google. Para comenzar, la simple anotación por tags obtenida de esta forma ya debería de mejorar la búsqueda por palabras clave de Google (siempre que Hakia consiga un cierto éxito, claro está). Esta anotación sería (y ese es el segundo paso) una buena herramienta para unificar el penoso sistema de tags (debido a la libertad del usuario en la gestión de éstos) que arrastran muchos proyectos Web 2.0.