la naturaleza de la información semántica en la...

133
La naturaleza de la información semántica en la Web. TESIS DE GRADO EN INGENIERIA INFORMATICA FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES TESISTA: Daniel Fernández DIRECTORES Lic. Gustavo López Lic. Ismael Jeder Lic. Arturo Servetto Lic. Adriana Echeverría Laboratorio de Informática de Gestión Departamento de Computación Mayo de 2009

Upload: hoanglien

Post on 20-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • La naturaleza de la informacin semntica en la Web.

    TESIS DE GRADO EN INGENIERIA INFORMATICA

    FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

    TESISTA: Daniel Fernndez

    DIRECTORES Lic. Gustavo Lpez

    Lic. Ismael Jeder Lic. Arturo Servetto Lic. Adriana Echeverra

    Laboratorio de Informtica de Gestin Departamento de Computacin

    Mayo de 2009

  • Daniel Fernndez TESIS DE GRADO

    2

  • Daniel Fernndez TESIS DE GRADO

    3

    Agradecimientos A Paula por su paciencia y sus largas horas de compaa. A mi familia por todo el apoyo brindado a lo largo de la carrera. A los profesores que me han ayudado durante el desarrollo de este trabajo. A mis amigos, colegas y compaeros que me proveyeron la fuerza necesaria

    para seguir adelante. Gracias a todos.

  • Daniel Fernndez TESIS DE GRADO

    4

    Resumen La Web actual est formada principalmente por un conjunto de

    documentos cuya informacin semntica es fcilmente comprendida por los usuarios y no as por las mquinas que los procesan automticamente. En este trabajo se estudiarn y compararn las principales tecnologas dedicadas a procesar el significado de los datos de la Web para que puedan ser interpretados por sistemas de computacin. Asimismo, se presentar un desarrollo basado en la tecnologa ms adecuada acorde a la investigacin llevada a cabo.

    Abstract Nowadays the Web is mostly composed by a group of documents whose

    semantic information is easily understood by its users but not by the computers which process the information automatically. This work will show the analysis and comparison of the main technologies applied to process the meaning of the data among the Web, so that it can be interpreted by computer systems. This work will also show a development based on the more suitable technology, according to the investigation being achieved.

  • Daniel Fernndez TESIS DE GRADO

    5

    ndice

    Captulo 1: Introduccin ..................................... 7

    1.1. Introduccin ................................................................... 8

    1.2. Motivaciones ................................................................. 10 1.3. Objetivos ...................................................................... 10

    1.4. Estructura del documento ............................................... 11

    Captulo 2: La informacin ................................ 12

    2.1. World Wide Web ............................................................ 13

    2.2. El significado de los datos de la Web ................................ 15

    2.3. El procesamiento del lenguaje natural .............................. 17 2.3.1. Lenguaje ............................................................... 17

    2.3.2. Historia ................................................................. 18 2.3.3. Cmo trabaja el PLN ............................................... 19

    2.3.4. Problemas y limitaciones ......................................... 21 2.4. EL PLN y la Web ............................................................ 24

    2.5. Web Scraping ............................................................... 27 2.5.1. Dapper .................................................................. 29

    2.5.2. Yahoo! Pipes .......................................................... 32 2.6. Aproximacin top-down .................................................. 34

    2.7. Nueva aproximacin: bottom-up ..................................... 36 2.8. Resumen investigacin ................................................... 38

    Captulo 3: Los metadatos ................................ 39

    3.1. Los datos sobre los datos ............................................... 40

    3.2. Web Semntica ............................................................. 42 3.2.1. Las diferentes Capas ............................................... 43

    3.2.2. Unicode ................................................................. 44 3.2.3. URI ....................................................................... 45

    3.2.4. XML, NS y XML Schema ........................................... 46 3.2.5. RDF ...................................................................... 49

    3.2.6. RDF Schema .......................................................... 57 3.2.7. OWL...................................................................... 59

    3.2.8. Lgica ................................................................... 66 3.2.9. Prueba .................................................................. 67

    3.2.10. Confianza ............................................................ 68 3.3. Microformatos ............................................................... 69

    3.3.1. hCard .................................................................... 70 3.3.2. hCalendar .............................................................. 71

    3.3.3. hReview ................................................................ 72

    3.4. Los problemas de la aproximacin bottom-up ................... 74 3.5. Microformatos vs. RDF ................................................... 76

    3.6. La tecnologa ms adecuada ........................................... 78 3.7. Resumen investigacin ................................................... 79

  • Daniel Fernndez TESIS DE GRADO

    6

    Captulo 4: La red social semntica .................... 80

    4.1. Solucin propuesta ........................................................ 81

    4.1.1. Red social de dominio libre ...................................... 83

    4.1.2. Creacin de datos y metadatos ................................. 88 4.1.3. Bsqueda semntica ............................................... 92

    4.1.4. Notificaciones semnticas ........................................ 96 4.1.5. Repositorio de esquemas calificados .......................... 97

    4.1.6. Exportacin de datos ............................................. 101 4.2. Ejemplo ..................................................................... 102

    4.3. Pruebas y resultados .................................................... 123 4.3.1. Pruebas ............................................................... 123

    4.3.2. Resultados ........................................................... 125

    Captulo 5: Conclusiones y trabajo futuro .......... 128

    5.1. Conclusiones ............................................................... 129

    5.2. Futuras lneas de trabajo .............................................. 131 5.3. Bibliografa ................................................................. 132

  • Daniel Fernndez TESIS DE GRADO

    7

    Captulo 1: Introduccin

    En el presente captulo, se introduce el tema que trata la tesis

    exponiendo el problema que busca resolver, de manera de colaborar con la comunidad cientfica. Tambin, se listan las motivaciones que

    llevaron a hacer este trabajo y los objetivos que se intentan alcanzar en el mismo. Finalmente, se explica brevemente como est

    conformada su estructura en captulos y el contenido de cada uno de

    ellos.

  • Daniel Fernndez TESIS DE GRADO

    8

    1.1. Introduccin En los ltimos tiempos, la Web se ha convertido en un instrumento de uso

    diario para muchas personas, el cual es comparable con otros medios tales como la radio, la televisin y el telfono. Nos facilita la comunicacin, el intercambio de informacin, podemos hacer compras, transacciones bancarias, etc. Pequeas compaas, empresas internacionales, estados, gobiernos de distintos pases, universidades, bibliotecas, estn presentes en la Web. Todo esto conlleva a un notorio crecimiento en su volumen de datos y a una necesidad de acceder a los mismos de una manera rpida y precisa.

    Los buscadores cumplen un rol importante en facilitar el acceso a la

    informacin que contiene la Web. Realizan un muy buen trabajo cuando se trata de indexar dicha informacin y facilitarla ante una consulta. Algunos de los buscadores ms populares devuelven la informacin de pginas Web cuyos contenidos coinciden exactamente con las palabras escritas por los usuarios. Otros, mediante procesos sofisticados, intentan devolver al usuario resultados ms certeros.

    La Web del presente consta de informacin bsicamente representada en

    forma de texto. Esta informacin es fcilmente comprensible por una persona que la lea, sin embargo, es muy difcil realizar procedimientos automticos que procesen su significado y permitan la existencia de aplicaciones cada vez ms inteligentes. En estos momentos, la parte ms importante en una bsqueda Web la debe realizar el usuario. Por ejemplo, si una persona quiere encontrar el hotel ms barato en Bariloche debe realizar varias bsquedas de hoteles y comparar precios hasta encontrar el indicado. No puede solicitarle directamente a su mquina que busque el hotel con menor tarifa a pesar de que los datos necesarios estn almacenados en la Web. Las mquinas pueden acceder a dicha informacin pero el trabajo de interpretar su significado lo deben efectuar las personas.

    La estructura de la Web est conformada por lenguajes de etiquetado con

    hiperenlaces, los mismos generan una relacin fluida y dinmica entre los documentos1 y la informacin que contienen. Sin embargo, dichos lenguajes describen nicamente la forma en que la informacin debe ser presentada ante el usuario por el navegador pero no expresan nada sobre su significado. En este contexto, es fcil para las mquinas navegar los datos de la Web, pero se les dificulta obtener automticamente una interpretacin semntica de los mismos.

    La Web puede crecer significativamente en poder y alcance si se extiende

    para darle sentido semntico a sus datos permitiendo un mejor procesamiento automtico de la informacin. Es as, que cuando los buscadores empiecen a comprender mejor los datos que hay en la Web, entonces podrn empezar a trabajar ms ellos y menos nosotros, los usuarios. Asimismo, cualquier aplicacin que procese dichos datos, ser capaz de entender su significado y

    1 En el contexto de la Web, el trmino documento hace referencia al documento hipermedial elaborado

    mediante el lenguaje de marcas de hipertextos (html), que permite el intercambio informacional mediante

    el protocolo de transferencia de hipertextos (http).

    http://www.monografias.com/trabajos11/empre/empre.shtmlhttp://www.monografias.com/trabajos10/ponency/ponency.shtml

  • Daniel Fernndez TESIS DE GRADO

    9

    extraer mejores conclusiones de manera automtica, sin que se precise la intervencin humana.

    Muchos aos de estudio se han dedicado a resolver el problema de

    interpretar automticamente el significado de los datos de la Web. Algunos sectores relacionados a la Inteligencia Artificial buscan mejorar los agentes de extraccin de datos mediante tcnicas de procesamiento del lenguaje natural. Otros sectores optan por agregar etiquetas a los documentos de la Web suministrando, de esta manera, metadatos a los agentes de extraccin para que puedan interpretar la informacin. De estos ltimos sectores, se destaca la Web Semntica [Berners-Lee, 2001], una tecnologa que permite representar eficientemente la informacin en la Web estableciendo una forma universal de estructurar las relaciones entre los datos y entre stos y sus significados. De fomentarse la Web Semntica, un sistema automtico podra seguir la estructura de las relaciones generadas y obtener sus propias conclusiones respecto a la bsqueda que se est realizando.

    En la vigente tesis, se analizarn las caractersticas de la Web actual, las

    limitaciones que presenta su estructura y cuales son los motivos que hacen difcil a una computadora interpretar el significado de los datos de la Web. A continuacin, se estudiarn las principales tcnicas y tecnologas que buscan solucionar dicho problema y se explicar porqu actualmente la Web Semntica es la ms factible. Finalmente, se presentar una solucin en la cual se muestran las ventajas de aplicar dicha tecnologa al software social2.

    2 Se considera software social a las aplicaciones cuyo contexto de trabajo es comunitario y colaborativo.

  • Daniel Fernndez TESIS DE GRADO

    10

    1.2. Motivaciones En los ltimos aos trabaj en empresas de desarrollo de software que de a

    poco fueron enfocando mi inters hacia tecnologas relacionadas con la Web. Una charla presentada por Microsoft sobre la Web Semntica increment mis ganas de seguir investigando y explorando el mundo de la Web. Descubr que actualmente el significado de sus documentos no puede ser interpretado automticamente por las mquinas y me un al vasto nmero de personas que trabaja en solucionar dicho problema.

    1.3. Objetivos Los objetivos que la presente tesis intenta alcanzar son los siguientes:

    Estudiar las caractersticas de la Web haciendo foco en sus limitaciones actuales y argumentar la relevancia de introducir un mejor manejo del significado de sus datos.

    Analizar en profundidad las principales tcnicas y tecnologas que colaboran en fomentar la interpretacin automtica del significado de los datos de la Web.

    Determinar cual es la tcnica o tecnologa ms factible e implementar un ejemplo de la misma en un entorno reducido. Realizar pruebas de manera de sealar los beneficios concretos de la misma en el rea en la que se encuadra y cmo contribuye a su avance.

    Hacer extensivos a la comunidad cientfica y acadmica los resultados y conclusiones obtenidos, como as tambin a aquellos organismos posiblemente interesados

  • Daniel Fernndez TESIS DE GRADO

    11

    1.4. Estructura del documento Este documento se divide en seis captulos:

    I. El presente captulo es el primero y tiene como objetivo introducir el tema de la tesis, sus objetivos y su estructura.

    II. El segundo captulo estudia la Web, sus caractersticas y sus

    limitaciones actuales. Se introducen y analizan dos tcnicas que buscan interpretar automticamente el significado de los datos en la Web: el procesamiento del lenguaje natural y Web scraping.

    III. El tercer captulo introduce el concepto de metadatos y como pueden

    colaboran para darle significado a los datos de la Web. En este captulo se presentan la Web Semntica y los microformatos, dos tecnologas que hacen uso de los metadatos. Al final del captulo, se determina de las tcnicas y tecnologas estudiadas, cual es la ms adecuada para promover el significado de los datos en la Web.

    IV. En el cuarto captulo se presenta una solucin desarrollada bajo la

    tcnica o tecnologa escogida, se explican sus caractersticas, beneficios y se detallan las pruebas realizadas junto a sus resultados.

    V. Finalmente, en el quinto captulo se resumen las conclusiones a las

    que se fueron llegando a lo largo del proyecto y se sealan posibles lneas de trabajo futuro.

  • Daniel Fernndez TESIS DE GRADO

    12

    Captulo 2: La informacin

    En el captulo 2 se analiza la World Wide Web, su estructura y sus

    caractersticas que hacen que sea un entorno complejo. Se estudia la extraccin automtica de datos de los documentos Web y si es legal

    llevarla a cabo o no. Al igual que el primer captulo, se remarca la necesidad de interpretar el significado de dichos datos y se presentan

    dos tcnicas que buscan lograrlo; las mismas son conocidas como

    procesamiento del lenguaje natural y Web scraping. Finalmente, se comparan ambas tcnicas detallando las limitaciones que cada una

    posee en la actualidad.

  • Daniel Fernndez TESIS DE GRADO

    13

    2.1. World Wide Web Nadie duda que actualmente la fuente de informacin ms grande del

    mundo sea la World Wide Web. Segn un informe de la consultora internacional IDC y el fabricante de sistemas de almacenamiento EMC [Gantz et al, 2007], en el 2006, la cantidad de informacin digital creada, capturada y replicada fue de 1288 x 1018 bits, esto equivale a 161 billones de gigabytes (3 millones de veces mayor que las de todos los libros escritos). Para ilustrar mejor esta cifra, podemos decir que el material que se encuentra en la Web equivale aproximadamente a 12 pilas de libros, cada una extendindose desde la Tierra hasta el Sol. Se estima que para el 2010 el crecimiento de la informacin va a continuar llegando a los 988 billones de gigabytes.

    Los sistemas automticos que recolectan, procesan o indexan informacin

    de la Web no slo se topan con este crecimiento exponencial de la misma sino con otra serie de caractersticas:

    Es fcil acceder a la cantidad de informacin en la Web pero requiere de mucho tiempo y espacio para el procesamiento.

    La informacin en la Web abarca todo tipo de aspectos. En otras palabras, se puede encontrar informacin de lo que sea en la Web.

    Existen datos de todo tipo en la Web, por ejemplo tablas estructuradas, textos, datos multimedia (imgenes, pelculas), etc.

    La informacin en la Web es heterognea. Mltiples pginas Web pueden presentar la misma informacin o parecida, utilizando formatos y sintaxis completamente diferentes, lo que hace que la integracin de la informacin sea una tarea difcil

    La mayora de la informacin en la Web es semiestructurada debido a la estructura en red del cdigo HTML y la necesidad de los diseadores Web de presentar la informacin de una manera simple y atractiva para simplificar la visualizacin y navegacin a los usuarios.

    La mayora de la informacin Web est vinculada. Hay vnculos a travs de las pginas de un sitio y hacia otros sitios diferentes. Estos links sirven como una herramienta de organizacin de la informacin y tambin como una indicacin de confianza con las pginas enlazadas y sitios.

    La mayora de la informacin de la Web es redundante. El mismo fragmento de informacin o sus variaciones pueden aparecer en muchas pginas o sitios.

    La Web es ruidosa. Una pagina Web, generalmente contiene una mezcla de distintos tipos de informacin, por ejemplo el contenido principal, publicidades, paneles de navegacin, avisos de copyright, etc. Para una

  • Daniel Fernndez TESIS DE GRADO

    14

    aplicacin en particular, solo una porcin de dicha informacin es til y el resto es ruido3.

    La Web consiste de una parte superficial y otra profunda. La Web superficial esta compuesta de pginas que pueden ser navegadas utilizando un simple navegador. Esta Web puede ser alcanzada tambin por los buscadores. La Web profunda esta mayormente compuesta de base de datos que slo pueden ser accedidas a travs de consultas parametrizadas.

    La Web tambin posee servicios. Muchos sitios Web y pginas permiten al usuario realizar operaciones con parmetros entrantes, o sea proveen servicios.

    Por otro lado, la Web es una sociedad virtual. No solamente esta

    formada por datos, informacin y servicios, sino tambin por interacciones entre personas y organizaciones.

    La Web es dinmica. La informacin en la Web cambia constantemente. Mantenerse al tanto de los cambios y monitorearlos son dos tareas importantes a la hora de extraer informacin de la Web.

    Podemos ver que la Web es un entorno muy rico en informacin pero

    completamente difcil para trabajar. Sin embargo, existen buscadores que, a pesar de todas estas caractersticas, logran procesar su informacin. Un ejemplo de ellos es Google que es capaz de indexar alrededor de 20 millones de gigabytes de informacin en slo 24 horas y recibe ms de 27000 millones de bsquedas por mes de usuarios de todo el mundo.

    Entonces, cul es el problema principal con el que se topan los sistemas

    automticos de extraccin? La respuesta es la dificultad en interpretar la semntica de los datos de la Web. Entendemos por semntica a los aspectos del significado de una palabra, lenguaje o representacin formal. En otras palabras los buscadores devuelven como resultado un listado de pginas que contengan las palabras claves que les ingresamos pero no existe una interpretacin del significado de la consulta o del de su correspondiente resultado. Muchas veces el mayor porcentaje de los resultados suelen ser comerciales y encontrar la informacin buscada puede convertirse en una hazaa. Hay que probar distintas combinaciones de palabras y realizar ms de una bsqueda.

    Uno de los casos exitosos en encontrar significado en los datos de la Web

    es nuevamente el buscador Google. Para explicarlo simplemente, los creadores del buscador de Google encontraron semntica en la Web al determinar que si

    un sitio tiene muchos hipervnculos desde otras pginas, significa que el mismo debe ser importante. Ms importante es an si una de las pginas que lo apuntan tambin tiene muchos hipervnculos desde otras pginas; y as sucesivamente. Esa semntica implcita en los hipervnculos es una de las caractersticas que le permiti a Google determinar la importancia de las pginas en sus resultados y convertirse en uno de los mejores buscadores de la actualidad. No obstante, es muy poco el significado que se logra interpretar automticamente de toda la informacin que contiene actualmente la Web.

    3 El trmino ruido hace referencia a los datos que no aportan a la informacin principal de un documento.

  • Daniel Fernndez TESIS DE GRADO

    15

    2.2. El significado de los datos de la Web

    Algunos repositorios en la Web son excelentes fuentes de informacin.

    Wikipedia [WEB-9] es un muy buen ejemplo de un sitio Web donde se puede encontrar prcticamente porciones de informacin de casi todos los temas. Artistas, lugares, animales, eventos histricos, protocolos o cualquier concepto existe en Wikipedia. Sin embargo, a pesar de tener toda la informacin necesaria, no podemos realizar, por ejemplo, una bsqueda en Wikipedia que nos de todas las guerras ocurridas en America del Sur durante el siglo XX. Wikipedia contiene la informacin en su base de datos necesaria para responder a dicha consulta, pero no puede hacerlo porque la informacin es texto crudo que carece de significado para las mquinas. A pesar de poder encontrar las guerras por su nombre, las mquinas no saben realmente cuando sucedieron porque no pueden comprender el significado del texto asociado que est escrito en lenguaje natural.

    Por ejemplo, la Segunda Guerra Mundial es un concepto para Wikipedia,

    que tiene asociado un texto crudo como el siguiente: Segunda Guerra Mundial fue el conflicto armado ms grande y sangriento

    de la historia mundial, en el que se enfrentaron las Potencias Aliadas y las Potencias del Eje, entre 1939 y 1945. Fuerzas armadas de ms de setenta pases participaron en combates areos, navales y terrestres. 4

    Podemos ver que las fechas se encuentran en la definicin de la guerra, sin

    embargo las mquinas no pueden interpretar el significado de esas fechas y concluir cual fue periodo en el que transcurri la guerra.

    Veamos como segundo ejemplo este texto extrado de Wikipedia donde se

    explica el significado de las Guerras Mdicas: Las Guerras Mdicas son un enfrentamiento que tuvo lugar en el 490 adC y

    en el 480-479 adC. La primera fase (490 adC) se produjo cuando los persas (medos) enviados por su rey Daro I a travs de un ejrcito y viajando por mar, desembarcaron en la ciudad de Maratn.5

    Si una persona lee dicho texto, utiliza su conocimiento previo para sacar

    un conjunto de conclusiones en cuanto al significado del mismo. Esto quiere decir que el texto posee informacin semntica implcita. Si existiese un

    sistema que pudiese interpretar el significado de dicho texto, esperaramos que obtenga conclusiones como las siguientes:

    Las guerras Mdicas fueron un enfrentamiento. Las guerras Mdicas comenzaron en 490 adC

    4 Texto extrado de la siguiente URL: http://es.wikipedia.org/wiki/2%C2%AA_Guerra_Mundial

    5 Texto extrado de la siguiente URL: http://es.wikipedia.org/wiki/Imperio_Persa

    http://es.wikipedia.org/wiki/Guerrahttp://es.wikipedia.org/wiki/Historia_mundialhttp://es.wikipedia.org/wiki/Aliados_%28Segunda_Guerra_Mundial%29http://es.wikipedia.org/wiki/Potencias_del_Eje_en_la_Segunda_Guerra_Mundialhttp://es.wikipedia.org/wiki/1939http://es.wikipedia.org/wiki/1945http://es.wikipedia.org/wiki/Fuerzas_armadashttp://es.wikipedia.org/wiki/Participantes_en_la_Segunda_Guerra_Mundialhttp://es.wikipedia.org/wiki/Participantes_en_la_Segunda_Guerra_Mundialhttp://es.wikipedia.org/wiki/Guerra_a%C3%A9reahttp://es.wikipedia.org/wiki/Guerra_navalhttp://es.wikipedia.org/wiki/Guerra_terrestrehttp://es.wikipedia.org/wiki/490_adChttp://es.wikipedia.org/wiki/480_adChttp://es.wikipedia.org/wiki/2%C2%AA_Guerra_Mundialhttp://es.wikipedia.org/wiki/Imperio_Persa

  • Daniel Fernndez TESIS DE GRADO

    16

    Las guerras Mdicas finalizaron en 479adc. Las guerras Mdicas estn divididas en fases. La primera fase de las guerras Mdicas comenz en 490 adC. Los persas tenan rey. En 490adc, el rey persa fue Daro I Los persas tambin son conocidos como medos. Los persas viajaban por mar. Maratn es una ciudad Daro I envi a un ejrcito a la ciudad de Maratn. Una rama de la Inteligencia Artificial conocida como Procesamiento del

    Lenguaje Natural ha estado trabajando aos para lograr que los sistemas interpreten los textos y lleguen a conclusiones como las enseadas. Se presentar en las siguientes secciones el procesamiento del lenguaje natural y sus limitaciones en la actualidad.

  • Daniel Fernndez TESIS DE GRADO

    17

    2.3. El procesamiento del lenguaje natural

    El uso de procesamiento del lenguaje natural para extraer e interpretar el

    significado de la informacin de la Web result ser una tarea poco sencilla y uno de los problemas ms complejos a los que se enfrenta la Inteligencia Artificial. Hay problemas fundamentales que necesitan resolverse para poder darle a una computadora la habilidad de representar al mundo y sus diferentes culturas.

    Los buscadores que hacen uso de dicha tecnologa no logran obtener los

    resultados esperados debido a la complejidad, irregularidad y diversidad del lenguaje humano y a los problemas filosficos y psicolgicos asociados al significado de frases, oraciones y textos en su conjunto. Como otras limitaciones se destacan la anfora, la elipsis, la ambigedad y la necesidad de encontrar el contexto.

    2.3.1. Lenguaje

    El lenguaje se define como Un conjunto de oraciones, que usualmente es

    infinito y se forma con combinaciones de palabras del diccionario. Es necesario que esas combinaciones sean correctas (con respecto a sintaxis) y tengan sentido (con respecto a la semntica) [Magaa et al, 2007].

    Podemos distinguir entre dos clases de lenguajes: los lenguajes naturales y

    lenguajes formales. Los primeros son el medio que utilizamos de manera cotidiana para establecer nuestra comunicacin (oral, escrita o seas) con las dems personas. Algunos ejemplos son el castellano, el ingls o el francs y su origen y desarrollo es natural, es decir, sin el control de ninguna teora. Las teoras de lenguajes naturales y las gramticas, fueron establecidas a priori, esto es, despus de que el lenguaje haba ya madurado. Es por ello de la dificultad o imposibilidad de conseguir una formalizacin completa.

    Por otro lado, los lenguajes formales como las matemticas y la lgica,

    fueron desarrollados generalmente a travs del establecimiento de una teora, la cual le da las bases para dichos lenguajes. Las palabras y oraciones de un lenguaje formal son perfectamente definidas (una palabra mantiene el mismo

    significado prescindiendo de su contexto o uso). Los billones de documentos en la Web estn escritos tanto en lenguaje

    naturales como lenguajes formales o en una combinacin de ambos.

    http://www.monografias.com/trabajos16/la-inteligencia-artificial/la-inteligencia-artificial.shtmlhttp://www.monografias.com/trabajos16/la-inteligencia-artificial/la-inteligencia-artificial.shtml

  • Daniel Fernndez TESIS DE GRADO

    18

    2.3.2. Historia

    El procesamiento del lenguaje natural es un rea de investigacin de la

    inteligencia artificial que se encuentra en continuo desarrollo. Tambin se lo conoce de forma abreviada como PLN o NLP (del ingls Natural Language Processing). El objetivo principal del PLN es lograr un mecanismo para que las mquinas se comuniquen con las personas y viceversa por medio del lenguaje humano. En definitiva, se busca construir sistemas que puedan analizar, entender y generar lenguaje natural.

    Durante el perodo 1940-1960, surgieron las primeras aplicaciones del

    PLN, teniendo como inters fundamental la traduccin automtica. Los experimentos en este sector, se basaban en substituir una palabra por otra generando resultados pobres y lejos del objetivo buscado. Ms adelante el inters del rea se fue centrando en la interpretacin del significado de los datos. Se construye, para los setenta, el primer sistema de preguntas-respuestas basado en lenguaje natural.

    En los prximos aos se comienza a aplicar el procesamiento del lenguaje

    natural no slo en campos como la traduccin automtica sino tambin en el reconocimiento del habla, la correccin ortogrfica de textos y en el procesamiento y la recuperacin de informacin.

    Para estos ltimos aos, se introducen nuevas tcnicas de representacin

    del conocimiento y se comienzan a utilizar como fuente de informacin los billones de documentos de la Web. Muchos buscadores se interesan en mejorar las tcnicas de procesamiento y recuperacin de la informacin para brindar un mejor servicio a los usuarios. En definitiva, intentan aplicar el procesamiento del lenguaje natural para poder permitirle al usuario realizar preguntas en lenguaje natural y generar las correspondientes respuestas procesando e interpretando la informacin de la Web.

    Sin embargo, la complejidad implcita en el tratamiento del lenguaje

    natural junto a las caractersticas que presenta un entorno enredado como es la Web hacen que los resultados de aplicar PLN sean limitados y, por lo tanto, sus aplicaciones tengan poco xito. Es as, que si bien en los ltimos aos se han obtenido importantes avances en el rea, todava queda mucho camino por recorrer.

  • Daniel Fernndez TESIS DE GRADO

    19

    2.3.3. Cmo trabaja el PLN

    El lenguaje natural posee 3 niveles de anlisis en su estructura:

    Figura 1. Niveles de anlisis del procesamiento del lenguaje natural.

    2.3.3.1. Nivel Morfolgico: Tiene como funcin determinar la forma, clase o categora gramatical de

    cada palabra de una oracin encontrando la relacin que se establece entre las unidades mnimas de las mismas. Por ejemplo, el reconocimiento de sufijos o prefijos. Tiene una relacin muy estrecha con el lxico. Como lxico entendemos al conjunto de informacin sobre cada palabra que el sistema

    utiliza para el procesamiento. A continuacin, se ofrece un anlisis morfolgico para esta frase: .

    Pronombre+Demostrativo+Femenino+Singular

    Determinante+Demostrativo+Femenino+Singular

  • Daniel Fernndez TESIS DE GRADO

    20

    Verbo(notar)+Presente indicativo+3ra persona+Singular

    Verbo(notar)+Imperativo+2da persona+Singular

    Sustantivo+Femenino+Singular

    Preposicin

    Verbo(parir)+Presente subjuntivo+1ra persona+Singular

    Verbo(parir)+Presente subjuntivo+1ra persona+Singular

    Verbo(parir)+Imperativo+3ra persona+Singular

    Verbo(parir)+ Presente indicativo+3ra persona+Singular

    Verbo(parir)+Imperativo+2ra persona+Singular

    Sustantivo+Femenino+Singular

    Adverbio

    Como se puede comprobar, la conclusin del anlisis automtico es una

    lista con las posibles categoras gramaticales junto a los valores gramaticales de cada una de las palabras que aparecen en la frase. La incertidumbre del lenguaje queda visible por lo que se tendrn que emplear otros mecanismos para lograr una desambiguacin lo ms completa posible.

    2.3.3.2. Nivel Sintctico: Su funcin es identificar cada componente sintctico de la oracin,

    etiquetarlo y analizar como se combinan las palabras para formar oraciones gramaticalmente correctas. Tiene como objetivo comprobar si los vocablos del texto estn bien coordinados y unidos. Adems en este nivel se pretende tambin la resolucin de problemas no solucionados en el anlisis anterior como la reiterada ambigedad gramatical de las palabras, destinando para ellos varios mecanismos como las posiciones de las voces en las oraciones o los contrastes gramaticales. Para esto se dispone de una base de datos donde se recogen todas las combinaciones gramaticalmente aceptables entre los vocablos, aunque otra opcin es al contrario, recoger las posibilidades prohibidas. Una construccin que no se permite es sta: , ya que una de las reglas es que el artculo y el sustantivo deben coincidir en gnero y nmero. El criterio sera as:

    ARTI(SING)+SUST(PLUR)=PROHIBIDO Por otro lado, habr reglas que sealan que un verbo no puede ir precedido

    de un artculo.

  • Daniel Fernndez TESIS DE GRADO

    21

    ARTI+VERB=PROHIBIDO ARTI+HOMOGRAFA(SUST,VERB)=SUST

    2.3.3.3. Nivel Semntico: La semntica estudia la significacin de las palabras, por tanto, un anlisis

    semntico tratar de averiguar el significado de las oraciones de un texto, y por extensin el del mismo texto. En PLN el conocimiento semntico se representa especificando conceptos simples y sencillos que se combinan en estructuras ms intricadas como redes semnticas, dependencias conceptuales o estructuras. Como el resto de los niveles, esta fase toma el resultado de otros niveles precedentes que puede ser ambiguo (ambigedad

    sintctica en este caso) para tratar de eliminarlas. Uno de los rompecabezas en el procesamiento de la fase semntica es la gran cantidad de conocimiento que se necesita acerca de los vocablos y conceptos en el universo el discurso, en orden a formalizar tales interpretaciones, por ende, el nivel semntico es el tipo de anlisis ms complicado que enfrenta el PLN. Las tcnicas de extraccin del significado no han obtenido los resultados deseados al momento y se contina trabajando en ello. Este punto es de gran importancia en el documento, por ende analizaremos las posibles causas de por qu es tan difcil obtener semntica a partir del procesamiento del lenguaje natural.

    2.3.4. Problemas y limitaciones

    A diferencia de las mquinas, el hombre usa el mnimo de lenguaje y el

    mximo de su cultura e historia contextual para entender y ser entendidos. Esta diferencia hace que el uso del procesamiento del lenguaje natural se encuentre con una serie de dificultades que limitan la comprensin del lenguaje humano. Algunas de dichas dificultades son:

    1 La aparicin en el texto de un guin puede tener varios significados,

    uno que est poniendo en relacin dos palabras o tambin lo podemos hallar dividiendo un vocablo al final de una lnea, indicando que el resto de la voz est en el siguiente rengln.

    2 La anfora es un tipo de sealamiento que desempean ciertas palabras como por ejemplo sta, lo, le, aqu, all, etc. para asumir el significado de una parte del discurso ya emitida.

    Juan y Diego son hermanos, el primero es abogado y el segundo

    arquitecto. Primero = Juan Segundo = Diego

  • Daniel Fernndez TESIS DE GRADO

    22

    Se distinguen dos tipos de expresiones anafricas: las endofricas, es decir,

    las que aparecen dentro de los textos y por lo tanto, su antecedente se localiza en el mismo texto y las exofricas, cuyo antecedente no es posible ubicarlo dentro del texto.

    Para Grishman [Grishman, 1991] una de las caractersticas de las lenguas

    naturales y tal vez una de las principales razones para que su anlisis sea tan complicado, es que gran parte de lo que se quiere comunicar est implcito en el discurso.

    3 Otro problema con el que se enfrenta el PLN es la elipsis y se define

    como una figura de construccin que consiste en omitir en la oracin una o ms palabras, necesarias para la recta construccin gramatical, pero no para que resulte claro el sentido. Se distinguen tres tipos de elipsis: intrasentenciales (producidas en el interior de una oracin u oraciones coordinadas), fragmentos (ocurren fundamentalmente en situaciones de dilogo), y elipsis semnticas (aquellas que no se manifiestan como estructuras incompletas sino como proposiciones semnticamente incompletas).

    4 Tal vez el punto ms importante que causa la dificultad de procesar los

    millones de texto en lenguaje natural que contiene la Web est dado por la ambigedad. As lo remarca Winograd y Flores [Winograd et al, 1987]. Cuando nosotros, como humanos, procesamos el lenguaje, estamos constantemente adivinando el significado del mismo utilizando todo nuestro conocimiento del universo y basndonos en nuestra cultura para tratar de deducir que es lo que est siendo comunicado.

    Como ejemplo de esto, Winograd y Flores plantean que si se pregunta Hay

    agua en la heladera?, la mayora de los seres humanos entienden que dicha pregunta se refiere a si hay algo como agua mineral o una botella con agua dentro de la heladera. La existencia de molculas de agua en la lechuga es considerada como una respuesta graciosa o una burla. Winograd remarca que los humanos relacionamos el lenguaje al conocimiento de circunstancias comunes. En cambio, las mquinas no pueden determinar que respuesta devolver, excepto que la pregunta sea completamente explcita.

    Cuando un humano usa el lenguaje, en situaciones como la anterior, no

    necesita ser explcito sino que se asume que el oyente lo entiende. Esta innecesidad de situar al oyente en el contexto de lo expresado, comprime en un 90% la comunicacin haciendo conciso el uso del lenguaje. Si se tuviese que pedir agua de forma explcita la pregunta sera la siguiente: tens agua que pueda beber en la heladera, excluyendo las molculas en cualquier vegetal

    o fruta o en el hielo o .... Las computadoras encuentran realmente difcil descubrir cuando el

    contexto no es expresado en detalle. Pero esto tambin le sucede a la gente adulta cuando quiere aprender un idioma extranjero. Aunque muchos contextos o circunstancias normales son transferibles entre culturas, la ms pequea diferencia puede crear problemas de entendimiento. Encontrar diferentes formas de ver el mundo es algo muy comn en el hombre, de hecho a lo largo de su vida cambia la forma de ver las cosas. Algo que entenda de una manera un nio, de adulto lo ve distinto.

  • Daniel Fernndez TESIS DE GRADO

    23

    Existen tres tcnicas que tratan de resolver el problema del contexto

    semntico: pretender que no existe (aproximacin ciega), usar el conocimiento del humano para ayudar a la computadora (aproximacin cooperativa) o tratar de representar el contexto segn el sistema de las computadoras (aproximacin por sentido comn). Ninguna de las tres logra satisfacer los requerimientos.

    La aproximacin ciega. La idea es pretender que no hay ambigedad en el lenguaje. Por ende, de

    haber ambigedad la computadora asume nicamente el contexto permitido por el programador. Una base de datos hecha por qumicos, responder la pregunta de si existe agua en un qumico X sin tener conocimiento de que el agua es bebida por los seres humanos. Esta aproximacin servira para extraer semntica de ciertos sitios especficos, pero no de la Web completa.

    La aproximacin cooperativa Ac el sistema no tiene que resolver la ambigedad, sino detectar que

    existe y dejar que se ocupe el humano. Pero esto se puede tornar frustrante y aburrido. Mientras ms contextos se permiten, ms molesto se torna para el humano resolver dicha ambigedad. La aproximacin cooperativa no se podra aplicar a toda la Web, porque se necesitaran demasiadas horas humanas para resolver todas las ambigedades que contiene.

    La aproximacin por sentido comn. Es tratar de darle a la computadora el conocimiento completo del mundo.

    Ya existen intentos de ello, como por ejemplo el proyecto de Doug Lenat's CYC [WEB-1] que lleva mas de 21 aos de trabajo en la Universidad de Austin, Texas. El objetivo de Lenat es darle conocimiento a la mquina para que razone con sentido comn y lo utilice para procesar naturalmente cualquier texto. Esta sera la solucin adecuada para procesar todos los datos de la Web y extraer su significado semntico. Sin embargo, existen muchas trabas y hasta el da de hoy no se logra que interprete el conocimiento del mundo como nosotros los humanos lo hacemos.

    4 Como ltima pero no menor, es la limitacin propia de la complejidad,

    irregularidad y diversidad del lenguaje humano y los problemas filosficos y psicolgicos asociados al significado de frases, oraciones y textos en su conjunto. Las personas se confunden, mienten y pueden interpretar una misma frase de manera distinta aunque se encuentre en el mismo contexto. Esto hace que la interpretacin semntica de los textos en la Web sea aun

    ms compleja y tenga que tener en cuenta la confiabilidad del usuario.

  • Daniel Fernndez TESIS DE GRADO

    24

    2.4. EL PLN y la Web Tradicionalmente, las principales fuentes para la investigacin del

    procesamiento del lenguaje natural provenan principalmente de textos impresos, como por ejemplo artculos de peridicos o libros. Los mismos eran entornos ms acotados donde se tena un cierto control del mismo. Con el crecimiento del la Web como un recurso de informacin, muchas miradas cambiaron de direccin y el mismo comenz a ser cada vez ms utilizado en las tareas relativas a PLN.

    Pero de lograr superar los problemas y limitaciones que enfrenta el

    procesamiento del lenguaje natural, alcanza esta tcnica para procesar los billones de documentos de la Web? Definitivamente no. Esto se debe principalmente a dos razones:

    A - La Web no slo contiene textos sino tambin datos multimedia: sonido

    e imgenes. El sonido puede ser abarcado en parte por la rama del lenguaje natural que estudia el habla humano, no as las imgenes que muchas veces colaboran indispensablemente con el significado del texto o de la pgina.

    B - Hay mucha semntica en la Web que no est ubicada en los textos sino

    en su distribucin. Por ejemplo, podemos ver que en la figura 2 hay semntica implcita en la distribucin de los datos a lo largo de la pgina Web. Cuando se extrae la semntica de dichos datos, se debe tener en cuenta su ubicacin en la pgina y la estructura de la misma.

  • Daniel Fernndez TESIS DE GRADO

    25

    Figura 2. Ejemplo grfico de una pgina Web que promociona pelculas.

  • Daniel Fernndez TESIS DE GRADO

    26

    En el ejemplo se observa que hay cuatro pelculas en cartelera:

    Leatherheads, Dragon Ball Z: Bardok Trunks Double Feature, You Don't Mess With the Zohan y The Other Boleyn Girl. Por otro lado, tambin est publicada la pelcula ms votada que es Poseidn. Una aplicacin que quiera extraer no solo los datos de la pgina sino tambin su significado, debe interpretar que hay una lnea divisoria entre la pelcula The Other Boleyn Girl y Poseidn y, por ende, determinar que esta ltima no est en cartelera. Asimismo, debe relacionar el ttulo que se encuentra por debajo de la pelcula y concluir que Poseidn no slo no est en cartelera sino que es la pelcula ms votada.

    Este anlisis, que es tan simple para el ojo humano quien lo resuelve en

    cuestin de milisegundos, es algo realmente complicado de deducir automticamente por una computadora. Tal vez sea necesario que el humano ayude en parte a la mquina a resolver estos problemas. En la siguiente seccin veremos tcnicas de extraccin donde el humano juega un rol importante a la hora de decirle a la mquina qu, de dnde y qu significa los datos que extrae.

    http://musica.rompecadenas.com.ar/pelicula-cine/6906.phphttp://musica.rompecadenas.com.ar/pelicula-cine/6907.phphttp://musica.rompecadenas.com.ar/pelicula-cine/6908.phphttp://musica.rompecadenas.com.ar/pelicula-cine/6908.phphttp://musica.rompecadenas.com.ar/pelicula-cine/6904.phphttp://musica.rompecadenas.com.ar/pelicula-cine/5587.phphttp://musica.rompecadenas.com.ar/pelicula-cine/6904.php

  • Daniel Fernndez TESIS DE GRADO

    27

    2.5. Web Scraping Las pginas Web estn codificadas en una estructura de tipo rbol para

    representar la informacin pero los datos relevantes estn mezclados con otros de distribucin, posicionamiento, decoracin, navegacin y, a veces, formato. Web scraping es una tcnica de ingeniera inversa de una pgina HTML en la cual la idea es tomar esa informacin desordenada y con ayuda previa suministrada (por un humano) lograr estructurarla en un formato que sea entendible por una aplicacin.

    Figura 3. Estructuracin de la informacin mediante un scraper.

  • Daniel Fernndez TESIS DE GRADO

    28

    Para que una aplicacin de Web scraping pueda identificar cuales son los

    datos relevantes en una pgina, necesita que un humano le provea de cierta informacin previa. Bsicamente le debe especificar que informacin buscar, como encontrarla, cuales son los patrones repetitivos y donde almacenar los datos extrados. Por ejemplo, si se quiere extraer los nombres de las pelculas en cartelera en el ejemplo de la figura 2, el usuario le indicara a la aplicacin de Web scraping que extraiga los textos con formato en negrita y subrayados que se encuentran en la primera tabla HTML y no en la segunda donde se muestra la pelcula ms votada. Con esta informacin, la aplicacin puede extraer diariamente todas las pelculas en carteleras porque a pesar de que los datos de la pgina se modifican, la estructura es siempre la misma y, por ende, el patrn de extraccin tambin.

    La informacin que suministra el humano puede codificarse directamente

    en la aplicacin de Web scraping o ser suministrada mediante una interfaz determinada previamente a comenzar la extraccin. No importa que modo se utilice sino que antes de comenzar el scraping de la pgina HTML, la aplicacin sepa que informacin extraer y como encontrarla. La misma no debe toparse con sorpresas ni ambigedades como en el procesamiento del lenguaje natural ya que no las sabe resolver.

    Cabe destacar que Web scraping difiere de screen scraping en que un sitio

    Web no es una pantalla visible sino un contenido basado en HTML y JavaScript con una interfaz grfica por arriba. Por ende, Web scraping no consiste en trabajar en la interfaz visual como screen scraping, sino en la estructura de objetos por debajo (DOM, Document Object Model) del HTML y JavaScript. Web scraping tambin difiere de screen scraping en que este ltimo ocurre muchas veces para la misma pantalla dinmica, mientras que Web scraping ocurre una sola vez por pgina dinmica para muchas diferentes pginas estticas.

    Probablemente la tcnica ms comn y tradicionalmente utilizada para

    Web scraping es utilizar expresiones regulares que coincidan con los contenidos que uno quiere y poder extraerlos de manera estructurada. Adems de expresiones regulares, uno puede usar cdigo escrito en lenguajes ms avanzados (JAVA o ASP NET) para parsear los largos pedazos de texto.

    Se analizarn algunas de las aplicaciones ms conocidas de Web scraping

    en la Web actual: Dapper [WEB-2] y Yahoo! Pipes [WEB-3].

  • Daniel Fernndez TESIS DE GRADO

    29

    2.5.1. Dapper

    Dapper es un servicio Web gratuito que sirve para extraer y darle el

    formato que se quiera a cualquier dato de la Web. Dapper permite crear un dapp (que es como un repositorio de datos) para cualquier sitio sin necesidad de programar nada. Dicho dapp contiene la definicin de qu tipo de informacin se quiere extraer. Por ejemplo, se puede utilizar para extraer informacin de una pgina de autos. Dapper va a utilizar el dapp para saber qu contenidos debe extraer como, por ejemplo, el modelo del auto, el fabricante, una imagen, etc.

    Dapper extrae la informacin del sitio en cualquier momento. La pgina de

    la cual Dapper extrae el contenido puede ser modificada en cualquier momento simplemente suministrndole a Dapper una nueva URL que debe contener la misma estructura que la original. Tambin es posible programar Dapper para que automticamente procese con el dapp muchas pginas de a una por vez y extraiga los datos relevantes.

    Dapper funciona como un navegador Web que permite ir marcando los

    textos y enlaces que ms le interesen al usuario de un sitio determinado. Asimismo, permite enlazar uno o ms dapps juntos para armar un resultado ms complejo. Por ejemplo, se puede enlazar la salida de un dapp a otro dapp sin necesidad de programar nada.

    No solamente es posible crear dapps, sino tambin utilizar otros ya creados

    por diferentes usuarios. Para ello se debe elegir el dapp y luego el formato en el que se desee obtener la informacin. El contenido que obtuvo el dapp ser transformado al formato seleccionado. Por ejemplo, si se quiere obtener un resultado RSS con los datos de un sitio Web de noticias y sabemos que existe un dapp asociado al sitio, simplemente se puede seleccionar el dapp y luego la salida RSS. La informacin extrada por cualquier dapp se puede transformar a varios formatos; RSS Feed, Flash Widget, Google Gadget, XML, JSON, XSL, HTML, email y otros.

    Para darle cierto dinamismo al dapp, se le pueden especificar variables de

    entrada. Las mismas se asocian a cajas de texto de la pgina en la cual trabaja el dapp. Una vez que se ingresa la variable, se obtienen los resultados en el formato especificado. Por ejemplo, si se usa un dapp que devuelve los resultados de OneWorld.net, el mismo recibe como variable la palabra que se desee buscar y la utiliza de la misma manera que si una persona lo hiciese

    ingresndola en la caja de texto de bsqueda de OneWorld.net. Ver figura 4 y 5.

  • Daniel Fernndez TESIS DE GRADO

    30

    Figura 4: Resultado en OneWorld.net luego de ingresar en la bsqueda

    la palabra semantic.

  • Daniel Fernndez TESIS DE GRADO

    31

    Figura 5: Resultado luego de ingresar la palabra semantic al dapp

    que extrae los resultados de OneWorld.net.

    Al tener la posibilidad de indicar qu datos extraer y de qu sector de la

    pgina, se puede asociar los mismos a un significado determinado. Si se extrae el ttulo de una pelcula dicho dato se puede almacenar bajo la etiqueta ttulo de pelcula aplicndole un significado que una aplicacin puede luego entender.

    En resumen, Dapper es una solucin para Web scraping que permite

    extraer informacin de cualquier pgina y estructurarla bajo ciertas etiquetas semnticas.

  • Daniel Fernndez TESIS DE GRADO

    32

    2.5.2. Yahoo! Pipes

    Pipes se define como herramienta de composicin para agregar, manipular

    y mezclar contenidos de la Web. Como los famosos tubos de Linux, esta solucin permite combinar comandos simples y obtener la salida segn los requerimientos del usuario. Por ejemplo, se pueden combinar varios feeds en uno slo, luego ordenarlo, filtrar los datos que se quieran y utilizar servicios de terceros para traducirlo. La salida ser finalmente un RSS feed o JSON.

    Un ejemplo sencillo de cmo utilizar un pipe sera mostrar el resultado de

    un feed. Aunque no tiene utilidad alguna, sirve para explicar el modo en que trabaja Pipes. Para este ejemplo, se debe seleccionar como parmetro de entrada un feed y automticamente se agrega como defecto la salida del tubo. Ver figura 6.

    Figura 6. Creacin de un pipe mediante Yahoo! Pipes.

    En cambio, si se desea hacer un trabajo ms especfico sobre la salida de datos, la aplicacin permite asociarle metadatos semnticos.

  • Daniel Fernndez TESIS DE GRADO

    33

    Figura 7. Resultado de la informacin estructurada generada por un pipe. La entrada del pipe puede no slo ser de un feed RSS sino tambin se

    pueden obtener datos de fotos de Flickr, del buscador de Yahoo!, del buscador Google Base y otras fuentes. Al igual que Dapper, permite entradas de usuario lo que dinamiza el pipe. Continuando con la comparacin entre Dapper y Pipes, este ltimo tiene la ventaja de poseer como herramienta distintos operadores para filtrar pipes, unirlos, separarlos, etc. Sin embargo, como desventaja no permite procesar los datos de cualquier pgina de la Web, sino que sus entradas son limitadas.

    En resumen, Pipes es una herramienta Web que permite obtener distintos

    contenidos, manipularlos y transformarlos en uno nuevo de forma que su significado lo pueda entender una aplicacin. Ofrece una interfaz intuitiva y amigable para el usuario. Sin embargo, como las fuentes de donde puede leer datos un pipe es limitada, el uso ms comn que ha adoptado esta herramienta es combinar, mezclar, filtrar y rearmar RSS feeds.

  • Daniel Fernndez TESIS DE GRADO

    34

    2.6. Aproximacin top-down Habiendo analizado las tcnicas de procesamiento del lenguaje natural y

    Web scraping, se puede ver que ambas intentan extraer los datos de la Web tal como se encuentran almacenados para luego poder interpretarlos o asociarlos a un significado. Este camino, donde se trata de procesar los datos tal cual se encuentran actualmente, se lo conoce como aproximacin top-down porque el trabajo comienza desde arriba, mejorando los sistemas de extraccin y hacen su camino hacia abajo hasta interpretar todos los datos de las pginas Web sin necesidad de modificarlos.

    El camino top-down apunta su mirada y esfuerzo a mejorar los sistemas

    automticos que interpretan la informacin de la Web. Sus seguidores afirman que si un humano puede entender la informacin de un sitio Web es que su significado est implcito en l y, por lo tanto, puede ser interpretado automticamente por una mquina. El trabajo debe concentrarse en hacer ms inteligentes los agentes automticos (spiders, robots, scraps, etc.) y no en modificar los datos de las pginas Web. El camino top-down se vale de informacin preprogramada, conceptos y tcnicas como el procesamiento del lenguaje natural. A veces es necesaria la intervencin humana que gue o corrija el proceso, pero las aplicaciones que opten por este camino no va a ser van a necesitar que se modifique o agregue informacin semntica a las pginas Web existentes.

    El procesamiento del lenguaje natural por lo general no requiere de ayuda

    humana y con conocimiento previo logra inferir nuevo conocimiento a partir de los datos extrados. En cambio, la tcnica de Web scraping necesita de un humano que no slo le diga de donde extraer los datos sino tambin a qu significado se asocian los mismos. No hay un procesamiento inteligente de la informacin extrada. Al depender de un humano para entender el significado de los datos y su ubicacin, se torna imposible mediante Web scraping procesar los billones de documentos de la Web en su totalidad, lo que significa que dicha tcnica es viable para procesar slo una porcin de los mismos. Mientras que el procesamiento del lenguaje natural, al trabajar de forma automtica, permitira procesar todos los documentos de la Web si se resolviesen sus problemas actuales.

    Adems, Web scraping tiene la desventaja de que si cambia la pgina

    original, hay una gran probabilidad que se tenga que cambiar la forma de extraer dicha informacin. En cambio el PLN, puede automticamente procesar los cambios e incluso aprender de los mismos.

    Lamentablemente, el procesamiento del lenguaje natural est lejos de

    cumplir sus objetivos en la extraccin del significado de los datos de la Web. Se deben resolver no slo las dificultades propias del lenguaje natural, sino tambin los significados ocultos asociados a la ubicacin grfica de los datos en las pginas y a los datos multimedia que stas contienen. En este punto, Web Scraping no tiene inconvenientes porque el usuario entiende la estructura de la pgina indicando como es la distribucin de los datos y que significa cada uno para poder armar el patrn repetitivo.

  • Daniel Fernndez TESIS DE GRADO

    35

    Se puede concluir que la Web es un entorno complejo donde no se ha encontrado un camino top-down ptimo y aceptable para extraer el significado de sus datos respetando el formato en que se encuentran. Si se quiere tener una Web en la cual las mquinas entiendan el significado de sus datos, tal vez sea necesario modificar la forma en que los mismos se guardan.

  • Daniel Fernndez TESIS DE GRADO

    36

    2.7. Nueva aproximacin: bottom-up

    Algunos expertos opinan que es posible mantener los datos como se encuentran almacenados actualmente en la Web y se debe trabajar ms en los sistemas inteligentes que los parsean e interpretan. Es el concepto que define al camino top-down explicado anteriormente. Mientras que otros expertos optan por modificar los datos de la Web agregndole informacin que explique su significado. Este camino opuesto que consiste en cargar datos semnticos en la Web es conocido como bottom-up.

    Figura 8. Distintas aproximaciones para estructurar la informacin de la

    Web. El acercamiento bottom-up comienza desde abajo, modificando el

    contenido de las pginas y arma su camino hacia arriba hasta obtener procesos que logren interpretar el significado de dichas pginas. Por lo general, esta tcnica se basa en agregar metadatos semnticos a los sitios Web existentes para facilitar el procesamiento de los mismos. Estos metadatos

    pueden estar en las mismas pginas de los sitios o en cualquier otro objeto de la Web. Sin importar su ubicacin, generalmente cumplen con un formato reconocible y lo suficientemente descriptible para poder darle significado a la pgina.

    A diferencia de top-down, en el camino bottom-up la carga de datos juega

    un rol muy importante porque sin ella no es posible extraer la semntica de los datos. El primer paso y tal vez el ms difcil es poblar la Web de datos semnticos para luego poder continuar con el segundo, extraerlos automticamente. Una tcnica que pueden adoptar algunos sitios donde el

  • Daniel Fernndez TESIS DE GRADO

    37

    usuario tiene un rol importante en la carga de datos (como por ejemplo Wikipedia) es facilitar una interfaz que los obligue a ingresar los datos con su semntica implcita de manera de poder generar automticamente los metadatos semnticos asociados a dicha informacin.

    Los opositores al camino bottom-up sostienen que no va a funcionar

    porque los sitios Web van permanecer con los datos actuales sin ninguna modificacin o agregado. Su fundamento se basa en que sus administradores no van a querer reescribirlos para compartir informacin semntica si no hay aplicaciones que haciendo uso de dicha informacin les generen beneficios (por ejemplo, buscadores de uso global). Por otro lado, sustentan que nadie va a desarrollar una aplicacin que procese los datos semnticos si son pocos los sitios que los contengan. Este problema es equivalente al que se conoce vulgarmente como el huevo y la gallina. Es decir que debido a que la mayora de los sitios actuales no poseen informacin semntica, son escasas las aplicaciones que hacen uso de ella; y como son pocas las aplicaciones que hacen uso de la informacin semntica, son pocos los sitios actuales que la agregan. Hay que tener en cuenta que tanto reformar un sitio Web como desarrollar una aplicacin semntica requiere un gran costo no slo monetario sino tambin de tiempo.

    Sin embargo, en la actualidad el camino bottom-up est obteniendo ms

    seguidores ya que la aproximacin top-down requiere de una tecnologa que estamos lejos de perfeccionar todava. No hay una solucin a corto plazo ni se puede demostrar que alguna vez la va a haber. Mientras que el camino bottom-up enfrenta problemas con solucin posible como son el tiempo y el dinero. En consecuencia, se concluye que es ms viable el camino bottom-up y en el prximo captulo se estudiarn los metadatos y las tecnologas que los usan.

  • Daniel Fernndez TESIS DE GRADO

    38

    2.8. Resumen investigacin En el presente captulo, se lleg a las siguientes conclusiones:

    1. En la actualidad, la mayora de los datos de la Web estn almacenados de manera desestructurada y carecen de informacin semntica por lo que no se los puede interpretar automticamente.

    2. Si las mquinas lograsen comprender el significado de los datos de

    la Web, entonces podran prestar mejores servicios y reducir la cantidad de trabajo de las personas.

    3. El procesamiento del lenguaje natural hace un muy buen trabajo

    interpretando automticamente los datos pero se topa con problemas que actualmente est lejos de solucionar. Entre ellos, el contexto de una frase es el ms difcil de resolver.

    4. La tcnica de Web scraping tambin logra extraer datos de la Web de

    manera automtica sin importar la distribucin de los objetos en las pginas. Sin embargo, necesita intervencin humana, por lo que es aplicable a dominios particulares pero no a la Web en su completitud.

    5. Las tcnicas que buscan interpretar el significado de los datos de la

    Web sin modificar la forma en que se encuentran almacenados pertenecen al camino conocido como top-down. Opuestamente, existe otro camino ms viable conocido como bottom-up que busca agregar metadatos semnticos para facilitar la tarea de interpretacin automtica de los datos.

  • Daniel Fernndez TESIS DE GRADO

    39

    Captulo 3: Los metadatos

    Explicadas en captulos anteriores las dificultades que existen en

    extraer el significado de la informacin tal cual se encuentra almacenada actualmente en la Web, en el captulo tres se presentan

    alternativas que optan por modificar el contenido de las pginas Web agregando metadatos y facilitando la tarea a los agentes de

    extraccin. Asimismo, se explica el concepto de metadatos y se

    analiza la tecnologa ms conocida que hace uso de ellos llamada Web Semntica. Como opcin paralela y en un contexto ms

    especfico se introducen los microformatos. Al final del captulo, se remarcan las caractersticas ms importantes de cada tecnologa y

    cual se va a implementar en la vigente tesis.

  • Daniel Fernndez TESIS DE GRADO

    40

    3.1. Los datos sobre los datos La aproximacin bottom-up consiste en agregar metadatos a los sitios Web

    para poder darle significado a los datos. De esta manera, los agentes automticos pueden procesar los metadatos semnticos e interpretar mejor la informacin que contiene la Web.

    Los metadatos representan datos estructurados sobre los datos. Son

    informacin descriptiva sobre un objeto o recurso tanto si ste existe fsicamente como no. Permiten describir, identificar, localizar, valorar y administrar los objetos descriptos. No siempre es sencillo establecer una diferenciacin clara entre datos y metadatos. Por ejemplo, una palabra como edad es un dato, pero tambin puede ser un metadato si se encuentra adjunto a otro dato como 15 ya que describe que ese nmero no es ni una fecha, ni una altura, ni una distancia sino que es una edad.

    En muchas ocasiones, los datos son tanto "datos" como "metadatos". Por

    ejemplo, el ttulo de un texto cumple el rol de dato al ser parte del texto y a la vez el rol de metadato al ser un dato referente al texto. Dado que los metadatos son datos en s mismos, existe la posibilidad de definir metadatos sobre metadatos. A pesar de que esto puede parecer innecesario, se ver ms adelante que los metadatos sobre metadatos pueden llegar a ser de gran utilidad.

    Los metadatos pueden ser incluidos en la pgina Web por el mismo

    administrador, por los usuarios a travs de una interfaz o pueden ser generados por sistemas de agrupacin de informacin. No importa como sean ingresados los metadatos, sino que sirvan para ser interpretados por las mquinas; o sea, los metadatos deben utilizar un lenguaje adecuado para las mquinas e idealmente respetar todos una misma sintaxis y formato.

    Hay varias soluciones propuestas que se rigen por el camino bottom-up. La

    ms importante y ms completa es la propuesta por Tim Berners-Lee, conocida como Web Semntica [Berners-Lee, 2001]. La idea es poblar la Web con una red de nodos tipificados e interconectados mediante clases y relaciones definidas por una ontologa compartida por distintos autores. Para lograrlo, la Web Semntica define un conjunto de componentes que permiten almacenar la informacin semntica. Los principales componentes de la Web Semntica son los metalenguajes y estndares de representacin XML, XML Schema, RDF, RDF Schema y OWL. La solucin de Berners-Lee mantiene los principios que han hecho un xito de la Web actual, como son los principios de descentralizacin, compatibilidad, flexibilidad y mxima facilidad

    Se analizar tambin una solucin con un dominio ms especfico

    presentada por Microformats [WEB-7] que obtuvo mucha aceptacin en la comunidad Web durante el ltimo tiempo. Los microformatos triunfan en muchos aspectos donde la Web Semntica tiene problemas. No intentan abastecer la visin semntica completa sino que ofrecen una solucin ms acotada permitiendo marcar semnticamente los datos ms frecuentes en algunas pginas Web. La sintaxis es simple, fcil de entender y totalmente integrada al actual HTML.

  • Daniel Fernndez TESIS DE GRADO

    41

    Ambas soluciones comparten un mismo camino que es utilizar la

    aproximacin bottom-up para poblar la Web con datos semnticos. Cada una posee ventajas y desventajas, con caractersticas que hacen que su nivel de aceptacin est creciendo o decreciendo con el tiempo. Se estudiarn y compararn las soluciones remarcando las mejores caractersticas de cada una.

    Cabe destacar que existen otras soluciones con dominios an ms

    acotados que no se analizarn en la vigente tesis. Entre ellas est Semantic Wiki, una idea que tiene como objetivo darle significado semntico a los datos de la Wikipedia estructurndolos con metadatos y generando vnculos entre los mismos.

  • Daniel Fernndez TESIS DE GRADO

    42

    3.2. Web Semntica La Web Semntica fue pensada por Tim Berners-Lee, inventor de la Web,

    las URIs, el protocolo HTTP y el lenguaje HTML. Existe un grupo de personas que pertenecen a la W3C (del ingles, World Wide Web consortium) [WEB-4] y se dedican a mejorar, extender y estandarizar dicho sistema y otros lenguajes, publicaciones y herramientas que ya han sido desarrolladas. La W3C define a la Web Semntica como una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podr encontrar respuestas a sus preguntas de forma ms rpida y sencilla gracias a una informacin mejor definida.. En otras palabras es una mezcla de informacin enlazada de manera tal que puede ser procesada automticamente por las maquinas en una escala global.

    La pregunta es cmo lograr una manera eficiente de representar la

    informacin en la Web la cual permita ser localizada y accedida tanto por usuarios interesados como por aplicaciones de forma automtica. Para ello, en la Web Semntica, toda la informacin debe ser expresada como declaraciones sobre recursos. Por ejemplo el libro If Tomorrow Comes fue escrito por Sidney Sheldon o esta pgina fue creada por X persona.

    Los recursos son identificados mediante una URI (Uniform Resource

    Identifier) y el modelo que representa sus relaciones es un lenguaje conocido como RDF (Resource Description Framework). RDF se basa en la idea de convertir las declaraciones de los recursos en expresiones con la forma sujeto-predicado-objeto (ms conocidas como tripletes). La Web Semntica a su vez presenta un lenguaje de ontologa llamado OWL (Web Ontology Language). Este lenguaje nos permite clasificar la informacin y extender la funcionalidad de la Web Semntica agregando nuevas clases y propiedades para describir los recursos. Otras capas son las de lgica, confianza, firmas digitales, etc. En este captulo se analizan las capas de la Web Semntica y su situacin en la Web actual.

    http://en.wikipedia.org/wiki/Sidney_Sheldonhttp://en.wikipedia.org/wiki/Sidney_Sheldon

  • Daniel Fernndez TESIS DE GRADO

    43

    3.2.1. Las diferentes Capas

    A continuacin se explican brevemente las diferentes capas que componen

    la Web Semntica (ver Figura 9).

    Figura 9. Capas de la Web Semntica.

    Unicode (Universal Code) Unicode es una codificacin del texto que permite utilizar los smbolos de

    diferentes idiomas. Esto permite expresar informacin en la Web Semntica en cualquier idioma.

    URI (Uniform Resource Identifier)

    URI es el acrnimo de Uniform Resource Identifier, o en castellano,

    Identificador Uniforme de Recursos. Es un poco confusa la diferencia entre URI y URL, por lo que por ahora vamos a decir que un URL es un recurso que puede ser accedido va Internet.

    XML (Extensible Markup Language), NS (Namespace) y XML Schema

    XML proporciona una sintaxis superficial para documentos estructurados,

    pero no impone restricciones semnticas en el significado de estos documentos.XML Schema es un lenguaje que se utiliza para restringir la estructura de los documentos XML y para ampliar XML con tipos de datos.

    RDF (Resource Description Framework)

    URI Unicode

    XML + NS + XML Schema

    RDF + RDF Schema

    OWL

    Lgica

    Prueba

    Confianza

    http://www.w3.org/XML/http://www.w3.org/XML/Schema

  • Daniel Fernndez TESIS DE GRADO

    44

    RDF es un modelo de datos para objetos ("recursos") y relaciones entre ellos, proporcionando una semntica simple para ste. Este tipo de modelo de datos puede ser representado en una sintaxis XML.

    RDF Schema

    RDF Schema es un vocabulario utilizado para describir propiedades y

    clases de recursos RDF, con una semntica para jerarquas de generalizacin de dichas propiedades y clases.

    OWL (Web Ontology Language) OWL aade ms vocabulario para describir propiedades y clases

    permitiendo definir relaciones entre clases (por ejemplo, desunin), cardinalidad (por ejemplo, "uno exacto"), igualdad, escritura de propiedades ms rica, caractersticas de propiedades (por ejemplo, simetra), y clases enumeradas.

    Lgica, Prueba y Confianza Estas capas hacen usos de los datos de las capas inferiores para calificar

    los datos relevantes, aplicar lgica y deducir nueva informacin. A continuacin se detallan cada una de las capas. Cabe destacar que las

    capas de lgica, prueba y confianza no han sido desarrolladas en un nivel tan intenso como las capas inferiores debido a que permanecen en un estado de boceto.

    3.2.2. Unicode

    Antes de unicode, haba diferentes sistemas de codificacin de caracteres

    para cada idioma, cada uno usando los mismos nmeros (0-255) para representar los caracteres de ese lenguaje. Algunos (como el ruso) tienen varios estndares incompatibles que dicen cmo representar los mismos caracteres; otros idiomas (como el japons) tienen tantos caracteres que precisan ms de un byte. Intercambiar documentos entre estos sistemas era difcil porque no haba manera de que un computador supiera con certeza qu esquema de codificacin de caracteres haba usado el autor del documento; el computador slo vea nmeros, y los nmeros pueden significar muchas cosas.

    Almacenar estos documentos en el mismo sitio; implicaba almacenar el

    tipo de codificacin junto con cada texto. Para documentos multilinges, con caracteres de varios idiomas en el mismo documento haba que utilizar cdigos de escape para cambiar de modos (modo ruso, luego modo Mac Greek, etc.). Para resolver estos problemas se dise unicode.

    http://www.w3.org/TR/2002/WD-rdf-concepts-20021108/http://www.w3.org/TR/2002/WD-rdf-schema-20021112/

  • Daniel Fernndez TESIS DE GRADO

    45

    Unicode representa cada carcter como un nmero de 2 bytes, de 0 a 65535. Cada nmero de 2 bytes representa un nico carcter utilizado en al menos un idioma del mundo (los caracteres que se usan en ms de un idioma tienen el mismo cdigo numrico). Hay exactamente un nmero por carcter, y exactamente un carcter por nmero. Los datos de unicode nunca son ambiguos.

    Sigue existiendo el problema de todos esos sistemas de codificacin

    anticuados. Por ejemplo, el ASCII de 7 bits que almacena los caracteres ingleses como nmeros del 0 al 127 (65 es la A, mayscula, 97 es la a minscula, etc.). El ingls tiene un alfabeto sencillo, as que se puede expresar en ASCII de 7 bits. Los idiomas europeos occidentales como el francs, espaol y alemn usan todos un sistema llamado ISO-8859-1 (tambin conocido como latin-1), que usa los caracteres del ASCII de 7 bits del 0 al 127, pero lo extiende en el rango 128-255 para tener caracteres como (241) y (252). Para respetar las viejas codificaciones, unicode usa los mismos caracteres que el ASCII de 7 bits para los nmeros del 0 al 127, y los mismos caracteres que ISO-8859-1 del 128 al 255, y de ah en adelante se extiende para otros lenguajes que usan el resto de los nmeros, del 256 al 65535.

    3.2.3. URI

    Una URI es un identificador Web formado por una cadena de caracteres

    que identifica inequvocamente un recurso en la Web. No debe confundirse con una URL, la cual es un tipo de URI cuyos caracteres identifican un recurso en la Web mediante la representacin de su mecanismo de acceso.

    Una URI se puede referir como cualquier cosa que necesita ser referenciada

    como objetos accesibles por la red (un documento electrnico, una imagen, un servicio), cosas que no son accesibles por la red (una persona, una empresa) y conceptos abstractos que no existen fsicamente.

    Su definicin formal se encuentra en el RFC 2396, titulado Uniform

    Resource Identifiers: Generic Syntax. La URI puede ser clasificada como un localizador (URL) o como un nombre (URN) o como la combinacin de ambos. Un URN (Uniform Resource Name) es como el nombre de una persona y sirve para tratar sobre un recurso sin expresar su ubicacin o como acceder a l. Mientras que un URL (Uniform Resource Locator) se asemeja a una direccin de un lugar y permite actuar sobre dicho recurso porque describe el mtodo de acceso (en cierta manera, nos indica su localizacin).

    El formato del URL es: :// [:] [ [? ]] Ejemplo: http://www.google.com:80/ig Mientras que el formato de URN es: urn::

    http://tools.ietf.org/html/rfc2396

  • Daniel Fernndez TESIS DE GRADO

    46

    Ejemplo: urn:isbn:90-365-17273 Ambos son URIs. Otros ejemplos de URIs seran:

    http://ejemplo/recurso.txt#seccion01

    http://ejemplo/de/uri/recurso.txt

    /ejemplo/de/uri/recurso.txt

    de/uri/recurso.txt

    ../../../recurso.txt

    recurso.txt

    /recurso.txt#seccion01

    #seccion01 En la Web Semntica las URIs son las encargadas de identificar cualquier

    tipo de objeto, inclusive las propiedades. Ya se ver ms adelante que la ventaja de que las propiedades tambin sean identificadas con URIs, es que pueden ser tratadas como recursos y por ende agregar informacin adicional de las mismas simplemente mediante nuevas afirmaciones con la URI de la propiedad como sujeto.

    3.2.4. XML, NS y XML Schema

    La Web Semntica utiliza el lenguaje XML como mtodo para representar y

    transportar la informacin. Es importante tener en cuenta que XML no es un lenguaje de etiquetado sino que se trata de un lenguaje que establece un conjunto de reglas que permiten la creacin de lenguajes de etiquetado.

    XML define, entre otras cosas, las normas a seguir sobre cmo se deben

    combinar las cadenas de caracteres y cmo se han de especificar las propiedades de los elementos. Algunas ventajas de XML son:

    Es un estndar.

    Es ideal para manejar datos estructurados.

    Las mquinas pueden fcilmente generar XML, leerlo y asegurarse que la estructura de datos no sea ambigua.

    Es legible por un humano

    Cualquier aplicacin en cualquier plataforma puede procesar XML.

    Es accesible y reutilizable, porque la flexibilidad de las etiquetas de

    XML pueden utilizarse sin tener que amoldarse a reglas especficas de un fabricante, como es el caso de HTML.

    Es extensible. Uno puede crear sus propias etiquetas (o utilizar las creadas por otros) bajo un dominio propio y con los atributos necesarios.

    Su licencia es libre. Por otro lado, XML posee namespace o espacio de nombres que le

    permiten solucionar el problema de la disparidad de terminologas entre las comunidades Web. Los namespaces permiten particionar el conjunto de todos

  • Daniel Fernndez TESIS DE GRADO

    47

    los nombres posibles, de forma que se pueda definir a qu zona de ese espacio corresponde una etiqueta. De esta forma, etiquetas con el mismo nombre, pero definidas por dos autores diferentes, pueden diferenciarse en el espacio de nombres. El espacio de nombres no es esencial en todos los documentos, pero resulta til cuando se usan etiquetas procedentes de diferentes lugares o etiquetas que se quieren procesar de forma diferente. El especio de nombres de una etiqueta se indica con un prefijo y :, como en este caso: . Por ejemplo, se usan espacios de nombres en el siguiente documento XML:

    Per

    235

    Conviene recordar que el prefijo de un espacio de nombres es totalmente

    arbitrario; lo que define un espacio de nombres es, en realidad, el URI. Lo nico que se requiere de este URI es que sea nico en el documento.

    Finalmente, esta capa hace uso del estndar XML Schema cuyo propsito

    es definir la estructura de los documentos XML que estn asignados a tal esquema y los tipos de datos vlidos para cada elemento y atributo. En este sentido, las posibilidades de control sobre la estructura y los tipos de datos son muy amplias. Al restringir el contenido de los ficheros XML, es posible intercambiar informacin entre aplicaciones con gran seguridad y disminuye el trabajo de comprobar la estructura de los ficheros y el tipo de los datos.

    XML Schema se asimila a un DTD en que ambos definen qu elementos

    puede contener un documento XML cmo estn organizados y que atributos y de qu tipo pueden tener sus elementos. Sin embargo, la estructura de tipos de XML Schema es mucho ms rica que la de DTD.

    Un ejemplo de XML Schema es el siguiente: Pelcula.xsd

    http://mat21.etsii.upm.es/mbs/mechxml/posibilidades.htm

  • Daniel Fernndez TESIS DE GRADO

    48

    El elemento raz se llama pelcula y tiene tres hijos y un atributo. Los hijos

    son Ttulo, Sinopsis que deben aparecer una vez y Directores que puede aparecer de una a cinco veces. El hecho de que estn agrupados en una secuencia indica que los elementos deben aparecer en orden, es decir, primero el Ttulo, luego los Directores y por ltimo la Sinopsis. Los tres elementos son de tipo string. El atributo de libro se llama precio y es de tipo double.

    Un ejemplo de fichero XML asignado al XML Schema es el siguiente: Matrix.xml

    The Matrix

    Andy Wachowski

    Larry Wachowski

    Existen dos realidades: una que consiste en la vida que vivimos

    cada da, y otra que se encuentra detrs de ella. Una es un

    sueo. La otra "The Matrix" (La Matriz). Has tenido alguna vez

    un sueo del que estuvieras muy seguro de que era real?. Neo,

    esta buscando desesperadamente la verdad sobre The Matrix, algo

    de lo que ha odo hablar slo en susurros, algo misterioso y

    desconocido. Neo est seguro de que algo tiene un control

    inimaginable y siniestro sobre su vida.

  • Daniel Fernndez TESIS DE GRADO

    49

    3.2.5. RDF

    RDF es un lenguaje basado en XML originalmente creado en 1999 para

    modelar los recursos de la Web. Est descripto en una serie de documentos de la W3C conocidos como recomendaciones. Los principales documentos que describen RDF son RDF/XML Syntax Specification (Revised) [Beckett, 2004] y RDF Vocabulary Description Language 1.0: RDF Schema [Brickley et al, 2004]. El primero se focaliza en los aspectos sintcticos, mientras que el segundo trata la definicin de vocabularios (generalmente llamados esquemas o schemas en ingls).

    RDF permite representar informacin de cualquier recurso que pueda ser

    identificado en la Web incluyendo los que no pueden ser extrados de la misma. Algunos ejemplos de estos recursos son: informacin de productos, descripcin de personas, imgenes o documentos electrnicos. RDF se basa en la idea de identificar cualquier cosa en la Web mediante URIs y describir los recursos en trminos de propiedades y valores.

    3.2.5.1. Afirmaciones RDF Un ejemplo de una afirmacin RDF es Ribas es el creador de flashes.html

    y el mismo puede escribirse de la siguiente manera: http://ejemplo.com/flashes.html tienen un creador cuyo valor es Ribas Se puede ver que el ejemplo consta de tres partes: I - La cosa que la afirmacin describe:

    http://ejemplo.com/flashes.html

    II - Una propiedad especfica de la cosa que la afirmacin describe:

    Creador

    III - El valor de la propiedad para la cosa que la afirmacin describe:

    Ribas

    Por eso mismo se dice que el elemento base del modelo RDF es el triplete

    (triple): un recurso (el sujeto) est asociado a otro recurso (el objeto) mediante un tercer recurso (el predicado).

    http://ejemplo.com/flashes.htmlhttp://ejemplo.com/flashes.html

  • Daniel Fernndez TESIS DE GRADO

    50

    Figura 10. Estructura de una afirmacin RDF. El sujeto es el recurso, es decir, aquello que se est describiendo. El

    predicado es la propiedad o relacin que se desea establecer acerca del recurso. Por ltimo, el objeto es el valor de la propiedad o el otro recurso con el que se establece la relacin.

    En el ejemplo anterior se tiene: Sujeto: http://ejemplo.com/flashes.html Predicado: Creador Objeto: Ribas El sujeto (recurso) y el predicado (la propiedad) deben estar identificados

    mediante una URI. En cambio el objeto de una afirmacin RDF (el valor de la propiedad) puede ser otro recurso especificado por una URI o puede ser un literal (una cadena simple de caracteres) u otros tipos de datos primitivos definidos por XML. En trminos RDF, un literal puede comprender en su contenido marcado XML pero ya no puede valorarse ms por un procesador RDF. Existen varias restricciones sintcticas en cmo se puede expresar el marcado en literales.

    Es posible reescribir la afirmacin RDF de la siguiente manera: Sujeto: http://ejemplo.com/flashes.html Predicado: http://purl.org/dc/elements/1.1/creator Objeto: Ribas En el ejemplo, el sujeto es una pgina Web por ende se encuentra

    identificado por una URL que es una URI. El predicado tambin est referido por una URI, en este caso una propiedad descripta por el modelo Dublin Core [WEB-5], un modelo de metadatos elaborado y auspiciado por la DCMI (Dublin Core Metadata Initiative). El objeto, en cambio, es una cadena de texto simple o literal.

    http://es.wikipedia.org/wiki/Sujeto_%28gram%C3%A1tica%29http://es.wikipedia.org/wiki/Predicadohttp://es.wikipedia.org/wiki/Propiedadhttp://es.wikipedia.org/wiki/Relaci%C3%B3nhttp://es.wikipedia.org/wiki/Objetohttp://es.wikipedia.org/wiki/Valorhttp://ejemplo.com/flashes.htmlhttp://ejemplo.com/flashes.htmlhttp://es.wikipedia.org/wiki/Metadatos

  • Daniel Fernndez TESIS DE GRADO

    51

    3.2.5.2. Grficos RDF Todos los tripletes pueden ser representados en un grfico. Los grficos

    constan de valos, arcos y rectngulos. En la figura 11 se puede apreciar un ejemplo de un grfico RDF.

    Figura 11. Ejemplo de un grfico RDF. Este ejemplo representa grficamente la afirmacin RDF expresada

    anteriormente: Sujeto (Recurso): http://ejemplo.com/flashes.html Predicado (Propiedad): http://purl.org/dc/elements/1.1/creator Objeto (Literal): Ribas El grfico consiste en dos nodos conectados por un nico arco. Un nodo

    est representado por un valo y contiene la URI del sujeto (http://ejemplo.com/flashes.html). El otro nodo es un rectngulo porque representa un literal, en este caso el nombre del creador (Ribas). El arco que conecta ambos nodos es la propiedad de la afirmacin y contiene la URI que la identifica. La direccin de la flecha es relevante porque el arco siempre empieza en el sujeto y apunta hacia el objeto de la afirmacin.

    Si se deseara expresar ms detalle sobre el creador, por ejemplo su email,

    se creara la afirmacin de la siguiente manera:

    El individuo cuyo nombre es Ribas y su correo electrnico [email protected], es el creador de http://ejemplo.com/flashes.html.

    El creador se convierte ahora en una estructura ms compleja que

    contiene un nombre y un email. En RDF tal entidad estructurada se representa como otro recurso. Sin embargo, la afirmacin no proporciona un nombre o URI a dicho recurso sino que el mismo es annimo. Cuando un recurso es annimo se lo grafica mediante un valo vaco como podemos ver en la figura 12.

    http://ejemplo.com/flashes.htmlhttp://ejemplo.com/flashes.htmlmailto:[email protected]://ejemplo.com/flashes.html

  • Daniel Fernndez TESIS DE GRADO

    52

    Figura 12. Ejemplo de un grfico RDF con un recurso annimo. En el caso de que el creador tenga un identificador nico que le asign la

    organizacin donde trabaja con su nmero de empleado (en este caso una URI, http://organizacionejemplo.com/23164), la afirmacin RDF se puede escribir de la siguiente manera:

    El individuo identificado por http://organizacionejemplo.com/23164, que

    tiene un nombre que es Ribas y un correo electrnico que es [email protected], es el creador de http://ejemplo.com/flashes.html.

    El grfico correspondiente es el de la figura 13.

    Figura 13. Ejemplo de un grfico RDF con un recurso identificado por una

    URI.

    http://organizacionejemplo.com/23164http://organizacionejemplo.com/23164mailto:[email protected]://ejemplo.com/flashes.html

  • Daniel Fernndez TESIS DE GRADO

    53

    Como el recurso no es ms annimo, el nodo vaco pasa a ser un nodo con

    una URI que lo identifica. En este caso se represent el ejemplo completo en un solo grfico, pero podra dividirse en dos afirmaciones distintas (cada una con su grfico correspondiente). Las afirmaciones seran:

    El individuo identificado por http://organizacionejemplo.com/23164 tiene un

    nombre que es Ribas y un correo electrnico que es [email protected]. El individuo identificado por http://organizacionejemplo.com/23164 es el

    creador de http://ejemplo.com/flashes.html. No importa si se expresa en conjunto o divida en partes, el resultado

    semntico de la afirmacin es el mismo.

    3.2.5.3. Etiquetas RDF RDF define un conjunto de etiquetas XML. Por ejemplo, algunas de ellas

    son: rdf:RDF Es la forma de marcar el principio y el final de un documento RDF. Es

    opcional siempre y cuando se especifique el sistema de trabajo para la aplicacin en concreto.

    rdf:Description Description agrupa un conjunto de afirmaciones sobre un recurso. Los

    elementos hijos son todas las propiedades del recurso que se est describiendo.

    rdf:Atl Alternative se usa para especificar una lista de recursos que representan,

    de forma alternativa, el/los valor/es de la propiedad que se est utilizando. rdf:Bag Un bag es una lista de recursos o literales sin orden. Se permiten valores

    duplicados y no hay diferencias en cuanto al orden en que aparecen los recursos.

    rdf:seq Una secuencia es una lista ordenada de recursos o literales. Una secuencia

    es usada para declarar un conjunto en el cual el orden de aparicin de los miembros es importante. Se permiten valores duplicados.

    http://organizacionejemplo.com/23164mailto:[email protected]://organizacionejemplo.com/23164http://ejemplo.com/flashes.html

  • Daniel Fernndez TESIS DE GRADO

    54

    3.2.5.4. Ejemplos RDF La afirmacin anteriormente nombrada que se escribe en lenguaje natural:

    como http://ejemplo.com/flashes.html tienen un creador cuyo valor es Ribas puede representarse en RDF/XML de la siguiente manera:

    Ribas