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

Tamaño: px
Comenzar la demostración a partir de la página:

Download "La naturaleza de la información semántica en la Web."

Transcripción

1 La naturaleza de la información semántica en la Web. EN INGENIERIA INFORMATICA FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES TESISTA: DIRECTORES Daniel Fernández 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

2 2

3 Agradecimientos A Paula por su paciencia y sus largas horas de compañía. 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 compañeros que me proveyeron la fuerza necesaria para seguir adelante. Gracias a todos. 3

4 Resumen La Web actual está formada principalmente por un conjunto de documentos cuya información semántica es fácilmente comprendida por los usuarios y no así por las máquinas que los procesan automáticamente. En este trabajo se estudiarán y compararán las principales tecnologías dedicadas a procesar el significado de los datos de la Web para que puedan ser interpretados por sistemas de computación. Asimismo, se presentará un desarrollo basado en la tecnología más adecuada acorde a la investigación 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. 4

5 Índice Capítulo 1: Introducción Introducción Motivaciones Objetivos Estructura del documento Capítulo 2: La información World Wide Web El significado de los datos de la Web El procesamiento del lenguaje natural Lenguaje Historia Cómo trabaja el PLN Problemas y limitaciones EL PLN y la Web Web Scraping Dapper Yahoo! Pipes Aproximación top-down Nueva aproximación: bottom-up Resumen investigación Capítulo 3: Los metadatos Los datos sobre los datos Web Semántica Las diferentes Capas Unicode URI XML, NS y XML Schema RDF RDF Schema OWL Lógica Prueba Confianza Microformatos hcard hcalendar hreview Los problemas de la aproximación bottom-up Microformatos vs. RDF La tecnología más adecuada Resumen investigación

6 Capítulo 4: La red social semántica Solución propuesta Red social de dominio libre Creación de datos y metadatos Búsqueda semántica Notificaciones semánticas Repositorio de esquemas calificados Exportación de datos Ejemplo Pruebas y resultados Pruebas Resultados Capítulo 5: Conclusiones y trabajo futuro Conclusiones Futuras líneas de trabajo Bibliografía

7 Capítulo 1: Introducción En el presente capítulo, se introduce el tema que trata la tesis exponiendo el problema que busca resolver, de manera de colaborar con la comunidad científica. También, 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 capítulos y el contenido de cada uno de ellos. 7

8 1.1. Introducción 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 televisión y el teléfono. Nos facilita la comunicación, el intercambio de información, podemos hacer compras, transacciones bancarias, etc. Pequeñas compañías, empresas internacionales, estados, gobiernos de distintos países, universidades, bibliotecas, están 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 rápida y precisa. Los buscadores cumplen un rol importante en facilitar el acceso a la información que contiene la Web. Realizan un muy buen trabajo cuando se trata de indexar dicha información y facilitarla ante una consulta. Algunos de los buscadores más populares devuelven la información de páginas Web cuyos contenidos coinciden exactamente con las palabras escritas por los usuarios. Otros, mediante procesos sofisticados, intentan devolver al usuario resultados más certeros. La Web del presente consta de información básicamente representada en forma de texto. Esta información es fácilmente comprensible por una persona que la lea, sin embargo, es muy difícil realizar procedimientos automáticos que procesen su significado y permitan la existencia de aplicaciones cada vez más inteligentes. En estos momentos, la parte más importante en una búsqueda Web la debe realizar el usuario. Por ejemplo, si una persona quiere encontrar el hotel más barato en Bariloche debe realizar varias búsquedas de hoteles y comparar precios hasta encontrar el indicado. No puede solicitarle directamente a su máquina que busque el hotel con menor tarifa a pesar de que los datos necesarios están almacenados en la Web. Las máquinas pueden acceder a dicha información 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 relación fluida y dinámica entre los documentos 1 y la información que contienen. Sin embargo, dichos lenguajes describen únicamente la forma en que la información debe ser presentada ante el usuario por el navegador pero no expresan nada sobre su significado. En este contexto, es fácil para las máquinas navegar los datos de la Web, pero se les dificulta obtener automáticamente una interpretación semántica de los mismos. La Web puede crecer significativamente en poder y alcance si se extiende para darle sentido semántico a sus datos permitiendo un mejor procesamiento automático de la información. Es así, que cuando los buscadores empiecen a comprender mejor los datos que hay en la Web, entonces podrán empezar a trabajar más ellos y menos nosotros, los usuarios. Asimismo, cualquier aplicación que procese dichos datos, será capaz de entender su significado y 1 En el contexto de la Web, el término 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). 8

9 extraer mejores conclusiones de manera automática, sin que se precise la intervención humana. Muchos años de estudio se han dedicado a resolver el problema de interpretar automáticamente el significado de los datos de la Web. Algunos sectores relacionados a la Inteligencia Artificial buscan mejorar los agentes de extracción de datos mediante técnicas 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 extracción para que puedan interpretar la información. De estos últimos sectores, se destaca la Web Semántica [Berners-Lee, 2001], una tecnología que permite representar eficientemente la información en la Web estableciendo una forma universal de estructurar las relaciones entre los datos y entre éstos y sus significados. De fomentarse la Web Semántica, un sistema automático podría seguir la estructura de las relaciones generadas y obtener sus propias conclusiones respecto a la búsqueda que se está realizando. En la vigente tesis, se analizarán las características de la Web actual, las limitaciones que presenta su estructura y cuales son los motivos que hacen difícil a una computadora interpretar el significado de los datos de la Web. A continuación, se estudiarán las principales técnicas y tecnologías que buscan solucionar dicho problema y se explicará porqué actualmente la Web Semántica es la más factible. Finalmente, se presentará una solución en la cual se muestran las ventajas de aplicar dicha tecnología al software social 2. 2 Se considera software social a las aplicaciones cuyo contexto de trabajo es comunitario y colaborativo. 9

10 1.2. Motivaciones En los últimos años trabajé en empresas de desarrollo de software que de a poco fueron enfocando mi interés hacia tecnologías relacionadas con la Web. Una charla presentada por Microsoft sobre la Web Semántica 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 automáticamente por las máquinas y me uní al vasto número de personas que trabaja en solucionar dicho problema Objetivos Los objetivos que la presente tesis intenta alcanzar son los siguientes: Estudiar las características 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 técnicas y tecnologías que colaboran en fomentar la interpretación automática del significado de los datos de la Web. Determinar cual es la técnica o tecnología más factible e implementar un ejemplo de la misma en un entorno reducido. Realizar pruebas de manera de señalar los beneficios concretos de la misma en el área en la que se encuadra y cómo contribuye a su avance. Hacer extensivos a la comunidad científica y académica los resultados y conclusiones obtenidos, como así también a aquellos organismos posiblemente interesados 10

11 1.4. Estructura del documento Este documento se divide en seis capítulos: I. El presente capítulo es el primero y tiene como objetivo introducir el tema de la tesis, sus objetivos y su estructura. II. El segundo capítulo estudia la Web, sus características y sus limitaciones actuales. Se introducen y analizan dos técnicas que buscan interpretar automáticamente el significado de los datos en la Web: el procesamiento del lenguaje natural y Web scraping. III. El tercer capítulo introduce el concepto de metadatos y como pueden colaboran para darle significado a los datos de la Web. En este capítulo se presentan la Web Semántica y los microformatos, dos tecnologías que hacen uso de los metadatos. Al final del capítulo, se determina de las técnicas y tecnologías estudiadas, cual es la más adecuada para promover el significado de los datos en la Web. IV. En el cuarto capítulo se presenta una solución desarrollada bajo la técnica o tecnología escogida, se explican sus características, beneficios y se detallan las pruebas realizadas junto a sus resultados. V. Finalmente, en el quinto capítulo se resumen las conclusiones a las que se fueron llegando a lo largo del proyecto y se señalan posibles líneas de trabajo futuro. 11

12 Capítulo 2: La información En el capítulo 2 se analiza la World Wide Web, su estructura y sus características que hacen que sea un entorno complejo. Se estudia la extracción automática de datos de los documentos Web y si es legal llevarla a cabo o no. Al igual que el primer capítulo, se remarca la necesidad de interpretar el significado de dichos datos y se presentan dos técnicas que buscan lograrlo; las mismas son conocidas como procesamiento del lenguaje natural y Web scraping. Finalmente, se comparan ambas técnicas detallando las limitaciones que cada una posee en la actualidad. 12

13 2.1. World Wide Web Nadie duda que actualmente la fuente de información más grande del mundo sea la World Wide Web. Según 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 información 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 extendiéndose desde la Tierra hasta el Sol. Se estima que para el 2010 el crecimiento de la información va a continuar llegando a los 988 billones de gigabytes. Los sistemas automáticos que recolectan, procesan o indexan información de la Web no sólo se topan con este crecimiento exponencial de la misma sino con otra serie de características: Es fácil acceder a la cantidad de información en la Web pero requiere de mucho tiempo y espacio para el procesamiento. La información en la Web abarca todo tipo de aspectos. En otras palabras, se puede encontrar información de lo que sea en la Web. Existen datos de todo tipo en la Web, por ejemplo tablas estructuradas, textos, datos multimedia (imágenes, películas), etc. La información en la Web es heterogénea. Múltiples páginas Web pueden presentar la misma información o parecida, utilizando formatos y sintaxis completamente diferentes, lo que hace que la integración de la información sea una tarea difícil La mayoría de la información en la Web es semiestructurada debido a la estructura en red del código HTML y la necesidad de los diseñadores Web de presentar la información de una manera simple y atractiva para simplificar la visualización y navegación a los usuarios. La mayoría de la información Web está vinculada. Hay vínculos a través de las páginas de un sitio y hacia otros sitios diferentes. Estos links sirven como una herramienta de organización de la información y también como una indicación de confianza con las páginas enlazadas y sitios. La mayoría de la información de la Web es redundante. El mismo fragmento de información o sus variaciones pueden aparecer en muchas páginas o sitios. La Web es ruidosa. Una pagina Web, generalmente contiene una mezcla de distintos tipos de información, por ejemplo el contenido principal, publicidades, paneles de navegación, avisos de copyright, etc. Para una 13

14 aplicación en particular, solo una porción de dicha información es útil y el resto es ruido 3. La Web consiste de una parte superficial y otra profunda. La Web superficial esta compuesta de páginas que pueden ser navegadas utilizando un simple navegador. Esta Web puede ser alcanzada también por los buscadores. La Web profunda esta mayormente compuesta de base de datos que sólo pueden ser accedidas a través de consultas parametrizadas. La Web también posee servicios. Muchos sitios Web y páginas permiten al usuario realizar operaciones con parámetros entrantes, o sea proveen servicios. Por otro lado, la Web es una sociedad virtual. No solamente esta formada por datos, información y servicios, sino también por interacciones entre personas y organizaciones. La Web es dinámica. La información en la Web cambia constantemente. Mantenerse al tanto de los cambios y monitorearlos son dos tareas importantes a la hora de extraer información de la Web. Podemos ver que la Web es un entorno muy rico en información pero completamente difícil para trabajar. Sin embargo, existen buscadores que, a pesar de todas estas características, logran procesar su información. Un ejemplo de ellos es Google que es capaz de indexar alrededor de 20 millones de gigabytes de información en sólo 24 horas y recibe más de millones de búsquedas por mes de usuarios de todo el mundo. Entonces, cuál es el problema principal con el que se topan los sistemas automáticos de extracción? La respuesta es la dificultad en interpretar la semántica de los datos de la Web. Entendemos por semántica a los aspectos del significado de una palabra, lenguaje o representación formal. En otras palabras los buscadores devuelven como resultado un listado de páginas que contengan las palabras claves que les ingresamos pero no existe una interpretación 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 información buscada puede convertirse en una hazaña. Hay que probar distintas combinaciones de palabras y realizar más de una búsqueda. 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 semántica en la Web al determinar que si un sitio tiene muchos hipervínculos desde otras páginas, significa que el mismo debe ser importante. Más importante es aún si una de las páginas que lo apuntan también tiene muchos hipervínculos desde otras páginas; y así sucesivamente. Esa semántica implícita en los hipervínculos es una de las características que le permitió a Google determinar la importancia de las páginas 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 automáticamente de toda la información que contiene actualmente la Web. 3 El término ruido hace referencia a los datos que no aportan a la información principal de un documento. 14

15 2.2. El significado de los datos de la Web Algunos repositorios en la Web son excelentes fuentes de información. Wikipedia [WEB-9] es un muy buen ejemplo de un sitio Web donde se puede encontrar prácticamente porciones de información de casi todos los temas. Artistas, lugares, animales, eventos históricos, protocolos o cualquier concepto existe en Wikipedia. Sin embargo, a pesar de tener toda la información necesaria, no podemos realizar, por ejemplo, una búsqueda en Wikipedia que nos de todas las guerras ocurridas en America del Sur durante el siglo XX. Wikipedia contiene la información en su base de datos necesaria para responder a dicha consulta, pero no puede hacerlo porque la información es texto crudo que carece de significado para las máquinas. A pesar de poder encontrar las guerras por su nombre, las máquinas 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 más grande y sangriento de la historia mundial, en el que se enfrentaron las Potencias Aliadas y las Potencias del Eje, entre 1939 y Fuerzas armadas de más de setenta países participaron en combates aéreos, navales y terrestres. 4 Podemos ver que las fechas se encuentran en la definición de la guerra, sin embargo las máquinas 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 extraído de Wikipedia donde se explica el significado de las Guerras Médicas: Las Guerras Médicas son un enfrentamiento que tuvo lugar en el 490 adc y en el adc. La primera fase (490 adc) se produjo cuando los persas (medos) enviados por su rey Darío I a través de un ejército y viajando por mar, desembarcaron en la ciudad de Maratón. 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 información semántica implícita. Si existiese un sistema que pudiese interpretar el significado de dicho texto, esperaríamos que obtenga conclusiones como las siguientes: Las guerras Médicas fueron un enfrentamiento. Las guerras Médicas comenzaron en 490 adc 4 Texto extraído de la siguiente URL: 5 Texto extraído de la siguiente URL: 15

16 Las guerras Médicas finalizaron en 479adc. Las guerras Médicas están divididas en fases. La primera fase de las guerras Médicas comenzó en 490 adc. Los persas tenían rey. En 490adc, el rey persa fue Darío I Los persas también son conocidos como medos. Los persas viajaban por mar. Maratón es una ciudad Darío I envió a un ejército a la ciudad de Maratón. Una rama de la Inteligencia Artificial conocida como Procesamiento del Lenguaje Natural ha estado trabajando años para lograr que los sistemas interpreten los textos y lleguen a conclusiones como las enseñadas. Se presentará en las siguientes secciones el procesamiento del lenguaje natural y sus limitaciones en la actualidad. 16

