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

Anuncio
La naturaleza de la información
semántica en la Web.
TESIS DE GRADO EN INGENIERIA INFORMATICA
FACULTAD DE INGENIERIA
UNIVERSIDAD DE BUENOS AIRES
TESISTA:
Daniel Fernández
DIRECTORES
Lic. Gustavo López
Lic. Ismael Jeder
Lic. Arturo Servetto
Lic. Adriana Echeverría
Laboratorio de Informática de Gestión
Departamento de Computación
Mayo de 2009
Daniel Fernández
TESIS DE GRADO
2
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
Índice
Capítulo 1: Introducción ..................................... 7
1.1.
1.2.
1.3.
1.4.
Introducción ................................................................... 8
Motivaciones ................................................................. 10
Objetivos...................................................................... 10
Estructura del documento ............................................... 11
Capítulo 2: La información ................................ 12
2.1. World Wide Web ............................................................ 13
2.2. El significado de los datos de la Web ................................ 15
2.3. El procesamiento del lenguaje natural .............................. 17
2.3.1. Lenguaje ............................................................... 17
2.3.2. Historia ................................................................. 18
2.3.3. Cómo trabaja el PLN ............................................... 19
2.3.4. Problemas y limitaciones ......................................... 21
2.4. EL PLN y la Web ............................................................ 24
2.5. Web Scraping ............................................................... 27
2.5.1. Dapper .................................................................. 29
2.5.2. Yahoo! Pipes .......................................................... 32
2.6. Aproximación top-down.................................................. 34
2.7. Nueva aproximación: bottom-up ..................................... 36
2.8. Resumen investigación ................................................... 38
Capítulo 3: Los metadatos ................................ 39
3.1. Los datos sobre los datos ............................................... 40
3.2. Web Semántica ............................................................. 42
3.2.1. Las diferentes Capas ............................................... 43
3.2.2. Unicode ................................................................. 44
3.2.3. URI ....................................................................... 45
3.2.4. XML, NS y XML Schema ........................................... 46
3.2.5. RDF ...................................................................... 49
3.2.6. RDF Schema .......................................................... 57
3.2.7. OWL...................................................................... 59
3.2.8. Lógica ................................................................... 66
3.2.9. Prueba .................................................................. 67
3.2.10.
Confianza ............................................................ 68
3.3. Microformatos ............................................................... 69
3.3.1. hCard .................................................................... 70
3.3.2. hCalendar .............................................................. 71
3.3.3. hReview ................................................................ 72
3.4. Los problemas de la aproximación bottom-up ................... 74
3.5. Microformatos vs. RDF ................................................... 76
3.6. La tecnología más adecuada ........................................... 78
3.7. Resumen investigación ................................................... 79
5
Daniel Fernández
TESIS DE GRADO
Capítulo 4: La red social semántica .................... 80
4.1. Solución propuesta ........................................................ 81
4.1.1. Red social de dominio libre ...................................... 83
4.1.2. Creación de datos y metadatos ................................. 88
4.1.3. Búsqueda semántica ............................................... 92
4.1.4. Notificaciones semánticas ........................................ 96
4.1.5. Repositorio de esquemas calificados .......................... 97
4.1.6. Exportación de datos ............................................. 101
4.2. Ejemplo ..................................................................... 102
4.3. Pruebas y resultados.................................................... 123
4.3.1. Pruebas ............................................................... 123
4.3.2. Resultados ........................................................... 125
Capítulo 5: Conclusiones y trabajo futuro .......... 128
5.1. Conclusiones ............................................................... 129
5.2. Futuras líneas de trabajo .............................................. 131
5.3. Bibliografía ................................................................. 132
6
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
1.1.
TESIS DE GRADO
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
documentos1 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
Daniel Fernández
TESIS DE GRADO
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 social2.
2
Se considera software social a las aplicaciones cuyo contexto de trabajo es comunitario y colaborativo.
9
Daniel Fernández
1.2.
TESIS DE GRADO
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.
1.3.
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
Daniel Fernández
1.4.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.1.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
aplicación en particular, solo una porción de dicha información es útil y
el resto es ruido3.
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 27000 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
Daniel Fernández
TESIS DE GRADO
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 1945. 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 480-479 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: http://es.wikipedia.org/wiki/2%C2%AA_Guerra_Mundial
5 Texto extraído de la siguiente URL: http://es.wikipedia.org/wiki/Imperio_Persa
15
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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.
2.3.1.
Lenguaje
El lenguaje se define como “Un conjunto de oraciones, que usualmente es
infinito y se forma con combinaciones de palabras del diccionario. Es
necesario que esas combinaciones sean correctas (con respecto a sintaxis) y
tengan sentido (con respecto a la 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
Daniel Fernández
2.3.2.
TESIS DE GRADO
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 1940-1960, 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
Daniel Fernández
TESIS DE GRADO
2.3.3.
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.
2.3.3.1. 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
Daniel Fernández
<nota>
TESIS DE GRADO
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.
2.3.3.2. 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
Daniel Fernández
TESIS DE GRADO
ARTI+VERB=PROHIBIDO
ARTI+HOMOGRAFÍA(SUST,VERB)=SUST
2.3.3.3. 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.
2.3.4.
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.4.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
Figura 2. Ejemplo gráfico de una página Web que promociona películas.
25
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.5.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.5.1.
TESIS DE GRADO
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, email y otros.
Para darle cierto dinamismo al dapp, se le pueden especificar variables de
entrada. Las mismas se asocian a cajas de texto de la 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
Daniel Fernández
TESIS DE GRADO
Figura 4: Resultado en OneWorld.net luego de ingresar en la búsqueda
la palabra “semantic”.
30
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.5.2.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.6.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.7.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
2.8.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
3.1.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
3.2.
TESIS DE GRADO
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
Daniel Fernández
3.2.1.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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.
3.2.2.
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
Daniel Fernández
TESIS DE GRADO
Unicode representa cada carácter como un número de 2 bytes, de 0 a
65535. 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-8859-1 (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 128-255 para tener caracteres como ñ (241) y ü (252).
Para respetar las viejas codificaciones, unicode usa los mismos caracteres que
el ASCII de 7 bits para los números del 0 al 127, y los mismos caracteres que
ISO-8859-1 del 128 al 255, y de ahí en adelante se extiende para otros
lenguajes que usan el resto de los números, del 256 al 65535.
3.2.3.
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: http://www.google.com:80/ig
Mientras que el formato de URN es:
urn:<namespace>:<string>
45
Daniel Fernández
TESIS DE GRADO
Ejemplo: urn:isbn:90-365-17273
Ambos son URIs. Otros ejemplos de URIs serían:
http://ejemplo/recurso.txt#seccion01
http://ejemplo/de/uri/recurso.txt
/ejemplo/de/uri/recurso.txt
de/uri/recurso.txt
../../../recurso.txt
recurso.txt
/recurso.txt#seccion01
#seccion01
En la Web 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.
3.2.4.
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
Daniel Fernández
TESIS DE GRADO
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="http://www.ejemplo.com/mivocabulario">
<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="http://www.w3.org/2001/XMLSchema">
<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
Daniel Fernández
TESIS DE GRADO
</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="http://www.w3.org/2001/XMLSchema-instance"
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
Daniel Fernández
TESIS DE GRADO
3.2.5.
RDF
RDF es un lenguaje basado en XML originalmente creado en 1999 para
modelar los recursos de la Web. Está descripto en una serie de documentos de
la W3C conocidos como “recomendaciones”. Los principales documentos que
describen RDF son “RDF/XML Syntax Specification (Revised)” [Beckett, 2004]
y “RDF Vocabulary Description Language 1.0: RDF Schema” [Brickley et al,
2004]. El primero se focaliza en los aspectos 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.
3.2.5.1. 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:
http://ejemplo.com/flashes.html tienen un creador cuyo valor es Ribas
Se puede ver que el ejemplo consta de tres partes:
I - La cosa que la afirmación describe:
http://ejemplo.com/flashes.html
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
Daniel Fernández
TESIS DE GRADO
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: http://ejemplo.com/flashes.html
Predicado: Creador
Objeto: Ribas
El sujeto (recurso) y el predicado (la propiedad) deben estar identificados
mediante una URI. En cambio el objeto de una 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: http://ejemplo.com/flashes.html
Predicado: http://purl.org/dc/elements/1.1/creator
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
Daniel Fernández
TESIS DE GRADO
3.2.5.2. 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): http://ejemplo.com/flashes.html
Predicado (Propiedad): http://purl.org/dc/elements/1.1/creator
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
(http://ejemplo.com/flashes.html). 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 email,
se crearía la afirmación de la siguiente manera:
El individuo cuyo nombre es Ribas y su correo electrónico [email protected],
es el creador de http://ejemplo.com/flashes.html.
El creador se convierte ahora en una estructura más compleja que
contiene un nombre y un email. 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 12.
51
Daniel Fernández
TESIS DE GRADO
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, http://organizacionejemplo.com/23164), la afirmación RDF se puede
escribir de la siguiente manera:
El individuo identificado por http://organizacionejemplo.com/23164, que
tiene un nombre que es Ribas y un correo electrónico que es [email protected],
es el creador de http://ejemplo.com/flashes.html.
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
Daniel Fernández
TESIS DE GRADO
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 http://organizacionejemplo.com/23164 tiene un
nombre que es Ribas y un correo electrónico que es [email protected].
El individuo identificado por http://organizacionejemplo.com/23164 es el
creador de http://ejemplo.com/flashes.html.
No importa si se expresa en conjunto o divida en partes, el resultado
semántico de la afirmación es el mismo.
3.2.5.3. Etiquetas RDF
RDF define un conjunto de etiquetas XML. Por ejemplo, algunas de ellas
son:
rdf:RDF
Es la forma de marcar el principio y el final de un documento RDF. Es
opcional siempre y cuando se especifique el sistema de trabajo para la
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
Daniel Fernández
TESIS DE GRADO
3.2.5.4. Ejemplos RDF
La afirmación anteriormente nombrada que se escribe en lenguaje natural:
como
http://ejemplo.com/flashes.html tienen un creador cuyo valor es Ribas
puede representarse en RDF/XML de la siguiente manera:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://ejemplo.com/flashes.html">
<dc:creator>Ribas</dc:creator>
</rdf:Description>
</rdf:RDF>
La afirmación más compleja escrita como:
El individuo identificado por http://organizacionejemplo.com/23164, que
tiene un nombre que es Ribas y un correo electrónico que es [email protected],
es el creador de http://ejemplo.com/flashes.html.
se representa de la siguiente manera:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:card="http://persona.org/card/1.3/">
<rdf:Description rdf:about="http://ejemplo.com/flashes.html">
<dc:creator>
<rdf:Description
rdfs:resource="http://organizacionejemplo.com/231
64">
<card:name>Ribas</card:name>
<card:email>[email protected]</card:email>
</rdf:Description >
</dc:creator>
</rdf:Description>
</rdf:RDF>
También puede dividirse en dos partes:
54
Daniel Fernández
TESIS DE GRADO
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:card="http://persona.org/card/1.3/">
<rdf:Description rdf:about="http://ejemplo.com/flashes.html">
<dc:creator
rdfs:resource="http://organizacionejemplo.com/23164"/>
</rdf:Description>
<rdf:Description
rdfs:resource="http://organizacionejemplo.com/23164">
<card:name>Ribas</card:name>
<card:email>[email protected]</card:email>
</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="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:pel="http://www.pelej.com/vocabulario">
<rdf:Description
rdf:about="http://www.pelej.com/peliculas/#pel07153">
<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="http://www.pelej.com/peliculas/#pel07154">
<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="http://www.pelej.com/peliculas/#pel07155">
<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
Daniel Fernández
TESIS DE GRADO
</pel:descripcion>
</rdf:Description>
<rdf:Description
rdf:about="http://www.pelej.com/peliculas/#pel07156">
<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="http://www.pelej.com/peliculas/#pel07157">
<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="http://www.pelej.com/peliculas/#pel071
53">
</rdf:li>
<rdf:li
rdf:resource="http://www.pelej.com/peliculas/#pel071
54">
</rdf:li>
<rdf:li
rdf:resource="http://www.pelej.com/peliculas/#pel071
55">
</rdf:li>
<rdf:li
rdf:resource="http://www.pelej.com/peliculas/#pel071
56">
</rdf:li>
</rdf:Bag>
</pel:enCartelera>
<pel:masVotada
rdf:resource="http://www.pelej.com/peliculas/#pel07157"/>
</rdf:RDF>
56
Daniel Fernández
3.2.6.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
3.2.7.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
3.2.7.1. 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:
IIIIII-
Permitir el intercambio de datos entre programas.
Simplificar
la
unificación
(o
traducción)
representaciones.
Facilitar la comunicación entre personas.
de
distintas
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 14.
60
Daniel Fernández
TESIS DE GRADO
Figura 14. Ejemplo de un razonamiento con reglas de inferencia.
3.2.7.2. 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.
3.2.7.2.1. 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.
3.2.7.2.2. 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
Daniel Fernández
TESIS DE GRADO
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.
3.2.7.2.3. 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.
IIIIIIIV-
Cada ontología legal de OWL Lite es una ontología legal de OWL DL
Cada ontología legal de OWL DL es una ontología legal de OWL Full
Cada conclusión válida de OWL Lite es una conclusión válida de
OWL DL
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.
3.2.7.3. 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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
3.2.7.4. 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="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://ejemplo.com/flashes.html">
<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="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:emp="http://empresa.ejemplo.com/elementos/">
<rdf:Description rdf:about="http://ejemplo.com/flashes.html">
<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
Daniel Fernández
TESIS DE GRADO
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#">
<owl:ObjectProperty
rdf:about="http://purl.org/dc/elements/1.1/creador">
<owl:equivalentProperty
rdf:about="http://purl.org/dc/elements/1.1/autor">
</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
Daniel Fernández
3.2.8.
TESIS DE GRADO
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
Daniel Fernández
3.2.9.
TESIS DE GRADO
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
Daniel Fernández
3.2.10.
TESIS DE GRADO
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
Daniel Fernández
3.3.
TESIS DE GRADO
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
Daniel Fernández
3.3.1.
TESIS DE GRADO
hCard
hCard es un formato simple utilizado para representar personas,
compañías, organizaciones y lugares. Se puede almacenar detalles personales
como nombre, url, email, dirección, foto, título, etc. Un ejemplo de hCard es el
siguiente:
<div class="vcard">
<a class="url" href="www.exampleorganization.com">John 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">1 535 34423</div>
</div>
La salida en una página Web es la siguiente:
John Stweart
Example Organization
Peru
Marshfield, WI 54449
1 535 34423
70
Daniel Fernández
3.3.2.
TESIS DE GRADO
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="www.eventoejemplo.com">
<abbr title="20080203T1200-0300" class="dtstart">
3 de Febrero 12pm
</abbr>,
<abbr title="20080203T1600-0300" 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
Daniel Fernández
3.3.3.
TESIS DE GRADO
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="http://www.comercioejemplo.com/prod/p00452">
<img src="http:// www.comercioejemplo.com/prod/img/p00452.jpg"
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="http://diegomoreno.ejemplo.com/blog/">
Diego Moreno
</a>,
<abbr title="200502" class=" dtreviewed ">
Febrero 2008
</abbr>
</p>
</div>
La salida en una página Web es la siguiente:
72
Daniel Fernández
TESIS DE GRADO
¡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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
3.5.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
3.6.
TESIS DE GRADO
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
Daniel Fernández
3.7.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
4.1.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
4.1.1.
Red social de dominio libre
4.1.1.1. 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
Camila
Diego
Juan
Manuel
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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.
4.1.1.2. 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
Daniel Fernández
Red Social
Amie Street
aNobii
Avatars United
CafeMom
del.icio.us
DeviantART
EasyRoommate
Facebook
Flickr
Flixster
Linkedin
Sportsvite
TravBuddy.com
TESIS DE GRADO
Url
http://amiestreet.com
http://www.anobii.com
http://www.avatarsunited.com
http://www.cafemom.com
http://delicious.com
http://www.deviantart.com
http://www.easyroommate.com
http://www.facebook.com
http://www.flickr.com
http://www.flixster.com
http://www.linkedin.com
http://www.sportsvite.com
http://www.travbuddy.com
Objeto
Música
Libros
Juegos online
Madres
Enlaces
Arte
Hospedaje
Entretenimiento
Fotos
Películas
Profesionales
Deportes
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, email,
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
4.1.2.
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.
4.1.2.1. 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
http://www.meantoo.com/vocabulary/tempprop#Text
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Text">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label>Text</rdfs:label>
<rdfs:comment>Text</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
2 - Entero
Definición
Número entero
URI
88
Daniel Fernández
TESIS DE GRADO
http://www.meantoo.com/vocabulary/tempprop#Integer
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Integer">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Integer </rdfs:label>
<rdfs:comment> Integer </rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
3 – Imagen
Definición
Archivo de tipo imagen
URI
http://www.meantoo.com/vocabulary/tempprop#Image
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Image">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Image </rdfs:label>
<rdfs:comment> Image </rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
4 – Fecha
Definición
Día, mes, año
URI
http://www.meantoo.com/vocabulary/tempprop#Date
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Date">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Date </rdfs:label>
<rdfs:comment> Date </rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
5 - Hora
Definición
Hora, minuto, segundos
URI
http://www.meantoo.com/vocabulary/tempprop#Time
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Time">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Time </rdfs:label>
<rdfs:comment> Time </rdfs:comment>
89
Daniel Fernández
TESIS DE GRADO
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
6 - Booleano
Definición
Verdadero o falso
URI
http://www.meantoo.com/vocabulary/tempprop#Boolean
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Boolean">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Boolean </rdfs:label>
<rdfs:comment> Boolean </rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
7 - Enlace
Definición
Enlace Web
URI
http://www.meantoo.com/vocabulary/tempprop#Link
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Link">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Link </rdfs:label>
<rdfs:comment> Link </rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
8 – Email
Definición
Dirección de email
URI
http://www.meantoo.com/vocabulary/tempprop#Email
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#Email">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Email </rdfs:label>
<rdfs:comment> Email </rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
9 - Lista fija
90
Daniel Fernández
TESIS DE GRADO
Definición
Lista de valores fijos
URI
http://www.meantoo.com/vocabulary/tempprop#FixedList
RDF/XML
<rdfs:Class rdf:about="http://www.meantoo.com/vocabulary/tempprop#FixedList">
<rdfs:isDefinedBy rdf:resource="http://www.meantoo.com/vocabulary/tempprop#"/>
<rdfs:label> Fixedlist </rdfs:label>
<rdfs:comment> Fixed List </rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
4.1.2.2. 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:
Película
Título película: Texto
Género: Texto
Año de filmación: Fecha
Sinopsis: Texto
Imagen: Imagen
91
Daniel Fernández
TESIS DE GRADO
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.
4.1.3.
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 2000.
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
Email
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 email, distinto a email
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
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
Daniel Fernández
4.1.4.
TESIS DE GRADO
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
Daniel Fernández
TESIS DE GRADO
4.1.5.
Repositorio de esquemas
calificados
La aplicación implementada permite que el usuario defina con libertad las
estructuras de los datos que quiere generar. Estas estructuras son
almacenadas con el formato de la Web Semántica conocido como RDFs. Los
usuarios tienen las herramientas necesarias para definir en forma práctica un
esquema RDFs con sus respectivas clases y propiedades para describir los
datos de su dominio. Debido a que se puede definir cualquier esquema RDFs,
el dominio de cada usuario no se limita a un conjunto de datos en particular,
sino que puede crecer infinitamente. La creación de esquemas comunes de
manera colaborativa conlleva a un repositorio de esquemas RDF.
Como pueden existir múltiples esquemas para un concepto, es necesario
organizarlos en base a su importancia. La aplicación permite ordenar los
esquemas según la cantidad de datos que tenga asociados o según su puntaje
de calificación. Este último se obtiene de puntajes que los usuarios otorgan a
cada dato e indirectamente a su esquema.
Dos reglas se establecen en la calificación de los datos:
1 – El creador de un dato, no puede calificarlo.
Esto evita el voto redundante y el malintencionado, todo creador
implícitamente estima que su dato es bueno, de lo contrario no lo estaría
creando.
2 – El voto es positivo con un valor entre 1 y 10.
La red social semántica tiene un sistema de calificación que se lo denomina
bilateral porque un usuario puede calificar los datos de otro y, a su vez, esté
último puede también calificar los datos del primero. Por lo general, cuando se
puede calificar de manera positiva o negativa, existe un miedo entre los
usuarios de que las malas calificaciones que otorgue puedan ser devueltas en
modo de represalia. Christopher Allen y Shannon Appelcline [Allen et al, 2005]
determinaron que, debido a este miedo generado en los sistemas de
calificación bilateral, los usuarios tienden a otorgar puntuaciones positivas y
lo ejemplifican con el caso de eBay donde de cada 100 votos que se otorgan,
99 son positivos. Por eso, explican que es mejor un sistema de calificaciones
positivas que varíe en por lo menos 10 puntos. Allen y Appelcline explican que
en un rango menor de puntuación, por ejemplo de 1 a 5, el 10% de los
usuarios tiende a calificar los datos con 1 o 2 puntos, mientras que el 42,2%
los califica con 4 puntos. Esto conlleva a que se pierda información
significativa de puntuación y no haya una adecuada diferenciación en la
misma. En cambio, con un rango de 1 a 10, el 90% de los usuarios califican
con un puntaje bien distribuido entre 5 y 10 otorgando un valor más
significativo a su puntación.
97
Daniel Fernández
TESIS DE GRADO
Respetando estas dos reglas, la red social semántica debe calcular una
puntuación para cada objeto según las calificaciones que éste recibe. Una
opción es utilizar la media aritmética (promedio) entre la cantidad de votos y
votantes para asignarlo como puntaje. A continuación, se muestra una tabla
que detalla un ejemplo de calificaciones basado en la media aritmética para
cuatro objetos:
Nro. objeto
Obj1
Obj2
Obj3
Obj4
Cant. Pers.
2
26
10
1
Suma Calif.
6
110
26
5
Media Aritmética
3,00
4,23
2,60
5,00
Figura 23. Calificación de datos según la media aritmética.
- En la primera columna se enumera el objeto que se está calificando.
- La segunda columna pertenece a la suma de todas las puntaciones que el
objeto ha recibido.
- En la tercera columna aparece el número de personas que lo han votado.
- Finalmente, la cuarta muestra el resultado de calcular media de votos
aritmética del objeto (la segunda columna dividido la tercera).
Aunque utilizar la media aritmética como calificación del objeto no es
totalmente justo. Los 26 votos del objeto número dos que suman 110 puntos
dan la correcta intuición de que dicho objeto es mucho más confiable que el
número cuatro con un voto de 5 puntos. La media aritmética, sin embargo,
califica mejor al objeto número cuatro con un puntaje de 5 puntos mientras
que al objeto número dos le asigna injustamente 4,23 puntos.
El error recae en usar una aproximación aritmética que no toma en cuenta
el número total de calificaciones. Idealmente se le debe asignar menos peso a
los datos con menor cantidad de votos y más peso a aquellos que tienen mayor
cantidad. Una forma de solucionar esto y reducir el ruido generado por los
objetos con pocas votaciones es utilizar una aproximación estadística como la
media bayesiana. Esta técnica normaliza las calificaciones empujándolas
hacia la calificación promedio del sitio. De hecho, cuantos menos votos recibe
un elemento, el resultado bayesiano más se acerca a la media global de todos
ellos.
n
r
i 1
n
xi
Cm
C
Donde
98
Daniel Fernández
TESIS DE GRADO
r = media bayesiana
n = número de votos de un elemento
C = mínimo número de votos requeridos para ser listado
m = la media de todos los votos de todos los elementos
xi = valor del voto i
Si definimos R como la media aritmética de un elemento
n
i 1
R
xi
n
se obtiene
n
i 1
xi
nR
Entonces, la media bayesiana puede reescribirse de la siguiente manera:
r
nR
n
Cm
C
r
nR
n C
Cm
n C
n
r
n
R
C
C
n C
m
Si analizamos la última fórmula, vemos que el primer sumando:
v
(v
m)
R
indica el peso dado a la media propia, mientras que el segundo sumando:
m
(v m)
C
determina el peso dado a la media general.
Si se obtienen muchos votos de un elemento, pesa más la propia media de
ese elemento que la general, y viceversa, si tienes muy pocos votos, pesa más
la media general. Otra forma de explicarlo es que, cuantos más votos tiene un
elemento, menos se modifica el resultado bayesiano de la media aritmética de
ese elemento.
99
Daniel Fernández
TESIS DE GRADO
Si aplicamos la media bayesiana al ejemplo anterior, obtenemos la
siguiente tabla:
Objeto
Obj1
Obj2
Obj3
Obj4
Suma
puntuaciones
6
110
26
5
Cantidad
Votos
2
26
10
1
Media de votos
Arit. ( R )
3,00
4,23
2,60
5,00
Media total
Arit. ( C )
3,71
3,71
3,71
3,71
Figura 24 Calificación de datos según la media bayesiana.
Con m = 10
- En la primera columna se enumera el objeto que se está calificando.
- La segunda columna pertenece a la suma de todas las puntaciones que el
objeto ha recibido.
- En la tercera columna aparece el número de personas que lo han votado.
- La cuarta muestra el resultado de calcular media de votos aritmética del
objeto (la segunda columna dividido la tercera).
- En la quinta columna se detalla C, que es la media global de todos los
elementos del conjunto, es decir, la suma de todas las votaciones de todos
ellos dividido por el número de votos que han recibido todos los elementos.
- En la última columna, se calcula la media bayesiana.
Se puede ver que al aplicar la media bayesiana en la red social semántica,
se equilibran mucho mejor los pesos y la influencia de cada elemento respecto
a los demás. A diferencia del resultado generado por la media aritmética, la
media bayesiana es más justa y califica al objeto número dos con mayor
puntaje (4,09) que el objeto número cuatro (3,83).
100
Media
Bayesiana
3,59
4,09
3,15
3,83
Daniel Fernández
4.1.6.
TESIS DE GRADO
Exportación de datos
Para lograr interoperabilidad con otros sistemas, todos los datos que se
generan en la aplicación se comparten no sólo en formato RDF/XML, sino
también en formato RDFa. Se escoge RDFa, en lugar de eRDF, debido a que el
primero es soportado por la W3C, el mismo organismo que creo el RDF. Como
desventaja, RDFa sólo funciona con XHTML pero actualmente la mayoría de
los navegadores soporta dicho formato.
La exportación de datos en formatos estándar es clave para la creación de
herramientas que extraigan dichos datos. Por ejemplo, si en la red social se
guardan datos de eventos históricos, se puede crear una herramienta externa
que haga uso de dichos datos y permita generar líneas de tiempo históricas
entre dos fechas determinadas. Como el dominio no es acotado, es posible
generar cualquier tipo de herramienta que utilice los datos semánticos de la
red social y por ende, generar distintos tipos de beneficios.
101
Daniel Fernández
TESIS DE GRADO
4.2.
Ejemplo
A continuación se analizará un ejemplo más detallado de la calificación de
películas, mostrando como se visualiza cada estructura ante un usuario de la
red social semántica y como implícitamente se generan sus definiciones en
RDF/XML.
Se ejemplificarán cinco templates:
-
Template
Template
Template
Template
Template
género
imagen simple
persona simple
película
calificación película
Nota: Todos las URIS nombradas en el ejemplo no necesariamente existen
como URLs.
102
Daniel Fernández
TESIS DE GRADO
Template género
El template género es la estructura más simple de todas debido a que sólo
contiene una propiedad con el nombre del género de la película. Por ejemplo:
terror, comedia, suspenso, etc.
Estructura
Género: Texto
Género: Texto
Web
Figura 25. Captura Web de un template en la red social semántica.
URI
http://www.meantoo.com/classes/dani/1225426644
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225426644"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdfs:class rdf:id="movietype">
<rdfs:label>Movie type</rdfs:label>
<rdfs:comment>Movie classification</rdfs:comment>
<rdfs:subclassof rdf:resource="http://www.w3.org/1999/02/22-rdfsyntax-ns#Resource" />
</rdfs:class>
- <rdfs:property rdf:id="type">
<rdfs:label>Type</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movietype" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#text" />
</rdfs:property>
</rdf:rdf>
En el esquema RDF, se define una clase identificada unívocamente dentro
del mismo como “movietype”, mientras que universalmente por la siguiente
103
Daniel Fernández
TESIS DE GRADO
URI: “http://www.meantoo.com/classes/dani/1225426644#movietype”. La
misma tiene una etiqueta o nombre (label) que es “Movie type” y un
comentario (comment) que dice “Movie classification”.
La única propiedad del esquema es identificada por “type” con la etiqueta
“Type” y sin comentario. Esta propiedad es de tipo texto de la red social
semántica ya que su tipo (range en términos RDFS) está definido por la URI:
http://www.meantoo.com/vocabulary/tempprop#text
Objeto asociado al template género
Web
Figura 26. Captura Web de un objeto en la red social semántica.
URI
http://www.meantoo.com/ objects/23047
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225426644"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <a:movietype rdf:id="object1">
<a:type>Mafia films</a:type>
</a:movietype>
</rdf:rdf>
En esta definición RDF/XML se define un recurso asociado a la clase
http://www.meantoo.com/classes/dani/1225426644#movietype. En términos
de la red social semántica, se define un objeto para el template Género. La
propiedad tipo contiene el texto “Mafia Films”, lo que indica que este objeto
género será usado para calificar las películas de mafia.
104
Daniel Fernández
TESIS DE GRADO
Template imagen simple
El template imagen simple permite cargar dos datos básicos de una imagen: el
archivo asociado y una descripción de la misma.
Estructura
Imagen simple
Imagen: Imagen
Descripción: Texto
Web
Figura 27. Captura Web de un template en la red social semántica.
URI
http://www.meantoo.com/classes/dani/1225426748
RDF/XML
-
-
-
-
<?xml version="1.0" encoding="UTF-8" ?>
<rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225426748"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdfs:class rdf:id="simpleimage">
<rdfs:label>Simple Image</rdfs:label>
<rdfs:comment>Image with description</rdfs:comment>
<rdfs:subclassof rdf:resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Resource" />
</rdfs:class>
<rdfs:property rdf:id="image">
<rdfs:label>Image</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#simpleimage" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#image" />
</rdfs:property>
<rdfs:property rdf:id="description">
<rdfs:label>Description</rdfs:label>
<rdfs:comment />
105
Daniel Fernández
TESIS DE GRADO
<rdfs:domain rdf:resource="#simpleimage" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#text" />
</rdfs:property>
</rdf:rdf>
El esquema que describe la clase de una imagen simple contiene una
propiedad más y de distinto tipo que el esquema anterior. Dicha propiedad es
la que se etiqueta con el identificador “image” y su tipo (range) es
http://www.meantoo.com/vocabulary/tempprop#image.
Este
tipo
de
propiedad permite, en la red social semántica, cargar un archivo de tipo
imagen cuando se cree un objeto para dicho template.
Objeto asociado al template imagen simple
Web
Figura 28. Captura Web de un objeto en la red social semántica.
URI
http://www.meantoo.com/objects/31177
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225426748"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <a:simpleimage rdf:id="object1">
106
Daniel Fernández
TESIS DE GRADO
<a:image
rdf:resource="http://farm4.static.flickr.com/3161/2731353649_728926f0c
f_m.jpg" />
<a:description />
</a:simpleimage>
</rdf:rdf>
Este objeto define una instancia del template imagen simple. Hace referencia a
una imagen externa con dirección http://farm4.static.flickr.com/3161
/2731353649_728926f0cf_m.jpg. No tiene descripción asociada.
107
Daniel Fernández
TESIS DE GRADO
Template persona simple
El template persona simple describe los datos elementales de una persona
como son su nombre, apellido, fecha de nacimiento y las fotos de la misma.
Estructura
Persona simple
Nombre: Texto
Apellido: Texto
Fecha de nacimiento: Fecha
Fotos: Template imagen simple (uno o más)
Web
Figura 29. Captura Web de un template en la red social semántica.
URI
http://www.meantoo.com/classes/dani/1225426833
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225426833"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdfs:class rdf:id="simpleperson">
<rdfs:label>simple person</rdfs:label>
<rdfs:comment>Simple description of a person</rdfs:comment>
<rdfs:subclassof rdf:resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Resource" />
</rdfs:class>
- <rdfs:property rdf:id="name">
<rdfs:label>Name</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#simpleperson" />
108
Daniel Fernández
-
-
-
-
TESIS DE GRADO
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#text" />
</rdfs:property>
<rdfs:property rdf:id="lastname">
<rdfs:label>Last Name</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#simpleperson" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#text" />
</rdfs:property>
<rdfs:property rdf:id="birthdate">
<rdfs:label>Birth Date</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#simpleperson" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#date" />
</rdfs:property>
<rdfs:property rdf:id="pictures">
<rdfs:label>Pictures</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#simpleperson" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#exttemp"
/>
</rdfs:property>
<rdfs:property
mnt:count="http://www.meantoo.com/vocabulary/tempprop#many"
rdf:id="pictures0">
<rdfs:label>Pictures</rdfs:label>
<rdfs:domain rdf:resource="#simpleperson" />
<rdfs:range
rdf:resource="http://www.meantoo.com/classes/dani/1225426748" />
<rdfs:subpropertyof rdf:resource="#pictures" />
</rdfs:property>
</rdf:rdf>
En este esquema RDF, se puede apreciar el uso de otro template como
propiedad. Es el caso de la propiedad llamada “pictures” cuyo tipo es
http://www.meantoo.com/classes/dani/1225426748 (URI del template
imagen simple), o sea que se cargará un objeto imagen simple por cada vez que
se cague dicha propiedad. Debido a que una propiedad de tipo template
permite especificar más de un template asociado a la misma, estos últimos se
definen como propiedades separadas y se relacionan mediante la etiqueta
rdfs:subpropertyof.
Objeto asociado al template persona simple
Web
109
Daniel Fernández
TESIS DE GRADO
Figura 30. Captura Web de un objeto en la red social semántica.
URI
http://www.meantoo.com/objects/22084
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225426833"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <a:simpleperson rdf:id="object1">
<a:name>Robert</a:name>
<a:lastname>De Niro</a:lastname>
- <a:pictures>
- <rdf:seq>
<rdf:li rdf:resource="http://www.meantoo.com/objects/22054" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22055" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22056" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22057" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22058" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22059" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22060" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22061" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22062" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22063" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22064" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22065" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22066" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22067" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22068" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22069" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22070" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22071" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22072" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22073" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22074" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22075" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22076" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22077" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22078" />
110
Daniel Fernández
TESIS DE GRADO
<rdf:li rdf:resource="http://www.meantoo.com/objects/22079"
<rdf:li rdf:resource="http://www.meantoo.com/objects/22080"
<rdf:li rdf:resource="http://www.meantoo.com/objects/22081"
<rdf:li rdf:resource="http://www.meantoo.com/objects/22082"
<rdf:li rdf:resource="http://www.meantoo.com/objects/22083"
</rdf:seq>
</a:pictures>
</a:simpleperson>
</rdf:rdf>
/>
/>
/>
/>
/>
Como se puede apreciar en su definición RDF/XML, el objeto creado para
describir al actor Robert De Niro mediante el template persona simple contiene
en la propiedad “Pictures”, objetos definidos por el template imagen simple.
Cada objeto de tipo imagen simple, tiene asociado una imagen del actor.
111
Daniel Fernández
TESIS DE GRADO
Template película
El template película contiene propiedades que la definen como son título,
género, imágenes, fecha de filmación, actores, directores, sinópsis, país de
filmación y escritores. Las propiedades actores, directores y escritores están
tipificadas por el template persona simple y un objeto película puede tener 0 o
N valores para cada una de ellas. La propiedad género es del tipo definido por
el template género mencionado anteriormente y la propiedad imágenes por el
template imagen simple; ambas propiedades pueden tener 0 o N valores
asociados.
Estructura
Película
Título película: Texto
Género: Template genéro (uno o más)
Imágenes: Template imagen simple (uno o más)
Fecha: Fecha
Actores: Template persona simple (uno o más)
Directores: Template persona simple (uno o más)
Sinopsis: Texto
País: Lista fija de países
Escritores: Template persona simple (uno o más)
112
Daniel Fernández
TESIS DE GRADO
Web
Figura 31. Captura Web de un template en la red social semántica.
URI
http://www.meantoo.com/classes/dani/1225427088
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225427088"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdfs:class rdf:id="movie">
<rdfs:label>Movie</rdfs:label>
<rdfs:comment>Definition of a movie with its main attributes</rdfs:comment>
113
Daniel Fernández
-
-
-
-
-
-
-
TESIS DE GRADO
<rdfs:subclassof rdf:resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Resource" />
</rdfs:class>
<rdfs:property rdf:id="title">
<rdfs:label>Title</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#text" />
</rdfs:property>
<rdfs:property rdf:id="type">
<rdfs:label>Type</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#exttemp"
/>
</rdfs:property>
<rdfs:property
mnt:count="http://www.meantoo.com/vocabulary/tempprop#many"
rdf:id="type0">
<rdfs:label>Type</rdfs:label>
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/classes/dani/1225426644" />
<rdfs:subpropertyof rdf:resource="#type" />
</rdfs:property>
<rdfs:property rdf:id="images">
<rdfs:label>Images</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#exttemp"
/>
</rdfs:property>
<rdfs:property
mnt:count="http://www.meantoo.com/vocabulary/tempprop#many"
rdf:id="images0">
<rdfs:label>Images</rdfs:label>
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/classes/dani/1225426748" />
<rdfs:subpropertyof rdf:resource="#images" />
</rdfs:property>
<rdfs:property rdf:id="releasedate">
<rdfs:label>Release Date</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#date" />
</rdfs:property>
<rdfs:property rdf:id="cast">
<rdfs:label>Cast</rdfs:label>
<rdfs:comment />
114
Daniel Fernández
-
-
-
-
-
-
-
-
TESIS DE GRADO
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#exttemp"
/>
</rdfs:property>
<rdfs:property
mnt:count="http://www.meantoo.com/vocabulary/tempprop#many"
rdf:id="cast0">
<rdfs:label>Person</rdfs:label>
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/classes/dani/1225426833" />
<rdfs:subpropertyof rdf:resource="#cast" />
</rdfs:property>
<rdfs:property rdf:id="director">
<rdfs:label>Director</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#exttemp"
/>
</rdfs:property>
<rdfs:property
mnt:count="http://www.meantoo.com/vocabulary/tempprop#many"
rdf:id="director0">
<rdfs:label>Person</rdfs:label>
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/classes/dani/1225426833" />
<rdfs:subpropertyof rdf:resource="#director" />
</rdfs:property>
<rdfs:property rdf:id="plot">
<rdfs:label>Plot</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#text" />
</rdfs:property>
<rdfs:property rdf:id="country">
<rdfs:label>Country</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range rdf:resource="#country1" />
</rdfs:property>
<rdfs:class rdf:id="country1" />
<a:country1 rdf:id="afghanistan">
<rdfs:label>Afghanistan</rdfs:label>
</a:country1>
<a:country1 rdf:id="africa">
<rdfs:label>Africa</rdfs:label>
</a:country1>
<a:country1 rdf:id="albania">
<rdfs:label>Albania</rdfs:label>
</a:country1>
115
Daniel Fernández
TESIS DE GRADO
- <a:country1 rdf:id="algeria">
<rdfs:label>Algeria</rdfs:label>
</a:country1>
- <a:country1 rdf:id="americansamoa">
<rdfs:label>American Samoa</rdfs:label>
</a:country1>
- <a:country1 rdf:id="andorra">
<rdfs:label>Andorra</rdfs:label>
</a:country1>
…
…
…
- <a:country1 rdf:id="virginislandsus">
<rdfs:label>Virgin Islands US</rdfs:label>
</a:country1>
- <a:country1 rdf:id="wallisandfutuna">
<rdfs:label>Wallis and Futuna</rdfs:label>
</a:country1>
- <a:country1 rdf:id="westernsahara">
<rdfs:label>Western Sahara</rdfs:label>
</a:country1>
- <a:country1 rdf:id="yemen">
<rdfs:label>Yemen</rdfs:label>
</a:country1>
- <a:country1 rdf:id="zambia">
<rdfs:label>Zambia</rdfs:label>
</a:country1>
- <a:country1 rdf:id="zimbabwe">
<rdfs:label>Zimbabwe</rdfs:label>
</a:country1>
- <rdfs:property rdf:id="writer">
<rdfs:label>Writer</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#exttemp"
/>
</rdfs:property>
- <rdfs:property
mnt:count="http://www.meantoo.com/vocabulary/tempprop#many"
rdf:id="writer0">
<rdfs:label>Person</rdfs:label>
<rdfs:domain rdf:resource="#movie" />
<rdfs:range
rdf:resource="http://www.meantoo.com/classes/dani/1225426833" />
<rdfs:subpropertyof rdf:resource="#writer" />
</rdfs:property>
</rdf:rdf>
116
Daniel Fernández
TESIS DE GRADO
La estructura template presenta propiedades de tipo template al igual que el
template visto anteriormente (template Persona). Se definen también en este
template propiedades de tipo fecha y lista fija. En el caso de la lista fija, para
definir sus valores posibles, se crea una clase especial. En este ejemplo, la
propiedad de la lista fija se llama “country” y su tipo es “country1”, una clase
definida en el esquema. Los valores para “country” son los recursos definidos
para la clase “country1”, en este caso, países.
Objeto asociado al templa película
Web
Figura 32. Flujo Captura Web de un objeto en la red social semántica.
URI
http://www.meantoo.com/objects/31225
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225427088"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <a:movie>
<a:title>The Godfather Part II</a:title>
- <a:type>
- <rdf:seq>
<rdf:li rdf:resource="http://www.meantoo.com/objects/20522" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/4485" />
117
Daniel Fernández
TESIS DE GRADO
<rdf:li rdf:resource="http://www.meantoo.com/objects/9890" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/4788" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/11826" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/6" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31161" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/26503" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31162" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/4799" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/27426" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/4487" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/644" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31163" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/19058" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/1377" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/4001" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/23047" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/23233" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/5950" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/23230" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/4071" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/1685" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/641" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/5149" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/331" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/1916" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/107" />
</rdf:seq>
</a:type>
- <a:images>
- <rdf:seq>
<rdf:li rdf:resource="http://www.meantoo.com/objects/31164" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31165" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31166" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31167" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31168" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31169" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31170" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31171" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31172" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31173" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31174" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31175" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31176" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31177" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31178" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31179" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31180" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31181" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31182" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31183" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31184" />
</rdf:seq>
</a:images>
118
Daniel Fernández
TESIS DE GRADO
- <a:cast>
- <rdf:seq>
<rdf:li rdf:resource="http://www.meantoo.com/objects/31186" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/4537" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31187" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/7000" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/19279" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/22084" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/23328" />
</rdf:seq>
</a:cast>
<a:director rdf:resource="http://www.meantoo.com/objects/31218" />
- <a:writer>
- <rdf:seq>
<rdf:li rdf:resource="http://www.meantoo.com/objects/31224" />
<rdf:li rdf:resource="http://www.meantoo.com/objects/31218" />
</rdf:seq>
</a:writer>
<a:plot>The Godfather Part II is a 1974 crime drama film directed by Francis
Ford Coppola from a script co-written with Mario Puzo. The film is both a
sequel and a prequel to The Godfather, chronicling the story of the
Corleone family following the events of the first film while also depicting
the rise to power of the young Vito Corleone. The film stars Al Pacino,
Robert Duvall, Diane Keaton, Robert De Niro, John Cazale, Talia Shire, and
Lee Strasberg. It is ranked as the fourth best movie of all time on the
Internet Movie Database, with the movie"s predecessor, The Godfather,
ranked as #2, and the American Film Institute lists it as #32. The
Godfather Part II was nominated for eleven Academy Awards and won six,
including the Best Picture Award and the Best Supporting Actor Award for
Robert De Niro. The Godfather Part II has been selected for preservation in
the United States National Film Registry.</a:plot>
<a:country
rdf:resource="http://localhost/classes/dani/1225427088#unitedstates" />
</a:movie>
</rdf:rdf>
La definición RDF/XML de la película “El padrino II” contiene valores literales
como la sinopsis de la misma y recursos RDF como son los actores, directores,
escritores, géneros o imágenes asociadas. Estos recursos RDF son otros
objetos definidos en la red social semántica. Por ejemplo, se puede ver que un
valor
para
la
propiedad
“cast”
(actores)
es
el
recurso
http://www.meantoo.com/objects/22084#object1,
que
como
vimos
anteriormente describe al actor Robert De Niro. Esto quiere decir que Robert
De Niro forma parte del grupo de actores de la película “El padrino II”.
119
Daniel Fernández
TESIS DE GRADO
Template calificación película
El template calificación película es la estructura que permite calificar una
película. Para ello cuenta con tres propiedades. La primera permite definir de
qué película se está tratando y está tipificada por el template película, la
segunda es un entero para asignarle la calificación y la tercera un comentario
de tipo texto donde se puede explicar el porqué de la calificación otorgada.
Estructura
Clasificación película
Película: Template película
Clasificación: Entero
Comentario: Texto
Web
Figura 33. Captura Web de un template en la red social semántica.
URI
http://www.meantoo.com/classes/dani/1225735189
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225735189"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <rdfs:class rdf:id="movieranking">
<rdfs:label>Movie ranking</rdfs:label>
<rdfs:comment>It is used to rank a movie between 0 and 10</rdfs:comment>
<rdfs:subclassof rdf:resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Resource" />
</rdfs:class>
- <rdfs:property rdf:id="movie">
120
Daniel Fernández
TESIS DE GRADO
<rdfs:label>Movie</rdfs:label>
<rdfs:comment />
<rdfs:domain rdf:resource="#movieranking" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#exttemp"
/>
</rdfs:property>
- <rdfs:property
mnt:count="http://www.meantoo.com/vocabulary/tempprop#one"
rdf:id="movie0">
<rdfs:label>Movie</rdfs:label>
<rdfs:domain rdf:resource="#movieranking" />
<rdfs:range
rdf:resource="http://www.meantoo.com/classes/dani/1225427088" />
<rdfs:subpropertyof rdf:resource="#movie" />
</rdfs:property>
- <rdfs:property rdf:id="ranking">
<rdfs:label>Ranking</rdfs:label>
<rdfs:comment>Ranking between 0 and 10</rdfs:comment>
<rdfs:domain rdf:resource="#movieranking" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#number"
/>
</rdfs:property>
- <rdfs:property rdf:id="comment">
<rdfs:label>Comment</rdfs:label>
<rdfs:comment>Opinion about the movie</rdfs:comment>
<rdfs:domain rdf:resource="#movieranking" />
<rdfs:range
rdf:resource="http://www.meantoo.com/vocabulary/tempprop#text" />
</rdfs:property>
</rdf:rdf>
La clase template tiene como características distintivas a los templates
anteriores que la propiedad de tipo template que contiene esta limitada a sólo
un objeto. Esto quiere decir que por cada objeto calificación película se puede
definir sólo una película como propiedad.
121
Daniel Fernández
TESIS DE GRADO
Objeto asociado al template calificación película
Web
Figura 34. Captura Web de un objeto en la red social semántica.
URI
http://www.meantoo.com/objects/dani/1225933171
RDF/XML
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:rdf xmlns:mnt="http://www.meantoo.com/vocabulary/tempprop#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:a="http://www.meantoo.com/classes/dani/1225735189"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <a:movieranking rdf:id="object1">
<a:movie rdf:resource="http://www.meantoo.com/objects/162433" />
<a:ranking>9</a:ranking>
<a:comment>Excellent movie. Almost as good as part I.</a:comment>
</a:movieranking>
</rdf:rdf>
Este objeto califica la película “El padrino II” (URI = http://www.meantoo.com
/objects/162433) con un puntaje de 9 (tipo entero) y agrega un pequeño
comentario de la misma (tipo texto).
122
Daniel Fernández
4.3.
TESIS DE GRADO
Pruebas y resultados
4.3.1.
Pruebas
Se llevaron a cabo una serie de pruebas de la solución desarrollada para
poder evaluar si cumple los tres puntos propuestos:
- Tener una interfaz de usuario rica y amigable que oculte las dificultades
propias de la Web Semántica durante la carga de datos y metadatos.
- Embeber los datos RDF generados por los usuarios en el código HTML
mediante el lenguaje de etiquetado RDFa.
- Brindar un beneficio inmediato al usuario que comparta sus datos con la
tecnología de la Web Semántica.
Para probar dichos puntos, se realizaron un conjunto de pruebas en el
siguiente orden:
1 – Creación de templates
Para continuar con el dominio de las películas, se crearon los templates
vistos en ejemplos anteriores: género, imagen simple, persona simple, película
y calificación película.
2 – Carga automática de datos
Se extrajeron automáticamente un conjunto grande de datos para los
templates generados. Para realizar dicha carga automática, se leyeron datos de
películas desde Dbpedia [WEB-8] y se transformaron a formato RDF/XML
para que concuerden con los esquemas de los templates.
Dbpedia es un proyecto que tiene como objetivo extraer datos de Wikipedia
y estructurarlos en formato RDF/XML. Actualmente contiene más de
2.180.000 entidades, de las cuales por lo menos 80.000 son personas,
293.000 son lugares, 62.000 son álbumes de música y 36.000 son películas.
3 - Carga manual de datos
Se les solicitó a tres personas que se registren en la red social semántica y
carguen datos manualmente para los cinco templates definidos.
123
Daniel Fernández
TESIS DE GRADO
4 - Búsqueda y notificaciones
Se les solicitó a quince personas que generen notificaciones, busquen y
naveguen la red social semántica. Se calculó la cantidad de visitas a cada dato
por usuario.
5- Segunda carga automática de datos
Se realizó una segunda carga automática de datos, pero esta vez con el
objetivo de calcular la cantidad de notificaciones automáticas que se
dispararon.
124
Daniel Fernández
4.3.2.
TESIS DE GRADO
Resultados
En la siguiente tabla se pueden ver los resultados de cada prueba:
1 – Se crearon los cinco templates para el dominio de películas:
Template
Género
Imagen Simple
Persona Simple
Película
Calificación Película
Depende de otro template
No
No
Si (Imagen Simple)
Si (Imagen Simple, Persona Simple, Género)
Si (Película)
Figura 35. Tabla con los templates de prueba creados y sus dependencias.
Es importante tener en cuenta de cuales templates depende un template
debido a que es uno de los principales factores que afectan el número de
visitas de sus datos. Por ejemplo, es muy probable que cada usuario que vea
un dato del template película quiera ver su género y por ende, vea un dato del
template género.
2 – Se cargaron automáticamente 162210 entidades automáticamente de
Dbpedia en 21 horas. En la tabla de la figura 36 se puede la cantidad de datos
por template.
Template
Género
Imagen Simple
Persona Simple
Película
Calificación
Película
Totales
Datos cargados automáticamente
3163
134139
13362
11546
0
162210
Figura 36. Tabla con los templates de prueba y la cantidad de datos que se
le cargaron automáticamente a cada uno.
3 – Se cargaron manualmente 77 entidades por los tres usuarios durante
un día. Es importante destacar el primer aporte de la red social semántica:
personas que no conocen la complejidad propia de la tecnología de la Web
Semántica lograron indirectamente generar datos en formato RDF respaldados
por un RDF esquema.
125
Daniel Fernández
Template
Género
Imagen Simple
Persona Simple
Película
Calificación
Película
Totales
TESIS DE GRADO
Datos cargados en la Web
2
24
9
13
29
77
Figura 37. Tabla con los templates de prueba y la cantidad de datos
cargados manualmente.
4 – Durante tres días, se obtuvieron 37 notificaciones y 18563 visitas a los
datos cargados por quince usuarios (si un usuario visitó un dato más de una
vez, se lo contó como una sola visita).
Template
Género
Imagen Simple
Persona Simple
Película
Calificación
Película
Totales
Notificaciones
Vistos p/usuario
5
618
0
15289
6
1514
13
891
14
38
251
18563
Figura 38. Tabla con los templates de prueba, la cantidad de
notificaciones que se crearon asociadas a los mismos y la cantidad de visitas
por usuario que sus datos obtuvieron.
Se puede visualizar que los usuarios lograron acceder a muchos datos. Es
un claro beneficio para quien carga los datos en la red social semántica.
126
Daniel Fernández
TESIS DE GRADO
5 – Se cargaron 2646 películas automáticamente y se dispararon 17
notificaciones automáticamente.
Template
Género
Imagen Simple
Persona Simple
Película
Calificación
Película
Totales
Notificaciones disparadas
3
0
5
9
0
17
Datos nuevos
9
0
23
36
0
68
Figura 39. Tabla con los templates de prueba, la cantidad de
notificaciones asociadas a los mismos que se dispararon y la cantidad de
datos nuevos en las notificaciones.
Los resultados demuestran que se puede enmascarar bajo una interfaz
amigable la complejidad de la Web Semántica y lograr que usuarios sin
experiencia en dicha tecnología generen datos bajo dicha tecnología. Se
crearon 77 objetos manualmente, todos almacenados en formato RDF/XML y
RDFa.
Asimismo, se puede ver que se accedió al 11,4 % del total de los datos
cargados sólo en tres días de pruebas por quince personas únicamente. Es un
buen promedio considerando que la carga del 99.96% de los datos fue
automática y duró menos de 24 horas.
Finalmente, las pruebas detallan que la carga de datos externos disparó 17
notificaciones a usuarios con 68 datos nuevos en total. Había 38
notificaciones, de las cuales sólo 24 pueden ser afectadas por la carga de
películas porque jamás se van a disparar notificaciones basadas en el template
calificación película ante la carga de datos para el template película (el segundo
no depende del primero). Que se hayan disparado 17 notificaciones de 24 es
un buen indicio de la llegada inmediata que tiene la red social semántica ante
la carga de datos y un beneficio claro e inmediato para el usuario creador.
127
Daniel Fernández
TESIS DE GRADO
Capítulo 5:
Conclusiones y
trabajo futuro
En este capítulo se analiza cómo se han cumplido los objetivos que
se marcaron al principio de la tesis. Después se extraen las
conclusiones más importantes de los distintos temas abordados a lo
largo del trabajo. Finalmente, se exponen las posibles líneas de
trabajo futuro en las que se puede seguir trabajando.
128
Daniel Fernández
5.1.
TESIS DE GRADO
Conclusiones
El objetivo de este trabajo era encontrar la mejor tecnología que fomente el
significado de los datos en la Web y desarrollar una solución informática que
aplicase y promueva dicha tecnología.
De las dos aproximaciones existentes para generar e interpretar la
semántica de los datos, se concluyó que el camino bottom-up es el más
adecuado. Esto se debe a que las principales técnicas en el camino top-down
están lejos de obtener resultados sólidos. Por un lado, el procesamiento del
lenguaje natural se topa con dificultades no resueltas propias del lenguaje
humano y la complejidad en determinar los contextos, problemas en los cuales
se trabajo durante años y no existe una solución próxima. Mientras que Web
scraping logra hacer un buen trabajo en dominios acotados pero no sirve para
procesar el significado de todos los datos de la Web.
En cambio, la aproximación bottom-up lidia con dificultades más fáciles de
solucionar como son el agregado de metadatos a las páginas Web y la
conexión de los mismos. Es por ello que el mejor camino para fomentar el
significado de los datos en la Web es el bottom-up y se escoge de sus dos
principales técnicas y tecnologías a la Web Semántica.
La Web Semántica es más completa y abarcativa que los microformatos.
Fue definida para un dominio extensible y para ser aplicable a todos los datos
de la Web. Permite representar eficientemente cualquier tipo de información
estableciendo una forma universal de estructurar las relaciones entre los
datos y entre éstos y sus significados. Mientras que los microformatos, a pesar
de ser más simples, están definidos para contextos específicos.
Actualmente, los esfuerzos entorno a la Web Semántica están enfocados a
la creación de nuevos esquemas y ontologías. Sin embargo no es práctico
imponer un estándar único con limitaciones estrictas en la definición de un
concepto. Los usuarios tienen distintas preferencias y requerimientos
emergentes. No existe un esquema perfecto para definir un concepto. La
posibilidad de crear esquemas debe ser un proceso colaborativo y evolutivo. El
software social motiva la amplia participación mediante interfaces simples y
amigables.
En este trabajo se implementó un sistema que une las características
colaborativas de una red social con la estructuración de datos que propone la
Web Semántica. Es una plataforma social que facilita el modelado y la forma
de compartir información heterogénea de manera estructurada. Al relajar las
libertades y permitir que los usuarios puedan definir sus propios conceptos
con libertad, se fomenta la contribución de la comunidad Web.
A continuación se enumeran sus más importantes aportaciones:
Enmascara la complejidad de la Web Semántica
Al utilizar una interfaz simple y amigable desarrollada bajo la tecnología
conocida como Web 2.0, la red social facilita la carga de datos semánticos y los
129
Daniel Fernández
TESIS DE GRADO
almacena en formato RDF/XML y RDFa de manera transparente para el
usuario. Esto es un beneficio claro para las personas que no conocen ni les
interesan los detalles de la Web Semántica, pero aún así quieren que los datos
que carguen en la Web se guarden, busquen e interpreten de una forma más
inteligente.
Trabajar en forma colaborativa bajo cualquier dominio
La red social semántica permite que el usuario especifique libremente los
dominios en los que quiere trabajar. La ventaja de que un usuario limite a
voluntad sus dominios es que no sólo puede encontrar información de manera
más específica sino que puede conocer e interactuar con otras personas que
tienen mismos intereses.
Creación de un repositorio de esquemas socialmente
calificados
La carga de un template equivale a la carga de un esquema RDF. Cuando
un usuario califica un dato del template, está indirectamente calificando el
template, es decir el esquema RDF. Por ende, la red social semántica es
también un repositorio de esquemas RDF que están socialmente calificados. Si
un usuario desea estructurar sus datos en formato RDF para que un
buscador semántico lo interprete de manera más inteligente, en lugar de
inventar nuevas clases y propiedades, puede utilizar el esquema más
adecuado y con mejor puntaje que encuentre en la red social semántica.
Interoperabilidad con otros sistemas
A diferencia de los sistemas cerrados donde únicamente sus propietarios
entienden la semántica de los datos, la aplicación implementada en este
trabajo tiene interoperabilidad con otros sistemas permitiendo que los datos
estructurados se compartan. Con el crecimiento significativo de datos
estructurados, la Web rápidamente se va a mover hacia los que es una Web
Estructurada y esto se lo considera como el paso transitivo para alcanzar la
Web Semántica.
130
Daniel Fernández
5.2.
TESIS DE GRADO
Futuras líneas de trabajo
Queda mucho trabajo por hacer para esparcir completamente el uso de la
Web Semántica a lo largo de toda la Web. Algunos de ellos son:
Desarrollo de buscadores semánticos que logren parsear cualquier
dato en formato RDF/XML, eRDF o RDFa, almacenarlo, interpretarlo
para luego devolverlo en forma de resultados más precisos.
Desarrollo de otras herramientas que hagan uso de los datos
guardados en formato RDF/XML, eRDF o RDFa.
Transformación de datos existentes en las páginas Web al formato
RDFa o eRDF. Esto se puede llevar a cabo manualmente o mediante
técnicas de scraping.
Conferencias incentivando el uso de la Web Semántica a nivel
mundial. Deben ser orientadas no sólo a personas en el área de la
informática sino también a empresarios y comerciantes para que
descubran las ventajas de la tecnología.
En cuanto a la solución informática, se la puede mejorar a futuro
desarrollando herramientas que posibiliten lo siguiente:
Creación de comunidades orientadas a dominios específicos.
Expansión de las propiedades de una clase RDFS.
Expansión de los datos de un recurso RDF.
Importación de datos en formato RDF/XML y RDFa.
Condiciones AND y OR en las búsquedas.
Autentificación mediante OpenId.
Desarrollo de herramientas internas basadas en OpenSocial
Comunicación con otras redes sociales.
131
Daniel Fernández
5.3.
TESIS DE GRADO
Bibliografía
[Allen et al, 2005] Christopher Allen, Shannon Appelcline, Collective Choice:
Ratings, 2005
[Beckett, 2004] Dave Beckett, RDF/XML Syntax Specification (Revised),
World Wide Web Consortium, 2004.
[Berners-Lee, 1989] Tim Berners-Lee, Information Management: A Proposal,
1989
[Berners-Lee, 2001] Tim Berners-Lee, The Semantic Web: A new form of
Web content that is meaningful to computers will unleash a revolution of new
possibilities, 2001
[Brickley et al, 2004] Dan Brickley, Ramanathan V. Guha, RDF Vocabulary
Description Language 1.0: RDF Schema, World Wide Web Consortium, 2004
[Contreras et al, 2003] Jorge L. Contreras, Nader Mousavi, Website
Spidering and Scraping: A Legal Minefield, 2003
[Doctorow, 2001] Cory Doctorow, Metacrap: Putting the torch to seven
straw-men of the meta-utopia, 2001
[Downes, 2005] Stephen Downes, Semantic Networks and Social Networks,
2005
[Engeström, 2005] Jyri Engeström, Why some social network services work
and others don't — Or: the case for object-centered sociality, 2005
[Freeman, 1979] Linton C. Freeman, Centrality in Social Networks
Conceptual Clarification, 1979
[Gantz et al, 2007] John F. Gantz, David Reinsel, Christopher Chute,
Wolfgang Schlichting, John McArthur, Stephen Minton, Irida Xheneti,
Anna Toncheva, Alex Manfrediz, A Forecast of Worldwide Information
Growth Through 2010, 2007
[Gauker, 2003] Christopher Gauker, Words without Meaning, 2003
[Grishman, 1991] Ralph Grishman, Introducción a la lingüística
computacional, 1991
[Gruber, 2003] Tom Gruber, It Is What It Does:The Pragmatics of Ontology
for Knowledge Sharing, 2003
[Hanneman, 2001] Robert A. Hanneman, Introducción a los métodos del
análisis de redes sociales, 2001
[Magaña et al, 2007] Carlos M. N. Magaña, Marisela E. Pimentel, Lenguajes
Naturales, 2007
132
Daniel Fernández
TESIS DE GRADO
[McGuinness et al, 2004] Deborah L. McGuinness, Frank van Harmelen,
OWL Web Ontology Language Overview, 2004
[O'Reilly, 2007] Tim O'Reilly, Different Approaches to the Semantic Web,
2007
[Torres, 2007] Elias Torres, Open Data in HTML, 2007
[Wilson, 2006] Todd Wilson, Three common methods for data extraction,
2006
[Winograd et al, 1987] Terry Winograd, Fernando Flores, Understanding
computers and cognition, 1986
[WEB-1] http://www.cyc.com
[WEB-2] http://www.dapper.net
[WEB-3] http://pipes.yahoo.com/pipes
[WEB-4] http://www.w3c.es
[WEB-5] http://dublincore.org
[WEB-6] http://www.daml.org
[WEB-7] http://microformats.org
[WEB-8] http://dbpedia.org
[WEB-9] http://www.wikipedia.org
[WEB-10] http://www.taringa.net
133
Descargar