LA WEB SEMÁNTICA: ADEMÁS DE METADATOS (ONTOLOGÍAS), LÓGICA Y CONFIANZA
Por Miguel Ángel Abián, martes 30 enero 2007 a las 03:59 :: Web Semántica :: #37 :: rss
Son muchos los que piensan que la Web semántica será una colección de recursos (documentos, imágenes, archivos de audio, de vídeo, etc.) que incluirán metadatos. Esta creencia no es del todo correcta, pues alcanzar el verdadero potencial de la Web semántica precisará ir más allá de los metadatos.
Para entender mejor las limitaciones de los metadatos, debemos antes comprender bien qué son. Etimológicamente, "metadato" significa "dato sobre datos". Los metadatos se encuentran a la vista de todo el mundo: los códigos de barras –que describen datos sobre el producto: precio, código...– son metadatos. El catálogo de una editorial es un metadato porque describe sus libros y revistas. En una revista científica, por ejemplo, las palabras del resumen de cualquier artículo son metadatos. El esquema de una base de datos es otro ejemplo de metadatos. Decir que el campo "Autor" de una base de datos es un dato de tipo String equivale a describir los datos que son válidos para ese campo (una fecha de tipo Date, vaya por caso, no sería válida en ese campo).
En general, los metadatos describen el contenido, la calidad, la condición o el origen de los datos, aunque pueden describir cualquier característica de éstos. En otras palabras, enriquecen semánticamente los datos, pues hacen más fácil su interpretación, así como la del contexto en que pertenecen.
Una de las funciones más conocidas de los metadatos es su uso para mejorar la búsqueda de información, aunque esta función aún no se emplea en todo su potencial. Hoy no existe ningún buscador comercial que "entienda" que Miguel de Cervantes fue un "escritor español". Por lo tanto, un buscador en que se busque información mediante las palabras clave "escritor español", no devolverá ningún resultado que contenga "Miguel de Cervantes" o que tenga un enlace a una página relacionada con este escritor.
Consideremos otro ejemplo: si introduce en Google el texto "Quiero averiguar qué tiendas del mueble fabrican sillones en Soria o alrededores" (sin comillas), comprobará que la búsqueda genera unas respuestas inútiles, que no tienen nada que ver con la intención del usuario. Los metadatos pueden usarse para proporcionar búsquedas más precisas. Si los documentos y disposiciones de las administraciones públicas, vaya por caso, se anotaran semánticamente con metadatos, sería posible acceder a la página de su ayuntamiento, activar el servicio de consultas y escribir en un área de texto preguntas como “Me voy a cambiar de domicilio, ¿qué tramites debo seguir?”. A continuación, el servicio de consultas mostraría la respuesta (acuda al ayuntamiento para cambiar el empadronamiento, renueve el DNI con la dirección nueva, etc.) e incluso podría mostrar una lista de preguntas similares de otros usuarios, con sus correspondientes respuestas. (Si es usted aficionado o aficionada a mundos virtuales como Second Life, imagínese a un sensual avatar respondiendo a la consulta y moviéndose seductoramente por la pantalla: tratar con la administración podría ser hasta divertido.) Actualmente, toda la información sobre esos tramites está en la Web, pero se halla desperdigada entre muchas páginas web, documentos en Word, en PDF, etc. Se necesita una persona para que vaya consultando esas páginas y documentos y para que vaya recopilando la información de interés. Anotando con metadatos los textos, un buscador podría recopilar por nosotros la información buscada.
El ejemplo propuesto resulta muy simple, pero hay infinidad de búsquedas más complejas en que los metadatos serían muy útiles para buscar información. Imagine, por ejemplo, consultas como éstas: ¿Qué pasos debe seguir una empresa para solicitar deducciones por I+D? ¿Qué requisitos se necesitan para opositar a profesor de secundaria en Pontevedra? ¿Dónde hay monumentos visigodos en Castilla y León? ¿Qué rutas turísticas puedo seguir en Asturias? ¿En qué proyectos europeos participa la empresa AIDIMA?
Desarrollaré sólo un caso: imagine una empresa multinacional de consultoría –con oficinas en más de 50 países y con más de 13.000 empleados– que desea recibir respuestas a preguntas como "¿Qué empleados tienen experiencia en modelado empresarial?", "¿Qué empleados podemos usar para el contrato con la empresa LogicHouse, que necesita implantar un sistema distribuido basado en J2EE, RMI y CORBA?". Como es de esperar, buscar esa información entre los currículos de miles de empleados precisaría semanas o meses, y consumiría el tiempo de muchas personas. Anotando con metadatos cada currículo, un buscador semántico podría contestar a esas preguntas muy rápidamente.
La Web semántica tendrá su base en los metadatos. Las ontologías actuarán como metadatos, y los recursos de la red se marcarán con instancias de las ontologías. (Para saber más sobre ontologías, véase http://www.wshoy.sidar.org/index.php?2005/12/09/30-ontologias-que-son-y-para-que-sirven y http://www.javahispano.org/tutorials.item.action?id=55 ). En la siguiente figura se muestra, como ejemplo, una ontología sobre música. Louis Armstrong es una instancia de la clase Intérprete.
Mediante el uso de ontologías como forma de añadir metadatos a los recursos de la Web actual, la Web semántica se parecerá, muy simplificadamente, a la figura a continuación.
Para ver cómo se "marcan" con metadatos los recursos de la web (es decir, cómo se anotan semánticamente), consideremos un documento tan simple que sólo contiene una frase: "Luis tiene un perro llamado Fido". Usando las tecnologías de la Web semántica, es posible construir una ontología con las clases Persona, Perro, Mamífero, Rabia y Enfermedad, y las relaciones entre ellas (por ejemplo, un Perro es un Mamífero). Para construir una ontología se puede usar cualquier editor de ontologías, como Protégé (http://protege.stanford.edu) o OilEd (http://oiled.man.ac.uk/download.shtml). Para hacer anotaciones semánticas a partir de ontologías pueden emplearse herramientas como Annotea (http://www.w3.org/2001/Annotea/) u OntoMat Annotizer (http://annotation.semanticweb.org/ontomat/index.html).
Las palabras del documento "Luis" y "Fido" pueden asociarse a las clases de la ontología. Si utilizamos el lenguaje de la orientación a objetos (http://www.javahispano.org/tutorials.item.action?id=25), diríamos –por ejemplo–, que Fido es una instancia de Perro. Esta asociación es un tipo de metadatos, pues proporcionan información adicional sobre la información del documento. Incluso se podría vincular a cada clase de la ontología una página web donde estuviera su definición. Así, la página asociada a Rabia diría algo así: "La rabia (hidrofobia) (Código CIE-9-MC: 071) es una enfermedad viral infecciosa que afecta al sistema nervioso de los seres humanos y otros mamíferos. Las personas contraen la enfermedad por la mordedura de un animal rabioso. Cualquier animal silvestre como un mapache, zorrillo, zorro, coyote o murciélago puede tener rabia y transmitirla a los seres humanos."
Aunque los metadatos anteriores pueden aclarar el sentido en que se usan los conceptos a las personas que lean el documento (en este caso, "rabia" se usa en el sentido médico, y no como "emoción primaria intensa y paroxística)", la utilidad de éstos resulta muy limitada. La potencia de la Web semántica no estriba en la mera presencia de metadatos, sino en la combinación de metadatos con la lógica y la confianza en la información.
La lógica, disciplina que estudia los principios del razonamiento, es más general que los metadatos o las ontologías y permite descubrir conocimientos y relaciones ocultos entre marañas de datos. Un motor de inferencias o razonador (programa que genera deducciones siguiendo reglas lógicas) que procese los metadatos del documento anterior deducirá automáticamente que Fido puede contraer la rabia, pues Fido es una instancia de la clase Perro, y ésta es una subclase de Mamífero. Por lo tanto, lo más adecuado sería vacunarlo cuanto antes.
Consideremos la siguientes sentencias en OWL (un lenguaje lógico de ontologías).
Class(a:taxista complete intersectionOf(a:persona restriction(a:conduce someValuesFrom (a:taxi))))
Class(a:conductor complete intersectionOf(a:persona restriction(a:conduce someValuesFrom (a:vehiculo))))
Class(a:taxi partial a:vehiculo)
Un razonador deducirá de lo anterior que, como un taxista es una persona que conduce un taxi y un taxi es un vehículo, un taxista, por conducir un vehículo, debe ser un conductor.
Veamos otro de sentencias escritas en OWL, que ahora contienen instancias (individuals), no sólo clases:
Individual(a:Blanquita type(owl:Thing) value(a:es_mascota_de a:Miguel))
Individual(a:Miguel type(owl:Thing))
ObjectProperty(a:tiene_mascota domain(a:persona) range(a:animal))
ObjectProperty(a:es_mascota_de inverseOf(a:tiene_mascota))
Teniendo en cuenta que es_mascota_de está definida como propiedad inversa de tiene_mascota y las restricciones de dominios y rangos para tiene_mascota, un razonador podrá deducir que –como Blanquita es la mascota de Miguel y éste es una persona y sólo las personas pueden tener mascotas– Blanquita debe ser un animal, y obrar en consecuencia (no permitiendo, por ejemplo, que a Blanquita se le asigne por error un número de seguridad social).
Para la Web semántica, la gran ventaja de la lógica reside en que proporciona explicaciones para las deducciones. Éstas son muy importantes para la Web semántica porque los agentes inteligentes de la nueva Web las usarán para tomar decisiones, ejecutar acciones y colaborar entre ellos (para que las deducciones sean válidas, deben basarse en afirmaciones fiables; volveré más adelante sobre este asunto). Por caso, un agente que reciba una reclamación de otro podrá comprobar por sí mismo la información del segundo y verificar que la reclamación es válida. Así, las deducciones aumentarán la confianza del usuario en los agentes de la Web semántica.
Consideremos, en el ejemplo de Fido, que el agente inteligente de su propietario solicita una vacunación antirrábica al agente de un veterinario. El segundo agente preguntaría al primero por el motivo de su petición (no todos los animales pueden sufrir la rabia). Acto seguido, el primero enviaría los metadatos (Fido es instancia de la clase Perro, Perro es subclase de Mamífero, etc.); y el segundo usaría sus reglas de inferencia para deducir que la petición de la vacuna antirrábica para Fido es válida. En consecuencia, el agente del veterinario asignaría una fecha y un día para la vacunación y lo anotaría en la agenda electrónica del veterinario.
Una deducción es cierta si se basa en datos fiables. Es aquí donde entra en juego una palabra mencionada ya antes: la confianza. En la figura de la Web semántica podemos ver que la capa de confianza (Trust) ocupa el lugar superior.
La confianza es un concepto que aparece a menudo cuando se consideran sistemas de software o comercio electrónico. Cuando decimos “Confío en una afirmación o un documento”, queremos decir que confiamos en su verdad; cuando decimos “Confío en un programa o en un agente”, tratamos de expresar que confiamos en que funcionan correctamente.
En la Web semántica, la confianza afecta a las siguientes áreas:
- Certificación: cuando un agente trabaja con agentes que pertenecen a otras organizaciones, debe confiar en alguna "autoridad de confianza" que autentifique esos agentes. De la misma manera que hay empresas independientes que certifican que una página web pertenece a una empresa (piénsese en el candado amarillo de muchas páginas), deberá haber empresas que certifiquen que un agente de la Web semántica ha sido verdaderamente desarrollado por una compañía.
- Credibilidad: cuando un agente proporciona información a un usuario o a otro agente, ¿hasta qué punto es correcta? La información puede ser poco fiable porque las fuentes de información no lo sean, porque no estén actualizadas o porque los algoritmos internos del agente tengan defectos.
La poca fiabilidad de algunas fuentes de información salta a la vista. Por ejemplo, los foros de bolsa suelen estar plagados de falsedades y de opiniones basadas en sueños imposibles y corazonadas (algunas noticias económicas, también). ¿Qué fiabilidad se le debería dar a la frase "Al inversor que compró acciones de Terra Lycos a 157 euros yo le diría, con la mano en el corazón, que ha hecho una buena inversión"? Esta frase –merecedora de ser inscrita en mármol funerario para que sirva de ejemplo a las generaciones venideras– la pronunció Joaquín Agut, presidente de Terra, en mayo de 2001. Es un claro ejemplo de que, a veces, la información puede merecer poco crédito porque su emisor carece de neutralidad o tiene motivos para proporcionar información no del todo veraz o exacta (los resultados de Terra no justificaban su precio en absoluto, pero reconocerlo hubiera perjudicado los intereses de la compañía y de algunas agencias de bolsa). - Abuso de confianza: cuando un usuario o una organización proporcionan información a un agente de un tercero, es posible que ésta se emplee para los propósitos del propietario del agente, y no en beneficio de aquéllos. En el mejor de los casos, el uso de un agente así puede resultar inútil para quien lo usa; en el peor, puede resultar contraproducente e incluso perjudicial.
Si una empresa, vaya por caso, proporciona a un agente malicioso información sobre sus clientes y proveedores creyendo que éste le ayudará a planificar sus compras y ventas, podría encontrarse con la desagradable sorpresa de que los datos vayan a parar directamente a la competencia. Otro ejemplo: consideremos un agente "espía" que haya sido diseñado para obtener diseños de circuitos electrónicos. El agente, disfrazado de piel de cordero, simulará ser un comprobador de circuitos (programa que verifica que un circuito está bien diseñado), pero enviará a un tercero los diseños que se supone que debe probar. - Revelación de secretos: para cumplir sus objetivos, los agentes pueden revelar a terceros información delicada sobre el usuario o la organización que los usan, ya sea por accidente, por defectos en su algoritmos o por no haber considerado la confidencialidad en su diseño. Por ejemplo, un agente que esté buscando una hipoteca para su usuario podría revelar a los agentes bancarios información sobre los ingresos de éste o sobre su solvencia. La potencia de los agentes radica en trabajar en un mundo abierto, pero esto también presenta inconvenientes. En la Web semántica, los agentes deberán estar sujetos a políticas de seguridad que garanticen que no transfieran datos confidenciales.
La inclusión de metadatos, aunque primitivos, ha fracasado en la Web ordinaria por falta de confianza: las palabras que aparecían en los campos META de las páginas HTML no solían describir el contenido real de éstas. He aquí un ejemplo del uso de los campos META en una página web:
meta name="keywords" contents="ontologías, web semántica, OWL, RDF"
Como no había ninguna organización que controlara que las palabras descriptivas de los campos META correspondían al contenido de las páginas web, los creadores de las páginas solían incluir en ellos palabras populares o atractivas (algunos lo siguen haciendo), pero que no describían bien sus páginas. Algunos buscadores clasificaban las páginas web según las palabras clave de los campos META, pero los resultados decepcionaban a los usuarios. Al final, la picardía de algunos erradicó la utilidad de los campos META. Los buscadores más populares del momento (Google, Yahoo) no tienen en cuenta estos campos.
En la Web semántica, como sucede en la Web actual, no todas las fuentes de información serán de confianza, y habrá algunas más fiables que otras. Para evitar extraer conclusiones de datos erróneos, falsos o malintencionados, la Web semántica necesitará disponer de mecanismos de confianza y credibilidad (firmas digitales, certificados de terceras partes, recomendaciones, agencias de calificación).
No debemos imaginar que habrá una inmensa burocracia encargada de asignar cierta calificación de confianza a cada documento que se publique. En algunos casos, los propios usuarios podrán valorar la fiabilidad de los documentos. Este proceso de valoración ya se está dando con buscadores como Google, cuyas búsquedas ordenan los resultados por el número de enlaces al resultado. Cada vez que un usuario coloca en un recurso suyo un enlace a otro recurso, hace que éste sea más relevante en las búsquedas e, indirectamente, le concede cierta fiabilidad. Por tanto, cuantos más enlaces apuntan a un recurso, más confianza se puede tener en él. En otros casos, será imprescindible la existencia de autoridades de certificación (p. ej., cuando se trabaje con agentes bancarios o de subastas).
Cuando uno haga una pregunta a la Web semántica, ésta proporcionará información sobre cuán fiable es la respuesta basándose en deducciones y en la fiabilidad de las fuentes consultadas, e incluso podrá adjuntar una prueba lógica (reglas de inferencia aplicadas a afirmaciones) de cómo ha generado la respuesta. Una consulta como "¿De qué pintor es El juego lúgubre?" obtendría la respuesta "Salvador Dalí"; si el usuario preguntara por la fiabilidad de la respuesta, obtendría una lista de las fuentes en que se basa la contestación (pinacotecas, catálogos oficiales, biografías, exposiciones) y un "calificación de fiabilidad" basada en el prestigio y reconocimiento de esas fuentes de información. En el caso de un cuadro de autenticidad dudosa –dicho sea de paso, Dalí tenía cierta tendencia a estampar, previo pago, su firma en lienzos y litografías en blanco–, el buscador presentaría una calificación de fiabilidad (un 65%, por ejemplo) basándose en la calidad de las fuentes consultadas.
Debido a la evolución, los cerebros humanos –excepto en algunos casos excepcionales– no están muy bien dotados para la lógica: formular silogismos era menos útil que correr rápidamente o tener brazos fuertes. Por este motivo, disponer de pruebas lógicas para búsquedas o preguntas será más útil para los agentes que para nosotros: podrán verificar por sí mismos las respuestas dadas por otros agentes a sus preguntas, mediante pruebas y mediante comprobaciones de la confianza que merecen las afirmaciones en que se sustentan las deducciones.
Desde un punto de vista teórico, las discusiones y disputas entre agentes no tendrán cabida, del mismo modo que las disputas entre personas carecerían de sentido si la humanidad hubiera adoptado el quimérico lenguaje artificial –lógico y perfecto– propuesto por Leibniz en el siglo XVII: "Una vez conseguido el lenguaje lógico perfecto –cada palabra, un concepto; cada concepto, una palabra–, se acabarán las discusiones; bastará que los interlocutores se sienten en los extremos de la mesa y sacando sus plumas digan: "¡Calculemos!".
En la figura inferior podemos ver un ejemplo de inferencia en el cual, a partir de las afirmaciones de Rosa y Juan, puede deducirse que Pilar tiene permisos de acceso a la intranet de Muebles 110. Si esas afirmaciones fueran "de confianza" (si estuviesen certificadas por la propia empresa, p. ej.), un agente podría deducir de manera fiable que Pilar debe tener acceso a la intranet; e incluso podría dárselo si ella no lo tuviera (por ejemplo, en el caso de que acabara de llegar a la compañía).
En conclusión, el largo camino hacia la Web semántica no pasa solamente por los metadatos. Se precisa además una cualidad muy apreciada en el mundo de los seres de carne y hueso: confianza. Cuanto más complejas son las herramientas que creamos para facilitarnos las cosas, tanto más nos vemos reflejadas en ellas.










Comentarios
El jueves 22 febrero 2007 a 12:07, por Helena Negrón :: #
El viernes 23 febrero 2007 a 14:45, por Andrea Perete :: email :: #
El domingo 25 febrero 2007 a 09:58, por Juanma :: #
El lunes 26 febrero 2007 a 13:33, por Jose Durante :: #
El domingo 4 marzo 2007 a 09:50, por Laura :: #
El miércoles 14 marzo 2007 a 15:52, por José Miguel :: #
El martes 20 marzo 2007 a 16:19, por Ontología de metadatos :: email :: sitio :: #
El sábado 28 abril 2007 a 03:52, por Javier :: sitio :: #
El miércoles 2 mayo 2007 a 06:51, por Miguel Ángel Abián :: #
El jueves 3 mayo 2007 a 05:31, por iracris :: email :: #
El martes 8 mayo 2007 a 05:26, por Miguel Ángel Abián :: #
El viernes 3 agosto 2007 a 03:35, por Malena :: #
El sábado 25 agosto 2007 a 21:44, por Roberto Sierra :: #
El miércoles 5 septiembre 2007 a 11:27, por catalina :: email :: #
El viernes 7 septiembre 2007 a 16:58, por alex :: email :: #
El sábado 10 noviembre 2007 a 19:21, por jsantos :: #
El miércoles 23 abril 2008 a 13:35, por Jenrry :: email :: #
El miércoles 27 agosto 2008 a 14:30, por Carlos :: email :: #
El miércoles 17 septiembre 2008 a 04:27, por Andrés :: #
El lunes 17 noviembre 2008 a 13:29, por Jorge Durante :: #
El domingo 22 marzo 2009 a 20:25, por Jonathan García :: #
El martes 23 junio 2009 a 07:48, por Isardnet :: email :: sitio :: #
El miércoles 24 junio 2009 a 06:42, por Miguel Ángel Abián :: #
El miércoles 26 agosto 2009 a 03:37, por Adolfo :: #
El miércoles 14 octubre 2009 a 15:44, por david :: email :: sitio :: #
El viernes 15 enero 2010 a 06:56, por Jaboto :: email :: sitio :: #
Añadir un comentario