17 2.3. El procesamiento del lenguaje natural El uso de procesamiento del lenguaje natural para extraer e interpretar el significado de la información de la Web resultó ser una tarea poco sencilla y uno de los problemas más 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 tecnología no logran obtener los resultados esperados debido a la complejidad, irregularidad y diversidad del lenguaje humano y a los problemas filosóficos y psicológicos asociados al significado de frases, oraciones y textos en su conjunto. Como otras limitaciones se destacan la anáfora, la elipsis, la ambigüedad y la necesidad de encontrar el contexto 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 semántica) [Magaña 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 comunicación (oral, escrita o señas) con las demás personas. Algunos ejemplos son el castellano, el inglés o el francés y su origen y desarrollo es natural, es decir, sin el control de ninguna teoría. Las teorías de lenguajes naturales y las gramáticas, fueron establecidas a priori, esto es, después de que el lenguaje había ya madurado. Es por ello de la dificultad o imposibilidad de conseguir una formalización completa. Por otro lado, los lenguajes formales como las matemáticas y la lógica, fueron desarrollados generalmente a través del establecimiento de una teoría, 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 están escritos tanto en lenguaje naturales como lenguajes formales o en una combinación de ambos. 17

18 Historia El procesamiento del lenguaje natural es un área de investigación de la inteligencia artificial que se encuentra en continuo desarrollo. También se lo conoce de forma abreviada como PLN o NLP (del inglés Natural Language Processing). El objetivo principal del PLN es lograr un mecanismo para que las máquinas 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 período , surgieron las primeras aplicaciones del PLN, teniendo como interés fundamental la traducción automática. Los experimentos en este sector, se basaban en substituir una palabra por otra generando resultados pobres y lejos del objetivo buscado. Más adelante el interés del área se fue centrando en la interpretación del significado de los datos. Se construye, para los setenta, el primer sistema de preguntasrespuestas basado en lenguaje natural. En los próximos años se comienza a aplicar el procesamiento del lenguaje natural no sólo en campos como la traducción automática sino también en el reconocimiento del habla, la corrección ortográfica de textos y en el procesamiento y la recuperación de información. Para estos últimos años, se introducen nuevas técnicas de representación del conocimiento y se comienzan a utilizar como fuente de información los billones de documentos de la Web. Muchos buscadores se interesan en mejorar las técnicas de procesamiento y recuperación de la información 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 información de la Web. Sin embargo, la complejidad implícita en el tratamiento del lenguaje natural junto a las características 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 años se han obtenido importantes avances en el área, todavía queda mucho camino por recorrer. 18

19 Cómo trabaja el PLN El lenguaje natural posee 3 niveles de análisis en su estructura: Figura 1. Niveles de análisis del procesamiento del lenguaje natural Nivel Morfológico: Tiene como función determinar la forma, clase o categoría gramatical de cada palabra de una oración encontrando la relación que se establece entre las unidades mínimas de las mismas. Por ejemplo, el reconocimiento de sufijos o prefijos. Tiene una relación muy estrecha con el léxico. Como léxico entendemos al conjunto de información sobre cada palabra que el sistema utiliza para el procesamiento. A continuación, se ofrece un análisis morfológico para esta frase: <<Esta nota para mañana>>. <Esta> Pronombre+Demostrativo+Femenino+Singular Determinante+Demostrativo+Femenino+Singular 19

20 <nota> Verbo(notar)+Presente indicativo+3ra persona+singular Verbo(notar)+Imperativo+2da persona+singular Sustantivo+Femenino+Singular <para> Preposición 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 <mañana> Sustantivo+Femenino+Singular Adverbio Como se puede comprobar, la conclusión del análisis automático es una lista con las posibles categorías 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 tendrán que emplear otros mecanismos para lograr una desambiguación lo más completa posible Nivel Sintáctico: Su función es identificar cada componente sintáctico de la oración, etiquetarlo y analizar como se combinan las palabras para formar oraciones gramaticalmente correctas. Tiene como objetivo comprobar si los vocablos del texto están bien coordinados y unidos. Además en este nivel se pretende también la resolución de problemas no solucionados en el análisis anterior como la reiterada ambigüedad 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 opción es al contrario, recoger las posibilidades prohibidas. Una construcción que no se permite es ésta: <<El documentos son >>, ya que una de las reglas es que el artículo y el sustantivo deben coincidir en género y número. El criterio sería así: ARTI(SING)+SUST(PLUR)=PROHIBIDO Por otro lado, habrá reglas que señalan que un verbo no puede ir precedido de un artículo. 20

21 ARTI+VERB=PROHIBIDO ARTI+HOMOGRAFÍA(SUST,VERB)=SUST Nivel Semántico: La semántica estudia la significación de las palabras, por tanto, un análisis semántico tratará de averiguar el significado de las oraciones de un texto, y por extensión el del mismo texto. En PLN el conocimiento semántico se representa especificando conceptos simples y sencillos que se combinan en estructuras más intricadas como redes semánticas, dependencias conceptuales o estructuras. Como el resto de los niveles, esta fase toma el resultado de otros niveles precedentes que puede ser ambiguo (ambigüedad sintáctica en este caso) para tratar de eliminarlas. Uno de los rompecabezas en el procesamiento de la fase semántica 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 semántico es el tipo de análisis más complicado que enfrenta el PLN. Las técnicas de extracción del significado no han obtenido los resultados deseados al momento y se continúa trabajando en ello. Este punto es de gran importancia en el documento, por ende analizaremos las posibles causas de por qué es tan difícil obtener semántica a partir del procesamiento del lenguaje natural Problemas y limitaciones A diferencia de las máquinas, el hombre usa el mínimo de lenguaje y el máximo 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 comprensión del lenguaje humano. Algunas de dichas dificultades son: 1 La aparición en el texto de un guión puede tener varios significados, uno que está poniendo en relación dos palabras o también lo podemos hallar dividiendo un vocablo al final de una línea, indicando que el resto de la voz está en el siguiente renglón. 2 La anáfora es un tipo de señalamiento que desempeñan 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 21

22 Se distinguen dos tipos de expresiones anafóricas: las endofóricas, es decir, las que aparecen dentro de los textos y por lo tanto, su antecedente se localiza en el mismo texto y las exofóricas, cuyo antecedente no es posible ubicarlo dentro del texto. Para Grishman [Grishman, 1991] una de las características de las lenguas naturales y tal vez una de las principales razones para que su análisis sea tan complicado, es que gran parte de lo que se quiere comunicar está implícito en el discurso. 3 Otro problema con el que se enfrenta el PLN es la elipsis y se define como una figura de construcción que consiste en omitir en la oración una o más palabras, necesarias para la recta construcción gramatical, pero no para que resulte claro el sentido. Se distinguen tres tipos de elipsis: intrasentenciales (producidas en el interior de una oración u oraciones coordinadas), fragmentos (ocurren fundamentalmente en situaciones de diálogo), y elipsis semánticas (aquellas que no se manifiestan como estructuras incompletas sino como proposiciones semánticamente incompletas). 4 Tal vez el punto más importante que causa la dificultad de procesar los millones de texto en lenguaje natural que contiene la Web está dado por la ambigüedad. 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 basándonos 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 mayoría 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 moléculas 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 máquinas no pueden determinar que respuesta devolver, excepto que la pregunta sea completamente explícita. Cuando un humano usa el lenguaje, en situaciones como la anterior, no necesita ser explícito 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 comunicación haciendo conciso el uso del lenguaje. Si se tuviese que pedir agua de forma explícita la pregunta sería la siguiente: tenés agua que pueda beber en la heladera, excluyendo las moléculas en cualquier vegetal o fruta o en el hielo o.... Las computadoras encuentran realmente difícil descubrir cuando el contexto no es expresado en detalle. Pero esto también le sucede a la gente adulta cuando quiere aprender un idioma extranjero. Aunque muchos contextos o circunstancias normales son transferibles entre culturas, la más pequeña diferencia puede crear problemas de entendimiento. Encontrar diferentes formas de ver el mundo es algo muy común en el hombre, de hecho a lo largo de su vida cambia la forma de ver las cosas. Algo que entendía de una manera un niño, de adulto lo ve distinto. 22

23 Existen tres técnicas que tratan de resolver el problema del contexto semántico: pretender que no existe (aproximación ciega), usar el conocimiento del humano para ayudar a la computadora (aproximación cooperativa) o tratar de representar el contexto según el sistema de las computadoras (aproximación por sentido común). Ninguna de las tres logra satisfacer los requerimientos. La aproximación ciega. La idea es pretender que no hay ambigüedad en el lenguaje. Por ende, de haber ambigüedad la computadora asume únicamente el contexto permitido por el programador. Una base de datos hecha por químicos, responderá la pregunta de si existe agua en un químico X sin tener conocimiento de que el agua es bebida por los seres humanos. Esta aproximación serviría para extraer semántica de ciertos sitios específicos, pero no de la Web completa. La aproximación cooperativa Acá el sistema no tiene que resolver la ambigüedad, sino detectar que existe y dejar que se ocupe el humano. Pero esto se puede tornar frustrante y aburrido. Mientras más contextos se permiten, más molesto se torna para el humano resolver dicha ambigüedad. La aproximación cooperativa no se podría aplicar a toda la Web, porque se necesitarían demasiadas horas humanas para resolver todas las ambigüedades que contiene. La aproximación por sentido común. 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 años de trabajo en la Universidad de Austin, Texas. El objetivo de Lenat es darle conocimiento a la máquina para que razone con sentido común y lo utilice para procesar naturalmente cualquier texto. Esta sería la solución adecuada para procesar todos los datos de la Web y extraer su significado semántico. Sin embargo, existen muchas trabas y hasta el día 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 limitación propia de la complejidad, irregularidad y diversidad del lenguaje humano y los problemas filosóficos y psicológicos 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 interpretación semántica de los textos en la Web sea aun más compleja y tenga que tener en cuenta la confiabilidad del usuario. 23

24 2.4. EL PLN y la Web Tradicionalmente, las principales fuentes para la investigación del procesamiento del lenguaje natural provenían principalmente de textos impresos, como por ejemplo artículos de periódicos o libros. Los mismos eran entornos más acotados donde se tenía un cierto control del mismo. Con el crecimiento del la Web como un recurso de información, muchas miradas cambiaron de dirección y el mismo comenzó a ser cada vez más utilizado en las tareas relativas a PLN. Pero de lograr superar los problemas y limitaciones que enfrenta el procesamiento del lenguaje natural, alcanza esta técnica para procesar los billones de documentos de la Web? Definitivamente no. Esto se debe principalmente a dos razones: A - La Web no sólo contiene textos sino también datos multimedia: sonido e imágenes. El sonido puede ser abarcado en parte por la rama del lenguaje natural que estudia el habla humano, no así las imágenes que muchas veces colaboran indispensablemente con el significado del texto o de la página. B - Hay mucha semántica en la Web que no está ubicada en los textos sino en su distribución. Por ejemplo, podemos ver que en la figura 2 hay semántica implícita en la distribución de los datos a lo largo de la página Web. Cuando se extrae la semántica de dichos datos, se debe tener en cuenta su ubicación en la página y la estructura de la misma. 24

25 Figura 2. Ejemplo gráfico de una página Web que promociona películas. 25

26 En el ejemplo se observa que hay cuatro películas 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, también está publicada la película más votada que es Poseidón. Una aplicación que quiera extraer no solo los datos de la página sino también su significado, debe interpretar que hay una línea divisoria entre la película The Other Boleyn Girl y Poseidón y, por ende, determinar que esta última no está en cartelera. Asimismo, debe relacionar el título que se encuentra por debajo de la película y concluir que Poseidón no sólo no está en cartelera sino que es la película más votada. Este análisis, que es tan simple para el ojo humano quien lo resuelve en cuestión de milisegundos, es algo realmente complicado de deducir automáticamente por una computadora. Tal vez sea necesario que el humano ayude en parte a la máquina a resolver estos problemas. En la siguiente sección veremos técnicas de extracción donde el humano juega un rol importante a la hora de decirle a la máquina qué, de dónde y qué significa los datos que extrae. 26

27 2.5. Web Scraping Las páginas Web están codificadas en una estructura de tipo árbol para representar la información pero los datos relevantes están mezclados con otros de distribución, posicionamiento, decoración, navegación y, a veces, formato. Web scraping es una técnica de ingeniería inversa de una página HTML en la cual la idea es tomar esa información desordenada y con ayuda previa suministrada (por un humano) lograr estructurarla en un formato que sea entendible por una aplicación. Figura 3. Estructuración de la información mediante un scraper. 27

28 Para que una aplicación de Web scraping pueda identificar cuales son los datos relevantes en una página, necesita que un humano le provea de cierta información previa. Básicamente le debe especificar que información buscar, como encontrarla, cuales son los patrones repetitivos y donde almacenar los datos extraídos. Por ejemplo, si se quiere extraer los nombres de las películas en cartelera en el ejemplo de la figura 2, el usuario le indicaría a la aplicación 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 película más votada. Con esta información, la aplicación puede extraer diariamente todas las películas en carteleras porque a pesar de que los datos de la página se modifican, la estructura es siempre la misma y, por ende, el patrón de extracción también. La información que suministra el humano puede codificarse directamente en la aplicación de Web scraping o ser suministrada mediante una interfaz determinada previamente a comenzar la extracción. No importa que modo se utilice sino que antes de comenzar el scraping de la página HTML, la aplicación sepa que información extraer y como encontrarla. La misma no debe toparse con sorpresas ni ambigüedades 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 gráfica 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 también difiere de screen scraping en que este último ocurre muchas veces para la misma pantalla dinámica, mientras que Web scraping ocurre una sola vez por página dinámica para muchas diferentes páginas estáticas. Probablemente la técnica más común y tradicionalmente utilizada para Web scraping es utilizar expresiones regulares que coincidan con los contenidos que uno quiere y poder extraerlos de manera estructurada. Además de expresiones regulares, uno puede usar código escrito en lenguajes más avanzados (JAVA o ASP NET) para parsear los largos pedazos de texto. Se analizarán algunas de las aplicaciones más conocidas de Web scraping en la Web actual: Dapper [WEB-2] y Yahoo! Pipes [WEB-3]. 28

29 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 definición de qué tipo de información se quiere extraer. Por ejemplo, se puede utilizar para extraer información de una página 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 información del sitio en cualquier momento. La página de la cual Dapper extrae el contenido puede ser modificada en cualquier momento simplemente suministrándole a Dapper una nueva URL que debe contener la misma estructura que la original. También es posible programar Dapper para que automáticamente procese con el dapp muchas páginas 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 más le interesen al usuario de un sitio determinado. Asimismo, permite enlazar uno o más dapps juntos para armar un resultado más 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 también 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 información. 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 información extraída por cualquier dapp se puede transformar a varios formatos; RSS Feed, Flash Widget, Google Gadget, XML, JSON, XSL, HTML, 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 página 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 ingresándola en la caja de texto de búsqueda de OneWorld.net. Ver figura 4 y 5. 29

30 Figura 4: Resultado en OneWorld.net luego de ingresar en la búsqueda la palabra semantic. 30

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 página, se puede asociar los mismos a un significado determinado. Si se extrae el título de una película dicho dato se puede almacenar bajo la etiqueta título de película aplicándole un significado que una aplicación puede luego entender. En resumen, Dapper es una solución para Web scraping que permite extraer información de cualquier página y estructurarla bajo ciertas etiquetas semánticas. 31

32 Yahoo! Pipes Pipes se define como herramienta de composición para agregar, manipular y mezclar contenidos de la Web. Como los famosos tubos de Linux, esta solución permite combinar comandos simples y obtener la salida según los requerimientos del usuario. Por ejemplo, se pueden combinar varios feeds en uno sólo, 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 cómo utilizar un pipe sería 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 parámetro de entrada un feed y automáticamente se agrega como defecto la salida del tubo. Ver figura 6. Figura 6. Creación de un pipe mediante Yahoo! Pipes. En cambio, si se desea hacer un trabajo más específico sobre la salida de datos, la aplicación permite asociarle metadatos semánticos. 32

33 Figura 7. Resultado de la información estructurada generada por un pipe. La entrada del pipe puede no sólo ser de un feed RSS sino también 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 comparación 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 página 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 aplicación. 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 más común que ha adoptado esta herramienta es combinar, mezclar, filtrar y rearmar RSS feeds. 33

34 2.6. Aproximación top-down Habiendo analizado las técnicas 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 aproximación top-down porque el trabajo comienza desde arriba, mejorando los sistemas de extracción y hacen su camino hacia abajo hasta interpretar todos los datos de las páginas Web sin necesidad de modificarlos. El camino top-down apunta su mirada y esfuerzo a mejorar los sistemas automáticos que interpretan la información de la Web. Sus seguidores afirman que si un humano puede entender la información de un sitio Web es que su significado está implícito en él y, por lo tanto, puede ser interpretado automáticamente por una máquina. El trabajo debe concentrarse en hacer más inteligentes los agentes automáticos (spiders, robots, scraps, etc.) y no en modificar los datos de las páginas Web. El camino top-down se vale de información preprogramada, conceptos y técnicas como el procesamiento del lenguaje natural. A veces es necesaria la intervención humana que guíe o corrija el proceso, pero las aplicaciones que opten por este camino no va a ser van a necesitar que se modifique o agregue información semántica a las páginas 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 extraídos. En cambio, la técnica de Web scraping necesita de un humano que no sólo le diga de donde extraer los datos sino también a qué significado se asocian los mismos. No hay un procesamiento inteligente de la información extraída. Al depender de un humano para entender el significado de los datos y su ubicación, se torna imposible mediante Web scraping procesar los billones de documentos de la Web en su totalidad, lo que significa que dicha técnica es viable para procesar sólo una porción de los mismos. Mientras que el procesamiento del lenguaje natural, al trabajar de forma automática, permitiría procesar todos los documentos de la Web si se resolviesen sus problemas actuales. Además, Web scraping tiene la desventaja de que si cambia la página original, hay una gran probabilidad que se tenga que cambiar la forma de extraer dicha información. En cambio el PLN, puede automáticamente procesar los cambios e incluso aprender de los mismos. Lamentablemente, el procesamiento del lenguaje natural está lejos de cumplir sus objetivos en la extracción del significado de los datos de la Web. Se deben resolver no sólo las dificultades propias del lenguaje natural, sino también los significados ocultos asociados a la ubicación gráfica de los datos en las páginas y a los datos multimedia que éstas contienen. En este punto, Web Scraping no tiene inconvenientes porque el usuario entiende la estructura de la página indicando como es la distribución de los datos y que significa cada uno para poder armar el patrón repetitivo. 34

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 máquinas entiendan el significado de sus datos, tal vez sea necesario modificar la forma en que los mismos se guardan. 35

36 2.7. Nueva aproximación: bottom-up Algunos expertos opinan que es posible mantener los datos como se encuentran almacenados actualmente en la Web y se debe trabajar más 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 agregándole información que explique su significado. Este camino opuesto que consiste en cargar datos semánticos en la Web es conocido como bottom-up. Figura 8. Distintas aproximaciones para estructurar la información de la Web. El acercamiento bottom-up comienza desde abajo, modificando el contenido de las páginas y arma su camino hacia arriba hasta obtener procesos que logren interpretar el significado de dichas páginas. Por lo general, esta técnica se basa en agregar metadatos semánticos a los sitios Web existentes para facilitar el procesamiento de los mismos. Estos metadatos pueden estar en las mismas páginas de los sitios o en cualquier otro objeto de la Web. Sin importar su ubicación, generalmente cumplen con un formato reconocible y lo suficientemente descriptible para poder darle significado a la página. 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 semántica de los datos. El primer paso y tal vez el más difícil es poblar la Web de datos semánticos para luego poder continuar con el segundo, extraerlos automáticamente. Una técnica que pueden adoptar algunos sitios donde el 36

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 semántica implícita de manera de poder generar automáticamente los metadatos semánticos asociados a dicha información. Los opositores al camino bottom-up sostienen que no va a funcionar porque los sitios Web van permanecer con los datos actuales sin ninguna modificación o agregado. Su fundamento se basa en que sus administradores no van a querer reescribirlos para compartir información semántica si no hay aplicaciones que haciendo uso de dicha información les generen beneficios (por ejemplo, buscadores de uso global). Por otro lado, sustentan que nadie va a desarrollar una aplicación que procese los datos semánticos 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 mayoría de los sitios actuales no poseen información semántica, son escasas las aplicaciones que hacen uso de ella; y como son pocas las aplicaciones que hacen uso de la información semántica, son pocos los sitios actuales que la agregan. Hay que tener en cuenta que tanto reformar un sitio Web como desarrollar una aplicación semántica requiere un gran costo no sólo monetario sino también de tiempo. Sin embargo, en la actualidad el camino bottom-up está obteniendo más seguidores ya que la aproximación top-down requiere de una tecnología que estamos lejos de perfeccionar todavía. No hay una solución a corto plazo ni se puede demostrar que alguna vez la va a haber. Mientras que el camino bottom-up enfrenta problemas con solución posible como son el tiempo y el dinero. En consecuencia, se concluye que es más viable el camino bottom-up y en el próximo capítulo se estudiarán los metadatos y las tecnologías que los usan. 37

38 2.8. Resumen investigación En el presente capítulo, se llegó a las siguientes conclusiones: 1. En la actualidad, la mayoría de los datos de la Web están almacenados de manera desestructurada y carecen de información semántica por lo que no se los puede interpretar automáticamente. 2. Si las máquinas lograsen comprender el significado de los datos de la Web, entonces podrían prestar mejores servicios y reducir la cantidad de trabajo de las personas. 3. El procesamiento del lenguaje natural hace un muy buen trabajo interpretando automáticamente los datos pero se topa con problemas que actualmente está lejos de solucionar. Entre ellos, el contexto de una frase es el más difícil de resolver. 4. La técnica de Web scraping también logra extraer datos de la Web de manera automática sin importar la distribución de los objetos en las páginas. Sin embargo, necesita intervención humana, por lo que es aplicable a dominios particulares pero no a la Web en su completitud. 5. Las técnicas 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 más viable conocido como bottom-up que busca agregar metadatos semánticos para facilitar la tarea de interpretación automática de los datos. 38

39 Capítulo 3: Los metadatos Explicadas en capítulos anteriores las dificultades que existen en extraer el significado de la información tal cual se encuentra almacenada actualmente en la Web, en el capítulo tres se presentan alternativas que optan por modificar el contenido de las páginas Web agregando metadatos y facilitando la tarea a los agentes de extracción. Asimismo, se explica el concepto de metadatos y se analiza la tecnología más conocida que hace uso de ellos llamada Web Semántica. Como opción paralela y en un contexto más específico se introducen los microformatos. Al final del capítulo, se remarcan las características más importantes de cada tecnología y cual se va a implementar en la vigente tesis. 39

40 3.1. Los datos sobre los datos La aproximación bottom-up consiste en agregar metadatos a los sitios Web para poder darle significado a los datos. De esta manera, los agentes automáticos pueden procesar los metadatos semánticos e interpretar mejor la información que contiene la Web. Los metadatos representan datos estructurados sobre los datos. Son información descriptiva sobre un objeto o recurso tanto si éste existe físicamente como no. Permiten describir, identificar, localizar, valorar y administrar los objetos descriptos. No siempre es sencillo establecer una diferenciación clara entre datos y metadatos. Por ejemplo, una palabra como edad es un dato, pero también puede ser un metadato si se encuentra adjunto a otro dato como 15 ya que describe que ese número 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 título 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á más adelante que los metadatos sobre metadatos pueden llegar a ser de gran utilidad. Los metadatos pueden ser incluidos en la página Web por el mismo administrador, por los usuarios a través de una interfaz o pueden ser generados por sistemas de agrupación de información. No importa como sean ingresados los metadatos, sino que sirvan para ser interpretados por las máquinas; o sea, los metadatos deben utilizar un lenguaje adecuado para las máquinas e idealmente respetar todos una misma sintaxis y formato. Hay varias soluciones propuestas que se rigen por el camino bottom-up. La más importante y más completa es la propuesta por Tim Berners-Lee, conocida como Web Semántica [Berners-Lee, 2001]. La idea es poblar la Web con una red de nodos tipificados e interconectados mediante clases y relaciones definidas por una ontología compartida por distintos autores. Para lograrlo, la Web Semántica define un conjunto de componentes que permiten almacenar la información semántica. Los principales componentes de la Web Semántica son los metalenguajes y estándares de representación XML, XML Schema, RDF, RDF Schema y OWL. La solución de Berners-Lee mantiene los principios que han hecho un éxito de la Web actual, como son los principios de descentralización, compatibilidad, flexibilidad y máxima facilidad Se analizará también una solución con un dominio más específico presentada por Microformats [WEB-7] que obtuvo mucha aceptación en la comunidad Web durante el último tiempo. Los microformatos triunfan en muchos aspectos donde la Web Semántica tiene problemas. No intentan abastecer la visión semántica completa sino que ofrecen una solución más acotada permitiendo marcar semánticamente los datos más frecuentes en algunas páginas Web. La sintaxis es simple, fácil de entender y totalmente integrada al actual HTML. 40

41 Ambas soluciones comparten un mismo camino que es utilizar la aproximación bottom-up para poblar la Web con datos semánticos. Cada una posee ventajas y desventajas, con características que hacen que su nivel de aceptación esté creciendo o decreciendo con el tiempo. Se estudiarán y compararán las soluciones remarcando las mejores características de cada una. Cabe destacar que existen otras soluciones con dominios aún más acotados que no se analizarán en la vigente tesis. Entre ellas está Semantic Wiki, una idea que tiene como objetivo darle significado semántico a los datos de la Wikipedia estructurándolos con metadatos y generando vínculos entre los mismos. 41

42 3.2. Web Semántica La Web Semántica 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 Semántica como una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y sencilla gracias a una información mejor definida.. En otras palabras es una mezcla de información enlazada de manera tal que puede ser procesada automáticamente por las maquinas en una escala global. La pregunta es cómo lograr una manera eficiente de representar la información en la Web la cual permita ser localizada y accedida tanto por usuarios interesados como por aplicaciones de forma automática. Para ello, en la Web Semántica, toda la información debe ser expresada como declaraciones sobre recursos. Por ejemplo el libro If Tomorrow Comes fue escrito por Sidney Sheldon o esta página 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 sujetopredicado-objeto (más conocidas como tripletes). La Web Semántica a su vez presenta un lenguaje de ontología llamado OWL (Web Ontology Language). Este lenguaje nos permite clasificar la información y extender la funcionalidad de la Web Semántica agregando nuevas clases y propiedades para describir los recursos. Otras capas son las de lógica, confianza, firmas digitales, etc. En este capítulo se analizan las capas de la Web Semántica y su situación en la Web actual. 42

43 Las diferentes Capas A continuación se explican brevemente las diferentes capas que componen la Web Semántica (ver Figura 9). Confianza Prueba Lógica OWL RDF + RDF Schema XML + NS + XML Schema Unicode URI Figura 9. Capas de la Web Semántica. Unicode (Universal Code) Unicode es una codificación del texto que permite utilizar los símbolos de diferentes idiomas. Esto permite expresar información en la Web Semántica en cualquier idioma. URI (Uniform Resource Identifier) URI es el acrónimo 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 vía Internet. XML (Extensible Markup Language), NS (Namespace) y XML Schema XML proporciona una sintaxis superficial para documentos estructurados, pero no impone restricciones semánticas 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) 43

