domingo, 1 de agosto de 2010

Una invitación crítica a la Web Semántica


Estoy empezando a leer un libro sobre la Web Semántica: A Semantic Web Primer. Con mayúsculas, esa que auguran ávidos comedores de subsidios científicos, prometiendo un futuro de transacciones automáticas, confort y agentes web que nos hacen las compras mientras nos rascamos el ombligo.

Para invitarlos a meterse de lleno en este fantástico mundo que tal vez felizmente desemboque en una web mejorada voy a criticar algunos puntos conceptuales turbios del status quo científico sobre el tema. Espero que esto nos permita luego avanzar hacia una versión mejorada de la web semántica que podremos llamar Web Ergonómica. También la podemos llamar como se nos plazca.
  • Wrappers: programas para extraer información estructurada de datos poco o nulamente estructurados. Ejemplos: Reconocimiento óptico de carácteres, expresiones regulares para extraer precios de comercios online.
    Their functionality is provided by wrappers, programs that extract information from an online store. [..] This heuristic approach is error-prone; it is not always guaranteed to work.
    Entonces los wrappers serían malos porque no son confiables. Tal vez habría que hacer mas precisa la tasa de error y propiedades de los wrappers. Pero no se pueden evitar a menos que querramos obligar a todo el mundo a usar los mismos formatos, de la misma manera, o querramos tirar a la basura todos los datos historicos que tenemos.
  • Hay mucho enfasis (enfatitis?) en B2C y B2C, es decir aplicaciones para el consumidor final e inter-negocios.
    Auctioning, negotiations, and drafting contracts will be carried out automatically (or semiautomatically) by software agents.
    Pareciera como si quisieran que la actividad humana fuera dejada en manos de máquinas, que operarían y vivirían por nosotros, mientras nos dedicamos a interpretar sus interfaces amigables. Esto esta un poco en contradicción con un punto que veremos más abajo, que es la prueba de veracidad de los resultados de la consultas y operaciones.
  • La consistencia como obviedad y requisito primero.
    This [semantic web] information could then be used for context-specific presentation of pages, advanced querying, and consistency verification.
    Ya es difícil meter una misma oración los conceptos de consistencia y presentación dependiente del contexto. Más luego como mantener la consistencia si los repositorios de datos, es decir las fuentes, son heterogéneas y, lo más importante, controladas por sistemas (políticamente) autónomos.
  • Extraña jerarquía de capas. Usualmente cuando se habla de un diseño por capas es para lograr cierta independencia entre características del sistema. Pero no acá. Parecería que el significado es otro. Queremos "downward compatibility of languages", y "partial upward compatibility of languages". Esto básicamente seria que si un interprete de ontología entiende OWL entonces tiene que entender XML, porque OWL esta descripto con XML. Si hacemos una analogía con lenguajes de alto nivel y bajo nivel, esto no seria cierto porque para que un interprete entienda Java no hace falta que conozca el código de máquina abstracta de Java ni el código de máquina Intel (en niveles inferiores). Luego parecería que como diseño de capas no es bueno o realmente no se quiere independencia de los distintos niveles, por ejemplo reglas de deducción y ontologías/categorías.
  • Proof: todas las respuestas son verificables por el usuario, porque todas tiene un desarrollo/deducción lógica de donde vinieron. Puede pasar que la deducción de algo importante sea muy largo e impracticable de verificar a ojo. También puede pasar que sea necesario verificar en sí los elementos de la demostracion per se, de esta manera necesitamos otro sistema IA/web semantico para verificar la verificación y así sucesivamente.

  • Hay un sobre enfasis en seguridad y confianza.
    Being located at the top of the pyramid, trust is a high-level and crucial concept: the Web will only achieve its full potential when users have trust in its operations (security) and in the quality of information provided.
    Esto esta bien por ejemplo para una aplicación financiera, donde no se quiere perder dinero y se quiere que la gente confíe (sino no va a usarla). Otro ejemplo tal vez menos explicito pero mas interesante. Si la gente/sistemas web generan mucha información negativa sobre un jugador de fútbol, más alla de si es bueno o no, esta información puede indicar que el jugador juega en primera división. Es decir también son importantes las propiedades y filtros cuantitativos, (volumen, tiempo) no solamente los filtros cualitivativos (confiable, seguro).

  • Hay un problema más ético de fondo que es la delegación de la responsabilidad sobre decisiones a los agentes web inteligentes. Debería la web asistir al hombre que toma decisiones en vez de la web tomar la decisiones. De alguna manera habría que categorizar que tan abstracta o importante es una decisión para ver si la queremos delegar a una máquina, en vez de por defecto delegar lo máximo o todo. Es decir no todo funciona como dentro de una compañia o corporación comercial con objetivos claros, en esos casos sí es mas facil delegar a una computadora para abaratar costos.
Concluyendo, en mi humilde opinión, tengamos en cuesta más los datos heredados, tengamos en cuenta que apuntamos a un mejoramiento humano del conocimiento sobre el mundo, tengamos en cuenta que la consistencia distribuida es una fantasía, tengamos en cuenta que las capas y estándares son para ganar independencia en vez de lo contrario, tengamos en cuenta la confianza y la seguridad pero es más importante en este contexto la colaboración y las medidas cuantivativas, finalmente modelicemos dentro de este contexto también la cuestión máquina-hombre a la hora de tomar decisiones equilibradas.

En breve espero seguiré escribiendo y críticando conceptos y herramientas de la web semántica. Otros pequeños artículos del blog relacionados son:

No hay comentarios:

Publicar un comentario