44 RDF es un modelo de datos para objetos ("recursos") y relaciones entre ellos, proporcionando una semántica 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 semántica para jerarquías de generalización de dichas propiedades y clases. OWL (Web Ontology Language) OWL añade más vocabulario para describir propiedades y clases permitiendo definir relaciones entre clases (por ejemplo, desunión), cardinalidad (por ejemplo, "uno exacto"), igualdad, escritura de propiedades más rica, características de propiedades (por ejemplo, simetría), y clases enumeradas. Lógica, Prueba y Confianza Estas capas hacen usos de los datos de las capas inferiores para calificar los datos relevantes, aplicar lógica y deducir nueva información. A continuación se detallan cada una de las capas. Cabe destacar que las capas de lógica, 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 Unicode Antes de unicode, había diferentes sistemas de codificación de caracteres para cada idioma, cada uno usando los mismos números (0-255) para representar los caracteres de ese lenguaje. Algunos (como el ruso) tienen varios estándares incompatibles que dicen cómo representar los mismos caracteres; otros idiomas (como el japonés) tienen tantos caracteres que precisan más de un byte. Intercambiar documentos entre estos sistemas era difícil porque no había manera de que un computador supiera con certeza qué esquema de codificación de caracteres había usado el autor del documento; el computador sólo veía números, y los números pueden significar muchas cosas. Almacenar estos documentos en el mismo sitio; implicaba almacenar el tipo de codificación junto con cada texto. Para documentos multilingües, con caracteres de varios idiomas en el mismo documento había que utilizar códigos de escape para cambiar de modos (modo ruso, luego modo Mac Greek, etc.). Para resolver estos problemas se diseñó unicode. 44

45 Unicode representa cada carácter como un número de 2 bytes, de 0 a Cada número de 2 bytes representa un único carácter utilizado en al menos un idioma del mundo (los caracteres que se usan en más de un idioma tienen el mismo código numérico). Hay exactamente un número por carácter, y exactamente un carácter por número. Los datos de unicode nunca son ambiguos. Sigue existiendo el problema de todos esos sistemas de codificación anticuados. Por ejemplo, el ASCII de 7 bits que almacena los caracteres ingleses como números del 0 al 127 (65 es la A, mayúscula, 97 es la a minúscula, etc.). El inglés tiene un alfabeto sencillo, así que se puede expresar en ASCII de 7 bits. Los idiomas europeos occidentales como el francés, español y alemán usan todos un sistema llamado ISO (también conocido como latin-1 ), que usa los caracteres del ASCII de 7 bits del 0 al 127, pero lo extiende en el rango 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 números del 0 al 127, y los mismos caracteres que ISO del 128 al 255, y de ahí en adelante se extiende para otros lenguajes que usan el resto de los números, del 256 al URI Una URI es un identificador Web formado por una cadena de caracteres que identifica inequívocamente 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 representación 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 electrónico, una imagen, un servicio), cosas que no son accesibles por la red (una persona, una empresa) y conceptos abstractos que no existen físicamente. Su definición 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 combinación de ambos. Un URN (Uniform Resource Name) es como el nombre de una persona y sirve para tratar sobre un recurso sin expresar su ubicación o como acceder a él. Mientras que un URL (Uniform Resource Locator) se asemeja a una dirección de un lugar y permite actuar sobre dicho recurso porque describe el método de acceso (en cierta manera, nos indica su localización). El formato del URL es: <protocol>:// <host> [:<port>] [<path> [? <query>]] Ejemplo: Mientras que el formato de URN es: urn:<namespace>:<string> 45

46 Ejemplo: urn:isbn: Ambos son URIs. Otros ejemplos de URIs serían: /ejemplo/de/uri/recurso.txt de/uri/recurso.txt../../../recurso.txt recurso.txt /recurso.txt#seccion01 #seccion01 En la Web Semántica las URIs son las encargadas de identificar cualquier tipo de objeto, inclusive las propiedades. Ya se verá más adelante que la ventaja de que las propiedades también sean identificadas con URIs, es que pueden ser tratadas como recursos y por ende agregar información adicional de las mismas simplemente mediante nuevas afirmaciones con la URI de la propiedad como sujeto XML, NS y XML Schema La Web Semántica utiliza el lenguaje XML como método para representar y transportar la información. 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 creación de lenguajes de etiquetado. XML define, entre otras cosas, las normas a seguir sobre cómo se deben combinar las cadenas de caracteres y cómo se han de especificar las propiedades de los elementos. Algunas ventajas de XML son: Es un estándar. Es ideal para manejar datos estructurados. Las máquinas pueden fácilmente generar XML, leerlo y asegurarse que la estructura de datos no sea ambigua. Es legible por un humano Cualquier aplicación 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 específicas 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 terminologías entre las comunidades Web. Los namespaces permiten particionar el conjunto de todos 46

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: <namespace:etiqueta>. Por ejemplo, se usan espacios de nombres en el siguiente documento XML: <?xml version="1.0" encoding="utf-8"?> <mv:persona xmlns:mv=" <mv:direccion> <mv:calle>perú</mv:calle> <mv:número>235</mv:número> </mv:direccion> </mv:persona> 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 estándar XML Schema cuyo propósito es definir la estructura de los documentos XML que estén asignados a tal esquema y los tipos de datos válidos 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 información 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 cómo están organizados y que atributos y de qué tipo pueden tener sus elementos. Sin embargo, la estructura de tipos de XML Schema es mucho más rica que la de DTD. Un ejemplo de XML Schema es el siguiente: Película.xsd <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" <xsd:element name="película"> <xsd:complextype> <xsd:sequence> <xsd:element name="título" type="xsd:string"> <xsd:element name="directores" type="xsd:string" maxoccurs="5"> <xsd:element name="sinopsis" type="xsd:string"> 47

48 </xsd:sequence> <xsd:attribute name="precio" type="xsd:double"> </xsd:complextype> </xsd:element> </xsd:schema> El elemento raíz se llama película y tiene tres hijos y un atributo. Los hijos son Título, Sinopsis que deben aparecer una vez y Directores que puede aparecer de una a cinco veces. El hecho de que estén agrupados en una secuencia indica que los elementos deben aparecer en orden, es decir, primero el Título, 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 <?xml version="1.0" encoding="utf-8"?> <Libro xmlns:xsi=" xsi:nonamespaceschemalocation="película.xsd" precio="45"> <Título>The Matrix</Título> <Directores>Andy Wachowski</Directores> <Directores>Larry Wachowski</Directores> <Sinopsis> Existen dos realidades: una que consiste en la vida que vivimos cada día, y otra que se encuentra detrás de ella. Una es un sueño. La otra "The Matrix" (La Matriz). Has tenido alguna vez un sueño del que estuvieras muy seguro de que era real?. Neo, esta buscando desesperadamente la verdad sobre The Matrix, algo de lo que ha oído hablar sólo en susurros, algo misterioso y desconocido. Neo está seguro de que algo tiene un control inimaginable y siniestro sobre su vida. </Sinopsis> </Libro> 48

49 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 sintácticos, mientras que el segundo trata la definición de vocabularios (generalmente llamados esquemas o schemas en inglés). RDF permite representar información de cualquier recurso que pueda ser identificado en la Web incluyendo los que no pueden ser extraídos de la misma. Algunos ejemplos de estos recursos son: información de productos, descripción de personas, imágenes o documentos electrónicos. RDF se basa en la idea de identificar cualquier cosa en la Web mediante URIs y describir los recursos en términos de propiedades y valores Afirmaciones RDF Un ejemplo de una afirmación RDF es Ribas es el creador de flashes.html y el mismo puede escribirse de la siguiente manera: tienen un creador cuyo valor es Ribas Se puede ver que el ejemplo consta de tres partes: I - La cosa que la afirmación describe: II - Una propiedad específica de la cosa que la afirmación describe: Creador III - El valor de la propiedad para la cosa que la afirmación 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). 49

50 Figura 10. Estructura de una afirmación RDF. El sujeto es el recurso, es decir, aquello que se está describiendo. El predicado es la propiedad o relación 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 relación. En el ejemplo anterior se tiene: Sujeto: Predicado: Creador Objeto: Ribas El sujeto (recurso) y el predicado (la propiedad) deben estar identificados mediante una URI. En cambio el objeto de una afirmación 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 términos RDF, un literal puede comprender en su contenido marcado XML pero ya no puede valorarse más por un procesador RDF. Existen varias restricciones sintácticas en cómo se puede expresar el marcado en literales. Es posible reescribir la afirmación RDF de la siguiente manera: Sujeto: Predicado: Objeto: Ribas En el ejemplo, el sujeto es una página Web por ende se encuentra identificado por una URL que es una URI. El predicado también 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. 50

51 Gráficos RDF Todos los tripletes pueden ser representados en un gráfico. Los gráficos constan de óvalos, arcos y rectángulos. En la figura 11 se puede apreciar un ejemplo de un gráfico RDF. Figura 11. Ejemplo de un gráfico RDF. Este ejemplo representa gráficamente la afirmación RDF expresada anteriormente: Sujeto (Recurso): Predicado (Propiedad): Objeto (Literal): Ribas El gráfico consiste en dos nodos conectados por un único arco. Un nodo está representado por un óvalo y contiene la URI del sujeto ( El otro nodo es un rectángulo porque representa un literal, en este caso el nombre del creador ( Ribas ). El arco que conecta ambos nodos es la propiedad de la afirmación y contiene la URI que la identifica. La dirección de la flecha es relevante porque el arco siempre empieza en el sujeto y apunta hacia el objeto de la afirmación. Si se deseara expresar más detalle sobre el creador, por ejemplo su , se crearía la afirmación de la siguiente manera: El individuo cuyo nombre es Ribas y su correo electrónico ribas@ejemplo.com, es el creador de El creador se convierte ahora en una estructura más compleja que contiene un nombre y un . En RDF tal entidad estructurada se representa como otro recurso. Sin embargo, la afirmación no proporciona un nombre o URI a dicho recurso sino que el mismo es anónimo. Cuando un recurso es anónimo se lo grafica mediante un óvalo vacío como podemos ver en la figura

52 Figura 12. Ejemplo de un gráfico RDF con un recurso anónimo. En el caso de que el creador tenga un identificador único que le asignó la organización donde trabaja con su número de empleado (en este caso una URI, la afirmación RDF se puede escribir de la siguiente manera: El individuo identificado por que tiene un nombre que es Ribas y un correo electrónico que es ribas@ejemplo.com, es el creador de El gráfico correspondiente es el de la figura 13. Figura 13. Ejemplo de un gráfico RDF con un recurso identificado por una URI. 52

53 Como el recurso no es más anónimo, el nodo vacío pasa a ser un nodo con una URI que lo identifica. En este caso se representó el ejemplo completo en un solo gráfico, pero podría dividirse en dos afirmaciones distintas (cada una con su gráfico correspondiente). Las afirmaciones serían: El individuo identificado por tiene un nombre que es Ribas y un correo electrónico que es ribas@ejemplo.com. El individuo identificado por es el creador de No importa si se expresa en conjunto o divida en partes, el resultado semántico de la afirmación es el mismo 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 aplicación 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 aparición de los miembros es importante. Se permiten valores duplicados. 53

54 Ejemplos RDF La afirmación anteriormente nombrada que se escribe en lenguaje natural: como tienen un creador cuyo valor es Ribas puede representarse en RDF/XML de la siguiente manera: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" <rdf:description rdf:about=" <dc:creator>ribas</dc:creator> </rdf:description> </rdf:rdf> La afirmación más compleja escrita como: El individuo identificado por que tiene un nombre que es Ribas y un correo electrónico que es ribas@ejemplo.com, es el creador de se representa de la siguiente manera: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" xmlns:card=" <rdf:description rdf:about=" <dc:creator> <rdf:description rdfs:resource=" 64"> <card:name>ribas</card:name> <card: >ribas@ejemplo.com</card: > </rdf:description > </dc:creator> </rdf:description> </rdf:rdf> También puede dividirse en dos partes: 54

55 <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" xmlns:card=" <rdf:description rdf:about=" <dc:creator rdfs:resource=" </rdf:description> <rdf:description rdfs:resource=" <card:name>ribas</card:name> </rdf:description > </rdf:rdf> Un ejemplo un poco más completo sería la descripción de las películas de la figura 2: <rdf:rdf xmlns:rdf=" xmlns:pel=" <rdf:description rdf:about=" <pel:titulo>leatherheads</pel:titulo> <pel:fecha>04/02/2008</pel:fecha> <pel:descripcion>el título de este trabajo dirigido por el mismísimo George Clooney lo dice todo. En Leatherheads se da... </pel:descripcion> </rdf:description> <rdf:description rdf:about=" <pel:titulo>dragon Ball Z: Bardok Trunks Double Feature </pel:titulo> <pel:fecha>04/02/2008</pel:fecha> <pel:descripcion>la serie Dragon Ball Z una vez más destaca en el plano cinematográfico con una producción en alta... </pel:descripcion> </rdf:description> <rdf:description rdf:about=" <pel:titulo>you Don't Mess With the Zohan</pel:titulo> <pel:fecha>04/02/2008</pel:fecha> <pel:descripcion>un nuevo y excelente trabajo de Adam Sandler, y con una participación especial de la cantante Mariah Carey. En... 55

56 </rdf:rdf> </pel:descripcion> </rdf:description> <rdf:description rdf:about=" <pel:titulo>the Other Boleyn Girl (película La Otra Chica Boleyn) </pel:titulo> <pel:fecha>02/02/2008</pel:fecha> <pel:descripcion>natalie Portman y Scarlett Johansson, en los papeles de las hermanas Mary y Anne Boleyn respectivamente, se pelean por... </pel:descripcion> </rdf:description> <rdf:description rdf:about=" <pel:titulo>poseidón</pel:titulo> <pel:fecha>27/07/2006</pel:fecha> <pel:descripcion>poseidón es Año Nuevo, y la fiesta de fin de año ha dado comienzo en el mar del Atlántico Norte, abordo del crucero... </pel:descripcion> </rdf:description> <pel:encartelera> <rdf:bag> <rdf:li rdf:resource=" 53"> </rdf:li> <rdf:li rdf:resource=" 54"> </rdf:li> <rdf:li rdf:resource=" 55"> </rdf:li> <rdf:li rdf:resource=" 56"> </rdf:li> </rdf:bag> </pel:encartelera> <pel:masvotada rdf:resource=" 56

57 RDF Schema RDFS o RDF Schema es un lenguaje extensible de representación del conocimiento que provee los elementos básicos para la descripción de ontologías e intenta estructurar los recursos RDF. En otras palabras, es una extensión semántica definida por la W3C que provee un mecanismo para describir grupos de recursos relacionados y las relaciones entre los recursos. Las descripciones del vocabulario RDF Schema están escritas en RDF utilizando algunos de los términos descriptos anteriormente. Entre otros, RDFS describe los términos de dominio (rdfs:domain) y rango (rdfs:range). En el vocabulario RDF, el sistema de clases y propiedades es similar al tipo de objeto en los lenguajes de programación orientada a objetos como por ejemplo C# o JAVA. Sin embargo, RDF difiere de dichos sistemas en que en lugar de definir una clase en término de sus propiedades, describe las propiedades en términos de las clases del recurso al que aplican. Por ejemplo, se puede definir la propiedad eg:author que tenga un dominio ej:document y un rango de ej:person, mientras que un sistema clásico de programación orientada a objetos definiría una clase Documento que tienen un atributo autor cuyo tipo es persona. RDF permite fácilmente que se definan propiedades adicionales en el dominio del documento o en el rango de ej:persona. Esto se puede hacer sin necesidad de redefinir la descripción original de las clases. Esta posibilidad de extender la descripción de recursos existentes es uno de los principios básicos para que RDF pueda crecer y extenderse a lo largo de la Web. Algunas de las etiquetas definidas por RDF Schema son: rdfs:resource Todas las cosas que se describan por expresiones RDF se denominan recursos (resources), y se consideran como instances (objetos o instancias específicas de la categoría) de la clase rdfs:resource. rdfs:class Este corresponde con el concepto genérico de un tipo o categoría, semejante a la noción de Clase en los lenguajes de programación orientados a objetos tales como Java. Cuando un esquema define una nueva clase, el recurso que representa esa clase debe tener una propiedad rdf:type cuyo valor es el recurso rdfs:class. Las clases RDF pueden definirse para representar cualquier cosa, como páginas Web, personas, tipos de documentos, bases de datos o conceptos abstractos. rdfs:subclassof Esta propiedad especifica una relación subconjunto/superconjunto entre clases. La propiedad rdfs:subclassof es transitiva. Si la clase A es una subclase de otra clase B más amplia, y B es una subclase de C, entonces A es también implícitamente una subclase de C. Sólo los objetos específicos de una categoría de rdfs:class pueden tener la propiedad rdfs:subclassof. Una clase puede ser subclase de más de una clase. 57

58 rdfs:subpropertyof La propiedad rdfs:subpropertyof es un objeto específico de una categoría de rdf:property que se utiliza para especificar que una propiedad es una especialización de otra. Si alguna propiedad P2 es una subpropertyof de otra propiedad más general P1 y si un recurso A tiene una propiedad P2 con un valor B, esto implica que el recurso A tiene también una propiedad P1 con valor B. rdfs:seealso La propiedad rdfs:seealso especifica un recurso que podría proporcionar información adicional sobre el recurso. rdfs:domain La propiedad rdfs:domain es una instancia de rdf:property que especifica el dominio de una propiedad. rdfs:range La propiedad rdfs:range es una instancia de rdf:property que especifica el rango de una propiedad. 58

59 OWL Para que las aplicaciones puedan procesar el contenido de la información en lugar de únicamente representar información para los humanos, la Web Semántica necesita agregar, por encima de la capa RDF, un lenguaje de ontología que permita describir formalmente el significado de la terminología usada en los documentos Web. Las ontologías permiten trabajar con conceptos, en lugar de palabras clave, en los sistemas de recuperación de información. Desde el punto de vista de las fuentes de información, éstas describen el contenido de los repositorios de datos independientemente de la representación sintáctica de los mismos, posibilitando su integración semántica. Se diseña entonces el Lenguaje de Ontología Web (OWL) que forma parte de un conjunto creciente de recomendaciones del W3C relacionadas con la Web Semántica [McGuinness, 2004]. Su fin es interpretar más fácilmente el contenido Web que los mecanismos admitidos por XML, RDF, y RDFS proporcionando vocabulario adicional junto con una semántica formal. Muchas veces se compara OWL con RDF Schema. RDFS es un lenguaje de ontología utilizado para describir propiedades y clases de recursos RDF, con una semántica para jerarquías de generalización de dichas propiedades y clases. Sin embargo, OWL añade más vocabulario para describir propiedades y clases. Por ejemplo relaciones entre clases (unión, desunión), cardinalidad (uno exacto, uno o más), igualdad, características de propiedades (simetría), etc. OWL proporciona tres sublenguajes, cada uno con mayor nivel de expresividad que el anterior, diseñados para ser usados por comunidades específicas de programadores y usuarios Los sublenguajes son: OWL Lite, OWL DL, y OWL Full. Actualmente, hay un gran número de ontologías OWL disponibles en la Web. El gobierno de los EEUU y la Unión Europea han estado invirtiendo en el desarrollo del lenguaje de ontologías Web. Por ejemplo, el programa DAML (DARPA Agent Markup Language) [WEB-6] comenzó oficialmente en Agosto del 2000 con el objetivo de desarrollar un lenguaje y herramientas para la Web Semántica. Su último lenguaje DAML+OIL (OIL proviene de Ontology Inference Layer), uno de los lenguajes predecesores en los que se basó OWL, se está migrando a OWL. 59

60 Ontología Según Tom Gruber [Gruber, 2003], una ontología es una especificación explícita de una conceptualización. Una conceptualización es una abstracción, una vista simplificada del mundo que queremos representar. Las ontologías son acuerdos, en un contexto social, para cubrir una serie de objetivos. Se crean, entre otras cosas, para: I- Permitir el intercambio de datos entre programas. II- Simplificar la unificación (o traducción) de distintas representaciones. III- Facilitar la comunicación entre personas. Continuando con las definiciones de Gruber, las ontologías tienen los siguientes componentes que servirán para representar el conocimiento de algún dominio: Conceptos: son las ideas básicas que se intentan formalizar. Los conceptos pueden ser clases de objetos, métodos, planes, estrategias, procesos de razonamiento, etc. Relaciones: representan la interacción y enlace entre los conceptos del dominio. Suelen formar la taxonomía del dominio. Por ejemplo: subclase-de, parte-de, parte-exhaustiva-de, conectado-a, etc. Funciones: son un tipo concreto de relación donde se identifica un elemento mediante el cálculo de una función que considera varios elementos de la ontología. Por ejemplo, pueden parecer funciones como categorizar-clase, asignar-fecha, etc. Instancias: se utilizan para representar objetos determinados de un concepto. Axiomas: son teoremas que se declaran sobre relaciones que deben cumplir los elementos de la ontología. Por ejemplo: Si A y B son de la clase C, entonces A no es subclase de B, Para todo A que cumpla la condición X, A es B, etc. Las ontologías resultan muy útiles para facilitar el razonamiento automático, o sea, sin intervención humana. Partiendo de unas reglas de inferencia, un motor de razonamiento puede usar los datos de las ontologías para inferir conclusiones de ellos. Ver ejemplo de la figura

61 Figura 14. Ejemplo de un razonamiento con reglas de inferencia Los sublenguajes de OWL OWL tiene tres versiones distintas: OWL Lite, OWL DL y OWL Full. Cada una tiene un poco más de capacidad expresiva que la anterior. La complejidad para la realización de razonadores automáticos en cada una de ellas también es incremental OWL Lite OWL Lite da soporte a aquellos usuarios que primordialmente necesitan una clasificación jerárquica y restricciones simples. Por ejemplo, soporta restricciones cardinales, pero solamente permite valores cardinales de 0 ó 1. Por ende, es más simple proveer herramientas de soporte para OWL Lite. En resumen, OWL Lite tiene una más baja complejidad formal que OWL DL OWL DL OWL DL (su nombre proviene de su correspondencia con la lógica de descripciones) da soporte a aquellos usuarios que quieren la máxima expresividad mientras conservan completamente la computabilidad (todas las conclusiones son garantizadas para ser computables) y resolución (todos los 61

62 cálculos se resolverán en un tiempo finito). OWL DL incluye todas las construcciones del lenguaje de OWL, pero pueden ser usados sólo bajo ciertas restricciones. Por ejemplo, una clase puede ser una subclase de otras muchas clases pero una clase no puede ser una instancia de otra OWL Full OWL Full da soporte a usuarios que requieren el máximo de expresividad y libertad sintáctica de RDF sin garantías computacionales. Por ejemplo, en OWL Full una clase puede ser tratada simultáneamente como una colección de individuos y como un individuo propiamente dicho. OWL Full permite a una ontología aumentar el significado del vocabulario predefinido (RDF ó OWL). Es poco probable que algún software racional admita por completo el razonamiento para cada característica de OWL Full. Cada uno de estos sublenguajes es una extensión de su predecesor más simple, respecto a lo que puede ser expresado legamente y a la validación de sus conclusiones. El siguiente grupo de relaciones se mantienen, pero las relaciones inversas no se mantienen. I- Cada ontología legal de OWL Lite es una ontología legal de OWL DL II- Cada ontología legal de OWL DL es una ontología legal de OWL Full III- Cada conclusión válida de OWL Lite es una conclusión válida de OWL DL IV- Cada conclusión válida de OWL DL es una conclusión válida de OWL Full OWL Full se puede ver como una extensión de RDFS, mientras que OWL Lite y OWL DL se pueden ver como extensiones de una vista restringida de RDF. Cualquier documento OWL (Lite, DL, Full) es un documento RDF, y cualquier documento RDF es un documento OWL Full pero sólo algunos documentos RDF serán documentos OWL Lite o OWL DL legales. Por esta razón, hay que tener cuidado cuando se desea migrar un documento RDF a OWL Etiquetas OWL Algunas etiquetas que define el lenguaje OWL son: <owl:allvaluesfrom> Exige que todos los valores de esa propiedad sean instancias de la clase indicada (o subclases si estamos en OWL Full). <owl:somevaluesfrom> Exige que al menos un valor de esa propiedad sea del tipo indicado. <owl:hasvalue> 62

63 Exige que todos los valores de esa propiedad tengan el valor indicado. La diferencia con allvaluesfrom es que en aquella se daba una clase, mientras que en esta se dice el individuo concreto que debe ser. En OWL Lite esta propiedad no se puede usar. <owl:maxcardinality> <owl:mincardinality> <owl:cardinality> Establecen que la cardinalidad de esa propiedad sea como máxima, como mínima o exactamente (respectivamente) una determinada. En OWL Lite está restringido a una cardinalidad de cero o de uno. <owl:inverseof> Sirve para establecer la propiedad inversa de otra. <owl:transitiveproperty> Sirve para especificar que una determinada propiedad es transitiva. Por ejemplo, hasancestor es transitiva pues el ancestro de mi ancestro es también mi ancestro. <owl:symmetricproperty> Que se utiliza para indicar que una propiedad es simétrica. Esto es, que si P es simétrica y se tiene que P(x,y), entonces también se verifica que P(y,x). <owl:equivalentclass> Indica que dos clases son equivalentes. <owl:equivalentproperty> Indica que dos propiedades son equivalentes. <owl:sameas> Indica que dos recursos son el mismo recurso. <owl:differentfrom> Se utiliza para especificar que dos recursos son distintos. <owl:alldifferent> Se utiliza para establecer que un conjunto de recursos son todos distintos entre si. 63

64 Ejemplo Retomando el ejemplo visto anteriormente se lo puede expresar en RDF/XML de la siguiente forma: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:dc=" <rdf:description rdf:about=" <dc:creator>ribas</dc:creator> </rdf:description> </rdf:rdf> Si otra empresa comienza a crear documentos RDF y ninguno de ellos conoce la etiqueta dc:creador, entonces creará un término propio llamado por ejemplo emp:autor. Con la etiqueta nueva generan la siguiente afirmación RDF/XML: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:emp=" <rdf:description rdf:about=" <emp:autor>ribas</emp:autor> </rdf:description> </rdf:rdf> El agente automático va a ignorar dicha afirmación porque no puede entender el significado de emp:author. Sin embargo, gracias a la colaboración de cierto individuo de la comunidad Web, el agente descubre la siguiente relación entre los conceptos dc:creador y emp:autor en una ontología OWL: 64

65 <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:owl=" <owl:objectproperty rdf:about=" <owl:equivalentproperty rdf:about=" </owl:objectproperty> </rdf:rdf> Como el agente automático sí entiende ontologías OWL, esta afirmación le indica al agente que emp:autor es similar a dc:creador. Por ende, puede interpretar la afirmación RDF/XML con la etiqueta emp:autor. Simplemente la tiene que reemplazar por dc:creador y procesar su significado. 65

66 Lógica Teniendo toda la información de recursos, propiedades, ontologías, se puede hacer deducciones lógicas con la misma y permitir a la máquina razonar automáticamente usando esos principios. La capa lógica está compuesta por un conjunto de axiomas y reglas de inferencia que los agentes (computacionales o humanos) podrán utilizar para relacionar y procesar la información. Estas reglas ofrecen el poder de deducir nuevas sentencias a partir de los datos y estructuras que están descritos en las capas XML y RDF, usando además las relaciones entre esos datos y estructuras definidas en la capa Ontológica. La expresividad de RDF y RDFS para modelar ontologías completas es muy limitada: en el caso de RDF se limita (en líneas generales) a representar predicados binarios, y RDFS (también en líneas generales) está limitado a jerarquía de clases, jerarquía de propiedades con definición de restricciones de dominio y rango de dichas propiedades. RDF/RDFS carece de soporte para tipos de datos primitivos, carece de poder expresivo para representar axiomas (no hay negación, implicación, cardinalidad, cuantificación), no es posible definir propiedades de propiedades (transitividad, simetría, etc.), no permite especificar condiciones necesarias y suficientes para establecer la pertenencia a una clase. Sin embargo, el lenguaje OWL adiciona mayor expresividad a RDF y RDFS con una semántica formal basada en la lógica descriptiva. OWL está especificado sobre RDF y RDF esquema y añade importantes primitivas para la descripción de clases y propiedades, como son: relaciones entre clases (p.e. complemento, disjunta), cardinalidad de propiedades (p.e. mínimo dos, exactamente uno), igualdad de clases, mayor riqueza de tipos en las propiedades, características de propiedades (p.e. simetría, transitividad), clases enumeradas, entre otras. 66

67 Prueba En muchas ocasiones, la persona no se va a creer así como así la información que se le brinde, será necesario que se le suministre pruebas que sea capaz de verificar. Esta verificación de las pruebas puede ser llevada a cabo por un humano o también por una máquina. Como los sistemas pueden recolectar información de muchos lugares de la Web, interpretarla, aplicar lógica y razonar, tiene sentido utilizarlos para generar pruebas. Una prueba es una deducción a la que llega un sistema luego de aplicarle cierta lógica. Un ejemplo muy habitual sobre la necesidad de las pruebas está relacionado con las autorizaciones de acceso a una página. Este ejemplo consiste en que se establece que, se delega en un individuo A la capacidad de decir quién puede y quién no puede acceder a una determinada página. Supongamos que A concede al usuario B este privilegio. Entonces B, cuando quiera acceder a la página le presentará una prueba de que puede acceder: Yo puedo acceder porque A me ha dado permiso de acceso y A tiene autoridad para dar permiso de acceso a esta página En ese momento, el sistema se pone a comprobar la validez de la prueba consultando la información que tiene disponible. Una vez que se asegura que la prueba presentada es válida, permitirá al usuario B el acceso al sistema. Otra utilidad que se plantea para las pruebas es que los agentes no tengan que deducir toda la información siempre, sino que puedan almacenar e intercambiar pruebas entre ellos. De este modo, se puede evitar el tener que estar realizando continuamente una actividad que consume tantos recursos como es el razonamiento automático. En el ejemplo de la figura 14, la prueba sería Andrés estaba en el edificio en el momento del crimen. Estas pruebas pueden nacer de miles o millones de links semánticos en la Web, lo que hace que no sean fáciles de crear, pero si es simple verificarlas. De esta manera, los sistemas pueden compartir no sólo información sino también pruebas evitando tener que consumir recursos para deducirlas nuevamente. 67

68 Confianza Un problema que surge en la arquitectura de la Web Semántica es que cualquier persona puede decir cualquier cosa sobre cualquier tema. Alguien puede afirmar que la ciudad de Posadas se encuentra en territorio brasilero y tiene permiso de hacerlo sin ningún problema. Esta libertad de expresarse, es una característica necesaria en la creación de la Web Semántica, pero genera la incógnita de quien es confiable y quien no. El humano como tal puede discernir entre la información que confía y la que no, a veces por simple intuición; en cambio, la máquina necesita un mecanismo alternativo y menos intuitivo. Por lo tanto, se crea la capa confianza con el fin de que las máquinas puedan determinar en quien confiar y en quien no. Las firmas digitales cumplen un rol importante en esta capa. Basada en un trabajo matemático y criptográfico, las firmas digitales permiten dar fe de que cierta persona escribió o está de acuerdo con cierta afirmación o documento. De esta manera, si todos firman digitalmente sus documentos, sólo es necesario indicarle a la máquina en cuales firmas uno confía y en cuales no, o darle un nivel de confiabilidad (por ej. de 1 a 10). El problema es que no se puede ir indicando para cada persona de la Web, si se confía o no en la misma. Acá es donde nace la red de confianza. Por ejemplo, Héctor le indica a la computadora que confía en otra persona llamada Javier, quién a su vez, confía en Verónica y Ezequiel. La red de confianza asume que Héctor seguramente también confíe en Verónica y Ezequiel. De la misma manera, si Verónica confía en una nueva persona llamada Carolina, ésta última estará dentro de la red de confianza de Héctor. Según el nivel de distancia en la red, podemos obtener un nivel de confianza o desconfianza asociado. Cabe destacar que indicar la desconfianza en cierto individuo es tan útil como indicar la confianza. Supongamos que un agente semántico encuentra un documento en el que no tiene información de si Héctor confía o no y otro que, dentro de su red de confianza, está marcado como no confiable. Ante una búsqueda de Héctor, el agente va a confiar más en el documento del cual no tiene información que en el que está específicamente calificado como no confiable. 68

69 3.3. Microformatos Los microformatos son una solución propuesta por Microformats [WEB-7] que adopta el camino bottom-up de una manera sencilla, poco invasiva, tratando de generar los menores cambios posibles sobre las páginas existentes facilitando así el paso de semantizar la Web. La idea es agregar metadatos a las páginas Web pero embebidos de manera estructurada en el código XHTML de la página. Los microformatos son un paso para crear datos estructurados en la Web. La idea es mucho más simple que RDF u OWL. Si se quiere crear una página con información de eventos (fecha de inicio, fecha de fin, localidad, tema, página Web, etc.), en lugar de almacenarla de forma normal en HTML, Microformats recomienda almacenarla de una manera estructurada en HTML y CSS (Cascading Style Sheet). La página puede mantener el formato que se desea, no es necesario duplicar información, simplemente hay que almacenarla como indican los microformatos. La idea es crear estándares reconocidos universalmente para solucionar temas específicos a los que se enfrentan los usuarios Web. Estos estándares deben ser simples de usar, legibles por el humano y presentables ante el usuario final. Para que los microformatos sean fáciles de insertar en las páginas Web existentes, se reutilizan estándares ampliamente adoptados como HTML y CSS. En la actualidad, la idea de Microformats es muy aceptada por la comunidad Web e incluso por grandes empresas como Yahoo!Local que en Junio del 2006 anunció que soportaba los microformatos hcalendar, hcard y hreview (los cuales son los más reconocidos). También Microsoft y Google implementan los microformatos en muchos de sus servicios Web. Algunos de los microformatos estándares que se están utilizando en la actualidad son: hcard hcalendar hreview 69

70 hcard hcard es un formato simple utilizado para representar personas, compañías, organizaciones y lugares. Se puede almacenar detalles personales como nombre, url, , dirección, foto, título, etc. Un ejemplo de hcard es el siguiente: <div class="vcard"> <a class="url" href=" Stweart</a> <div class="org">example Organization</div> <div class="adr"> <div class="street-address">cedar Av</div> <div class="locality">marshfield</div> <div class="region">wi</div> <div class="postal-code">54449</div> </div> <div class="tel"> </div> </div> La salida en una página Web es la siguiente: John Stweart Example Organization Peru Marshfield, WI

71 hcalendar hcalendar es un microformatos para representar eventos y horarios. Se puede detallar información del evento como la localidad, url, fecha de inicio, resumen, etc. Un ejemplo de hcalendar es el siguiente: <div id="hcalendar-conferencia Nuestra Tierra" class="vevent" > <a class="url" href=" <abbr title=" t " class="dtstart"> 3 de Febrero 12pm </abbr>, <abbr title=" t " class="dtend"> 4pm 2008 </abbr>- <span class="summary">conferencia Nuestra Tierra</span>- <span class="location">bs As, Argentina</span>- </a> <div class="description"> Charla sobre el calentamiento global </div> </div> La salida en una página Web es la siguiente: 3 de Febrero 12pm, 4pm 2008 Conferencia Nuestra Tierra at Bs As, Argentina Charla sobre el calentamiento global 71

72 hreview hreview es otro microformato, esta vez enfocado en informar revisiones de productos, servicios, negocios o eventos. Se puede agregar información a este microformatos como es la versión, un resumen, el tipo (producto, negocio, evento, persona, lugar, sitio Web o url), item (url o foto, hcard para personas o negocios, hcalendar para eventos), licencia, etc. <div class="hreview" > <span class="item" > <a class="url" href=" <img src=" alt="foto: tenedor de plata" class="photo"/> El mejor tenedor de plata! </a> </span> <div class="description"> </p> Tenedor de plata, único, importado. </p> </div> ( <abbr title="5" class="rating"> ***** </abbr> ) <p class="reviewer vcard">por: <a class="url fn" href=" Diego Moreno </a>, <abbr title="200502" class=" dtreviewed "> Febrero 2008 </abbr> </p> </div> La salida en una página Web es la siguiente: 72

73 El mejor tenedor de plata! Tenedor de plata, único, importado. (*****) Por: Diego Moreno, Febrero 2008 Con solo alterar el archivo CSS, se puede modificar la visualización de todos los ejemplos y mantener el significado de los datos para que las máquinas lo puedan interpretar. 73

74 3.4. Los problemas de la aproximación bottom-up En el primer capítulo se ha concluido que para darle significado a los datos de la Web el camino más viable en la actualidad es generar metadatos que puedan ser comprendidos automáticamente por las máquinas. Como pudimos ver en el presente capítulo, la solución más completa que busca cumplir dicho objetivo es la Web Semántica. Sin embargo, no ha tenido el éxito esperado desde el día que se presentó hasta la fecha. Muchos expertos explican que no es un cambio instantáneo sino un proceso de transición, pero siguen existiendo dudas en cuanto a si se va a expandir completamente o no. La realidad es que han pasado más de 10 años y el cambio, si es que fuese a completarse, avanza realmente muy lento. Según Cory Doctorow [Doctorow, 2001] uno de los problemas principales por el que no se generan metadatos es que la gente es vaga. En otras palabras, el usuario promedio tiende a escribir lo menos posible, entonces obligarlos a escribir no sólo los datos sino también los metadatos no parece ser una buena idea. Un ejemplo que ratifica dicha afirmación es Semantic Wiki, una idea que tiene como objetivo darle significado semántico los datos de la Wikipedia. Las wikis normales contienen generalmente texto desestructurado que no puede ser interpretado por una máquina y a pesar de que existen enlaces, estos no están tipados. Semantic Wiki define un formato para estructurar dicha información con metadatos y generar vínculos entre los mismos. Pero cargar los metadatos directamente a mano es una tarea molesta por lo que los usuarios de la Wikipedia optaron, en su mayoría, por no hacerlo. Es así que la idea de Semantic Wiki no ha tenido el éxito querido y apenas prosperó. La mejor forma de solucionar esto es hacer interfaces más ricas que permitan que, a medida que los usuarios cargan los datos, también carguen los metadatos implícitamente (sin darse cuenta). La misma interfaz los debe forzar a hacerlo. Un proyecto que ha adoptado esta técnica es Freebase, una base de datos Web que permite almacenar todo tipo de conocimientos y editarlos colaborativamente (algo similar a la Wikipedia pero almacenando la semántica de los datos). Haciendo uso de una interfaz simple y amigable desarrollada bajo los conceptos de Web 2.0, Freebase logra que los usuarios carguen los datos de manera estructurada guardando el significado de los mismos. Por ejemplo, si queremos cargar un evento histórico, Freebase tiene cargadas las propiedades que debería tener el mismo y nos permite ingresarle una fecha de inicio y otra de fin. Es así que a la base de datos de Freebase se le pueden hacer consultas del estilo cuáles son los eventos históricos que ocurrieron entre 1840 y 1860? Cory Doctorow también afirma que la gente miente por lo que cualquiera pueda generar metadatos de lo que sea ensuciando el significado de la información. Una manera de solucionar este problema es llevar a cabo una idea similar a la capa de confianza propuesta por la Web Semántica. El objetivo es identificar quién dijo qué y que nivel de confianza tengo en lo que dijo. Pero cómo lograr que la gente no sólo cargue datos sino que colabore en formar una red de confianza? Las redes sociales es la respuesta a dicha 74

75 pregunta. Actualmente, las redes sociales están aumentando en popularidad y ganando aceptación por parte de la comunidad Web. Es una tendencia clara en la cual la gente quiere relacionarse, compartir, vincularse, conocer nueva gente y comunicarles qué hace. Prefiere realizar actividades socialmente que de forma aislada por eso se vincula con otras personas. Esa vinculación que nace de una amistad existente entre dos personas o de un simple interés en común es la base para generar una red de confianza. 75

76 3.5. Microformatos vs. RDF A pesar de que ambos pertenecen al camino bottom-up, los microformatos no son comparables con la Web Semántica. Esto se debe a que los microformatos son un formato popular para embeber metadatos en XHTML, mientras que la Web Semántica es una tecnología nueva que define una serie de formatos para que se las máquinas puedan entender y compartir el significado de todos los datos de la Web. En lugar de comparar ambas soluciones, se ejercerá la comparación entre los microformatos y RDF ya que ambos son lenguajes de etiquetados para describir cosas. A diferencia de los microformatos, RDF es un lenguaje mucho más poderoso y extensible cuyos recursos son representados por URIS. Además, RDF contiene por encima un lenguaje de ontología (OWL) que permite a las máquinas razonar utilizando lógica. Los microformatos simplemente estructuran cierta información para que las máquinas puedan entender su significado y extraerlo directamente del HTML. No obstante, son más prácticos y entendibles para el programador normal que el lenguaje RDF. Otra ventaja de los microformatos es que son embebidos directamente de manera estructurada en el código XHTML de la página sin necesidad de reescribir la información. A pesar de que los microformatos son más simples y fáciles de embeber directamente en páginas HTML/XHTML, tienen la desventaja de trabajar en dominios limitados y de no permitir generar relaciones entre recursos. Por otro lado, las bases matemáticas de RDF son complicadas y no cualquier programador cotidiano puede entenderlas. No obstante, en un futuro no será necesario hacerlo ya que como cualquier lenguaje tendrá asociadas herramientas que faciliten su uso. Actualmente, existen varias aplicaciones capaces de procesar y gestionar archivos RDF que simplifican trabajar bajo dicho lenguaje. Algunas de ellas son: Cara, DataCraft, Jena, Rdf crawler, RDFstore, Redland y otras. Según las primeras recomendaciones de RDF es imposible embeberlo en HTML. Sin embargo, se han definido dos lenguajes para lograrlo: erdf y RDFa. erdf intenta mediante la utilización de herramientas actualmente disponibles codificar dentro de HTML y XHTML información en formato RDF. Es un intento de extender RDF siguiendo los principios de Microformats. erdf es RDF válido, pero no es soportado por W3C y todo lo que se puede codificar mediante RDF no se puede definir mediante erdf. Por otro lado, RDFa es una propuesta hecha por W3C para poder expresar información estructurada en XHTML bajo la representación RDF. La sintaxis de RDFa permite utilizar muchos de los atributos de HTML para codificar semántica, pero también define algunos atributos nuevos para tener más flexibilidad y menos ambigüedad a la hora de codificar relación semánticas en XHTML. erdf y RDFa tienen una sintaxis parecida, pero a diferencia de RDFa, erdf se restringe únicamente a atributos existentes y no depende necesariamente de XTHML, sino que puede ser usado en HTML directamente. Ambas soluciones no han sido adoptadas por la comunidad Web como lo han sido los microformatos. 76

77 La Web Semántica obtuvo menos aceptación que los microformatos, pero a veces la mejor solución no es siempre por la que opta la comunidad Web. Un ejemplo es OSI vs TCP/IP, donde el primero a pesar de tener unas bases teóricas mucho más sólidas no se pudo imponer sobre el segundo. La aceptación de tecnologías y formatos no sólo depende de si es mejor o no, sino de otros factores como el momento en que aparecen, su simplicidad, la existencia de herramientas asociadas, el tamaño del cambio, el costo del mismo, etc. 77

78 3.6. La tecnología más adecuada En este trabajo se escoge a la Web Semántica como tecnología indicada para fomentar el significado de los datos en la Web. Dicha elección se debe a los siguientes puntos: La Web Semántica pertenece al camino bottom-up (el más factible según lo estudiado anteriormente). Es una tecnología definida para un dominio de datos extensible. Sus lenguajes de etiquetado son muy completos y poderosos. Es posible embeber RDF dentro del HTML gracias a los nuevos lenguajes erdf y RDFa. Los microformatos pueden convivir dentro de la idea que postula Web Semántica. Tiene bien definido un lenguaje de ontologías. Existen y se está trabajando en herramientas que facilitan su uso. 78

79 3.7. Resumen investigación Se resume a continuación lo visto en el presente capítulo: 1. La aproximación bottom-up consiste en agregar metadatos a los sitios Web para poder darle significado a los datos. 2. Los metadatos representan datos estructurados sobre los datos. 3. La tecnología más importante y mejor definida que hace uso de los metadatos para darle significado a los datos de la Web es la Web Semántica. 4. La Web Semántica está compuesta por una serie de capas de las cuales las principales son: Unicode, URI, XML, RDF, RDF Schema y OWL. 5. El lenguaje RDF permite representar información de cualquier recurso que pueda ser identificado en la Web. 6. El elemento base del modelo RDF es el triplete: el sujeto, el objeto y el predicado. 7. No existe un beneficio inmediato para los usuarios que hagan uso de la Web Semántica. 8. Es posible embeber RDF en HTML mediante los lenguajes erdf y RDFa. 9. La idea detrás de los microformatos es agregar metadatos a las páginas Web pero embebidos de manera estructurada en el código XHTML de la página. 10. El dominio que abarca los microformatos es mucho más pequeño y específico que el de la Web Semántica. 11. La gente es vaga cuando se trata de agregar metadatos. Una forma de solucionar dicho problema es desarrollar interfaces más ricas que tengan implícita la carga de metadatos. 12. La gente miente por lo que se debe determinar en cual dato confiar y en cual no. Las redes sociales son el camino ideal para desarrollar una capa de confianza. 13. La Web Semántica es la tecnología escogida en el vigente trabajo debido a que es la más factible y completa en la actualidad. 79

80 Capítulo 4: La red social semántica En el presente capítulo, se propone una solución que une las características colaborativas del software social con la estructuración de datos que propone la Web Semántica. Posteriormente, se detallan las principales características de la aplicación implementada y se explican las ventajas de emplear dicha tecnología en una plataforma social. Finalmente, se presenta un ejemplo detallado de su aplicabilidad con pruebas y resultados. 80

81 4.1. Solución propuesta Las aplicaciones sociales en la Web son el servicio estrella de los últimos años, permite que los usuarios se comuniquen, organicen e intercambien experiencias o intereses. Un caso exitoso en Argentina es la comunidad virtual llamada Taringa que alcanzó 1,6 millones de usuarios registrados para el 2008 [WEB-10]. Taringa es una aplicación Web donde los usuarios pueden escribir, compartir y buscar información sobre cualquier tema. A pesar de la notable aceptación que ha obtenido a lo largo de los últimos años, Taringa está desarrollada bajo una plataforma que no le permite obtener un mayor provecho de sus datos y el significado de los mismos. Principalmente, la información se almacena en modo desestructurado porque los usuarios únicamente tienen la posibilidad de ingresarla como texto plano. Por el contrario, si se guardasen los datos de manera estructurada, se obtendrían una serie de ventajas como las siguientes: Búsqueda y navegación de datos más efectivas. Facilidad para definir la semántica de los datos y lograr que las máquinas puedan procesarlos automáticamente. Información fuertemente relacionada. Interoperabilidad con aplicaciones externas. Si los usuarios de Taringa ingresasen los datos de manera estructurada, se podrían aplicar las reglas de la Web Semántica y mejorar los servicios que brinda el sitio. Pero para lograr que los usuarios carguen los datos estructuradamente, se les debe proveer de una interfaz rica con las herramientas necesarias para llevarlo a cabo. Por otro lado, los esfuerzos dedicados a la Web Semántica se han estado dirigiendo mayormente a la creación de formatos estándares en forma de esquemas u ontologías. Sin embargo, actualmente no hay suficientes esquemas para cubrir la amplia variedad de información que queremos compartir. Un pequeño grupo de expertos no puede tener en cuenta el rango variado de datos que requieren los usuarios de la Web. Incluso, si el esquema existe, puede que el mismo no sea el apropiado o que no sea comprensible por un usuario cotidiano que carece de conocimiento técnico. Crear nuevas ontologías y modelar datos no es una tarea fácil. Debería ser flexible para los usuarios quienes pueden llegar a necesitar datos distintos o variar en los niveles de detalle de un concepto dependiendo del propósito. Además, las personas tienen diferentes puntos de vista y se les debe permitir mantener sus preferencias. No es práctico imponer un estándar único y estricto de limitaciones. Los esquemas deben generarse de manera colaborativa. En este trabajo se implementa una red social con tecnología Web Semántica donde los usuarios tienen la libertad de definir la estructura de la información que quieren compartir. Esto permite organizar todos los datos mediante metadatos semánticos y compartirlos al resto de la Web mediante formatos estándares. 81

82 Figura 15. Flujo de datos y metadatos desde y haca la Web. En el sistema, los usuarios tienen la posibilidad de estructurar semánticamente la información que ingresan y definir su dominio de trabajo según sus preferencias. Por ejemplo, si un grupo de usuarios desean compartir información sobre libros digitales pueden definir una entidad ebook y asignarle las propiedades que creen convenientes como son el título, fecha de publicación, autor, resumen, etc. Una vez definida la entidad, los usuarios pueden cargar libros para la misma, compartirlos, organizarlos, buscarlos por sus propiedades y recibir notificaciones más precisas y personalizadas Algunas características importantes del sistema implementado son las siguientes: Red social de dominio libre. Creación de datos y metadatos. Búsquedas semánticas. Notificaciones semánticas. Repositorio de esquemas calificados. Exportación de datos. A continuación se analizan las características en detalle. 82

83 Red social de dominio libre Definición de red social Desde sus principios, la Web no sólo sirvió como un gran repositorio de información sino también como un medio de comunicación entre personas sin importar su ubicación. El mensajero instantáneo (o programa de chat) fue uno de los primeros mecanismos para poder conectarse en tiempo real con amigos, conocidos o gente nueva. Más adelante en el tiempo, otros servicios complementarían la comunicación entre personas como por ejemplo el weblog, el blog y el fotolog, entre otros. En dicho contexto, surgieron las redes sociales, sitios que permiten crear un perfil público, donde el usuario carga sus datos personales y puede acceder a distintas herramientas para interactuar en línea con otros individuos, conversar, mantenerse al tanto, compartir información y realizar otras funciones sociales. En una definición más formal, una red social es una estructura social formada por nodos que representan generalmente individuos u organizaciones y se encuentran unidos entre ellos por distintos tipos de vínculos como por ejemplo amistad, igualdad de visiones, relaciones laborales, etc. José Hector María Melisa Diego Juan Manuel Camila Azul Jorge Figura 16. Ejemplo de un diagrama social. En la Figura 16 se ilustra un ejemplo de un diagrama social. Los individuos y las organizaciones, conocidos como actores, son los nodos de la 83

84 gráfica. La interdependencia, conocida como arcos son las flechas del diagrama y pueden ser por características como la edad, género, raza, amistad, ideas, política, etc. Hace menos de 10 años comenzaron a aparecer las primeras redes sociales y han obtenido un increíble crecimiento y aceptación por parte de la comunidad Web en los últimos años. Algunos ejemplos son MySpace que tiene más de 110 millones de usuarios activos en el mundo, Hi5 con 70 millones de usuarios registrados, Orkut con 67 millones, Facebook con unos 60 millones y Friendster con 53 millones. Todas son redes sociales en línea cuyos vínculos entre los usuarios se basan principalmente en la amistad. También existen otro tipo de redes sociales como LinkedIn que buscan vincular a las personas según sus relaciones laborales o profesión, o Flickr que conecta a sus usuarios de acuerdo a su mutuo interés en fotografía. Según los resultados de Alexa, un sitio dedicado a proveer información sobre el tráfico en la Web, las redes sociales son uno de los sitios más visitados en la actualidad. En el ranking que presenta Alexa, ocupan una de las posiciones más altas como por ejemplo MySpace que se encuentra sexto, Facebook octavo, Orkut décimo y Hi5 décimo primero. A través del boca a boca o por invitaciones personales, la gente no sólo descubre las redes sociales sino también que existen un montón de amigos ya adheridos a las mismas. Esto último hace que la aplicación sea atractiva y genera ganas de participar para comunicarse y compartir información con los amigos. Actualmente, existe una gran pelea entre las redes sociales por atraer nuevos usuarios y no perder los existentes. El objetivo real es ganar más tráfico y mayor popularidad. Facebook, por ejemplo, provee una API para que los sistemas externos puedan comunicarse con su red social permitiendo expandirla fuera de sus dominios. El mismo Google, tratando de mantener una igualdad de competencia entre las redes sociales, presentó Open Social que es una API abierta para crear aplicaciones montadas sobre redes sociales ya existentes. Una propiedad interesante de las redes sociales es que ciertos nodos que parecen estar a una gran distancia uno del otro (un agricultor en la India con el presidente de Estados Unidos), puede que realmente se encuentren mucho más cerca de lo esperado. Este fenómeno permite la creación de nuevas relaciones generando más oportunidades de negocio o recreativas. Incluso, con la popularización de estas herramientas, seria posible probar la teoría de los seis grados de separación que propone que cualesquiera dos personas pueden ser conectadas mediante conocidos en no más de seis pasos. La teoría fue inicialmente propuesta en 1929 por el escritor húngaro Frigyes Karinthy y más adelante probada por el psicólogo estadounidense Stanley Milgram. Las características más importantes que se buscan remarcar de las redes sociales y que van a ser útiles en la solución, son que permiten identificar unívocamente a las personas, generar relaciones entre ellas, comunicarlas y que su aceptación crece día a día de una manera notable. También se puede medir la importancia de un individuo en una red social y por ende la relevancia de sus afirmaciones. El estudio de estas mediciones se conoce como análisis de red social. 84

85 El análisis de red social (ARS) o, del inglés, Social Network Analysis (SNA) es la medición de las relaciones y el flujo entre diversos actores sociales (como personas o grupos). Los nodos en la red son las personas y los grupos mientras que los vínculos muestran la relación y el flujo entre los nodos. ARS provee tanto un análisis matemático como uno visual de las relaciones humanas. También es conocido como análisis estructural debido a que se ha desarrollado como herramienta de medición y análisis de las estructuras sociales que emergen de las relaciones entre las personas y grupos. Asimismo, se analizan las estructuras sociales que surgen de la ocurrencia de determinados eventos. Al basar la solución, en una red social se obtienen un conjunto de funcionalidades que son imprescindibles para lograr una buena gestión entre los datos y los usuarios. Permite, por ejemplo, llevar una trazabilidad de la carga de datos al registrar quien y cuando cargó o modificó un dato. Para poder crear una capa de confianza, es importante saber quien escribió qué. En cuanto a la privacidad de los datos, toda red social brinda la posibilidad de compartirlos públicamente, permitir que sólo amigos puedan accederlos o almacenarlos en forma privada. Las notificaciones de las redes sociales son avisos de que cierto dato fue cargado y son claves en el flujo de la información. Sin ella, un usuario nunca se enteraría de la existencia de un dato que lo considera importante. En resumen, la solución se basa en una red social, no sólo debido a que actualmente la Web se está orientando a sistemas sociales, sino porque sus funcionalidades van a ser primordiales para cumplir con sus objetivos Dominio libre De acuerdo a Jyri Engeström [Engeström, 2005], las personas no son la principal característica de una red social sino el objeto en común que las une. El objeto es la base de la red social y la razón por la cual las personas se asocian a la misma. Engeström define esta relación de personas basada en un objeto en común como object centered sociality y asegura que el éxito de una red social existe sólo si la misma se centra en el objeto que la caracteriza y no en obtener el máximo número de afiliados. Engeström induce que si las redes sociales no están bien fundamentadas en un objeto, muchas veces lleva a que la mayoría de las personas se conecte unas con otras con ninguna otra razón más que aumentar su número de contactos personales. Muchos navegan los perfiles de otros usuarios por simple curiosidad. Las relaciones establecidas entre algunos usuarios carecen de sentido porque no están respaldadas por objetos o actividades en común. A continuación se listan algunas redes sociales conocidas junto a su objeto: 85

86 Red Social Url Objeto Amie Street Música anobii Libros Avatars United Juegos online CafeMom Madres del.icio.us Enlaces DeviantART Arte EasyRoommate Hospedaje Facebook Entretenimiento Flickr Fotos Flixster Películas Linkedin Profesionales Sportsvite Deportes TravBuddy.com Viajes Figura 17. Tabla con las redes sociales y su correspondiente objeto. La mayoría define una semántica asociada a su objeto y permite cargar información respecto al mismo. Por ejemplo, del.icio.us, al ser una red social basada en enlaces, permite cargar un enlace en particular, entre otras cosas. Al llenar el campo donde se debe cargar el enlace, le estamos brindando a del.icio.us información semántica ya que le indicamos explícitamente que el texto ingresado es un enlace. Lo mismo sucede con el resto de las redes sociales, cada una define un conjunto de propiedades asociadas al objeto y cada propiedad tiene un significado que la red social entiende. Por ejemplo, Facebook es una de las redes sociales con mayor crecimiento en los últimos años, sin embargo está compuesta por un esquema cerrado con un número limitado de tipos de datos (personas, mensajes, eventos). De dicha manera, la aplicación provee un conjunto reducido de semántica para poder definir por ejemplo una persona y completar sus atributos (nombre, , dirección, etc.) u otros datos de relación (trabajó con, casado, etc.). El usuario declara todo explícitamente y no hay nada inferido. La ventajas de las redes sociales orientadas a un objeto, es que realizan un muy buen trabajo en torno al mismo. Definen las propiedades necesarias para el objeto y brindan un conjunto de servicios que hacen que los usuarios accedan cómodamente a la información relacionada con el mismo. La vinculación entre la red social y el objeto es fuerte. Sin embargo, dichas redes sociales, no pueden extenderse más allá de su dominio, sino que están limitadas al mismo. Retomando el ejemplo de Facebook, es una red social que carece de real utilidad más allá del entretenimiento (su objeto) como la mayoría de las redes sociales actuales. No podemos utilizar Facebook para descubrir, acumular, o tratar información científica. Esto se debe a que sus datos definidos sobre esquemas fijos que son límites para la comunidad. La utilidad de estas redes sociales orientadas a un objeto es limitada, no se puede hacer algo en conjunto más allá de lo que permite el esquema. No proveen un framework para acumular y navegar lo que se conoce en conjunto. 86

87 La rigidez del diseño de estos sitios, hacen que sean muy simples y atractivos para los usuarios, pero le limitan la posibilidad de crecer más allá de la metáfora con la que se fundó. El valor agregado que brinda la red social semántica es que permite definir un esquema para una comunidad de manera que las cosas que tengamos en común como miembros se conviertan en los atributos que definen la comunidad. Esto lo logra, extendiendo la red social para poder crear entidades nuevas, atributos y conceptos más allá de los existentes permitiendo que los usuarios definan relaciones entre ellos. En la red social semántica, el usuario puede precisar el o los objetos de su dominio expandiendo este último hasta donde desee. Por ejemplo, si hay usuarios que le gustan los peces, pueden cargar información de cualquier pez, compartirla entre ellos, recibir notificaciones ante la carga de nuevos datos relacionados, conocer gente vinculada con tema, etc. 87

88 Creación de datos y metadatos Como se mencionó anteriormente, la red social permite al usuario extender su dominio brindándole la posibilidad trabajar con cualquier objeto según su interés. Para crear un dominio de trabajo en la red social semántica, lo primero que se debe hacer es definir la estructura (o esquema) que describe al objeto. En adelante, se llamará template al esquema que define un objeto determinado. En términos de la Web Semántica, el objeto es un recurso RDF y el template es el esquema RDFS que lo describe. El usuario le debe asignar un nombre a los templates que genere, pero la red social semántica le asignará una URI unívoca a cada uno. El usuario debe también seleccionar las propiedades que desee que el template tenga. Los templates pueden tener otro template como propiedad, al igual que una clase RDFS puede hacerlo con otra, brindando la extensibilidad y reusabilidad que caracteriza a la Web Semántica Clases frecuentes Para practicidad al usuario se definen nueve clases de uso frecuente que pueden ser usadas como propiedades. Se enumeran a continuación dichas clases: 1 - Texto Definición Conjunto de caracteres URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label>text</rdfs:label> <rdfs:comment>text</rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> 2 - Entero Definición Número entero URI 88

89 RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> Integer </rdfs:label> <rdfs:comment> Integer </rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> 3 Imagen Definición Archivo de tipo imagen URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> Image </rdfs:label> <rdfs:comment> Image </rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> 4 Fecha Definición Día, mes, año URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> Date </rdfs:label> <rdfs:comment> Date </rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> 5 - Hora Definición Hora, minuto, segundos URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> Time </rdfs:label> <rdfs:comment> Time </rdfs:comment> 89

90 <rdfs:subclassof rdf:resource=" </rdfs:class> 6 - Booleano Definición Verdadero o falso URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> Boolean </rdfs:label> <rdfs:comment> Boolean </rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> 7 - Enlace Definición Enlace Web URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> Link </rdfs:label> <rdfs:comment> Link </rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> 8 Definición Dirección de URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> </rdfs:label> <rdfs:comment> </rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> 9 - Lista fija 90

91 Definición Lista de valores fijos URI RDF/XML <rdfs:class rdf:about=" <rdfs:isdefinedby rdf:resource=" <rdfs:label> Fixedlist </rdfs:label> <rdfs:comment> Fixed List </rdfs:comment> <rdfs:subclassof rdf:resource=" </rdfs:class> Reutilización de datos Para una mejor comprensión de la reutilización de los datos, se ejemplificará un caso de uso de la red social semántica donde tres usuarios de la red (Jorge, Sofía y Gustavo) quieren compartir información sobre las películas que vieron con las respectivas calificaciones que cada uno le asigna. Rápidamente, se podría definir una estructura genérica como la siguiente: Calificación película Título película: Texto Género: Texto Año de filmación: Fecha Sinopsis: Texto Imagen: Imagen Calificación: Entero Sin embargo esta estructura presenta ciertas desventajas, debido a que los conceptos de película y calificación se encuentran ambos dentro de la misma estructura. Esto significa que se debe cargar tantas veces la película como las calificaciones que se le den sin poder reutilizar datos ya cargados para luego vincularlos. Digamos que Jorge carga una calificación para la película Rambo I ; luego, si Gustavo también quiere asignarle una clasificación deberá cargar nuevamente los datos de la misma sin poder reutilizar los existentes. Por eso es necesario separar los conceptos de película y calificación creándolos en templates separados: Título película: Texto Género: Texto Año de filmación: Fecha Sinopsis: Texto Imagen: Imagen Película 91

92 Calificación película Película: Template película (un objeto) Calificación: Entero De esta forma, se pueden cargar por separado objetos película y por otro lado su calificación permitiendo reutilizar los datos individualizando la información y evitando la repetibilidad de datos. Más adelante se mostrará que la separación correcta de los conceptos en distintos templates también colabora para realizar búsquedas más precisas sobre los objetos Búsqueda semántica Debido a que la red social conoce la estructura de la información que ella contiene, permite ejercer búsquedas inteligentes. Retomando el ejemplo de las películas, un usuario debería poder buscar todas las comedias que fueron filmadas en Francia después del año Para lograr ello, la red social semántica presenta una búsqueda avanzada donde el usuario puede, junto a otros datos generales, elegir el template que define los objetos que busca y condicionar los valores de sus propiedades. En la figura 18 se presenta una tabla con las condiciones posibles en una búsqueda según el tipo de propiedad. Propiedad Texto Entero Imagen Fecha Hora Booleano Enlace Lista fija Template Condición igual a texto, distinto a texto >,<,=,<>,<=,>=,entre Sin condición >,<,=,<>,<=,>=,entre >,<,=,<>,<=,>=,entre Si, No igual a enlace, distinto a enlace igual a , distinto a igual a valor de lista, distinto a valor de lista igual a URI o distinto a URI Figura 18. Condiciones por tipo para búsqueda en la red social semántica. Si se buscan las comedias que fueron filmadas en Francia después del año 2000, se necesita condicionar las siguientes propiedades del template película: Género: lista fija con valor Comedia País de filmación: con valor Estados Unidos 92

93 Año de filmación: > a 2000 En la figura 19 se puede ver el ejemplo en el sitio Web. Figura 19. Ejemplo de búsqueda en la red social semántica. 93

94 Para una búsqueda de todas las películas en que trabajó Robert de Niro, existen dos opciones: Opción 1: se sabe el número que identifica al objeto Robert de Niro (ej. #4312) En la figura 20 se puede ver el ejemplo en el sitio Web. Figura 20. Ejemplo de búsqueda en la red social semántica. 94

95 Opción 2: no se sabe el número, se puede buscar por nombre y apellido (nombre: Robert, apellido: De Niro) En la figura 21 se puede ver el ejemplo en el sitio Web. Figura 21. Ejemplo de búsqueda en la red social semántica. 95

96 Notificaciones semánticas Las notificaciones son avisos ante la carga de un nuevo dato. Debido a que la red social tiene información semántica de los datos que guarda, las notificaciones pueden ser mucho más precisas. Por ejemplo, un usuario puede solicitar que se le notifique cada vez que el usuario Sofía califique una película con un puntaje mayor o igual a 4. O pedir una notificación cada vez que se cargue una persona nueva. En la figura 22 se puede ver el ejemplo en el sitio Web. Figura 22. Ejemplo de notificación en la red social semántica. Asimismo, la red social semántica permite a los usuarios relacionarse con nuevos usuarios mediante un concepto en particular. Siguiendo con el ejemplo de las películas, un usuario puede utilizar las notificaciones o las búsquedas para conocer otros usuarios interesados en los mismos tipos de películas. 96

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW): INFORMÁTICA IE MÓDULO INTERNET Términos a conocer y conceptos básicos World Wide Web (WWW): Digamos, simplemente, que es un sistema de información, el sistema de información propio de Internet. Sus características

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín TEMA 4: EMPEZANDO A ESCUELA UNIVERSITARIA DE INFORMÁTICA NAVEGAR Raúl Martín Martín SERVICIOS DE INTERNET SERVICIOS DE INTERNET Las posibilidades que ofrece Internet se denominan servicios. Hoy en día,

Más detalles

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera?

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Este documento es un resumen de la charla No sabemos euskera, Cómo ayudar a nuestros hijos e hijas en las tareas escolares?.

Más detalles

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2 Historia de revisiones Fecha VersiónDescripción Autor 08/10/2009 1.0 Creación del documento.

Más detalles

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas 1 INTRODUCCIÓN. Una visión global del proceso de creación de empresas Cuando se analiza desde una perspectiva integral el proceso de

Más detalles

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc.

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc. Página 1 BUSCADORES EN INTERNET Internet es una red de redes informáticas distribuidas por todo el mundo que intercambian información entre sí mediante protocolos 1 TCP/IP. Puede imaginarse Internet como

Más detalles

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores. COMO FUNCIONA INTERNET Internet es una gran red de ordenadores a nivel mundial, que pueden intercambiar información entre ellos. Se pueden comunicar porque están unidos a través de conexiones telefónicas,

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... Tabla de Contenido PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... 2 1. LA PRESENCIA DE INFORMACIÓN Y AYUDA ÚTIL PARA COMPLETAR LOS TRÁMITES EN LÍNEA.... 2 2. LA DISPONIBILIDAD DE DIVERSOS

Más detalles

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

Cómo ayudarles con las tareas escolares si no sabemos euskera?

Cómo ayudarles con las tareas escolares si no sabemos euskera? Cómo ayudarles con las tareas escolares si no sabemos euskera? Objetivo: desarrollar la autonomía de aprendizaje Tanto si sabemos euskera como si no sabemos euskera, la pregunta que debemos responder los

Más detalles

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

Caso práctico de Cuadro de Mando con Tablas Dinámicas

Caso práctico de Cuadro de Mando con Tablas Dinámicas 1 Caso práctico de Cuadro de Mando con Tablas Dinámicas Luis Muñiz Socio Director de SisConGes & Estrategia Introducción Hay una frase célebre que nos permite decir que: Lo que no se mide no se puede controlar

Más detalles

COMPRAS CEPAS A TRAVÉS DE INTERNET PORTAL CEPAS

COMPRAS CEPAS A TRAVÉS DE INTERNET PORTAL CEPAS COMPRAS CEPAS A TRAVÉS DE INTERNET PORTAL CEPAS Es un sistema que describe las funcionalidades claves a través de Internet. Se pueden efectuar las compras, ver la trazabilidad de los pedidos y visualizar

Más detalles

Máster en Lenguajes y Sistemas Informáticos: Tecnologías del Lenguaje en la Web Universidad de Educación a Distancia Marzo 2013

Máster en Lenguajes y Sistemas Informáticos: Tecnologías del Lenguaje en la Web Universidad de Educación a Distancia Marzo 2013 Presentación de Trabajo de Fin de Máster PROPUESTA DE BÚSQUEDA SEMÁNTICA: APLICACIÓN AL CATÁLOGO DE MAPAS, PLANOS Y DIBUJOS DEL ARCHIVO GENERAL DE SIMANCAS Máster en Lenguajes y Sistemas Informáticos:

Más detalles

CURSO COORDINADOR INNOVADOR

CURSO COORDINADOR INNOVADOR CURSO COORDINADOR INNOVADOR PRESENTACIÓN La tarea que el Ministerio de Educación se propone a través de Enlaces, en relación al aseguramiento del adecuado uso de los recursos, con el fin de lograr un impacto

Más detalles

Más Clientes Más Rápido: Marketing Online bien enfocado

Más Clientes Más Rápido: Marketing Online bien enfocado Más Clientes Más Rápido: Marketing Online bien enfocado A continuación describo una propuesta comercial que estimo le interesará ya que tiene el potencial de incrementar su negocio en un período relativamente

Más detalles

Qué necesito saber para tener mi sitio web en Internet?

Qué necesito saber para tener mi sitio web en Internet? Qué necesito saber para tener mi sitio web en Internet? Introducción Antes es importante tener en cuenta que Es importante considerar lo siguiente: Definir claramente tu actividad en Internet Establecer

Más detalles

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000 Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000 Informe 14 de marzo de 2014 Copyright 2014 20000Academy. Todos los derechos reservados. 1 Resumen ejecutivo Antes

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

La elección de Blogger como la plataforma o lugar donde

La elección de Blogger como la plataforma o lugar donde 1. INTRODUCCIÓN La elección de Blogger como la plataforma o lugar donde alojar nuestro blog es adecuada si no deseamos complicarnos con la instalación de un servidor propio, con todo lo que ello conlleva:

Más detalles

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina 25. 28108 Alcobendas, Madrid. www.ahorracom.com

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina 25. 28108 Alcobendas, Madrid. www.ahorracom.com PAGTE Plan de Ahorro y Gestión de Telecomunicaciones para Empresas En Ahorracom nos ponemos de su parte. Por eso nos interesa que usted, nuestro cliente, esté al tanto de todos los procesos que llevamos

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Gabinete Jurídico. Informe jurídico 0196/2014

Gabinete Jurídico. Informe jurídico 0196/2014 Informe jurídico 0196/2014 La consulta plantea cuestiones relacionadas con el cumplimiento del art. 22.2 de la Ley 34/2002 de 11 de julio de Servicios de la Sociedad de la Información y de comercio electrónico

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Proyecto Scratch: http://scratch.mit.edu/projects/38518614/

Proyecto Scratch: http://scratch.mit.edu/projects/38518614/ Proyecto Scratch: http://scratch.mit.edu/projects/38518614/ SISTEMAS DE NUMERACÍON Dos de los sistemas de numeración más utilizados son el sistema decimal, que se emplea en la vida cotidiana, y el sistema

Más detalles

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE

1.4.1.2. Resumen... 1.4.2. ÁREA DE FACTURACIÓN::INFORMES::Pedidos...27 1.4.2.1. Detalle... 1.4.2.2. Resumen... 1.4.3. ÁREA DE MANUAL DE USUARIO DE ABANQ 1 Índice de contenido 1 ÁREA DE FACTURACIÓN......4 1.1 ÁREA DE FACTURACIÓN::PRINCIPAL...4 1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA...4 1.1.1.1. ÁREA DE FACTURACIÓN::PRINCIPAL::EMPRESA::General...4

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Alberto Marcano Díaz

Alberto Marcano Díaz Tutorial sobre Internet y su uso (Básico) Creado por: Alberto Marcano Díaz alberto.marcano@gmail.com Diciembre, 2006 San Cristóbal, Táchira. VENEZUELA En la nueva era, Internet y todo su entorno es una

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

ESTRATEGIAS ANTES, DURANTE Y DESPUÉS DE LA LECTURA.

ESTRATEGIAS ANTES, DURANTE Y DESPUÉS DE LA LECTURA. LÍNEA TEMÁTICA: ESTRATEGIAS DIDÁCTICAS DTI MARÍA GUADALUPE IBARRA CORDOVA Correo electrónico mgic30@hotmail.com JUSTIFICACIÓN Los estudios realizados para examinar la influencia de la identificación de

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Nicole García Gómez 2830047-6 Diego Riquelme Adriasola 2621044-5 RESUMEN.- La minería de datos corresponde a la extracción

Más detalles

Buscadores basados en agentes inteligentes

Buscadores basados en agentes inteligentes Buscadores basados en agentes inteligentes Los buscadores de contenido Estos han sido esenciales a lo largo de todo el desarrollo de la web. Basados en coincidencias de palabras o frases. Desventajas Escasa

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Capítulo 1 Documentos HTML5

Capítulo 1 Documentos HTML5 Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs

Más detalles

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

Qué es Google Calendar? Qué se puede hacer en Google Calendar? Qué es Google Calendar? Google Calendar es una herramienta web 2.0 que permite tener una agenda virtual a la que se puede acceder desde cualquier lugar, en forma gratuita. La característica más interesante

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

La Web Semántica como herramienta para e-learning

La Web Semántica como herramienta para e-learning La Web Semántica como herramienta para e-learning Lidia Marina López llopez@uncoma.edu.ar Departamento de Ciencias de la Computación Universidad Nacional del Comahue Buenos Aires 1400 8300 Neuquén Tel.

Más detalles

1. A qué se parece Internet? 2. Cómo comenzó Internet? 3. De quién es ahora Internet?

1. A qué se parece Internet? 2. Cómo comenzó Internet? 3. De quién es ahora Internet? PREGUNTAS MÁS FRECUENTES SOBRE INTERNET I (Tutoriales) 1. A qué se parece Internet? Al principio, se comparaba Internet con una gran biblioteca universal, abierta las 24 horas del día. En las páginas de

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

6.1. BIBLIOTECA (VIRTUAL) DE WEBQUEST.

6.1. BIBLIOTECA (VIRTUAL) DE WEBQUEST. 6.1. BIBLIOTECA (VIRTUAL) DE WEBQUEST. Hay varios ejemplos de sitios Web dedicados a almacenar WebQuest. Bernie Dodge mantiene en sus páginas una tabla (Figura 17) con los WebQuest publicados de los que

Más detalles

HOT POTATOES: UNA NUEVA HERRAMIENTA EDUCATIVA

HOT POTATOES: UNA NUEVA HERRAMIENTA EDUCATIVA HOT POTATOES: UNA NUEVA HERRAMIENTA EDUCATIVA ÍNDICE: 1. Introducción 2. Programa Hot Potatoes 3. Requisitos del programa 4. Configuración de Hot Potatoes 5. Bibliografía 1. INTRODUCCIÓN Con la aparición

Más detalles

INTEGRACIÓN DE LA TECNOLOGÍA DENTRO DEL ÁREA EDUCATIVA

INTEGRACIÓN DE LA TECNOLOGÍA DENTRO DEL ÁREA EDUCATIVA INTEGRACIÓN DE LA TECNOLOGÍA DENTRO DEL ÁREA EDUCATIVA Iniciativa Intel Educación Por Paloma Hernández Arguello Carla Yussel Ruiz Lara 12 INDICE Introducción. 1 Programa Intel Educar. 2 Herramientas para

Más detalles

1. INTRODUCCIÓN 1.1 INGENIERÍA

1. INTRODUCCIÓN 1.1 INGENIERÍA 1. INTRODUCCIÓN 1.1 INGENIERÍA Es difícil dar una explicación de ingeniería en pocas palabras, pues se puede decir que la ingeniería comenzó con el hombre mismo, pero se puede intentar dar un bosquejo

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00 La mayor parte de las dependencias no habían manejado el IVA en los recibos oficiales, que era el documento de facturación de nuestra Universidad, actualmente ya es formalmente un CFD pero para el fin

Más detalles

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B 141 1 FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 Unidad 6 B 142 2 Índice SEGUIMIENTO DE PERSONAS 1 INFORMES 2 143 3 SEGUIMIENTO DE PERSONAS E INFORMES EN MOODLE El seguimiento de los participantes en Moodle

Más detalles

Qué es una página web?, qué conoces al respecto?, sabes crear una página

Qué es una página web?, qué conoces al respecto?, sabes crear una página Semana 13 13 Empecemos! Bienvenidos a una nueva sesión, llena de aprendizajes! En semanas anteriores estudiamos lo que son bases de datos, estructuras de datos y métodos de ordenamientos, todo lo cual

Más detalles

Prezi: editor de presentaciones

Prezi: editor de presentaciones Prezi: editor de presentaciones Descripción Francisco Mora En momentos en que la Web 2.0 es un entorno de interacción, aparecen múltiples servicios que permiten compartir y editar recursos de forma conjunta.

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final INTRODUCCION En principio surgió la idea de un buscador que brinde los resultados en agrupaciones de

Más detalles

MEDICION DEL TRABAJO

MEDICION DEL TRABAJO MEDICION DEL TRABAJO Habíamos dicho al comenzar el curso que habían 4 técnicas que permiten realizar una medición del trabajo 1 Técnicas Directas: - Estudio de tiempos con cronómetro - Muestreo del trabajo

Más detalles

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO CATÁLOGO MANUAL DE USUARIO 1. CATÁLOGO MANUAL DE USUARIO CATÁLOGO AHORA CATÁLOGO MANUAL DE USUARIO 1 1. Introducción AHORA Catálogo es una aplicación

Más detalles

Indicaciones específicas para los análisis estadísticos.

Indicaciones específicas para los análisis estadísticos. Tutorial básico de PSPP: Vídeo 1: Describe la interfaz del programa, explicando en qué consiste la vista de datos y la vista de variables. Vídeo 2: Muestra cómo crear una base de datos, comenzando por

Más detalles

1. Que es un nombre de dominio? Es un conjunto de caracteres alfanuméricos utilizados para identificar una computadora determinada en Internet.

1. Que es un nombre de dominio? Es un conjunto de caracteres alfanuméricos utilizados para identificar una computadora determinada en Internet. Preguntas Frecuentes: 1. Que es un nombre de dominio? Es un conjunto de caracteres alfanuméricos utilizados para identificar una computadora determinada en Internet. Cada computadora en Internet tiene

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

FAQ Parking PPC de SEDO. NicLine

FAQ Parking PPC de SEDO. NicLine FAQ Parking PPC de SEDO NicLine Se prohíbe la reproducción, transmisión, transformación, distribución o el ejercicio de cualquier derecho de autor de este documento, total o parcial, sin la autorización

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Web. Web Diapositiva 1

Web. Web Diapositiva 1 Web Servicio WorldWideWeb Historia de la Web URL Dominios Dominio de alto nivel Cómo funciona? Hipertexto e Hipervínculos Sitios Web y Páginas de Inicio Cómo identificar los hipervínculos? Navegador Web

Más detalles

Ingeniería del Software I

Ingeniería del Software I - 1 - Ingeniería del Software I Introducción al Modelo Conceptual 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 CLASES CONCEPTUALES... 3 ESTRATEGIAS PARA IDENTIFICAR CLASES CONCEPTUALES... 3 Utilizar lista

Más detalles

0 PENSANDO A TRAVÉS DEL JUEGO.

0 PENSANDO A TRAVÉS DEL JUEGO. 0 PENSANDO A TRAVÉS DEL JUEGO. Los niños niñas nos llegan a la escuela a los 3 años y es entonces cuando empiezan a tomar conciencia de que van a ella para aprender. Cuál es la imagen que según ellos hay

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

UNIDAD 1. LOS NÚMEROS ENTEROS.

UNIDAD 1. LOS NÚMEROS ENTEROS. UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar

Más detalles

Educación y capacitación virtual, algo más que una moda

Educación y capacitación virtual, algo más que una moda Éxito Empresarial Publicación No.12 marzo 2004 Educación y capacitación virtual, algo más que una moda I Introducción Últimamente se ha escuchado la posibilidad de realizar nuestra educación formal y capacitación

Más detalles

Manual del Alumno de la plataforma de e-learning.

Manual del Alumno de la plataforma de e-learning. 2 Manual del Alumno de la Plataforma de E-learning 3 4 ÍNDICE 1. Página de Inicio...7 2. Opciones generales...8 2.1. Qué es el Campus...8 2.2. Nuestros Cursos...9 2.3. Cómo matricularme...9 2.4. Contactar...9

Más detalles

Host. En este texto, entenderemos por host toda máquina - léase computadora. Cuenta. Una cuenta, en general, es un espacio de memoria y de disco que

Host. En este texto, entenderemos por host toda máquina - léase computadora. Cuenta. Una cuenta, en general, es un espacio de memoria y de disco que CONCEPTOS BASICOS. Usuario. Un usuario es toda persona que utilice una computadora. Host. En este texto, entenderemos por host toda máquina - léase computadora - conectada a InterNet. También se les llaman

Más detalles

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa Código del programa: PEMDE Programa Experto en MANEJO DE DATOS CON EXCEL Modalidad: Virtual Descripción del programa 1 Presentación del programa Justificación Microsoft Excel es la herramienta de manejo

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

e-commerce vs. e-business

e-commerce vs. e-business Formas de interactuar en los negocios e-commerce vs. e-business Día a día debemos sumar nuevas palabras a nuestro extenso vocabulario, y e-commerce y e-business no son la excepción. En esta nota explicamos

Más detalles

6. DESCRIPCIÓN DEL SOFTWARE

6. DESCRIPCIÓN DEL SOFTWARE Capítulo 2. Equipo 6. DESCRIPCIÓN DEL SOFTWARE 6.1 Introducción El equipo de medida descrito en el capítulo anterior lleva asociado un software que hace de sistema de control del proceso de medición. Este

Más detalles

MODELO PARA LA ELABORACIÓN DE PROGRAMACIONES Y UNIDADES DIDÁCTICAS POR COMPETENCIAS. Autor: Daniel Hernández Cárceles

MODELO PARA LA ELABORACIÓN DE PROGRAMACIONES Y UNIDADES DIDÁCTICAS POR COMPETENCIAS. Autor: Daniel Hernández Cárceles MODELO PARA LA ELABORACIÓN DE PROGRAMACIONES Y UNIDADES DIDÁCTICAS POR COMPETENCIAS Autor: Daniel Hernández Cárceles INDICE: 1. INTRODUCCIÓN.... 2 2. COMPETENCIAS BÁSICAS... 2 3. PASOS PARA ELABORAR UNA

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

En nuestro capitulo final, daremos las conclusiones y las aplicaciones a futuro

En nuestro capitulo final, daremos las conclusiones y las aplicaciones a futuro Capitulo 6 Conclusiones y Aplicaciones a Futuro. En nuestro capitulo final, daremos las conclusiones y las aplicaciones a futuro para nuestro sistema. Se darán las conclusiones para cada aspecto del sistema,

Más detalles

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: germanpaz_ar@hotmail.com =========0========= Introducción

Más detalles

Cómo preguntarle a Internet? (tutorial)

Cómo preguntarle a Internet? (tutorial) Cómo preguntarle a Internet? (tutorial) Y a hemos aprendido acerca de las mejores herramientas de búsqueda, sobre distintos métodos, diferenciamos la Web Superficial de la Profunda y descubrimos sus características.

Más detalles

PAGINA WEB LA PIEL LEIDY HURTADO COD. 1093216328 JULIÁN GONZÁLEZ COD. 1112768328 UNIVERSIDAD TECNOLÓGICA DE PEREIRA

PAGINA WEB LA PIEL LEIDY HURTADO COD. 1093216328 JULIÁN GONZÁLEZ COD. 1112768328 UNIVERSIDAD TECNOLÓGICA DE PEREIRA PAGINA WEB LA PIEL LEIDY HURTADO COD. 1093216328 JULIÁN GONZÁLEZ COD. 1112768328 UNIVERSIDAD TECNOLÓGICA DE PEREIRA LIC EN COMUNICACIÓN E INFORMÁTICA EDUCATIVA INFORMÁTICA EDUCATIVA III MAYO DE 2009 PAGINA

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

COMO AUMENTAR MIS VENTAS: ENFOQUE EN PROMOCION Y PUBLICIDAD

COMO AUMENTAR MIS VENTAS: ENFOQUE EN PROMOCION Y PUBLICIDAD COMO AUMENTAR MIS VENTAS: ENFOQUE EN PROMOCION Y PUBLICIDAD OBJETIVOS Conocer la importancia del uso de Publicidad y Promoción en el negocio. Cómo mejorar el negocio a través de la Promoción y Publicidad.

Más detalles

UNIVERSIDAD TECNICA DEL NORTE

UNIVERSIDAD TECNICA DEL NORTE UNIVERSIDAD TECNICA DEL NORTE FACULTAD DE INGENIERIA EN CIENCIAS APLICADAS ESCUELA DE INGENIERIA EN SISTEMAS COMPUTACIONALES MANUEL DE USUARIO TEMA: SISTEMA INFORMÁTICO PARA LA PROMOCIÓN Y PUBLICIDAD DE

Más detalles

Técnicas para mejorar nuestro Posicionamiento

Técnicas para mejorar nuestro Posicionamiento Para aumentar nuestras ganancias deberíamos: 1. Llegar a mayor cantidad de público. 2. Aumentar el valor percibido de nuestro producto (lo que nos permite subir el precio de venta). 3. Aumentar la tasa

Más detalles

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web Kexy Rodríguez kexy.rodriguez@utp.ac.pa Centro de Investigación, Postgrado y Extensión UTPVirtual Universidad Tecnológica de Panamá

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

3º Grado Educación Infantil Bilingüe Números. Método Singapur y F. Bravo E R

3º Grado Educación Infantil Bilingüe Números. Método Singapur y F. Bravo E R MATEMÁTICAS PARA EDUCACIÓN INFANTIL N Enseñamos y aprendemos llos números:: Método Siingapur y Fernández Bravo,, Porr Clarra Garrcí ía,, Marrtta Gonzzál lezz y Crri isstti ina Lattorrrre.. Ú M E R O S

Más detalles

Construcción colaborativa de mapas conceptuales o Visualizaciones gráficas a través de la conexión Cmaptool y CmapServer del Grupo EAV (UPB)

Construcción colaborativa de mapas conceptuales o Visualizaciones gráficas a través de la conexión Cmaptool y CmapServer del Grupo EAV (UPB) Construcción colaborativa de mapas conceptuales o Visualizaciones gráficas a través de la conexión Cmaptool y El procedimiento: 1. Abra el programa Cmaptools. Si no lo ha instalado recuerde que puede descargarlo

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

QUE TIPO DE TRADUCCION NECESITO? Nosotros le ayudamos a definir el tipo de traducción que se ajusta a sus necesidades.

QUE TIPO DE TRADUCCION NECESITO? Nosotros le ayudamos a definir el tipo de traducción que se ajusta a sus necesidades. QUE TIPO DE TRADUCCION NECESITO? Nosotros le ayudamos a definir el tipo de traducción que se ajusta a sus necesidades. Definir el tipo de traducción que usted necesita es el primer paso para obtener un

Más detalles