Publicidad y sistemas de recomendación

116
UNIVERSIDAD INTERNACIONAL DE LA RIOJA TRABAJO FINAL MASTER EN DIRECCIÓN E INGENIERÍA DE SITIOS WEB Publicidad y Sistemas de Recomendación Web Autor: Pedro Camacho Ortega Director: Oscar Sanjuan Martínez Madrid 2012

description

Web semántica

Transcript of Publicidad y sistemas de recomendación

Page 1: Publicidad y sistemas de recomendación

UNIVERSIDAD INTERNACIONAL DE LA RIOJA

TRABAJO FINAL MASTER EN DIRECCIÓN E INGENIERÍA DE SITIOS WEB

Publicidad y Sistemas de Recomendación Web

Autor: Pedro Camacho Ortega Director: Oscar Sanjuan Martínez

Madrid 2012

Page 2: Publicidad y sistemas de recomendación
Page 3: Publicidad y sistemas de recomendación

Resumen

Nos encontramos en una situación en la que no es suficiente contar con un gran

almacén de información, tal y como se configura actualmente Internet. Nos hace falta

contar con mecanismo que faciliten la recuperación de información y nos recomienden

qué es lo mejor para cada uno de los usuarios que acceden a la red de redes.

Los sistemas de marketing son pioneros en tratar de enfocar, personalizar,

clasificar y buscar lo que más se adecúa a cada tipo de persona. La tecnología brinda

la posibilidad de conseguir que lo depositado en Internet sea comprensible no solo a

seres humanos, sino también a procesos automáticos que naveguen por nosotros, con

nuestras preferencias y características individuales, en busca de nuevo conocimiento.

La web semántica dentro del paradigma de la web 3.0 es el escenario donde

todo esto se hace posible. En este trabajo se explora la situación actual de estas

tecnologías y se realiza un prototipo cuyo escenario está acotado a la utilización de

una web social por un agente automático para conseguir clasificar al usuario

protagonista del experimento.

Palabras Clave

Ontología, taxonomía, Web semántica, Web social, Web extendida, sistemas de

recomendación, filtrado colaborativo, marketing, agente automático, perfil de usuario.

.

Page 4: Publicidad y sistemas de recomendación
Page 5: Publicidad y sistemas de recomendación

Abstract

We are in a situation where is not enough to have a large store of information,

as nowadays is configured Internet. We need to have mechanism to facilitate

information retrieval and recommend us what is the best for each of the users accessing

the Net.

The marketing systems are pioneers in trying to focus, customize, sort and find

what is most suited to each kind of person. Technology gives us the possibility of what it

is posted on Internet can be not only understandable to humans, but also automatic

processes which waves for us, with our preferences and individual characteristics, in

search of new knowledge.

This paper explores the current status of these technologies and a prototype is

made. This prototype has a limited scenario for using a social web by an automatic

agent to achieve the classification of the main character user of the experiment.

Keywords

Ontology, taxonomies, semantic Web, social Web, extended Web, recommender

systems, collaborative filtering, marketing, automatic agent, user profile.

Page 6: Publicidad y sistemas de recomendación
Page 7: Publicidad y sistemas de recomendación

Agradecimientos

A mi familia

Gracias a ellos por el apoyo incondicional, que con paciencia y compresión, me ha llegado

durante la elaboración de este trabajo.

En especial a mis padres por ser estímulo y referencia, a Esther por llenarme el camino de

adorable momentos y a mis amigos y compañeros de trabajo por creer en mí desde el principio.

El resultado no hubiera sido posible sin la guía y dirección de mi tutor, a quién debo la

orientación hacia los objetivos conseguidos.

Mi deuda para con todos ellos será la búsqueda de nuevos retos de investigación científica y

docente, un legado que si duda merecen.

Page 8: Publicidad y sistemas de recomendación
Page 9: Publicidad y sistemas de recomendación

Tabla de Contenidos

PARTE I. INTRODUCCIÓN A LA INVESTIGACIÓN ............................ VII CAPÍTULO 1. NTRODUCCIÓN .................................................................. 3

1.1 Planteamiento y justificación del trabajo ................................................ 4

1.2 Hipótesis y objetivos ............................................................................... 5

1.3 Metodología seguida durante la investigación ....................................... 6 1.4 Organización del Trabajo Fin de Máster ................................................ 7

PARTE II. ESTADO DEL ARTE ..................................................................... 9 CAPÍTULO 2. LA WEB SEMÁNTICA ..................................................... 11

2.1 Guía breve de la web semántica ........................................................... 12

2.2. Estado actual y requisitos futuros ........................................................ 19 2.3. Aplicaciones de la Web Semántica ...................................................... 26 2.4. Líneas futuras ....................................................................................... 32

CAPÍTULO 3. SISTEMAS DE RECOMENDACIÓN ............................. 36 3.1. introducción ......................................................................................... 37

3.2. Clasificación de los sistemas de recomendación ................................. 38 3.3. Personalización de los sistemas de recomendación ............................. 46

3.4. Métodos de evaluación del rendimiento .............................................. 60 3.5. Conclusiones ........................................................................................ 63

PARTE III. DESARROLLO DE LA INVESTIGACIÓN ............................ 65 CAPÍTULO 4. ONTOLOGÍA EN TWITTER .......................................... 67

4.2. Materiales y métodos ........................................................................... 70 4.2. Elementos tecnólogicos ....................................................................... 71 4.3. Modelo de datos ................................................................................... 77 4.4 Aplicaciones prácticas .......................................................................... 79

PARTE IV. CONCLUSIONES ....................................................................... 81

CAPÍTULO 5. CONCLUSIONES .............................................................. 83 5.1. Verificación, contraste y evaluación de los objetivos ......................... 84

5.2. Síntesis del modelo propuesto ............................................................. 85 5.3. Aportaciones originales ....................................................................... 86 5.4. Trabajos derivados ............................................................................... 87 5.5. Líneas de investigación futuras ........................................................... 88

BIBLIOGRAFÍA .............................................................................................. 89

REFERENCIAS WEB ..................................................................................... 91 ANEXOS ............................................................................................................ 93

CLASIFICACIÓN ONTOLÓGICA EN TWITTER ................................... I

Page 10: Publicidad y sistemas de recomendación

II

Page 11: Publicidad y sistemas de recomendación

V

Tabla de Figuras

Figura 1 - Resultados obtenidos con un buscador normal .................................. 12 Figura 2 - Resultados obtenidos con un buscador semántico ............................. 13 Figura 3 - Ejemplo grafo RDF ............................................................................ 14 Figura 4 - Ilustración del ejemplo de consulta de eventos de calendario ........... 18

Figura 5 - Bus de la Web Semántica (Tim Berners-Lee) ................................... 19

Figura 6 - Capas de la Web Semántica .............................................................. 20 Figura 7 - Mapa conceptual de la web semántica ............................................... 25 Figura 8 – Navegador Semántico ....................................................................... 26

Figura 9 – Buscador semántico Swoogle ............................................................ 27 Figura 10 – Proyecto CORESE .......................................................................... 27

Figura 11 – El superorganismo Social y su cerebro global ................................ 32 Figura 12 – La Web inteligente. ......................................................................... 33 Figura 13 – Ontología basada en ítems y perfiles de usuario ............................. 42

Figura 14 – Esquema de los sistemas de recomendación ................................... 46 Figura 15 – Esquema de los sistemas de recomendación ................................... 47

Figura 16 – Personalización a través del contexto .............................................. 48 Figura 17 – Modelo de un sistema de filtrado colaborativo ............................... 53

Figura 18 – Esquema general Ontología Twitter ................................................ 69 Figura 19 – Twitter developers ........................................................................... 71 Figura 20 - Datos de autenticación de la aplicación en twitter ........................... 72 Figura 21 - Pantalla inicial de Protègè ................................................................ 73

Figura 22 – Formato para la ontología ............................................................... 73 Figura 23 - Ontología de los estados de ánimo, realizada con Protègé .............. 74 Figura 24 - Utilidad MySQL para crear una base de datos ................................ 74 Figura 25 - Primera pantalla de “rdfdb-utils” ..................................................... 75 Figura 26 - Cargar de ontología rdf en MySQL ................................................. 76

Figura 27 – Estructura de tablas en MySQL ...................................................... 77 Figura 28 – Tripletas sujeto, predicado y objeto en MySQL ............................. 77

Figura 29 – Ontología de los estados de ánimo .................................................. 85

Page 12: Publicidad y sistemas de recomendación

VI

Page 13: Publicidad y sistemas de recomendación

VII

Tabla de Códigos

Código 1 – PHP: Autenticación de usuarios ....................................................... 72 Código 2 – Parte del fichero config.inc.php ....................................................... 75 Código 3 – PHP: Obtención del perfil ................................................................ 78

Page 14: Publicidad y sistemas de recomendación

VIII

Page 15: Publicidad y sistemas de recomendación

PARTE I

Introducción a la Investigación

Page 16: Publicidad y sistemas de recomendación
Page 17: Publicidad y sistemas de recomendación

3

Capítulo 1 Introducción

Una de las actividades más recientes en los desarrollos orientados a la web es

la web semántica cuya finalidad es dotar de significado a todas las clases de

información sobre la web. En este capítulo se introducen las bases del Trabajo Fin de

Máster, desde el planteamiento inicial hasta la fijación de los objetivos finales.

Page 18: Publicidad y sistemas de recomendación

Capítulo 1

4

1.1 PLANTEAMIENTO Y JUSTIFICACIÓN DEL

TRABAJO

Los sistemas de recomendación han evolucionado rápidamente dentro del

entorno interactivo de la Web, tanto en sitios de comercio electrónico, como en las webs

sociales. Es un entorno donde todavía no hay resultados a gran escala y se hace

necesaria una investigación multidisciplinar. Por un lado la situación de la web

semántica [MORA09] y las taxonomías [SOLE09] que permitan clasificar y entender

mejor la información almacenada. Por otro lado, los agentes que ayudar al usuario en su

proceso de decisión mediante diferentes mecanismos. Todo ello pasando por el

modelado del comportamiento del usuario, que en una primera aproximación puede ser

su clasificación en un determinado tipo de perfil.

Este trabajo se sitúa precisamente en ese contexto, en el que se utiliza la

información suministrada por un usuario en una web social, junto con una ontología,

para crear una información nueva como es el perfil de usuario.

Page 19: Publicidad y sistemas de recomendación

Introducción a la Investigación

5

1.2 HIPÓTESIS Y OBJETIVOS

En la situación actual, las web sociales son un gran repositorio de información

generada por los usuarios de las mismas. Toda esa información, que no tiene que ver

directamente con ítems (productos o servicios en procesos de compra), se desperdicia.

El objetivo del presente trabajo es dar utilidad a una información muy útil que

puede ser aprovechada en beneficio del usuario.

Page 20: Publicidad y sistemas de recomendación

Capítulo 1

6

1.3 METODOLOGÍA SEGUIDA DURANTE LA

INVESTIGACIÓN

La metodología utilizada consiste en ir de lo general a lo particular, analizando

las bases teóricas que sustentan el modelo.

El siguiente paso es aplicar ese conocimiento al reto y por último, el objetivo

final es generar un prototipo que ilustra los conceptos teóricos planteados.

Con respecto al prototipo, se comenzó con un estudio de las distintas Web

sociales utilizadas a nivel masivo y que contaran con la posibilidad de ser utilizadas

desde entornos externos de programación. Entre la gran variedad existente, se

seleccionó Twitter por la sencillez de la información que maneja. Al ser mensajes cortos

de texto, eran susceptibles de ser manipulados con total libertad. Además, existe una

plataforma estable que da soporte a todos los desarrolladores que necesitan interactuar

con Twitter desde otros entornos de programación.

Por otro lado, se hacía necesario la implementación de una ontología y la

herramienta Protègè era la que mejor opción, ya que era capaz de crear ficheros en

formato RDF. Dentro de las posibilidades que se abrían en ese momento, se

investigaron herramientas que fueran capaces de manejar la información de la ontología

y se optó por RAP, que es un conjunto de API’s y herramientas para tratar la

información de la ontología.

Como el prototipo iba a estar implementado en PHP, que se encuentra

perfectamente integrado con MySQL, el paso final fue utilizar una de las herramientas

de RAP para cargar una base de datos con toda la información de la ontología.

Finalmente, mediante un programa muy sencillo se fusionaban los entornos de

mensajería de Twitter con la ontología, para genera un perfil de usuario.

Page 21: Publicidad y sistemas de recomendación

Introducción a la Investigación

7

1.4 ORGANIZACIÓN DEL TRABAJO FIN DE MÁSTER

En primer lugar se estudia la web semántica, desde su estado actual, pasando por

las acciones necesarias para obtener su verdadero valor y las aplicaciones que tiene. En

segundo lugar se analizan los sistemas de recomendación, su personalización y los

mecanismos y herramientas para el filtrado de la información. En la tercera parte se

estudian dos de los soportes tecnológicos que darán sustento al prototipo desarrollado.

Como aplicación práctica se propone un prototipo sobre un escenario concreto, que

demuestre las teorías utilizadas. Como parte final se incluyen las conclusiones y los

trabajos futuros que serán posibles a corto y medio plazo.

La web semántica

La Web Semántica es 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. Al dotar a la Web de más

significado y, por lo tanto, de más semántica, se pueden obtener soluciones a problemas

habituales en la búsqueda de información gracias a la utilización de una infraestructura

común, mediante la cual, es posible compartir, procesar y transferir información de

forma sencilla. Esta Web extendida y basada en el significado, se apoya en lenguajes

universales que resuelven los problemas ocasionados por una Web carente de semántica

en la que, en ocasiones, el acceso a la información se convierte en una tarea difícil y

frustrante.

Estado actual

El gigantesco y creciente número de recursos web evidencia que las técnicas

léxico-estadísticas, por sí solas, no pueden solucionar la problemática de la recuperación

de la información. El proyecto de web semántica intenta paliar estos problemas (y

mucho más) mediante la "comprensión" del contenido de los recursos por los

ordenadores. Este trabajo analiza el estado de las "capas" propuestas por Berners-Lee

[BERN99] como necesarias para el desarrollo de la web semántica: la capa de

identificación uniforme, la capa de representación, la capa lógica y la capa de seguridad.

Hacia la web semántica

De forma similar a como la presentó Tim Berners-Lee en 1998 y adaptando los

ejemplos al hipertexto, podemos decir que la World Wide Web, basada en documentos

y enlaces de hipertexto, fue diseñada para la lectura humana y no para que la

información que contiene pudiera procesarse de forma automática. Si hacemos una

búsqueda de documentos, por ejemplo, por el término "hipertexto", la Web no distingue

entre los distintos significados o contextos en los que aparece este término (programas

para diseñar hipertexto, información docente, empresas que anuncian su web, etc.). La

Web actual tampoco permite automatizar procesos, como por ejemplo, buscar un

seminario sobre hipertexto, hacer la reserva de plaza, consultar los medios de transporte

disponibles hasta la ciudad donde se celebre el evento, reservar billete, y conseguir un

plano de dicha ciudad. Aun utilizando un potente buscador, se pierden muchas horas

navegando por los resultados obtenidos tras la consulta, para acceder a la información

de forma manual, cuando esto lo podría hacer un programa o agente inteligente.

Page 22: Publicidad y sistemas de recomendación

Capítulo 1

8

La Web Semántica vendría a ser una extensión de la Web actual dotada de

significado, esto es, un espacio donde la información tendría un significado bien

definido, de manera que pudiera ser interpretada tanto por agentes humanos como por

agentes computerizados.

Aplicaciones

Desde la investigación clínica o farmacológica a portales turísticos pasando por la

mejora de algunos procesos judiciales, el e-goverment, la reparación de automóviles, la

recomendación de contenidos móviles, la búsqueda de expertos locales, etc.

En nuestro caso, la aplicación será los sistemas de recomendación y publicidad en

internet.

Sistemas de recomendación semánticos

Los sistemas de filtrado basados en contenido generan recomendaciones equiparando

las preferencias del usuario (expresadas por éste de forma implícita o explícita) con los

metadatos o características utilizados en la representación de los recursos o productos,

ignorando de esta forma la información relativa a otros usuarios. Estos sistemas, al igual que los

sociales, son poco fiables cuando se dispone de poca información sobre el usuario.

La tendencia actual se inclina por el desarrollo de sistemas de filtrado híbridos que

combinan características de los sistemas basados en contenido y de los colaborativos, para

atenuar las desventajas de cada una de ellos y mejorar de esta manera la eficiencia global del

funcionamiento del sistema en términos de precisión y exhaustividad.

Los sistemas de personalización resultan hoy en día indispensables ante la enorme

cantidad de información sobre productos y servicios que pueblan Internet. Un buen sistema de

recomendación constituye una de las bases del éxito del sitio virtual que lo sostiene. Se trata de

sistemas de recomendación que integran técnicas de personalización basadas en

comportamientos de usuario junto a estrategias de marketing.

Herramientas para el filtrado

Los sistemas de recomendaciones son herramientas que generan recomendaciones sobre

un determinado objeto de estudio, a partir de las preferencias y opiniones dadas por los usuarios.

El uso de estos sistemas se está poniendo cada vez más de moda en Internet debido a que son

muy útiles para evaluar y filtrar la gran cantidad de información disponible en la Web con

objeto de asistir a los usuarios en sus procesos de búsqueda y recuperación de información. En

este trabajo realizaremos una revisión de las características y aspectos fundamentales

relacionados con el diseño, implementación y estructura de los sistemas de recomendaciones

analizando distintas propuestas que han ido apareciendo en la literatura al respecto.

Filtros colaborativos

Los sistemas de recomendación basados en algoritmos de filtrado colaborativo utilizan

las valoraciones de los usuarios sobre ciertos elementos del conjunto total para predecir

valoraciones en el resto de los elementos y recomendar los de mayor valoración predicha. En

este punto se ofrece una descripción de los sistemas de filtrado colaborativo. Intenta cubrir los

múltiples aspectos que comprenden: Las diversas aproximaciones estadísticas: Basados en

modelo, basados en datos. También algunos métodos de evaluación, y los problemas relativos a

la implementación.

Page 23: Publicidad y sistemas de recomendación

PARTE II

Estado del Arte

Page 24: Publicidad y sistemas de recomendación
Page 25: Publicidad y sistemas de recomendación

11

Capítulo 2 La web semántica

La Web Semántica [BERN00] es 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. Al

dotar a la Web de más significado y, por lo tanto, de más semántica, se pueden obtener

soluciones a problemas habituales en la búsqueda de información gracias a la

utilización de una infraestructura común, mediante la cual, es posible compartir,

procesar y transferir información de forma sencilla. Esta Web extendida y basada en el

significado, se apoya en lenguajes universales que resuelven los problemas

ocasionados por una Web carente de semántica en la que, en ocasiones, el acceso a la

información se convierte en una tarea difícil y frustrante.

Page 26: Publicidad y sistemas de recomendación

Capítulo 2

12

2.1 GUÍA BREVE DE LA WEB SEMÁNTICA

La Web ha cambiado profundamente la forma en la que nos comunicamos,

hacemos negocios y realizamos nuestro trabajo. La comunicación prácticamente con

todo el mundo en cualquier momento y a bajo coste es posible hoy en día. Podemos

realizar transacciones económicas a través de Internet. Tenemos acceso a millones de

recursos, independientemente de nuestra situación geográfica e idioma. Todos estos

factores han contribuido al éxito de la Web. Sin embargo, al mismo tiempo, estos

factores que han propiciado el éxito de la Web, también han originado sus principales

problemas: sobrecarga de información y heterogeneidad de fuentes de información con

el consiguiente problema de interoperabilidad.

La Web Semántica [MORA09] ayuda a resolver estos dos importantes

problemas permitiendo a los usuarios delegar tareas en software. Gracias a la semántica

en la Web, el software es capaz de procesar su contenido, razonar con éste, combinarlo

y realizar deducciones lógicas para resolver problemas cotidianos automáticamente.

2.1.1. ¿Cómo funciona?

Supongamos que la Web tiene la capacidad de construir una base de

conocimiento sobre las preferencias de los usuarios y que, a través de una combinación

entre su capacidad de conocimiento y la información disponible en Internet, sea capaz

de atender de forma exacta las demandas de información por parte de los usuarios en

relación, por ejemplo, a reserva de hoteles, vuelos, médicos, libros, etc.

Si esto ocurriese así en la vida real, el usuario, en su intento, por ejemplo, por

encontrar todos los vuelos a Praga para mañana por la mañana, obtendría unos

resultados exactos sobre su búsqueda. Sin embargo la realidad es otra. La figura

1 muestra los resultados inexactos que se obtendrían con el uso de cualquier buscador

actual, el cual ofrecería información variada sobre Praga pero que no tiene nada que ver

con lo que realmente el usuario buscaba. El paso siguiente por parte del usuario es

realizar una búsqueda manual entre esas opciones que aparecen, con la consiguiente

dificultad y pérdida de tiempo.

Figura 1 - Resultados obtenidos con un buscador normal

Page 27: Publicidad y sistemas de recomendación

La Web Semántica

13

Con la incorporación de semántica a la Web los resultados de la búsqueda serían

exactos. La figura 2 muestra los resultados obtenidos a través de un buscador

semántico. Estos resultados ofrecen al usuario la información exacta que estaba

buscando. La ubicación geográfica desde la que el usuario envía su pregunta es

detectada de forma automática sin necesidad de especificar el punto de partida,

elementos de la oración como "mañana" adquirirían significado, convirtiéndose en un

día concreto calculado en función de un "hoy". Algo semejante ocurriría con el segundo

"mañana", que sería interpretado como un momento determinado del día. Todo ello a

través de una Web en la que los datos pasan a ser información llena de significado. El

resultado final sería la obtención de forma rápida y sencilla de todos los vuelos a Praga

para mañana por la mañana.

Figura 2 - Resultados obtenidos con un buscador semántico

La forma en la que se procesará esta información no sólo será en términos de

entrada y salida de parámetros sino en términos de su semántica. La Web Semántica

[MORA09] como infraestructura basada en metadatos aporta un camino para razonar en

la Web, extendiendo así sus capacidades.

No se trata de una inteligencia artificial mágica que permita a las máquinas

entender las palabras de los usuarios, es sólo la habilidad de una máquina para resolver

problemas bien definidos, a través de operaciones bien definidas que se llevarán a cabo

sobre datos existentes bien definidos.

Para obtener esa adecuada definición de los datos, la Web Semántica utiliza

esencialmente RDF, SPARQL, y OWL; mecanismos que ayudan a convertir la Web en

una infraestructura global en la que es posible compartir, y reutilizar datos y

documentos entre diferentes tipos de usuarios.

RDF proporciona información descriptiva simple sobre los recursos que se

encuentran en la Web y que se utiliza, por ejemplo, en catálogos de libros, directorios,

colecciones personales de música, fotos, eventos, etc.

SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre

los recursos de la Web Semántica utilizando distintas fuentes datos.

OWL es un mecanismo para desarrollar temas o vocabularios específicos en los

que asociar esos recursos. Lo que hace OWL es proporcionar un lenguaje para definir

ontologías estructuradas que pueden ser utilizadas a través de diferentes sistemas. Las

ontologías, que se encargan de definir los términos utilizados para describir y

representar un área de conocimiento, son utilizadas por los usuarios, las bases de datos y

las aplicaciones que necesitan compartir información específica, es decir, en un campo

determinado como puede ser el de las finanzas, medicina, deporte, etc. Las ontologías

Page 28: Publicidad y sistemas de recomendación

Capítulo 2

14

incluyen definiciones de conceptos básicos en un campo determinado y la relación entre

ellos.

Otra tecnología que ofrece la Web Semántica para enriquecer los contenidos de

la Web tradicional es RDFa.

Mediante RDFa se pueden representar los datos estructurados visibles en las

páginas Web (eventos en calendarios, información de contacto personal, información

sobre derechos de autor, etc.), a través de unas anotaciones semánticas incluidas en el

código e invisibles para el usuario, lo que permitirá a las aplicaciones interpretar esta

información y utilizarla de forma eficaz. Por ejemplo, una aplicación de calendario

podría importar directamente los eventos que encuentra al navegar por cierta página

Web, o se podrían especificar los datos del autor de cualquier foto publicada, así como

la licencia de cualquier documento que se encuentre. Para extraer el RDF se podría

utilizar GRDDL, una técnica estándar para extraer la información expresada en RDF

desde documentos XML, y en particular, de las páginas XHTML.

2.1.1.1. RDF

El Resource Description Framework (RDF) es un lenguaje para representar la

información sobre recursos en la World Wide Web. Tiene características que facilitan la

fusión de los datos incluso si los esquemas subyacentes son diferentes.

RDF extiende la estructura clásica de enlaces en la Web para utilizar URI, con el

objetivo de nombrar la relación entre los dos extremos del enlace (esto generalmente se

conoce como "triple"). El uso de este modelo simple, permite que los datos

estructurados y semi-estructurados se mezclen, y sean compartidos a través de

diferentes aplicaciones.

Esta estructura forma un grafo dirigido y etiquetado, donde los bordes

representan el enlace de nombre entre dos recursos, representados por los nodos del

grafo. Este punto de vista gráfico es el modelo mental más fácil posible para RDF y se

utiliza a menudo de una manera fácil de entender las explicaciones visuales.

La descripción de los recursos se realiza en términos de propiedades simples y

valores para esas propiedades. Esto permite que con RDF se puedan representar

declaraciones simples sobre recursos como un grafo de nodos y arcos que representan

los recursos, y sus propiedades y valores.

Se puede apreciar mejor con un ejemplo, como el de la figura 3:

Figura 3 - Ejemplo grafo RDF

Page 29: Publicidad y sistemas de recomendación

La Web Semántica

15

2.1.1.2. Las ontologías y OWL

Es necesario introducir el concepto de ontología para entender OWL. Aunque el

concepto de ontología ha estado presente desde hace mucho tiempo en la filosofía,

recientemente se utiliza en Informática para definir vocabularios que las máquinas

puedan entender y que sean especificados con la suficiente precisión como para permitir

diferenciar términos y referenciarlos de manera precisa.

Una ontología define los términos a utilizar para describir y representar un área

de conocimiento. Las ontologías son utilizadas por las personas, las bases de datos, y las

aplicaciones que necesitan compartir un dominio de información (un dominio es

simplemente un área de temática específica o un área de conocimiento, tales como

medicina, fabricación de herramientas, bienes inmuebles, reparación automovilística,

gestión financiera, etc.). Las ontologías incluyen definiciones de conceptos básicos del

dominio, y las relaciones entre ellos, que son útiles para los ordenadores. Codifican el

conocimiento de un dominio y también el conocimiento que extiende los dominios. En

este sentido, hacen el conocimiento reutilizable.

El Lenguaje de Ontologías Web (OWL) está diseñado para ser usado en

aplicaciones que necesitan procesar el contenido de la información en lugar de

únicamente representar información para los humanos.

En realidad, OWL no es un acrónimo verdadero. El lenguaje comenzó su

andadura como "Web Ontology Language" (Lenguaje de Ontologías Web), pero al

Grupo de Trabajo no le gustaba el acrónimo "WOL", así que decidieron llamarlo OWL.

OWL facilita un mejor mecanismo de para interpretar el contenido Web que los

mecanismos admitidos por XML, RDF, y esquema RDF (RDF-S) proporcionando

vocabulario adicional junto con una semántica formal. OWL tiene tres sub-lenguajes,

con un nivel de expresividad creciente: OWL Lite, OWL DL, y OWL Full.

La Web semántica [MORA09] es una visión del futuro de la Web donde la

información está dando un significado explícito, permitiendo que las máquinas puedan

procesar automáticamente e integrar la información disponible en la Web. La Web

semántica se basará en la capacidad de XML para definir esquemas de etiquetas a

medida y en la aproximación flexible de RDF para representar datos. El primer nivel

requerido por encima de RDF para la Web semántica es un lenguaje de ontologías que

pueda describir formalmente el significado de la terminología usada en los documentos

Web. Si se espera que las máquinas hagan tareas útiles de razonamiento sobre estos

documentos, el lenguaje debe ir más allá de las semánticas básicas del RDF Schema.

OWL ha sido diseñado para cubrir esta necesidad de un lenguaje de ontologías

Web. OWL forma parte de un conjunto creciente de recomendaciones del W3C

relacionadas con la Web semántica.

OWL es un lenguaje de Ontologías Web. Otros lenguajes similares habían sido

utilizados para desarrollar herramientas y ontologías destinadas a comunidades

específicas (especialmente para ciencias y aplicaciones específicas de comercio

electrónico), no fueron definidos para ser compatibles con la arquitectura de la World

Wide Web en general, y la Web Semántica en particular.

OWL rectifica esto proporcionando un lenguaje que utiliza la conexión

proporcionada por RDF para añadir las siguientes capacidades a las ontologías:

- Capacidad de ser distribuidas a través de varios sistemas

- Escalable a las necesidades de la Web

- Compatible con los estándares Web de accesibilidad e internacionalización

- Abierto y extensible

Page 30: Publicidad y sistemas de recomendación

Capítulo 2

16

Para conocer mejor la utilidad de las ontologías para la Web se han identificado

los principales casos de uso:

Portales Web

Reglas de categorización utilizadas para mejorar la búsqueda

Colecciones Multimedia

Búsquedas basadas en contenido para medios no textuales

Administración de Sitios Web Corporativos

Organización taxonómica automatizada de datos y documentos

Asignación entre Sectores Corporativos (¡fusiones!)

Documentación de Diseño

Explicación de partes "derivadas" (p.ej. el ala de un avión)

Administración explícita de Restricciones

Agentes Inteligentes

Expresión de las Preferencias y/o Intereses de los usuarios

Mapeo de contenidos entre sitios Web

Servicios Web y Computación Ubicua

Composición y Descubrimiento de Servicios Web

Administración de Derechos y Control de Acceso

Un gran número de organizaciones han estado investigando sobre la utilización

de OWL con varias de las herramientas actualmente disponibles, como la ampliamente

utilizada Protègè system, que también dispone de soporte para OWL.

Page 31: Publicidad y sistemas de recomendación

La Web Semántica

17

2.1.2. Ejemplos

Dos de los ejemplos más conocidos de aplicación de Web Semántica son RSS y

FOAF.

RSS es un vocabulario RDF basado en XML que permite la catalogación de

información (noticias y eventos) de tal manera que sea posible encontrar información

precisa adaptada a las preferencias de los usuarios. Los archivos RSS contienen

metadatos sobre fuentes de información especificadas por los usuarios cuya función

principal es avisar a los usuarios de que los recursos que ellos han seleccionado para

formar parte de esa RSS han cambiado sin necesidad de comprobar directamente la

página, es decir, notifican de forma automática cualquier cambio que se realice en esos

recursos de interés seleccionados. Un ejemplo de la aplicación de RSS se puede

encontrar en las Noticias de la Oficina Española del W3C como canal RSS.

FOAF es un proyecto de Web Semántica, que permite crear páginas Web para

describir personas, vínculos entre ellos, y cosas que hacen y crean. Se trata de un

vocabulario RDF, que permite tener disponible información personal de forma sencilla

y simplificada para que pueda ser procesada, compartida y reutilizada. Dentro de FOAF

podemos destacar FOAF-a-Matic, que se trata de una aplicación Javascript que permite

crear una descripción FOAF de uno mismo. Con esta descripción, los datos personales

serán compartidos en la Web pasando a formar parte de un motor de búsqueda donde

será posible descubrir información a cerca de una persona en concreto y de las

comunidades de las que es miembro de una forma sencilla y rápida.

Page 32: Publicidad y sistemas de recomendación

Capítulo 2

18

Ejemplo de extracción de datos usando RDFa, GRDDL y SPARQL:

Se desea establecer una reunión entre tres personas, que tienen publicados en sus

sitios Web los calendarios de sus citas y eventos. Estos datos están expuestos en páginas

XHTML de forma gráfica, pero además se incluye información en RDFa.

Una herramienta nos permite extraer, mediante GRDDL, los datos de sus

calendarios en un formato homogéneo y fácil de tratar (RDF), para poder procesarlo

posteriormente.

Se realiza una consulta sobre la disponibilidad de las personas para un cierto día

a una hora concreta. Los datos consultados están en formato RDF y la consulta se

podría realizar mediante SPARQL.

La herramienta procesa y analiza el resultado obtenido, concluyendo si las

personas están disponibles en el instante que se había elegido previamente.

Figura 4 - Ilustración del ejemplo de consulta de eventos de calendario

Los buscadores semánticos son un ejemplo más de aplicaciones basadas en Web

Semántica. El objetivo es satisfacer las expectativas de búsqueda de usuarios que

requieren respuestas precisas.

Page 33: Publicidad y sistemas de recomendación

La Web Semántica

19

2.2. ESTADO ACTUAL Y REQUISITOS FUTUROS

El gigantesco y creciente número de recursos web evidencia que las técnicas

léxico-estadísticas, por sí solas, no pueden solucionar la problemática de la recuperación

de la información. El proyecto de web semántica [MORA09] intenta paliar estos

problemas (y mucho más) mediante la "comprensión" del contenido de los recursos por

los ordenadores. Este trabajo analiza el estado de las "capas" propuestas por Berners-

Lee [BERN99] como necesarias para el desarrollo de la web semántica: la capa de

identificación uniforme, la capa de representación, la capa lógica y la capa de

seguridad. Este artículo se basa principalmente en el análisis de la web semántica, que

estudia su situación actual y requisitos futuros [PEIS03], así como en el trabajo de M.J.

Lamarca, en su trabajo “Hacia la web semántica”, dentro de la sus Tesis doctoral:

“Hipertexto: El nuevo concepto de documento en la cultura de la imagen” [LAMA11].

2.2.1. Introducción

La web, tal y como la conocemos, es un gigantesco repositorio de

hiperdocumentos cuyo diseño únicamente permite su comprensión por humanos. Estos

materiales están confeccionados usando lenguajes de etiquetado que expresan la forma

en que los navegadores deben presentar su contenido (colores, maquetación, fuentes,

etc.) y no su significado o semántica.

Dado el gigantesco y creciente número de estos recursos, los actuales motores de

búsqueda son incapaces de ofrecer tasas de precisión mínimamente adecuadas en sus

resultados, evidenciando que las técnicas léxicoestadísticas no pueden solucionar por sí

solas la problemática de la recuperación de información.

La propuesta inicial de world wide web que Berners-Lee (1989) ideó, ya

apuntaba a lo que posteriormente se ha denominado web semántica (BernersLee;

Hendler; Lassila, 2001), una extensión de la actual web cuyo objetivo es que no sólo los

humanos, sino también las máquinas, sean capaces de “comprender” el contenido de los

documentos. De esta forma, en el proceso de recuperación de información, el usuario

interrogaría a un agente software que realizaría tareas complejas de asociación e

inferencia de conocimiento, devolviendo al usuario resultados precisos y

contextualizados. Para conseguirlo, sería necesario proporcionar semántica a la web y,

esta tarea, podría realizarse mediante la elaboración de ontologías y etiquetados

descriptivos. En la figura 5 puede apreciarse un esquema general:

Figura 5 - Bus de la Web Semántica (Tim Berners-Lee)

Page 34: Publicidad y sistemas de recomendación

Capítulo 2

20

Para cumplir los objetivos, Berners-Lee [BERN99] considera que son

necesarias varias capas o niveles, entre las que destacamos: un modelo básico para

establecer asertos (propiedades sobre los recursos), para el que se empleará RDF

(Resource Description Framework) (Lassila; Swick, 1999); un modelo para definir

relaciones entre las fuentes a través de clases y objetos expresado mediante RDF

Schema (Brickley; Guha, 2002); una capa lógica que permita realizar consultas e inferir

conocimiento, donde entrarían en juego las ontologías y los agentes software; y una

capa de seguridad que permita asignar niveles de fiabilidad a determinados recursos de

forma comprobable posteriormente por los agentes, para lo que se usarán firmas

digitales y redes de “confianza”. El diagrama de la figura 6, presentado por Berners-Lee

en la Xml conference de 2000, nos puede servir como aproximación visual al conjunto

de tecnologías que forman el esquema de capas mencionado.

Figura 6 - Capas de la Web Semántica

Veamos ahora cada una de las funciones que aportan las distintas capas de la

Web Semántica:

Unicode: el alfabeto. Se trata de una codificación del texto que permite utilizar

los símbolos de diferentes idiomas sin que aparezcan caracteres extraños. De esta forma,

se puede expresar información en la Web Semántica en cualquier idioma.

URI: las referencias. URI es el acrónimo de "Uniform Resource Identifier" o

Identificador Uniforme de Recursos, identificador único que permite la localización de

un recurso que puede ser accedido vía Internet. Se trata del URL (descripción de la

ubicación) más el URN (descripción del espacio de nombre).

XML + NS + xmlschema: se trata de la capa más técnica de la Web Semántica.

En esta capa se agrupan las diferentes tecnologías que hacen posible que los agentes

puedan entenderse entre ellos. XML ofrece un formato común para intercambio de

documentos, NL (namespaces) sirve para cualificar elementos y atributos de nombres

usados en XML asociándolos con los espacios de nombre identificados por referencias

Page 35: Publicidad y sistemas de recomendación

La Web Semántica

21

URI y XML Schema ofrece una plantilla para elaborar documentos estándar. De esta

forma, aunque se utilicen diferentes fuentes, se crean documentos uniformes en un

formato común y no propietario.

RDF + rdfschema: basada y apoyada en la capa anterior, esta capa define el

lenguaje universal con el cual podemos expresar diferentes ideas en la Web Semántica.

RDF es un lenguaje simple mediante el cual definimos sentencias en el formato de una

3-upla o triple (sujeto: el recurso al que nos referimos; predicado: el recurso que indica

qué es lo que estamos definiendo; y objeto: puede ser el recurso o un literal que podría

considerarse el valor de lo que acabamos de definir). El modelo RDF o Resource

Description Framework es un modelo común (Framework) que permite hacer

afirmaciones sobre los recursos (Description) y que hace posible que estos recursos

pueden ser nombrados por URIs (Resource). Por su parte RDF Schema provee un

vocabulario definido sobre RDF que permite el modelo de objetos con una semántica

claramente definida. Esta capa no sólo ofrece descripción de los datos, sino también

cierta información semántica. Tanto esta capa como la anterior corresponden a las

anotaciones de la información (metadatos).

Lenguaje de Ontologías: ofrece un criterio para catalogar y clasificar la

información. El uso de ontologías permite describir objetos y sus relaciones con otros

objetos ya que una ontología es la especificación formal de una conceptualización de un

dominio concreto del conocimiento. Esta capa permite extender la funcionalidad de la

Web Semántica, agregando nuevas clases y propiedades para describir los recursos.

Lógica: además de ontologías se precisan también reglas de inferencia. Una

ontología puede expresar la regla "Si un código de ciudad está asociado a un código de

estado, y si una dirección es el código de ciudad, entonces esa dirección tiene el código

de estado asociado". De esta forma, un programa podría deducir que una dirección de la

Universidad Complutense, al estar en la ciudad de Madrid, debe estar situada en España,

y debería por lo tanto estar formateado según los estándares españoles. El ordenador no

"entiende" nada de lo que está procesando, pero puede manipular los términos de modo

mucho más eficiente beneficiando la inteligibilidad humana.

Pruebas: será necesario el intercambio de "pruebas" escritas en el lenguaje

unificador (se trata del lenguaje que hace posible las inferencias lógicas hecha posibles

a través del uso de reglas de inferencia tal como es especificado por las ontologías) de la

Web Semántica.

Confianza: los agentes deberían ser muy escépticos acerca de lo que leen en la

Web Semántica hasta que hayan podido comprobar de forma exhaustiva las fuentes de

información. (Web Of Trust RDF Ontology -WOT- http://xmlns.com/wot/0.1/ y FOAF

http://xmlns.com/foaf/0.1/))

Firma digital: bloque encriptado de datos que serán utilizados por los

ordenadores y los agentes para verificar que la información adjunta ha sido ofrecida por

una fuente específica confiable. (XML Signature WG: http://www.w3.org/Signature/)

Page 36: Publicidad y sistemas de recomendación

Capítulo 2

22

2.2.2. Agentes inteligentes

Son una entidad software que recoge, filtra y procesa información contenida en

la web, realiza inferencias sobre dicha información e interactúa con el entorno sin

necesidad de supervisión o control constante por parte del usuario. Estas tareas son

realizadas en representación del usuario o de otro agente.

Para Hendler (1999) las cualidades que ha de tener un agente inteligente son:

Comunicativo. Debe entender las necesidades, objetivos y preferencias del

usuario, ya que de dicha comunicación o interacción usuario-agente depende que éste

pueda llevar a cabo su función de forma eficiente. Así mismo, debe poder comunicarse

con el entorno mediante representaciones compartidas de conocimiento (ontologías).

Autónomo. Además de comunicarse, debe poder interactuar con el entorno,

tomando decisiones y actuando por sí solo, limitando sus acciones según el nivel de

autonomía permitida por el usuario.

Adaptable. Debe ser capaz de aprender del entorno: usuarios (preferencias),

fuentes de información y otros agentes.

Capaz. El agente debe poder actuar en una determinada clase de mundo. El

agente no sólo debe proporcionar una información, sino también un servicio, es decir,

debe tener capacidad para hacer cosas. Por ejemplo, si se precisa un artículo de revista y

ésta es de pago, el agente debe ser capaz de encontrar el artículo, informar del precio,

dar el número de tarjeta de crédito, etc.

El papel del agente inteligente en el proceso de recuperación "semántica" de

información no debe confundirse con el de un buscador inteligente. Un buscador

inteligente se aprovechará del enriquecimiento semántico de los recursos web para

mejorar (principalmente en la precisión) la recuperación de información, aunque su

funcionamiento se basará, como los actuales buscadores, en la previa indización de

todos aquellos recursos susceptibles de ser recuperados. En cambio, un agente

inteligente recorrerá la Web a través de los enlaces entre recursos (hiperdocumentos,

ontologías, etc.) en busca de aquella información que le sea solicitada, pudiendo además

interactuar con el entorno para el cumplimiento de tareas encomendadas. Por ejemplo,

un agente inteligente, ante una consulta dada, podría consultar autónomamente un

buscador, y a partir de sus resultados, explorar la Web hasta encontrar la información

solicitada, pudiendo finalmente llevar a cabo una acción sobre dicho recurso, como

podría ser la reserva de una plaza en un Seminario, de un vuelo, y/ o de una habitación

en un hotel. Según P. Raghaban, las necesidades de información de un usuario cuando

acude a los buscadores son las siguientes:

Informacional: Aprender o saber acerca de algo (~40%). Por ejemplo:

hemoglobina baja.

Navegacional: Ir a determinada página (~25%). Por ejemplo: United Airlines.

Transaccional: Hacer algo por medio de la Web (~35%):

Acceder a un servicio. Por ejemplo: Mendocino weather.

Descargar algo (downloads). Por ejemplo: imágenes de la superficie de Marte.

Comprar. Por ejemplo: Nikon Coopix.

Áreas grises: Encontrar un buen hub. Por ejemplo: Alquiler de coches Finlandia.

Búsqueda exploratoria "ver lo que hay allí"

Page 37: Publicidad y sistemas de recomendación

La Web Semántica

23

La Web Semántica debería ser capaz de procesar contenido, razonarlo y hacer

deducciones lógicas a partir de éste, y realizar, cuando un usuario quiera delegar ciertas

tareas en el software, todas estas acciones de forma automática.

Un agente inteligente entiende (lo que se pide), comprende (el contenido de los

sitios), valida (si lo encontrado corresponde a lo pedido) y deduce (nueva información

sobre la ya obtenida). Pero, para entender una consulta, comprender sitios web, validar

información y deducir nueva información, se precisa estandarizar:

el alfabeto

las referencias

el lenguaje

el formato

las anotaciones sobre significados

los conceptos generales

las reglas y sistemas de deducción

En este escenario, las características propias de un entorno abierto como la web,

y por ende de la web semántica, dificultan la implementación de agentes inteligentes.

Por ello, llegados a este punto cabe preguntarse qué sería necesario para el

funcionamiento de agentes inteligentes en la web semántica. Por un lado, sería

imprescindible un lenguaje estandarizado y compartido de definición de ontologías

(OWL podría ser la mejor opción) y, por otro, sería conveniente la creación de

ontologías y la anotación de recursos web en función de las mismas.

Hasta que esto no suceda no se podrán crear agentes inteligentes interoperativos

y mientras tanto, como es lógico, un usuario podría preguntarse qué ventajas tiene

anotar sus páginas web mediante ontologías si no existen agentes que justifiquen este

esfuerzo. Este fenómeno, denominado por Hendler (2001) como “el problema del

huevo y la gallina”, es similar al que se dio en los primeros días de la web: ¿para qué

publicar si había tan pocos usuarios? o, ¿para qué desarrollar navegadores si no había

páginas web? (Palmer, 2001).

La solución podría alcanzarse llevando a cabo aplicaciones informáticas de

publicación web, que anotaran automáticamente las páginas creadas por el usuario en

función de ontologías ya existentes en la web, con la menor intervención posible del

usuario en el proceso.

Page 38: Publicidad y sistemas de recomendación

Capítulo 2

24

2.2.3. Firmas digitales y redes de “confianza”

Como indican Berners-Lee, Hendler y Lassila (2001), una de las características

fundamentales de la web semántica serán las firmas digitales. Estos autores las definen

como “bloques de datos cifrados que las computadoras y agentes podrán usar para

verificar que la información adjunta ha sido proporcionada por una fuente fiable”. Al

aplicar un algoritmo de “hashing” sobre un documento o mensaje a firmar, obtenemos

un bloque de datos, llamado “hash” o “digest”, que representa su “resumen”. La firma

digital se obtiene al cifrar dicho “hash” mediante un sistema de criptografía de clave

pública, que se basa en el empleo de dos tipos de claves: pública y privada (todo lo que

se cifre mediante una de carácter público sólo puede ser descifrado a través de su

correspondiente privada y viceversa).

Las ventajas que confiere la firma digital a los recursos, documentos o mensajes

de la web son principalmente: identificación (posibilidad de determinar la identidad del

emisor o autor del recurso) e integridad (facilidad para detectar su manipulación o

alteración ilícita). Ambas se comprueban aplicando el algoritmo de “hashing” sobre el

recurso y comparando su resultado con el “hash” obtenido al descifrar la firma digital a

través de la clave pública del autor (Simon; Madsen; Adams, 2001).

El grupo de trabajo Xml Signature 11, fruto del esfuerzo conjunto entre el W3C

y el IETF (Internet Engineering Task Force), ha desarrollado una especificación con

sintaxis XML para la representación de firmas digitales en recursos web (Eastlake;

Reagle; Solo, 2002), que alcanzó el grado de recomendación W3C en febrero de 2002.

Este grupo, ofrece desde su web, enlaces a multitud de herramientas y bibliotecas de

programación para el procesado y verificación de firmas digitales definidas bajo esta

especificación.

Sin embargo, aunque resultan de utilidad para describir la autenticidad de las

relaciones de autoría (predicados) entre individuos y recursos, no describen la confianza

de los usuarios y agentes inteligentes sobre dichos autores y, por lo tanto, sobre el

contenido de sus recursos (Hendler; Golbeck; Parsia, 2002). A esto hay que añadir que

la infraestructura de clave pública (PKI) utilizada en las firmas digitales tiene un

carácter centralizado. De hecho, la única forma de asegurar la validez del vínculo entre

el titular de la clave pública y ella misma es utilizar un certificado emitido por una

autoridad de certificación. En este sentido, no debemos olvidar que la web semántica

pretende tener un carácter completamente descentralizado. La solución podría ser la

denominada “web of trust”, que basa su funcionamiento en el concepto de confianza o

fiabilidad, el cual es definido por Reagle (2002) como “el grado en que un agente

considera un aserto como verdadero para un contexto dado”.

Esta capa, ubicada en la zona más alta del esquema de la figura 2.5, es una

aplicación de la investigación sobre redes sociales a las redes de recursos (URIs),

expresados en forma de tripletas RDF de la web semántica.

Los individuos, identificados por medio de URIs, expresarían su grado de

confianza (o desconfianza) sobre otros, que a su vez harían lo mismo sobre los demás,

lo que daría como resultado extensas e interoperables redes de confianza procesables

por agentes inteligentes.

Hendler, Golbeck y Parsia (2002) muestran de forma práctica cómo las redes

sociales pueden ser aplicadas para construir la llamada “web of trust”. Toman como

base FOAF (Friend-of-a-friend), un vocabulario RDF para describir información sobre

los individuos y sus relaciones en una red social, el cual extienden con el objetivo de

poder expresar el nivel de confianza entre los individuos de la Red para, finalmente,

mostrar su implementación práctica en áreas como el correo electrónico.

Page 39: Publicidad y sistemas de recomendación

La Web Semántica

25

El uso conjunto de firmas digitales y redes de confianza, aplicadas sobre reglas

de inferencia de la capa lógica, puede proporcionar mecanismos complejos de

autenticación de usuarios y validación de permisos de acceso a determinados recursos

por parte de dichos usuarios.

En opinión de Reagle (2002), el problema de la centralización de la PKI puede

ser resuelto mediante el uso generalizado de redes de confianza y bloques de datos

“hash” que harían innecesario el empleo de criptografía en la mayoría de los casos y,

consecuentemente, de las autoridades de certificación.

2.2.4. Base de datos de conocimiento

El objetivo de la Web Semántica es que la Web pase de ser una simple colección

de documentos, para convertirse en una base de conocimiento.

Figura 7 - Mapa conceptual de la web semántica

La principal fuente de información sobre la Web Semántica es el W3C

Consortium, una de cuyas actividades actuales es desarrollar y estandarizar un marco

común que permita compartir y reutilizar datos entre distintas aplicaciones y

plataformas para hacer posible la Web Semántica.

Page 40: Publicidad y sistemas de recomendación

Capítulo 2

26

2.3. APLICACIONES DE LA WEB SEMÁNTICA

Existen algunos proyectos muy interesantes que apuestan por aproximaciones

semánticas como TV Finder [CECC03], recomendación personalizada de oferta

televisiva. En esa misma línea también destacamos Avatar [RAMO05], que también se

basa en información semántica. También resultan interesantes las investigaciones que se

realizan sobre los sistemas de información para la salud [SEGU09], que utilizan los

sistema de recomendación. Para clasificar el resto de aplicaciones, se han dividido en

navegadores, buscadores y otros proyectos

2.3.1. Navegadores

He aquí un ejemplo de navegador semántico desarrollado dentro del proyecto

Haystack del MIT, que personaliza la navegación según los intereses y gustos

del usuario. Entre las funciones de esta navegador podemos destacar las siguientes:

importa archivos RDF/XML de la Web o archivos del sistema, navega por las páginas

web y los recursos semánticos, crea colecciones de recursos de la Web Semántica y

permite navegar por ellos, lee weblogs basados en RSS, permite el etiquetado de

cualquier objeto, maneja colecciones de fotos digitales y organiza archivos de música,

monta la información en mini-portales, desarrolla ontologías a medida, etc.

Figura 8 – Navegador Semántico

Page 41: Publicidad y sistemas de recomendación

La Web Semántica

27

2.3.2. Buscadores

También contamos con algunos buscadores para la Web Semántica, que realizan

las búsquedas sobre ontologías y lenguajes semánticos tales como RDF y OWL. El más

conocido es SWoogle: Semantic Web Search http://swoogle.umbc.edu/ desarrollado por

la Universidad de Maryland (Baltimore, USA). Se trata de un buscador que busca

ontologías (tiene indizadas más de 10.000), documentos y términos escritos tanto en

RDF como OWL, esto es, busca documentos de la Web Semántica o Semantic Web

Documents (SWDs). Curiosamente, tanto su propio nombre como su interfaz de

presentación son muy similares a los de Google.

Figura 9 – Buscador semántico Swoogle

Pero también encontramos otros buscadores semánticos como Semantic Web

Searching: http://www.semanticwebsearching.com/ un motor de búsqueda que localiza

tanto vocabularios como recursos basados en vocabularios RDF, RSS, FOAF, DOAP,

calendarios y otras aplicaciones RDF. También está CORESE, un proyecto del INRIA

(Institut National de Recherche en Informatique et en Automatique) que se enfoca a

visualizar la Web Semántica, puesto que se basa en gráficos conceptuales: http://www-

sop.inria.fr/acacia/corese.

Figura 10 – Proyecto CORESE

Page 42: Publicidad y sistemas de recomendación

Capítulo 2

28

2.3.3. Otros proyectos

Los proyectos más importantes en el campo de la Web Semántica son los

siguientes:

AKT (Advanced Knowledge Technologies): el consorcio AKT agrupa 5

universidades del Reino Unido y fue fundado por el Engineering and Physical Sciences

Research Council (EPSRC). Su fin es ayudar a desarrollar la próxima generación de

tecnologías del conocimiento para dar soporte a la gestión del conocimiento de las

organizaciones. AKT pretende desarrollar y extender métodos integrados y servicios

para capturar, modelar, publicar, reutilizar, compartir y gestionar el conocimiento. Para

ello se tienen en cuenta los recientes desarrollos en inteligencia artificial, psicología,

lingüística, multimedia y tecnologías de Internet. http://www.aktors.org/akt/

ASG (Adaptive Services Grid): es un proyecto integrado dentro del 6º Programa

Marco de la Comisión Europea. El proyecto que comenzó en septiembre de 2004 y dura

2 años, agrupa 22 participantes de 7 países. El objetivo es desarrollar un prototipo de

plataforma abierta para la innovación, creación, composición y lanzamiento de

servicios. ASG cuenta con las principales organizaciones de producción científica y

tecnológica que hacen uso del conocimiento y con las instituciones europeas líderes en

la investigación y desarrollo del software, las telecomunicaciones y la industria

telemática. http://asg-platform.org/cgi-bin/twiki/view/Public/WebHome

DBin: es una nueva clase de aplicación web: un P2P Web Semántico con una

filosofía para "compartir archivos" y/o un Cliente de Grupos de noticias semántico.

Similar a un cliente para compartir archivos, DBin conecta directamente a otros peers.

Instead of files, sin embargo, éste bajará "información relevante" sobre los temas que se

especifiquen. De forma más técnica, permite compartir y recibir "información

estructurada semánticamente" usando RDF y otros componentes de la Web Semántica.

http://www.dbin.org/

Page 43: Publicidad y sistemas de recomendación

La Web Semántica

29

DIP (Data, Information, and Process Integration with Semantic Web Services):

el objetivo de DIP es desarrollar y extender la Web Semántica y las tecnologías de los

Servicios Web para producir una nueva infraestructura tecnológica para los Servicios de

la Web Semántica. http://dip.semanticweb.org/

ELeGI (The European Learning Grid Infraestructure): Una red semántica para el

aprendizaje humano para la puesta en marcha de escenarios futuros de aprendizaje

basado en la ubicuidad y la colaboración, y centrados en la experiencia y el aprendizaje

contextualizado a través del diseño, implementación y validación del aprendizaje en red.

http://www.elegi.org/

Esperonto Project: es un proyecto que fue desarrollado entre 2002 y 2005 dentro

del 5º Programa Marco de la Comisión Europea y cuyo objetivo era hacer de puente

entre la Web actual y la Web Semántica. La descripción del proyecto y los resultados

se pueden encontrar en: http://esperonto.semanticweb.org/

ESWS. European Semantic Web Symposium: el primero de estos simposios se

celebró en Creta en el año 2004. Estos encuentros tienen como fin mostrar las

tecnologías, desarrollos y aplicaciones de la Web Semántica a nivel europeo y mundial.

http://www.esws.org

KW (Knowledge Web): es una Red de Excelencia FP6 que ayuda a dar soporte

de transición a las tecnologías de ontologías desde el sector académico a la industria. El

consorcio actual está integrado por 18 participantes que incluyen líderes en Web

Semántica, multimedia, tecnologías del lenguaje humano, agentes, etc.

http://knowledgeweb.semanticweb.org/

IMS Global: se trata de un consorcio en el que participan más de 50

organizaciones y empresas, que tiene como objetivo el aprendizaje global a través de la

Web. En este marco, se trabaja con esquemas XML y documentación estructurada en

donde RDF juega un papel fundamental, por ejemplo en la definición de vocabularios y

taxonomías. http://www.imsglobal.org

Page 44: Publicidad y sistemas de recomendación

Capítulo 2

30

NeOn: proyecto fundado por la Comisión Europea dentro del 6º Programa

Marco. Coordinado por la Open University. En el proyecto también participan

instituciones líderes de Europa en el área del modelado del conocimiento y las

ontologías. El fin de NeOn es crear el primer servicio orientado de infraestructura

abierta y metodología asociada para soportar el desarrollo de aplicaciones de la Web

Semántica, con el objetivo de extender el estado de la cuestión a soluciones viables

económicamente. Estas aplicaciones se realizarán sobre una red de ontologías

contextualizadas, mostradas localmente que no necesariamente tengan una consistencia

global. El proyecto NeOn es impulsado por diferentes sectores como el farmacéutico, el

de la agricultura y pesca, que utilizan un amplio volumen de conjuntos de datos que no

se pueden gestionar utilizando las tecnologías actuales. http://www.neon-project.org/

OpenKnowledge: tiene por objetivo crear una nueva forma de abrir y compartir

arquitecturas de conocimiento de forma coordinada poniendo el foco de atención en la

semántica para la interacción y uso en las comunidades web. "Open" en

OpenKnowledge se emplea en 2 sentidos: como un sistema abierto en el cuál cualquiera

puede utilizarlo en cualquier momento; y en el sentido de abierto para ser ensamblado,

logrado por medio de la participación con un coste individual bajo.

http://www.openk.org/

ESSI (European Semantic System Initiative): es la suma de dos proyectos SDK

Project Cluster y ASG: El SDK (SEKT, DIP, Knowledge Web) Cluster se ha unido

estratégicamente con ASG (Adaptive Services Grid). Este nuevo ESSI Cluster combina

los Servicios de la Web Semántica y las soluciones basados en sistemas semánticamente

potentes con arquitecturas orientadas a servicios semánticos. ASG añadirá valor al

nuevo ESSI cluster porque provee un prototipo conceptual de plataforma abierta para

adaptar los servicios a las innovaciones, creación, composición y publicación. ESSI es

un cluster de 4 grandes proyectos europeos en el área de la Web Semántica y de los

Servicios de la Web Semántica conocidos como: SEKT, DIP, Knowledge Web y ASG.

Mediante la cooperación de estos proyectos, se pretende fortalecer la investigación y la

industria europeas por medio de la estandarización a nivel mundial. Cada proyecto se

especializa en un aspecto concreto de la Web Semántica, como construir la

infraestructura, desarrollar y explotar las tecnologías del conocimiento basadas en la

Web Semántica, enriquecer los Servicios Web con metadatos semánticos y soportar el

proceso de transición de las tecnologías de ontologías desde el mundo académico a la

industria. http://www.sdk-cluster.org/

SEKT Project (Semantically -Enabled Knowledge Technologies): co-fundado

por el 6º Programa Marco de la UE parar llevar a cabo la Sociedad del Conocimiento.

La visión de SEKT es desarrollar y explotar las tecnologías del conocimiento bajo unos

Page 45: Publicidad y sistemas de recomendación

La Web Semántica

31

nuevos parámetros de gestión donde se rompan las fronteras entre gestión de

documentos, gestión del contenido y y gestión del conocimiento, y donde la gestión del

conocimiento se convierta en una actividad cotidiana sin gran esfuerzo. El conocimiento

se ofrece de forma automática al usuario por medio de una gama de dispositivos. La

estrategia del SEKT se basa en la sinergia de los conocimiento técnicos de varios

centros de excelencia en las tecnologías de ontologías y metadatos, la innovación y las

tecnología del lenguaje humano, con las grandes empresas que lideran el mercado.

http://www.sekt-project.com/

Page 46: Publicidad y sistemas de recomendación

Capítulo 2

32

2.4. LÍNEAS FUTURAS

El proyecto de web semántica, en su organización y funcionamiento, tiene

bastantes similitudes con la organización de una biblioteca, donde la semántica de las

obras (recursos) se describe mediante metadatos (RDF, RDFs, DC, etc.), los usuarios

pueden ayudarse de bibliotecarios (agentes inteligentes) así como del conocimiento y

capacidad de razonamiento de éstos (ontologías) para localizar y recuperar la

información que necesitan.

La web, vista de esta forma, sería la más extensa y heterogénea biblioteca

existente y justificaría que la única forma eficiente de recuperar información fuera

mediante agentes computacionales y no humanos. Sin embargo, el problema de estos

agentes es doble: todo el conocimiento que poseen (ontologías) debe ser definido por

usuarios y autores y, además, con ese conocimiento únicamente podrían ofrecer un

servicio de consulta, ya que no son capaces de describir recursos por sí solos, por lo que

éstos también tendrán que ser descritos por usuarios y autores. Esta descripción de

fuentes y el conocimiento de los agentes, realizados de forma descentralizada y

cooperativa, es la que previsiblemente provocará mayores problemas en la futura

implementación de la web semántica. No obstante, no es posible negar que además de

en la recuperación de información, con este nuevo modelo se abren prometedores

horizontes en los servicios web, en las bibliotecas digitales o en la computación ubicua.

Ciertos autores han abundado en la concepción de esta red global del

conocimiento: Francis Heylighen, Cliff Joslyn y Johan Bollen hablan de la futura Web

como algo que piensa y aprende, como un superorganismo social que tiene un cerebro

global. En la figura 11 puede apreciarse esta analogía, sacado de la siguiente web:

http://pespmc1.vub.ac.be/SUPORGLI.html

Figura 11 – El superorganismo Social y su cerebro global

Page 47: Publicidad y sistemas de recomendación

La Web Semántica

33

2.4.1. Introducción

Es necesario apuntar los problemas de recuperación de información a través de

metadatos en un entorno abierto y descentralizado como la web semántica. La falta de

normalización en la descripción de recursos podrá llevar a que cada usuario, por

ejemplo, describa el nombre de un autor de forma totalmente diferente al resto. Hay que

recordar también el fracaso de uno de los primeros intentos de describir metadatos sobre

los recursos en la web a través de etiquetas <meta> incrustadas en los ficheros html.

Muy pronto los motores de búsqueda dejaron de utilizarlas debido principalmente al uso

interesado e ilícito que muchos websites hicieron de ellas como técnica para

posicionarse en sus resultados por encima de los recursos de la competencia.

En un nivel más técnico, otro problema al que se debe de enfrentar es al propio

esquema de capas ideado por Berners-Lee [BERN99]. En éste, cada nivel posee sintaxis

y, al menos la mayoría, semántica. El problema es que no todas extienden de la misma

forma la semántica, ni mantienen la sintaxis de su capa subyacente. RDF es un

subconjunto sintáctico de XML pero no mantiene su semántica, por lo que, como ya se

ha mencionado, XML es considerado la base sintáctica de la web semántica.

RDFs, en cambio, no sólo mantiene la sintaxis de RDF sino que además extiende

su semántica. En este sentido, es importante desarrollar relaciones sintáctico-semánticas

alternativas para solucionar el problema de ubicación de OWL sobre RDFs.

Por otra parte, es totalmente necesario intentar mantener un equilibrio entre

facilidad de uso y capacidad expresiva, ya que no podemos olvidar que la simplicidad y

accesibilidad de HTML fueron las características clave que contribuyeron al

surgimiento de la web o, que fue esta armonía entre sencillez y funcionalidad la que

hizo que XML se impusiera entre los desarrolladores, algo que en su día no consiguió

SGML debido a su complejidad conceptual. En la figura 12, puede apreciarse esta web

inteligente, obtenido de en.red.ando. Barcelona 26/10/2001.

Figura 12 – La Web inteligente.

.

Page 48: Publicidad y sistemas de recomendación

Capítulo 2

34

2.4.2. Poca popularidad

La Web Semántica no goza de excesiva popularidad entre los creadores de sedes

web debido a que no está pensada para seres humanos, sino para agentes o programas

que recorran la World Wide Web e infieran nuevos datos. En los aspectos técnicos ha

habido grandes logros ya que existen librerías para lenguajes como Java,

PHP, Perl, Python, etc.; y también existen distintos instrumentos para inferir

información como Jena, CWM, EARL, etc. pero la realidad es que existen muy pocos

agentes que humanicen la información de la Web Semántica.

Los avances en el campo semántico han sido notables, pero no tan

espectaculares como se auguraba en los primeros tiempos del desarrollo de la

inteligencia artificial y los sistemas expertos y como algunos autores predicen que

ocurrirá en un futuro. Llevando hasta el extremo la idea de la Web Semántica como una

base global de conocimientos, han surgido nuevas iniciativas que van más allá de este

concepto y que equiparan el funcionamiento de la Web al funcionamiento de un cerebro

global, de la misma forma que Peter Russell en 1983 propuso la idea de un cerebro

global que pudiera emerger de una red mundial de seres humanos conectados por las

telecomunicaciones. (Ver vídeo http://www.peterussell.com/GB/GBVideo.html)

2.4.3. Críticos

También existen numerosos críticos que aducen que este tipo de planteamientos

son no sólo descabellados sino, incluso, temibles. La realidad es que todavía estamos

muy lejos de conseguir, incluso, algunos de los planteamientos menos complejos de la

Web Semántica. En los años 70, el desarrollo de la inteligencia artificial condujo a

cierta euforia que el tiempo transcurrido y los escasos avances alcanzados se han

encargado de desmentir. Lo que sí es cierto, es que hay muchas líneas de trabajo

abiertas en relación con la Web Semántica, líneas que tienen que ver con los lenguajes

semánticos y lenguajes de definición de ontologías, metodologías de desarrollo e

integración de ontologías y otros vocabularios de dominios concretos del

conocimiento, agentes, tecnologías y servicios web, etc. y que muchas empresas y

grupos de investigación trabajan en este sentido.

Pero la realidad es que, actualmente, la construcción y recuperación de

estructuras semánticas no se puede llevar a cabo de forma automática. En los albores de

la Web nadie pensó en etiquetar categorías y añadir metadatos, pues la mayor parte del

contenido de la Web estaba diseñado para leer, no para que fuera manipulado

por ordenadores, robots y agentes. Pronto se vio que, ante las colosales dimensiones de

la Web y la heterogénea información que contenía era necesario no sólo organizar la

información, sino también clasificarla y categorizarla con el fin de poder

realizar búsquedas y recuperar la información de forma automática. Y esto sólo es

posible mediante una indización y clasificación previas, esto es, con la generación de

documentos previamente estructurados formal y semánticamente, y utilizando un

lenguaje que sea independiente de la plataforma o aplicación empleadas. En el mundo

analógico e impreso la descripción, indización y clasificación de documentos ha sido un

coto vedado para bibliotecarios y profesionales de la documentación, una de cuyas

tareas habituales era la elaboración de tesauros y ontologías para describir, categorizar y

clasificar la información. Esta labor se vio pronto invadida, en el mundo digital, por

informáticos, matemáticos, ingenieros del conocimiento, lingüistas, expertos en

inteligencia artificial, arquitectos de la información, etc. que son los que han tomado la

Page 49: Publicidad y sistemas de recomendación

La Web Semántica

35

delantera en las técnicas de descripción, búsqueda, recuperación y acceso a la World

Wide Web.

Los "documentalistas robotizados" no tiene por qué comprender la información,

sólo precisan de metadatos y ontologías para indizar y clasificar los documentos o

recursos de la Web. Los lenguajes de marcado actuales han añadido capacidades

semánticas a las capacidades de estructuración formal de los datos. Los documentos

web se codifican mediante lenguajes de metadatos y ontologías, lenguajes

semánticos que aportan representaciones compartidas de conocimiento en forma de

conceptos relacionados y reglas de inferencia lógicas, estos documentalistas inteligentes

podrán asistir a los usuarios tanto en la recuperación de información como en otro tipo

de servicios. De esta forma, los agentes "no humanos" cobran una especial relevancia

como actores principales en la futura World Wide Web, esto es, la Web Semántica, y se

convierten, al igual que los usuarios humanos, en un nuevo tipo de usuario capaz de

extraer información y de interactuar con el entorno. Otro aspecto a desarrollar es la

nueva interacción que se estable entre estos usuarios computerizados y los usuarios

humanos.

2.4.4. Futuro

La Web Semántica cuenta ya con una nutrida infraestructura de lenguajes y

tecnologías para hacerla posible. La sintaxis se basa en el lenguaje XML y derivados, y

la semántica en los lenguajes RDF (S) y OWL, y también están presentes otras muchas

aplicaciones y tecnologías ya desarrolladas como URIs, Topic Maps, XFML, firmas

digitales, etc. y numerosas empresas y centros de investigación están trabajando en ella.

Sin embargo, para que la antigua tarea humana e intelectual de la identificación,

indización y clasificación de documentos pueda hacerse mediante ordenadores sólo

podrá llevarse a la práctica si colaboran de forma interdisciplinar documentalistas,

lingüistas, informáticos, arquitectos de la información, ingenieros y expertos en

inteligencia artificial, etc.

A pesar de los problemas a los que se enfrenta la web semántica, no dudamos de

la viabilidad del proyecto, avalada por la utilidad real que están demostrando a día de

hoy el conjunto de lenguajes, tecnologías y herramientas afines sobre la actual web y

por el extenso y creciente número de investigadores, grupos de trabajo y grandes

empresas que se encuentran implicados en este proyecto.

Page 50: Publicidad y sistemas de recomendación

36

Capítulo 3 Sistemas de recomendación

La gran cantidad de sitios especializados en Internet, ofertando millones de

productos y/o servicios para su consumo, se convierte en un caos de información sin

solución cuando se necesita realizar una adquisición eligiendo entre todas las opciones

existentes. Los sistemas de recomendación [HERR09] surgen como solución a este

problema. Un sistema de recomendación recibe información del usuario acerca de

productos y/o servicios en los que el usuario se encuentra interesado y le recomienda

aquéllos cercanos a sus necesidades

Page 51: Publicidad y sistemas de recomendación

Sistemas de Recomendación

37

3.1. INTRODUCCIÓN

Uno de los principales retos que hoy día tienen que afrontar los sistemas de

información es la gestión eficaz del gran volumen de documentos que almacenan para

poder facilitar a los consumidores de información el acceso a recursos que satisfagan

sus necesidades de una manera sencilla y ágil. Esta necesidad se vuelve más acuciante

en una sociedad como la actual donde el nivel de exigencia de los usuarios es cada vez

mayor.

Tradicionalmente, en el ámbito de las bibliotecas el problema de la sobrecarga

de información se ha abordado adoptando diferentes medidas, como por ejemplo la

creación de servicios de difusión selectiva de información (DSI), en los que, de acuerdo

al perfil de los usuarios suscritos al servicio, se generan periódicamente (o a petición del

propio usuario) una serie de alertas en las que se les notifica de la existencia de recursos

que se adecuan a sus intereses (Aksoy et al., 1998), (Foltz; Dumais, 1992).

La Web, aunque presenta características propias que la diferencian claramente

de las bibliotecas, padece, en esencia, el mismo problema y los esfuerzos para atenuarlo

se centran en la aplicación de soluciones similares, como es el caso de los sistemas de

filtrado de información (también conocidos como sistemas de recomendación). De

hecho, los sistemas de recomendación podrían considerarse sistemas de DSI aplicados a

la Web pero, lógicamente, con unas capacidades de filtrado infinitamente más potentes

y sofisticadas. Estos sistemas aplican técnicas de filtrado de información que facilitan el

acceso de los usuarios a la información que necesitan. En dominios textuales, los

sistemas de filtrado evalúan y criban los recursos disponibles en la Web (normalmente

en formato HTML o XML) básicamente para asistir a los usuarios en tareas de

recuperación de información (Resnick; Varian, 1997) (principalmente mediante el uso

de agentes de filtrado), aunque también se utilizan para predecir la valoración de los

usuarios sobre ítems que aún no han evaluado (Szomszor, 2007).

El origen de este tipo de sistemas se remonta a principios de la década de los 90

del pasado siglo, cuando comienzan a surgir dentro de los servicios de newsgroups

(grupos de noticias) servicios de filtrado de noticias que permitían a su comunidad de

usuarios acceder exclusivamente a aquellas que potencialmente podían ser de su interés

(Foltz; Dumais, 1992) (Resnick et al., 1994) (Stodolsky, 1990).

En la actualidad los sistemas de recomendación han evolucionado y es posible

encontrarlos en diversos ámbitos de aplicación como en el comercio electrónico, donde

se han convertido en una herramienta fundamental para los proveedores en línea

(Schafer; Konstan; Riedl, 2001) o en los servicios de información científica.

No obstante, en cada dominio se presentan diferentes problemas a los que hay

que dar diferentes soluciones. La necesaria capacidad de evolución ha implicado que los

sistemas de recomendación se hayan diversificado.

De entre las múltiples posibles categorías de sistemas de recomendación que

existen en este trabajo nos vamos a centrar en hacer una revisión de los denominados

sistemas de recomendación semánticos, que en el último lustro están siendo objeto de

un amplio tratamiento en la literatura especializada y que se caracterizan por basar su

funcionamiento en diferentes tecnologías y vocabularios de la Web Semántica.

Page 52: Publicidad y sistemas de recomendación

Capítulo 3

38

3.2. CLASIFICACIÓN DE LOS SISTEMAS DE

RECOMENDACIÓN

3.2.1. Criterios de clasificación

Tradicionalmente, los sistemas de filtrado y recomendación se han clasificado en

tres categorías principales de acuerdo a la técnica que utilizan para realizar el filtrado

(Popescul et al., 2001): sistemas de recomendación sociales, sistemas de recomendación

basados en contenido y sistemas de recomendación basados en factores económicos.

Los sistemas de filtrado social, también denominados de filtrado en colaboración

o colaborativos (anglicismo con el que más comúnmente son conocidos), utilizan la

información proporcionada por usuarios de características similares al activo para

generar recomendaciones, obviando el contenido de los recursos (se basa

exclusivamente en las valoraciones que éstos reciben por parte de los usuarios). En este

tipo de sistemas es habitual agrupar a los usuarios en categorías específicas o

estereotipos que los caracterizan a través de una serie de valores de preferencia

definidos por defecto y que representan las necesidades de información y hábitos de

búsqueda más comunes del grupo. Este tipo de sistemas tiende a ofrecer resultados

pobres cuando se dispone de poca información sobre los usuarios o estos tienen gustos

muy heterogéneos (Popescul et al., 2001).

Los sistemas de filtrado basados en contenido generan recomendaciones

equiparando las preferencias del usuario (expresadas por éste de forma implícita o

explícita) con los metadatos o características utilizados en la representación de los

recursos o productos, ignorando de esta forma la información relativa a otros usuarios.

Estos sistemas, al igual que los sociales, son poco fiables cuando se dispone de poca

información sobre el usuario.

Los sistemas de recomendación basados en factores económicos son aquellos

que generan recomendaciones basándose en elementos de coste (Resnick et al., 1994),

como, por ejemplo, la relación entre el coste de un servicio y el beneficio que reporta al

cliente o la relación entre el ancho de banda y el tamaño de un objeto a descargar. No

obstante, el uso de este tipo de sistemas a día de hoy es muy marginal.

La tendencia actual se inclina por el desarrollo de sistemas de filtrado híbridos

que combinan características de los sistemas basados en contenido y de los

colaborativos, para atenuar las desventajas de cada una de ellos y mejorar de esta

manera la eficiencia global del funcionamiento del sistema en términos de precisión y

exhaustividad (Basu; Hirsh, Cohen, 1998) (Balabanovic; Shoham, 1997).

No obstante, existen otros criterios que podrían ser utilizados para su

clasificación. Así, por ejemplo, atendiendo a la forma en que se capturan las

preferencias del usuario, se puede distinguir entre sistemas donde la recogida de datos

es explícita (cuando se pide al usuario que aporte de forma voluntaria sus valoraciones)

y sistemas donde está recogida se realiza de manera implícita (monitorizando la

actividad del usuario en el sistema).

Según la metodología de filtrado de información es posible distinguir entre

sistemas que realizan un filtrado pasivo (Rafter; Bradley; Smyth, 1999) (cuando se

genera una única recomendación que es válida para todos los usuarios del sistema), y

sistemas de filtrado activo (Boutilier; Zemer; Marlin, 2003) (Maltz; Ehrlich, 1995), en

Page 53: Publicidad y sistemas de recomendación

Sistemas de Recomendación

39

el que la recomendación se genera a partir del historial de recomendaciones de los

usuarios para generar nuevas recomendaciones personalizadas. Un ejemplo de sistemas

pasivos son aquellos que recomiendan los ítems más valorados por el conjunto de la

comunidad de usuarios (es decir, el usuario no influye de forma directa sobre la

información que recibe). Los sistemas activos son algo más complejos ya que generan

las recomendaciones a partir de las opiniones de usuarios de perfil similar. Es más,

dentro de los sistemas activos es posible definir dos modelos diferentes de recuperación

de información (Gnasa et al, 2005): el modelo de pull de información (cuando el usuario

debe lanzar una consulta al sistema para recibir la recomendación) y el modelo de push

de información (cuando esa consulta se hace de forma implícita a través de las

preferencias definidas en su perfil de usuario).

También se suele distinguir entre sistemas de filtrado centrados en el usuario

(Xin et al., 2005), cuando las recomendaciones se obtienen equiparando la similitud

entre usuarios de acuerdo a las preferencias almacenadas en su perfil y sistemas de

filtrado centrados en ítems o productos (Resnick et al., 2004), en los que primero se

buscan las relaciones que existen entre los diferentes ítems y a continuación se generan

las recomendaciones a partir de las preferencias del usuario activo.

Atendiendo a la manera en que el algoritmo de filtrado procesa la información,

se encuentran sistemas que cargan todos los datos de forma residente en memoria para

generar las recomendaciones y otros que utilizan una cantidad de datos menor a partir

de la cual se generan modelos predictivos, que permiten procesar las recomendaciones

de una manera más rápida.

Otro criterio consiste en diferenciar entre sistemas de recomendación

centralizados (cuando las descripciones de productos y perfiles de usuarios [CRUZ03]

se encuentran almacenados en un servidor centralizado) y sistemas de recomendación

no centralizados (generalmente desarrollados sobre redes P2P).

Los criterios de clasificación son muchos y variados y no se limitan a los

relacionados. No obstante, se realizará un análisis del estado de la cuestión sobre una

categoría específica de sistemas de recomendación que están teniendo una amplia

cobertura en la literatura científica en los últimos años: los sistemas de recomendación

semánticos.

Page 54: Publicidad y sistemas de recomendación

Capítulo 3

40

3.2.2. Sistemas de recomendación semánticos

Independientemente del tipo de sistema, se encuentra que una característica

común a la gran mayoría de ellos es la utilización de perfiles para representar las

necesidades de información e intereses a largo plazo de los usuarios. De esta manera,

los perfiles de usuario [CRUZ03] se convierten en una pieza clave dentro de los

sistemas de recomendación para obtener un filtrado eficiente, ya que un modelado de

perfiles inadecuado puede conducir a unas recomendaciones de baja calidad y poco

relevantes para el usuario.

Los sistemas de recomendación utilizan normalmente agentes software para

desempeñar tareas de filtrado de información en lugar del usuario. No obstante, estos

modelos adolecen de algunas debilidades: i) los procesos de comunicación entre

agentes, y entre agentes y usuarios se ven dificultados por las diversas formas en que la

información está representada; y ii) la heterogeneidad en la representación de la

información provoca a su vez que ésta no pueda ser reutilizada en otros procesos o por

otras aplicaciones.

Para paliar estas deficiencias, es posible mejorar y enriquecer la representación

de la información mediante la aplicación de tecnologías del proyecto Web Semántica

(Berners-Lee; Hendler; Lassila, 2001).

Se pueden considerar sistemas de recomendación semánticos aquellos que basan

su funcionamiento sobre una base de conocimiento, normalmente definida a través de

un esquema de conceptos (como una taxonomía o un tesauro) o una ontología

[SOLE09] , y que utilizan tecnologías de Web Semántica.

El proyecto Web Semántica se presenta como una extensión de la Web actual

que pretende convertirse en una plataforma universal para el intercambio de

información. En el modelo Web Semántica la información está dotada de un significado

bien definido que permite una mejor colaboración entre humanos y máquinas (Berners-

Lee, 2000). El proyecto se apoya básicamente en dos ideas: el marcado semántico de los

recursos (lo que implica una separación formal entre el contenido y la estructura de los

documentos) y el desarrollo de agentes software capaces de procesar y operar con estos

recursos a nivel semántico (Berners-Lee, 2001), (Hendler, 2001) utilizando ontologías

(entendidas como conceptualizaciones formalizadas de una parcela de realidad que dan

sentido pleno a la información situándola en un contexto (Guarino, 1998) (Gruber,

1995).

En los últimos años han aparecido múltiples sistemas de recomendación que

utilizan tecnologías del proyecto Web Semántica y proponen diversas soluciones de

aplicación en diferentes ámbitos. Básicamente, se pueden clasificar en: sistemas basados

en ontologías o esquemas de conceptos pero, además, se encuentran otros sistemas que

añaden filtros de información adicionales como los sistemas adaptables al contexto y los

sistemas basados en redes de confianza.

Page 55: Publicidad y sistemas de recomendación

Sistemas de Recomendación

41

3.2.3. Sistemas basados en ontologías y redes semánticas

El sistema diseñado por Wang y Kong (2007) es un sistema de recomendación

personalizado que intenta paliar los problemas de los sistemas de recomendación

colaborativos usando, en forma de ontología, la información semántica de las

características categóricas de un ítem. La similaridad por pares de usuario se calcula con

el método de la media ponderada de tres medidas de similaridad: la similaridad del

histórico de evaluaciones de dos usuarios (utilizando el coeficiente de correlación de

Pearson sobre información de utilización del sistema en forma de matriz de datos de

evaluación usuario-ítem); la similaridad de datos demográficos de dichos usuarios

(calculada vía media ponderada); y, la similaridad del interés o preferencia de dichos

usuarios basada en las similaridades semánticas de los ítems recuperados y/o evaluados.

Al mismo tiempo, el sistema incorpora un mecanismo de clúster de usuarios offline para

paliar el problema de la escalabilidad.

Khosravi, Farsani y Nematbakhsh (2006) sugieren una metodología para

recomendaciones personalizadas en el contexto del comercio electrónico. Se trata de un

procedimiento para recomendar productos a clientes potenciales. El algoritmo propuesto

se basa en el modelado de información sobre productos y usuarios con OWL (Ontology

Web Language). El proceso se inicia con la clasificación de productos y consumidores

mediante OWL, lo que facilitará el análisis de la similaridad producto-cliente. En una

segunda fase se seleccionan consumidores activos, teniendo en cuenta recomendaciones

anteriores (el sistema no recomienda a un cliente si el número de sus recomendaciones

anteriores no sobrepasa un cierto umbral). La clasificación de productos y clientes es

utilizada para crear una matriz de evaluaciones productos-clientes. El algoritmo

recomienda alguno de los productos de cada clase de entre las clases de productos

basándose en el número de evaluaciones en la matriz.

Otro modelo que se aplica en el ámbito del comercio electrónico es el que

presenta Ziegler, Lausen y Schmidt-Thieme (2004). El sistema se basa en el paradigma

de recomendación colaborativa a través de contenido (Pazzani, 1999) y utiliza una

taxonomía de productos a partir de la cual se definen los perfiles de los usuarios (sin

necesidad de que estos proporcionen sus valoraciones de forma explícita) [CRUZ03]. El

perfil del usuario activo es utilizado para descubrir usuarios con intereses similares,

cuyas valoraciones sirven al sistema para generar las recomendaciones.

Por su parte Jung y colaboradores (2005) proponen un sistema de

recomendación basado en información personal que afirman es adecuado al contexto

Web Semántica. El modelo se fundamenta en la representación de servicios Web y

perfiles de usuario con tripletas RDF (Resource Description Framework). Cada

compañía que quiera proporcionar servicios Web registra los datos en el repositorio de

información, donde el sistema convierte los datos en documentos con formato RDF. El

módulo de búsqueda extrae la información del repositorio y la envía al agente colector

de documentos. El agente accede al espacio de nombre correspondiente y recoge los

documentos RDF relativos a los servicios Web requeridos. Estos documentos son

enviados al agente de integración de información, donde son fusionados en un solo

documento RDF que contiene información relevante. Finalmente, el agente de

recuperación de información extrae las tripletas RDF más relevantes conforme al perfil

de usuario y se ofrecen al usuario los objetos almacenados coincidentes con dichas

tripletas.

Otros sistemas se definen sobre estructuras descentralizadas como las redes P2P.

Ese es el caso del modelo que presenta Díaz-Avilés (2005), donde la información no

está disponible en un repositorio centralizado sino en cada uno de los componentes de la

Page 56: Publicidad y sistemas de recomendación

Capítulo 3

42

red. Los ítems u objetos se modelan mediante una ontología común que utilizan todos

los miembros de la red. La selección de los componentes de la red se realiza de forma

dinámica y la recomendaciones se generan utilizando un algoritmo de recomendación

basado en el método del “vecino más cercano” que se ejecuta de forma local en cada

componente de la red.

Una aproximación original es la propuesta de Cantador y Castells (2006) para

desarrollar un modelo de red social semántica multicapa que permite definir el sistema

desde diferentes perspectivas a partir de los intereses comunes que comparten los

integrantes de la red. A partir de una serie de perfiles de usuario [CRUZ03] generados

utilizando una ontología de conceptos, y teniendo en cuenta sus preferencias comunes,

el sistema es capaz de acotar los diferentes grupos de conceptos del dominio. A partir de

estos grupos es posible identificar conjuntos de usuarios con intereses similares que se

interrelacionan entre sí en diferentes niveles semánticos (de acuerdo a sus preferencias).

Esta metodología permite descubrir redes sociales implícitas que pueden ser

aprovechadas para definir tanto sistemas de recomendación basados en contenido, como

colaborativos.

Frente a estos modelos genéricos, se encuentran muchos otros que se definen

para dominios más específicos como el proyecto "Foafing the Music" (Celma; Ramirez;

Herrera, 2005) que recomienda temas musicales y noticias relacionadas; el sistema que

proponen Middleton y colaboradores (2002), para recomendar artículos científicos, que

se basa en una ontología generada de forma automática a partir de la información

extraída dinámicamente de diversas fuentes (información en línea, monitorización de

usuarios, feedback, etc.); el sistema multi-agente AVATAR (Blanco Fernández et al.,

2004) especializado en programas de televisión; o SemMF (Oldakowsky; Byzer, 2005)

que genera recomendaciones de ofertas de trabajo calculando la similaridad semántica

de dos conceptos de acuerdo a su situación dentro de una jerarquía de conceptos.

Figura 13 – Ontología basada en ítems y perfiles de usuario

Page 57: Publicidad y sistemas de recomendación

Sistemas de Recomendación

43

3.2.4. Sistemas basados en redes de confianza

Una de las principales preocupaciones de los investigadores en el campo de los

sistemas de recomendación semánticos es garantizar la fiabilidad y precisión de las

recomendaciones que se generan. Para ello, muchos de ellos ofrecen un nivel de filtrado

adicional fundamentado sobre de una red de confianza (Ziegler, 2004).

Adrian, Sauermann y Roth-Berghofer (2007) proponen ConTag, un sistema que

asesora a los usuarios sobre las etiquetas más propicias para describir el contenido de

diferentes recursos que se utilizan en una plataforma Web 2.0. Los documentos son

transformados a formato RDF para posteriormente generar un mapa de materias (topic

map) definido en SKOS Core, a partir del cual es posible calcular la similaridad de estas

materias con los conceptos definidos en la ontología del sistema. Las etiquetas

recomendadas por el sistema pueden ayudar al usuario a describir mejor el contenido

del recurso, minimizando así problemas de sinonimia, homonimia, acrónimos y

variantes ortográficas que pueden presentar las etiquetas definidas por los usuarios.

Jäschke y colaboradores (2007) proponen un mecanismo de recomendación de etiquetas

similar.

Szomszor y colaboradores (2007) proponen el uso de algoritmos de predicción

para la integración de una folksonomía de películas con una base de conocimiento

semántico sobre alquileres de películas por parte de los usuarios. La folksonomía es

usada para enriquecer la base de conocimiento con descripciones y categorizaciones de

títulos de películas, además de con representaciones de opiniones e intereses de los

usuarios. La “nube” de etiquetas generada por la folksonomía es usada para construir

perfiles de usuario mejorados [CRUZ03], que reflejan el nivel de interés del usuario

sobre diferentes tipos de películas y, por lo tanto, proporcionan una base para la

predicción de calificaciones de películas no vistas. Para la construcción de la base de

conocimiento sobre películas y sobre cómo las alquilan los usuarios emplean fuentes de

la Web 2.0 (Internet Movie Database y Netflix Prize, respectivamente). Para

proporcionar una representación homogénea de ambos conjuntos de datos se construye

una ontología con OWL, en conjunción con la tecnología para mapping D2RQ, que

permite tratar los datos de una base de datos relacional como grafos virtuales RDF.

En esta línea, Massa y Avessani (2004) presentan un modelo basado en la

denominada “Web de Confianza”. El sistema toma como inputs una “matriz de

confianza” (que representa el conjunto de declaraciones de confianza de la comunidad -

los usuarios explicitan a aquellos otros en cuyas evaluaciones confían-) y una matriz de

evaluaciones (que representa todas las evaluaciones dadas por los usuarios a los ítems) y

produce, como output, una matriz de evaluaciones predecibles que los usuarios podrían

asignar a los ítems. Esta matriz es usada por el sistema para recomendar los ítems

preferidos por los usuarios. Es decir, el sistema selecciona de la columna de

evaluaciones predecibles relativa a los usuarios, los ítems con más altos valores. De esta

forma, se incrementa la cobertura de los sistemas de recomendación colaborativos y, al

mismo tiempo, se mantiene la calidad de los ítems recomendados, paliando así, los

problemas de arranque en frío (para nuevos usuarios) y la nula fiabilidad de los datos de

usuarios maliciosos.

Una aproximación diferente es la que ofrece el sistema FOAFRealm (Kruk;

Decker, 2005). Se construye sobre redes P2P y que dispone de una librería que permite

a los usuarios gestionar sus propios perfiles definidos en FOAF (Friend of a Friend

vocabulary). A su vez, las descripciones y categorías definidas por los usuarios están

enriquecidas con términos extraídos de esquemas taxonómicos u ontologías. Para

gestionar los problemas de seguridad que suelen presentarse en los sistemas de

Page 58: Publicidad y sistemas de recomendación

Capítulo 3

44

recomendación basados en arquitecturas distribuidas se define el concepto de “perfil

extrapolado”, en el que los nuevos usuarios adquieren un perfil que se construye a partir

del perfil de los usuarios que lo agregan como “amigo”, y que depende directamente del

nivel de confianza que estos le otorgan (facilitándose de esta manera la localización de

usuarios maliciosos).

De manera similar funciona Filmtrust (Golbek, 2005), un sitio web que integra

un sistema de recomendación semántico colaborativo de películas que utiliza el

vocabulario FOAF como base para la creación de una red social de confianza. En esta

red cada individuo debe valorar la confianza que les merecen aquellos usuarios a los que

añaden a su red de amigos (a partir de los cuales se generan las recomendaciones de

películas). El sistema adicionalmente dispone de un mecanismo que permite determinar

la precisión de las recomendaciones generadas.

Bedi y colaboradores (2007) definen un modelo novedoso que se basa en el uso

de una serie de ontologías y del establecimiento de redes de confianza entre agentes.

Cada agente tiene asociada una ontología personal temporal (de esta manera se

amortiguan las posibles modificaciones que estas pueden sufrir en el tiempo) a partir de

las cuales pueden generar recomendaciones independientes de dominio. Para calcular

estos valores de recomendación la similaridad entre agentes se presupone

implícitamente en el valor de confianza que los propios agentes se asignan entre sí al

interactuar. También es novedosa la utilización en este tipo de sistemas de conjuntos

difusos intuitivos (Atanassov, 1999) para gestionar la incertidumbre inherente al

proceso de recomendación.

En la literatura también se encuentran otros modelos de sistemas de

recomendación que utilizan tecnologías propias de la Web 2.0, como los canales RSS.

Así, el modelo presentado por Kobayashi y Saito (2006) propone un sistema para

recomendar artículos periodísticos y noticias extraídos de canales RSS, utilizando como

apoyo un tesauro cuyos términos se usan para representar tanto las materias de las

noticias como las necesidades de información de los usuarios.

Otro ejemplo del uso de este vocabulario se encuentra en el modelo presentado

por Peis, Herrera-Viedma y Morales-del-Castillo (2008), en el que una serie de canales

RSS cumplen el papel de "boletines de novedades", dentro de un servicio de DSI para

bibliotecas digitales especializadas. El sistema se construye sobre una plataforma multi-

agente y es capaz de generar alertas y recomendaciones de acuerdo a las preferencias

definidas en los perfiles de usuario [CRUZ03]. Estos perfiles se construyen a partir de

un tesauro especializado y se actualizan de forma dinámica a través de un mecanismo de

descubrimiento de preferencias tácitas de usuarios, que utiliza técnicas de modelado

lingüístico difuso.

Page 59: Publicidad y sistemas de recomendación

Sistemas de Recomendación

45

3.2.5. Sistemas adaptables al contexto

Otra posibilidad son los sistemas de recomendación adaptables (o sensibles) al

contexto. En este tipo de sistemas se analizan y toman en consideración diferentes

factores (temporales, de lugar, nivel de experiencia del usuario, dispositivo que se está

utilizando en el momento de recibir la recomendación, etc.) para inferir el contexto en

que se encuentra el usuario y adaptar las recomendación a esas circunstancias.

Dentro de este grupo se encuentra, por ejemplo, el modelo basado en contenido

que proponen Kim y Kwon (2007). El funcionamiento del sistema se basa en la

definición de “contextos de uso” que se corresponden con los diferentes niveles de

especificidad de una ontología de conceptos. El sistema genera una recomendación a

partir del conjunto de ítems más valorados por un usuario y a continuación es capaz de

adaptar el nivel de especificidad de la información que es mostrada al individuo

dependiendo del contexto de uso en que se encuentran los conceptos por los que

muestra interés. Para determinar estos contextos el sistema utiliza cuatro ontologías: una

ontología de productos, otra donde se definen los diferentes contextos de uso, una

tercera sobre el registro histórico de actividades de los usuarios en el sistema, y una

última ontología sobre los usuarios.

Loizou y Dasmahapatra (2006) proponen por su parte un sistema fundamentado

sobre una ontología que incorpora información contextual tanto del proceso de

recomendación como de los ítems a recomendar. Esta información contextual (por

ejemplo, el tiempo de recomendación o la utilidad del ítem recomendado para el

usuario) tratada con un aparato matemático basado en reglas heurísticas aplicadas sobre

espacios vectoriales permite al sistema evaluar, de forma dinámica, la adecuación de

una recomendación concreta.

También es interesante la propuesta de Yu y colaboradores (2007) que aplican

este tipo de sistemas al ámbito del e-learning. El modelo pretende facilitar a los

estudiantes los recursos que necesitan para llevar a cabo las tareas planteadas en los

cursos. Se apoya en el uso de ontologías para representar de manera eficiente el

conocimiento del sistema sobre los usuarios, sobre el contenido de los recursos y sobre

el dominio específico de especialización del sistema para generar recomendaciones

basadas en el contexto de uso (es decir, la recomendación es diferente dependiendo de

diferentes factores como el nivel de experiencia, o de lo avanzado que esté el curso en el

momento en que el usuario requiere la recomendación). El sistema no se limita a

recomendar recursos adecuados al contexto, sino que sugiere al alumno otros recursos

relacionados que le permiten ahondar en la materia y definir de esta manera un

programa de estudios completo.

Otros modelos que aplican este tipo de filtrado son el propuesto por Laliwala,

Sorathia y Chaudhary (2006) donde se desarrolla un sistema de recomendaciones

semántico para servicios de información agrícola basado en eventos o el que presentan

Woerndl, Schueller y Wojtech (2007) donde las ontologías son utilizadas para mejorar

la descripción de servicios Web ofrecidos por terceros, y para desarrollar un servicio de

recomendaciones colaborativo especializado en información turística para dispositivos

móviles, capaz de gestionar tanto información estática (definida en los perfiles de los

usuarios) como información dinámica (contextual).

Page 60: Publicidad y sistemas de recomendación

Capítulo 3

46

3.3. PERSONALIZACIÓN DE LOS SISTEMAS DE

RECOMENDACIÓN

3.3.1. Introducción

Dotar a los sistemas de recomendación de técnicas que personalicen las

recomendaciones [GARC02] más allá de la simple petición de productos por parte del

usuario, constituye un importante campo de investigación actualmente en el ámbito de

mercados en red con grandes volúmenes de contenidos, aunando a profesionales de

áreas tan diversas como el marketing, la interacción persona computador, la minería de

datos y la inteligencia artificial.

Los sistemas de recomendación han evolucionado rápidamente dentro del

entorno interactivo de la Web, especialmente en sitios de comercio electrónico, los

cuales albergan inmensas bases de datos con productos y/o servicios para ofrecer

soporte y atención a grandes bolsas de usuarios, cada uno de ellos con un perfil

determinado.

En la figura 14 se muestran las distintas categorías y sus diferentes elementos

Figura 14 – Esquema de los sistemas de recomendación

Ayudar al usuario en su proceso de decisión mediante diferentes mecanismos,

pasa necesariamente por una labor de análisis de las grandes bases de datos que

sustentan los sitios virtuales. En este sentido los sistemas de recomendación son una

aplicación particular de descubrimiento de conocimiento en bases de datos, utilizando

técnicas tales como el filtrado colaborativo [GALA07], redes bayesianas, técnicas de

clustering, filtrado y recuperación de la información, reglas de asociación, agentes,

etc. Estos sistemas modelan el comportamiento del usuario en base al que aplican los

mecanismos para facilitarle la búsqueda de los productos y/o servicios que desea

adquirir a la vez que la posibilidad de evaluación de las diferentes alternativas ofertadas.

Page 61: Publicidad y sistemas de recomendación

Sistemas de Recomendación

47

3.3.2. Agentes adaptativos

La recomendación consiste en una serie de tareas que afectan a sistemas

complejos.

Consideramos que los sistemas multiagentes proporcionan todas las técnicas y

aspectos necesarios para tratar adecuadamente el carácter dinámico de los sistemas de

recomendación. Basamos así nuestro sistema de recomendación en agentes (ver figura

3.2), debido a dos causas principalmente, la primera es que proporcionan la realización

de sistemas distribuidos capaces de realizar tareas complejas a través de cooperación e

interacción y, por otro lado, la segunda es que permiten el análisis teórico y

experimental de mecanismos de autoorganización y adaptación que tienen lugar cuando

las entidades autónomas interaccionan. Los agentes del sistema son además

adaptativos, esta cualidad permite la flexibilidad necesaria para aprender del

comportamiento del usuario incrementando su funcionalidad en el tiempo con la

personalización del sistema a cada usuario.

Figura 15 – Esquema de los sistemas de recomendación

El sistema de recomendación de un sitio en Internet precisa de la personalización

para el desempeño de su tarea. La personalización en el modelo presentado se realiza

mediante la inserción de contexto. Entendiendo por contexto la definición dada por

Lieberman que engloba todo aquello que afecta a la computación excepto las entradas y

salidas explícitas. En el caso del sitio de comercio electrónico el contexto abarca:

estados del usuario, estados de los productos, estados del entorno computacional. Del

mismo modo el histórico de adquisiciones del usuario junto con los datos de

interacción del usuario con los contenidos del sitio captados través de eventos, dotan

de memoria al contexto. Evidentemente, la historia del usuario es una herramienta

fundamental en la creación de contexto. El sistema de recomendación entonces no sólo

se basa en la entrada explícita de datos por parte del usuario, ahora la integración de

contexto confiere y genera personalización. Del mismo modo los resultados o salidas

del sistema afectan no sólo a la recomendación mostrada al usuario, sino que también

revierten en el contexto mismo.

Page 62: Publicidad y sistemas de recomendación

Capítulo 3

48

Figura 16 – Personalización a través del contexto

El sistema integrado de recomendación actúa fundamentalmente entorno a dos

aspectos mediante:

1. Recomendación directa con mecanismo de petición del usuario. En esta capa el

usuario interactúa directamente con el sistema mediante la petición de un

artículo o información, y el sistema le ayuda en la búsqueda del ítem a través de

una lista de los n-top artículos contenidos en las bases de datos de información

que maneja y que más se acercan a su requerimiento.

1. Recomendación influenciada como soporte al sistema de marketing. El sistema

publicitario que acompaña al contenido de la página completa será igualmente

personalizado. Los sistemas de marketing establecen como presentar la

publicidad de cada producto destinada a segmentos de consumidores.

Page 63: Publicidad y sistemas de recomendación

Sistemas de Recomendación

49

3.3.2.1. Conclusiones

Los procesos de decisión de un usuario en la red se complican debido a la

gran cantidad de información que éste ha de manejar antes de la petición de un servicio

y/o producto. La meta actual en las tecnologías de soporte a la decisión en red, es la

introducción de las nuevas tecnologías como un paso natural del negocio tradicional.

Los Sistemas de recomendación aglutinan una gran variedad de necesidades en

el negocio virtual, tales como marketing, acceso a grandes bases de datos y tratamiento

personalizado del cliente, incrementando las relaciones de fidelidad y confianza del

usuario en el negocio virtual. Dotar de contexto a la aplicación de recomendación pasa

por establecer las variables de contexto en cada entorno en el que se desarrolle el

sistema de recomendación, lo que afecta, además de a los protocolos de interacción del

usuario con el sitio virtual, a los modelos del propio usuario en el entorno y a los

modelos de los productos ofertados.

Nuestro grupo está trabajando actualmente en el diseño de sistemas de

recomendación basados en sistemas multiagentes adaptativos para su aplicación al

comercio electrónico, pero su utilidad es fácilmente extensible a otros dominios (o

subdominios según se mire) de aplicación, como pueden ser el e-turismo o las visitas

virtuales guiadas.

Page 64: Publicidad y sistemas de recomendación

Capítulo 3

50

3.3.3. Filtrado colaborativo

3.3.3.1 Visión general

Los sistemas de recomendación basados en algoritmos de filtrado colaborativo

[GALA07] utilizan las valoraciones de los usuarios sobre ciertos elementos del conjunto

total para predecir valoraciones en el resto de los elementos y recomendar los de mayor

valoración predicha. Este punto ofrece una descripción de los sistemas de filtrado

colaborativo, intentado cubrir los múltiples aspectos que comprenden. Hay diversas

aproximaciones estadísticas: Basados en modelo y basados en datos. También algunos

métodos de evaluación, y los problemas relativos a la implementación.

Antes de la llegada de Internet un consumidor de cualquier tipo de producto

tenía un acceso limitado a la información relacionada tanto con el producto en si como

con otras posibles opciones. La publicidad se convertía así en prácticamente la única

forma de dar a conocer un producto, y el problema del usuario era como conseguir una

información veraz. En el caso de productos culturales como la música, la radio o las

revistas especializadas actuaban como únicos difusores de lo nuevo. Ahora la situación

se ha invertido totalmente. De la escasez de información se ha pasado a la saturación.

De disponer de algunas estanterías con cd´s y vídeos en el centro comercial mas cercano

se ha pasado a tener acceso a una cantidad inagotable de creaciones culturales en tiendas

online o en redes P2P. Ahora el problema ha tornado en como separar lo que queremos

de lo que no queremos encontrar.

Una aproximación para intentar ofrecer a cada persona lo que busca es mediante

el análisis del contenido. Para ello se hace una representación del contenido de cada

elemento del conjunto y se compara con una representación del contenido que el usuario

está buscando. Este filtrado basado en contenido es efectivo principalmente para

encontrar documentos textuales en función de unos criterios de búsqueda.

Sin embargo es más difícil parametrizar de forma automática contenidos

multimedia.

Aquí es donde están comenzando a jugar un papel importante los sistemas de

recomendación. La idea que subyace tras ellos es encontrar usuarios con gustos

similares a los de otro determinado y recomendar a éste cosas que desconoce pero que

gustan a aquellos con los que se tiene similitud.

Es decir, un sistema de recomendación es un amigo virtual cuyos gustos son una

mezcla de los gustos de miembros de la comunidad de usuarios con gustos similares a

los de uno mismo. En lugar de intentar aplicar inteligencia artificial para analizar el

contenido y relacionarlo entre sí, deja a la comunidad la tarea de evaluar cada elemento

y se utilizan algoritmos de minería de datos para encontrar utilidad a las relaciones. Se

construye así una inteligencia colectiva que permite al usuario recibir información

adaptada a sus gustos, incluso a veces cosas que no estaba esperando encontrar pero que

le resultan útiles.

En este trabajo se intenta proporcionar una panorámica general acerca de los

sistemas de recomendación así como resultados obtenidos del trabajo con algunos de los

algoritmos estadísticos estudiados.

Page 65: Publicidad y sistemas de recomendación

Sistemas de Recomendación

51

3.3.2.1 Historia y situación actual

En un comienzo los sistemas de recomendación eran conocidos tan solo como

filtros colaborativos y los primeros trabajos datan de principios de los años 90. El

término fue acuñado en 1992 para un sistema de filtrado de correo electrónico no

automatizado. En 1994 se desarrolló el primer “workshop” en Berkeley donde se vio la

utilidad en diversas áreas de los primeros algoritmos simples de este tipo. También se

identificaron algunas cuestiones importantes para el desarrollo de estos algoritmos:

Escalabilidad, Viabilidad económica, puntuaciones implícitas y explicitas, etc. Uno de

los grupos de investigación pioneros en el desarrollo del filtrado colaborativo fue el

proyecto GroupLens de la universidad de Minesota que aún permanece muy activo y

que ha proporcionado una gran parte de la base algorítmica de muchos sistemas de

recomendación. Fueron los primeros en introducir el filtro colaborativo automático

usando un algoritmo de búsqueda de vecinos para proporcionar predicciones en los

grupos de noticias de USENET. De este grupo de investigación partió también la

iniciativa empresarial NetPerceptions, despejando gran parte de las dudas acerca de la

viabilidad económica de estos proyectos. En la actualidad es un campo que se encuentra

muy activo y genera un gran número de publicaciones y congresos todos los años. Y es

que el filtrado colaborativo es un aspecto de gran importancia dentro de las redes

sociales y la pequeña revolución que ha supuesto la llamada “Web 2.0”. Algunos

ejemplos actuales de uso son:

Recomendaciones en tiendas on-line. Partiendo de un producto se recomiendan

otros productos que han interesado a los usuarios que compraron dicho

producto. La web pionera en este tipo de recomendaciones fue Amazon.com

Filtrado de noticias. Se construye un perfil que almacena las noticias que un

usuario consulta.

Recomendaciones musicales, de libros, de películas. En los ´últimos años han

surgido decenas de webs de este tipo entre las que destacan “last.fm” y

“MyStrands”, esta última de origen español. En estos servicios, cada vez que un

usuario escucha una canción se envía su información a la base de datos del

sistema, el cual las utiliza para generar nuestras recomendaciones, pero las

funcionalidades que ofrecen crecen constantemente. Por ejemplo last.fm ofrece

radios personalizadas para cada usuario en función de las recomendaciones que

reciba y MyStrands organiza fiestas en las que la música se elije

automáticamente de forma colaborativa en función de los gustos de los

asistentes. El modelo de negocio de estas empresas, es además de la publicidad,

el de acuerdos con tiendas on-line para enlazar directamente las

recomendaciones con su servicio de venta. También el de proporcionar a las

compañías -discográficas en este caso- análisis de tendencias musicales, de

nuevos artistas, etc.

Búsqueda de personas afines en comunidades. En webs como meneame.net se

tienen en cuenta las noticias que cada usuario ha votado para generar una lista de

vecinos con similares intereses.

Page 66: Publicidad y sistemas de recomendación

Capítulo 3

52

3.3.4. Aproximación teórica al problema de la recomendación

3.3.4.1 Objetivo

El objetivo es sugerir nuevos elementos a un usuario basándose en sus

elecciones anteriores y en elecciones de gente con similar historial de ratings o

valoraciones. Existen dos formas de recoger estas valoraciones. Una es de forma

explícita, es decir el usuario asigna una puntuación a cada elemento que será un valor

numérico discreto entre un máximo y un mínimo. La segunda forma es recoger las

valoraciones implícitamente, extrayendo la información pertinente de las acciones del

usuario. Por ejemplo el tiempo que pasa leyendo una determinada pagina web, los

enlaces que sigue, el número de veces que se escucha una canción, esta sería una

aproximación más clásica de minería de datos. Una vez que se tiene suficiente

información del usuario se pasa a la fase de predicción y recomendación. Predicción

hace referencia a estimar que valoración daría el usuario a cada elemento mientras que

recomendación se refiere a extraer los N elementos más recomendables (Top-N

recommendation).

Algoritmos de filtrado colaborativo basados en memoria, o algoritmos de

vecinos cercanos (Nearest Neighbour).

Utilizan toda la base de datos de elementos y usuarios para generar predicciones.

Primeramente emplean técnicas estadísticas para encontrar a vecinos, es decir usuarios

con un historial de valoraciones sobre los elementos similar al usuario actual. Una vez

que se ha construido una lista de vecinos se combinan sus preferencias para generar una

lista con los N elementos más recomendables para el usuario actual. Entre sus

inconvenientes se encuentra la necesidad de disponer de un número mínimo de usuarios

con un número mínimo de predicciones cada uno, incluido el usuario para el que se

pretende realizar la recomendación.

Algoritmos de filtrado colaborativo basados en Modelo.

Desarrollan primero un modelo de los ratings del usuario. Tratan el problema

como un problema de predicción estadística y calculan el valor esperado para cada ítem

en función de los ratings anteriores. Para ello se utilizan distintos algoritmos de

aprendizaje Clustering o redes neuronales como las Redes de Funciones de Base Radial

(RBFN). Por ejemplo utilizando clustering se trata de clasificar a un usuario en

particular dentro de una clase de usuarios y a partir de ahí se estiman las probabilidades

condicionadas de esa clase hacia los elementos a evaluar. En general, ante las consultas

responden más rápido que los basados en memoria, pero por contra necesitan de un

proceso de aprendizaje intensivo.

Page 67: Publicidad y sistemas de recomendación

Sistemas de Recomendación

53

3.3.4.2 Otros aspectos

El consumo de memoria y de CPU de cualquier sistema de filtrado de

información es muy elevado al tratar con muchos datos. La optimización de los

algoritmos para mejorar su rendimiento es uno de los principales campos de

investigación dentro del filtrado colaborativo. Algunas características deseables en estos

sistemas suponen una modificación constante de los datos, lo que hace necesarios

algoritmos que tengan una coste de actualización bajo. Por ejemplo los nuevos

elementos han de aparecer en el sistema lo antes posible. También se requiere una

mejora continua del perfil del usuario. Es decir que el usuario perciba que el “esfuerzo”

de evaluar nuevos elementos se vea compensado con unas mejoras en las

recomendaciones que se obtienen.

Además de los aspectos técnicos la implantación de sistemas de recomendación

puede plantear problemas sociales como la privacidad de los usuarios. Es un asunto

delicado ya que para tener un buen funcionamiento es necesario conocer la máxima

información posible del usuario. Una primera solución es mantener tan sólo la

información relacionada con las votaciones y conocer del usuario sólo un seudónimo,

pero esto choca con el modelo de negocio basado en publicidad que se utiliza

abundantemente en la actualidad.

Por último mencionar también que existen investigaciones dirigidas a

comprender la relación entre los usuarios y los sistemas de recomendación. También se

estudia como influencian al usuario las recomendaciones a la hora de dar su propia

opinión. Psicológicamente es conocido desde hace tiempo como la opinión de los demás

modifica la opinión propia. Ahora también se percibe como el mostrar predicciones del

voto de un usuario influencia el propio voto futuro.

Figura 17 – Modelo de un sistema de filtrado colaborativo

Page 68: Publicidad y sistemas de recomendación

Capítulo 3

54

3.3.5. Algoritmos

3.3.5.1 Algoritmos basados en vecinos cercanos

Fueron los primeros algoritmos de filtrado colaborativo en implementarse. En

primer lugar es necesario medir los parecidos de todos los usuarios con el usuario

actual. Pueden utilizarse distintas medidas:

Coeficiente de Correlación de Pearson.

Se deriva de las formulas de regresión lineal, y asume que la relación entre

elementos es lineal, los errores independientes y la distribución tiene varianza constante

y media 0. Estas suposiciones normalmente no se producen realmente con lo que hay

que valorar como afectan a la bondad de los resultados, pero en un gran número de

casos el rendimiento utilizando Pearson es apropiado. El peso que se asigna al usuario u

para predecir al usuario activo a viene dado por: (ra,i es la votación del usuario a al

elemento i)

Otras formas son las basadas en vectores (medida del coseno), las medidas de

correlación basadas en entropía, correlación de Ringo o correlación de Spearman.

Una vez se tienen los pesos de correlación de cada algoritmo hay que saber

cómo de confiables son estos pesos. Es posible tener un alto grado de correlación con

vecinos con los que se comparten pocos elementos valorados por el usuario actual, pero

con igual valoración. El uso de estos pesos proporciona unas estimaciones malas, puesto

que para tener una idea real de la correlación son necesarios cuantos más votos

compartidos mejor. En los casos de pocas muestras es recomendable disminuir el factor

de correlación en función del número de votos compartidos.

Para intentar mejorar más los pesos de la correlación entre usuarios se puede

entrar a trabajar con la varianza de los elementos que cada usuario ha votado. Si un

elemento es votado positivamente por un gran porcentaje de la población, el que dos

usuarios compartan esa votación dice poca información acerca de la correlación entre

usuarios. Lo contrario pasa en el caso de elementos que sean votados positiva o

negativamente por pocos usuarios. Para tomar en cuenta este hecho se añade a la

fórmula de la correlación de Pearson un término con la varianza del elemento.

Page 69: Publicidad y sistemas de recomendación

Sistemas de Recomendación

55

Selección de Vecinos.

En sistemas con pocos usuarios podría ser factible trabajar con todos los

usuarios como vecinos tan sólo multiplicando cada uno por el peso de su correlación.

Sin embargo en los sistemas actuales que poseen miles de usuarios esta vía no es

posible, por ello hay que tomar un subconjunto de los usuarios, lo que no sólo mejora la

eficiencia sino también la efectividad. Para elegir el número de vecinos se puede:

Establecer un umbral de correlación y tomar todos los que superen dicho umbral.

El problema es que puede haber usuarios que no tengan muchos vecinos con correlación

alta. Por tanto el número de vecinos sería bajo y esto provocaría que el número de

elementos sobre el que la vecindad de un usuario puede opinar es también bajo.

Tomar “n” vecinos siempre, teniendo en cuenta que un número demasiado alto

puede diluir la influencia de los vecinos con más peso y un número demasiado bajo

provoca los mismos problemas que el método anterior.

Recomendación

La forma básica consiste en tomar las notas dadas por cada vecino y

proporcionarlas a su correlación con el usuario actual:

Una posible mejora es la de introducir una variable que dependa de lo optimista

o pesismista que sea cada usuario. Unos usuarios votan por norma más alto que otros.

Para proporcionarlos basta con normalizar respecto a la media de puntuación de cada

usuario. De esta forma el predictor quedaría como:

Page 70: Publicidad y sistemas de recomendación

Capítulo 3

56

3.3.5.2 Algoritmos basados en elementos

En lugar de buscar similitudes entre usuarios buscan cercanías entre elementos.

El procedimiento consiste en seleccionar los elementos que un usuario determinado ha

votado y después comprobar cómo de similar es cada uno del resto de los elementos del

sistema, para terminar recomendando los más parecidos. Existen distintas formas de

evaluar la similitud entre elementos pero el procedimiento genérico consiste en tomar

dos elementos x1, x2 y después calcular su similitud a partir de todos los usuarios que

han votado ambos elementos. En teoría es la misma aproximación que la que se tenía

con algoritmos basados en vecinos cercanos.

La ventaja es que en el caso de los elementos la similitud entre ellos es menos

variable que la similitud entre usuarios, lo que permite pre-computar estas similitudes y

hace el proceso mucho más rápido.

Similitudes Basadas en Coseno

Se considera cada elemento como un vector dentro de un espacio vectorial de m

dimensiones y se calcula la similitud como el coseno del ángulo que forman. Es decir, si

tenemos dos vectores x1, x2 consistentes en un vector cuyos elementos son las

votaciones recibidas de cada usuario, su similitud sería:

Similitudes Basadas en Correlación

Considerando el conjunto de votaciones de los usuarios con votos sobre el

elemento x1 y x2, se utiliza el coeficiente de correlación de Pearson. Siendo U ese

conjunto, u cada usuario R la valoración sobre un elemento y Ȓx la valoración media de

ese elemento:

Similitudes Basadas en Coseno Ajustado

En las similitudes basadas en coseno no se tienen en cuenta las diferencias entre

las escalas de los usuarios. Para eso se incluye en la fórmula el parámetro Ȓu que indica

la valoración media de ese usuario. También se denomina transformación z:

Cálculo de la predicción

Una vez que se elige un método para computar la relación entre elementos

quedan por calcular los elementos que son más parecidos a los del usuario. De nuevo

existen varias aproximaciones.

Page 71: Publicidad y sistemas de recomendación

Sistemas de Recomendación

57

Suma con pesos (Weighted Sum)

Se toman todos los elementos que el usuario ha votado. Se toma un elemento

“x1” y para ese elemento se suman todos los coeficientes de similitud entre ese

elemento y los elementos votados por el usuario, proporcionados al valor del voto.

Siendo N cada elemento votado por el usuario Si,N la similitud entre los elementos i y N

y Ru,N la valoración del usuario del elemento N:

Regresión

Similar al modelo anterior, pero en lugar de sumar directamente las notas de los

elementos similares se utiliza una aproximación basada en la recta de regresión. Con

este método se intenta compensar un problema que se da al evaluar las similitudes

mediante medidas del coseno o la correlación, y es que vectores con alta similitud

pueden encontrarse distantes en sentido euclídeo. Se utiliza la misma fórmula que en el

caso de la suma proporcionada pero sustituyendo Ru,N por: Ȓ’N = αRi ¯ + β +

Page 72: Publicidad y sistemas de recomendación

Capítulo 3

58

3.3.5.3 Predictores “Slope-one”

A la hora del cálculo de la predicción para un usuario U se tiene en cuenta tanto

la información de usuarios que tienen en común la votación de algún elemento U como

la información del resto de los elementos votados.

Partiendo de dos vectores vi y wi de longitud n se busca obtener la mejor

predicción de w a partir de v. Tendrá la forma f(x) = x + b y deberá minimizar el error

cuadrático medio i (vi + b − wi)2 de donde derivando se obtiene que:

Es decir, la diferencia media entre ambos vectores. Partiendo de esto podemos

diseñar las predicciones. A partir de un conjunto X de datos de entrenamiento se toman

dos elementos cualquiera i,j con votaciones ui uj y se calcula la desviación media entre

ambos (sólo se consideran usuarios que hayan votado tanto i como j):

Con lo que se tiene un vector simétrico precalculado que es posible actualizar

con cada nuevo elemento que se añada al sistema.

La predicción para un usuario uj a partir del resto de usuarios será (con Rj el

conjunto de ítems relevantes):

Predictor “Slope-one” con pesos

El predictor anterior no tiene en cuenta el número de notas que se han tomado.

No es igual predecir la nota de un usuario sobre un ítem L a partir de los ratings de ese

usuario de otros elementos J K si hay muchos mas usuarios que tienen el par de votos J-

L que el par K-L. El elemento J es mucho mejor predictor que el elemento K en este

caso. Analíticamente esta idea se introduce en la ecuación con el factor cj,i que es el

número de evaluaciones de los ítems j,i:

Page 73: Publicidad y sistemas de recomendación

Sistemas de Recomendación

59

Predictor “Slope-one” Bi-Polar

Trabaja dividiendo la predicción en dos partes. Usa el algoritmo anterior una vez

para obtener una predicción de los elementos que han gustado al usuario y de los que no

han gustado.

El primer problema que plantea este sistema es establecer el umbral a partir del

que se considera que un elemento gusta o disgusta. La idea intuitiva es establecer un

umbral que sea la mitad de la escala de evaluación. Si la escala va de 1 a 10 los

elementos por debajo de 5 se considerarían como evaluados negativamente y los otros

son evaluados positivamente.

Esta aproximación sería la adecuada si las evaluaciones de los usuarios fueran

distribuidas uniformemente. Sin embargo el comportamiento real de los usuarios indica

que existe un porcentaje elevado de votaciones superiores a la mitad de la escala. Por

ello el valor del umbral se establece como la media de todas las notas dadas por el

usuario.

En la práctica este procedimiento supone doblar el número de usuarios, pero a la

vez también reduce el número de elementos en el cálculo de las predicciones.

Page 74: Publicidad y sistemas de recomendación

Capítulo 3

60

3.4. MÉTODOS DE EVALUACIÓN DEL RENDIMIENTO

3.4.1. Objetivo

Evaluar el rendimiento de los algoritmos de recomendación no es trivial.

Primero porque diferentes algoritmos pueden ser mejores o peores dependiendo del

dataset elegido.

La mayoría de estos algoritmos están diseñados para el dataset de películas de

GroupLens donde existe un número de elementos mucho menor al número de usuarios y

votos. En una situación inversa el comportamiento puede diferir totalmente.

También los objetivos del sistema de recomendación pueden diversos. Un

sistema puede diseñarse para estimar con exactitud la nota que daría un usuario a un

elemento, mientras otro puede tener como principal objetivo el no proporcionar

recomendaciones erróneas. Es decir puede haber múltiples tipos de medidas. Que las

recomendaciones cubran todo el espectro de elementos del conjunto (cobertura), que no

se repitan, que sean explicables, etc. Sin embargo el principal objetivo de un sistema de

recomendación no es directamente cuantificable: la satisfacción del usuario. En muchos

casos conseguir un error cuadrático menor al elegir un algoritmo u otro no es apreciado

por el usuario. Sin embargo hay muchos otros parámetros que pueden influir en esa

satisfacción. La sensación de credibilidad que ofrezca el sistema, la interfaz de usuario,

la mejora del perfil al incluir nuevos votos, etc. En cualquier caso las medidas de

precisión pueden dar una primera idea de cómo de bueno es el algoritmo nuclear del

sistema de recomendación. Existen dos tipos de métodos de evaluación: métodos

estadísticos y métricas de decisión.

Page 75: Publicidad y sistemas de recomendación

Sistemas de Recomendación

61

3.4.2. Métodos estadísticos

El parámetro de evaluación más utilizado es el error medio absoluto (Mean

Absolute Error, MAE). Mide la desviación de las recomendaciones predichas y los

valores reales. A menor MAE mejor predice el sistema las evaluaciones de los usuarios.

El MAE sin embargo, puede dar una idea distorsionada del algoritmo para el

caso de sistemas que tienen como objetivo encontrar una lista de buenos elementos

recomendables. El usuario tan sólo está interesado en los N primeros elementos de la

lista. El error que se cometa al estimar el resto le es indiferente. Tampoco es

recomendable en sistemas en los que la salida deba de ser una decisión binaria de si/no.

Por ejemplo, con una escala de 1 a 10 si el umbral está situado en 5, utilizando MAE se

obtendría un mayor error al errar de 9 a 5 que al errar de 5 a 4, lo cual no es cierto a la

hora de medir el error de salida.

Sin embargo es un tipo de error estadísticamente muy estudiado y sencillo de

comprender. Posee muchas variaciones, como el error cuadrático medio que persigue

penalizar los mayores errores o el error absoluto normalizado que facilita la tarea de

establecer comparaciones entre pruebas con diferentes datasets.

Page 76: Publicidad y sistemas de recomendación

Capítulo 3

62

3.4.3. Métricas de decisión

Evalúan cómo de efectivo es un sistema de predicción ayudando al usuario a

seleccionar los elementos mayor calidad, es decir con qué frecuencia el sistema de

recomendación efectúa recomendaciones correctas. Para ello asumen que el proceso de

predicción es binario: o el elemento recomendado agrada al usuario o no lo agrada. Sin

embargo en la práctica se plantea el problema de evaluar esto. Una posible solución es

la de dividir el conjunto de datos en dos conjuntos, entrenamiento y test. Se trabaja con

el conjunto de entrenamiento y posteriormente se evalúa el resultado comparando las

recomendaciones proporcionadas con las del conjunto de test. Aun siendo a veces ´útil

esta técnica, hay que tener en cuenta que los resultados dependen fuertemente del

porcentaje de elementos relevantes que el usuario haya votado.

La mas conocida de estas métricas es la de “Precision and Recall” y es utilizada

en muchos tipos de sistemas de recuperación de información. Precision es la

probabilidad de que un elemento seleccionado sea relevante y Recall es la probabilidad

de que sea seleccionado un elemento relevante, aunque en los sistemas de

recomendación la “relevancia” es algo totalmente subjetivo. De cara al usuario esta

métrica es mas intuitiva, puesto que establecer que un sistema tiene una precisión del 90

% significa que de cada 10 elementos recomendados 9 serán buenas recomendaciones,

algo que no queda claro proporcionando valores de error cuadrático medio.

ROC (Reciver operating characteristic) es otra medida muy utilizada.

Proporciona una idea de la potencia de diagnóstico de un sistema de filtrado. Las curvas

ROC dibujan la especifidad (probabilidad de que un elemento malo del conjunto sea

rechazado por el filtro) y la sensitividad (probabilidad de que un elemento bueno al azar

sea aceptado). Si un elemento es bueno o malo viene dado por las valoraciones de los

usuarios. Las curvas se dibujan variando el umbral de predicción a partir del cual se

acepta un elemento. El área bajo la curva se va incrementando si cuando el filtro es

capaz de retener más elementos buenos y menos malos.

Page 77: Publicidad y sistemas de recomendación

Sistemas de Recomendación

63

3.5. CONCLUSIONES

Los sistemas de recomendación son ya ampliamente utilizados en Internet y

debido a la gran cantidad de información de todo tipo que nos rodea, su presencia y

utilidad es de esperar que aumente en el futuro.

Los algoritmos en los que se sustentan están bastante probados y

matemáticamente pueden conseguir buenos resultados. No obstante aún hay que pulir

muchos desperfectos. De cara al usuario no importa conseguir el mínimo error

cuadrático prediciendo la evaluación de una película (por ejemplo), sino que se busca

que los elementos recomendados sean satisfactorios. Por esto el procedimiento de

evaluación del comportamiento de un sistema de filtros colaborativos no es sencillo, no

puede limitarse a datos estadísticos.

Para obtener un mejor nivel de calidad es necesario introducir más elementos

externos además de los cálculos de correlación entre usuarios. Una vez se obtiene una

lista de elementos posibles para su recomendación habría que introducir nuevos

parámetros adaptado al usuario. En el caso de las películas por ejemplo, criterios como

el país de procedencia, la fecha de edición o la temática pueden ser muy útiles de

incorporar a la hora de generar la última lista al usuario.

En cualquier caso aunque hay camino por andar, los filtros colaborativos tienen

actualmente una enorme funcionalidad y el número de usuarios que hacen uso de ellos

no deja de crecer día a día.

Page 78: Publicidad y sistemas de recomendación
Page 79: Publicidad y sistemas de recomendación

PARTE III

Desarrollo de la Investigación

Page 80: Publicidad y sistemas de recomendación
Page 81: Publicidad y sistemas de recomendación

67

Capítulo 4 Ontología en Twitter

Los usuarios de las Web Sociales suministran información que pueden ser

utilizada para su propia taxonomía, todo ello dentro del contexto de los sistemas de

recomendación para la Web Semántica. Mediante el uso de una ontología de tipo RDF,

creada con Protègè, se clasifica el vocabulario genérico en una clasificación de estados

de ánimo. De esta forma, el resultado final es un estado de ánimo para el usuario, en

base al lenguaje utilizado en sus mensajes, por ejemplo en Twitter.

Page 82: Publicidad y sistemas de recomendación

Capítulo 4

68

4.1. INTRODUCCIÓN

Los sistemas de recomendación han evolucionado rápidamente dentro del

entorno interactivo de la Web, tanto en sitios de comercio electrónico, como en las webs

sociales. Es un entorno donde todavía no hay resultados a gran escala y se hace

necesaria la investigación multidisciplinar. Por un lado la situación de la web semántica

y las taxonomías que permitan clasificar y entender mejor la información almacenada.

Por otro lado, los agentes que ayudar al usuario en su proceso de decisión mediante

diferentes mecanismos. Todo ello pasando por el modelado del comportamiento del

usuario, que en una primera aproximación puede ser su clasificación en un determinado

tipo estado de ánimo.

Dentro de la web semántica las tecnologías como URIs son indispensables para

identificar los recursos web. La familia de tecnologías XML (eXtensible Markup

Language) se utiliza para presentar, manipular y transmitir documentos y datos

estructurados. Una de las tecnologías más utilizadas es RDF (Resource Description

Framework) que proporciona un modelo de datos común (basado en XML

NameSpaces), el cual se utiliza para formalizar los meta-datos.

A día de hoy son pocas las iniciativas orientadas al desarrollo de ontologías para

la web semántica tanto en Estados Unidos (DAML DARPA Agent Markup Language y

OIL (Ontology Inference Language)) como en Europa (DAML+OIL), por ese motivo se

ha optado por crear una ontología propia, para la creación de los distintos estados de

ánimo.

Los actuales sistemas de recomendación semánticos basados en algoritmos de

filtrado colaborativo utilizan las valoraciones de los usuarios sobre ciertos elementos del

conjunto total para predecir valoraciones en el resto de los elementos y recomendar los

de mayor valoración predicha. Sin embargo, estos sistemas adolecen del problema de

“cold start”, donde no hay información para clasificar al usuario al comienzo de su

interacción. Este problema puede ser abordado con más éxito utilizando las redes

sociales y la información que ha dado el usuario en dichas redes.

Los responsables de las web sociales están cada vez más concienciados de la

importancia de los contenidos que mantienen y crean estándares para la integración de

sus servicios web en otras aplicaciones. Como resultado de ese esfuerzo, recientemente

se han puesto a disposición de toda la comunidad de desarrolladores, herramientas como

la API de Twitter. Gracias a este Aplication Program Interface, es posible trabajar en

otra aplicación como si lo hiciéramos desde dentro de Twitter. De esta forma, una vez

autenticados y dada la aplicación de alta convenientemente, se pueden recopilar los

mensajes que un usuario ha enviado, para su posterior tratamiento. Esta información es

muy valiosa para hacer una primera aproximación del tipo de perfil que tiene el usuario.

En este escenario, el entorno de desarrollo seleccionado ha sido PHP por su

sencillez y flexibilidad para convertirse en una plataforma compatible con las diferentes

tecnologías desarrolladas.

Page 83: Publicidad y sistemas de recomendación

Ontología en Twitter

69

El esquema general de trabajo es el que representa la siguiente figura:

Figura 18 – Esquema general Ontología Twitter

Como puede apreciarse en la figura 18, lo que se busca es clasificar el estado de

ánimo del usuario en base a los mensajes enviados por Twitter. De esta forma,

analizando el lenguaje utilizado en dichos mensajes y gracias a la utilización de una

ontología, el resultado final es la categorización del estado de ánimo del usuario de una

forma inmediata.

Page 84: Publicidad y sistemas de recomendación

Capítulo 4

70

4.2. MATERIALES Y MÉTODOS

El método utilizado ha sido comenzar por estudiar el estado de la cuestión,

investigando la situación actual del la web semántica y los sistemas de recomendación.

A continuación se ha tratado de resolver un caso real en el que fuéramos capaces de

crear un perfil de usuario sin su interacción directa, utilizando para ello el uso de una

red social. Las posibilidades que se planteaban eran realmente grandes, por lo que se ha

querido ir de lo sencillo hacia lo más complejo; dejando abiertas otras nuevas líneas de

investigación. La red social seleccionada ha sido Twitter, ya que existe una api para

desarrolladores. Hubiera sido posible tratar con otras más complejas en base a los

contenidos que incluyen. Además, no se han tenido en cuenta las redes de usuarios ni

las preferencias de los mismos, sino simplemente los mensajes enviados por un usuario

en concreto.

Page 85: Publicidad y sistemas de recomendación

Ontología en Twitter

71

4.2. ELEMENTOS TECNÓLOGICOS

La plataforma común que se ha utilizado ha sido php, para lo cual se ha utilizado

la distribución de appserv que incluye los componentes principales necesarios: Apache,

PHP y MySQL.

4.2.1 Twitter

Sobre dicha instalación se han incluido las librerías de Twitter para

desarrolladores. Una vez hecho esto, el siguiente paso es dar de alta la aplicación en la

plataforma de desarrollo:

Figura 19 – Twitter developers

Page 86: Publicidad y sistemas de recomendación

Capítulo 4

72

Lo que nos permite obtener unos datos fundamentales para la posterior

autenticación, como son los que aparecen en la siguiente imagen:

Figura 20 - Datos de autenticación de la aplicación en twitter

Esa información, junto con los datos de usuario y contraseña serán necesarios

para poder acceder a la información privada del usuario, desde nuestra aplicación php.

A continuación se muestra el código php necesario para la autenticación del usuario:

<?php

require "twitter.lib.php";

require_once ('twitteroauth.php');

$consumerKey = 'S8Ppt1…';

$consumerSecret = 'svoMji…';

$oAuthToken = '38080…';

$oAuthSecret = 'DFEIZO…';

function getConnectionWithAccessToken($oauth_token, $oauth_token_secret)

{

$connection = new TwitterOAuth($consumerKey, $consumerSecret,

$oauth_token, $oauth_token_secret);

return $connection;

}

$connection = getConnectionWithAccessToken($oAuthToken , $oAuthSecret);

$content = $connection->get("statuses/user_timeline");

Código 1 – PHP: Autenticación de usuarios

Page 87: Publicidad y sistemas de recomendación

Ontología en Twitter

73

Una vez autenticado, ya se puede utilizar la conexión para recuperar los

mensajes del usuario, para lo cual, se utiliza el método get y el parámetro

correspondiente.

4.2.2 Protègè

Por otro lado, es necesario crear la ontología, para lo cual se ha utilizado el

programa Protègè en su versión para generar ontologías OWL.

Figura 21 - Pantalla inicial de Protègè

En la aplicación, tras elegir el nombre de la ontología, se debe indicar en qué

formato se desea grabar la misma. Para nuestro proyecto, se elige RDF/XML, tal y

como muestra la figura 22:

Figura 22 – Formato para la ontología

Page 88: Publicidad y sistemas de recomendación

Capítulo 4

74

Para la realización de la ontología, se ha optado por una pequeña representación

del vocabulario, con el objetivo de probar la funcionalidad y capacidad de clasificación,

de esta forma se puede apreciar el resultado en la figura 23:

Figura 23 - Ontología de los estados de ánimo, realizada con Protègé

4.2.3 MySQL

El siguiente paso es cargar esta ontología en un repositorio que permite las

consultas. Para esta tarea se han utilizado las librerías de RAP para PHP, que permiten

la importación a una base de datos de tipo MySQL.

El primer paso es crear una base de datos en MySQL, utilizando la utilidad

phpMyAdmin suministrada con Appserv, tal y como se muestra la siguiente pantalla:

Figura 24 - Utilidad MySQL para crear una base de datos

Page 89: Publicidad y sistemas de recomendación

Ontología en Twitter

75

Una vez hecho esto, hay que abrir el fichero de configuración “config.inc.php”

para cambiar los siguientes valores:

$_DB[$i]["type"]="mysql";

$_DB[$i]["host"]="localhost";

$_DB[$i]["port"]="";

$_DB[$i]["dbName"]="Animo";

$_DB[$i]["username"]="root";

$_DB[$i]["password"]="root";

Código 2 – Parte del fichero config.inc.php

4.2.4. RAP Tools

El siguiente paso es abrir las utilidades suministradas por RAP para cargar la

base de datos con el fichero owl generado por Protègè.

Figura 25 - Primera pantalla de “rdfdb-utils”

Page 90: Publicidad y sistemas de recomendación

Capítulo 4

76

Y se carga la base de datos desde el menú de “Add”, utilizando la opción de

“Upload RDF” y seleccionando el archivo owl generado con Protégé:

Figura 26 - Cargar ontología rdf en MySQL

Page 91: Publicidad y sistemas de recomendación

Ontología en Twitter

77

4.3. MODELO DE DATOS

Con los pasos antereioes se consiguen añadir las tripletas Sujeto, Predicado y

Objeto en las tablas de MySQL, que tiene la siguiente estructura:

Figura 27 – Estructura de tablas en MySQL

En dicha estructura, la tabla “statements” tiene todas las tripletas de RDF, según

se pueden apreciar en la siguiente figura 28:

Figura 28 – Tripletas sujeto, predicado y objeto en MySQL

Una vez cargado el modelo, ya se puede utilizar desde php para, por un lado

obtener las palabras de los mensajes de Twitter y por otro, obtener la clasificación del

usuario en base a dichas palabras.

Page 92: Publicidad y sistemas de recomendación

Capítulo 4

78

En el siguiente código se muestra un sencillo ejemplo donde se mostrarían todas

las coincidencias y por lo tanto, los distintos estados de ánimo que tiene el usuario.

//Base de datos que tiene almacenado el modelo

$basedatos = "animo";

//conectamos con el servidor

$link = @mysql_connect("localhost", "root", "root");

// comprobamos que hemos estabecido conexión en el servidor

if (!$link){

echo "<h2 align='center'>ERROR: Imposible establecer

conección con el servidor</h2>";

exit;

}

echo "<pre>";

echo "<b> Perfil de usuario: </b>";

$Perfil="No";

foreach ($content as $mensaje){

$palabras=split(" ",$mensaje->text);

foreach ($palabras as $palabra){

//Creamos la parte variable de la query

$sql = 'SELECT SUBSTRING(`object`,LOCATE(

\'#\', `object` )+1) AS resultado'

. ' FROM `statements`'

. ' WHERE `predicate` LIKE \'%#SubClassOf\''

. ' AND `subject` LIKE \'%#'.$palabra.'\'';

$result =

@mysql_db_query($basedatos,$sql,$link);

$row = @mysql_fetch_array($result);

If ($row["resultado"]!= "") {

echo $row["resultado"];

$Perfil="Sí";

exit;

}

}

}

If ($Perfil=="No") {

echo "-- Sin información sobre el perfil --";

}

echo "</pre>";

Código 3 – PHP: Obtención del perfil

Page 93: Publicidad y sistemas de recomendación

Ontología en Twitter

79

4.4 APLICACIONES PRÁCTICAS

Son muchos los modelos propuestos para filtrar la información, dadas las

ventajas que podría ofrecer la aplicación de técnicas de recomendación de contenidos

basadas en la confianza en medios sociales como Twitter, donde los usuarios pueden

acceder no sólo a información de texto, sino también conectar con otros usuarios y los

enlaces a contenidos que envían. Este tipo de recomendaciones se centran en el grafo

social del usuario, y tiene como principal objetivo sugerir contenidos relevantes y de

confianza. Esto generará mayor satisfacción del usuario y un aumento de su actividad en

el sitio y con otros usuarios. Esto a su vez podrá beneficiar al medio social en cuestión

como resultado del aumento del consumo de información y productos derivados. Existe

un gran interés comercial en este tipo de técnicas, ya que un mayor refinamiento en el

filtrado conduce a mejores resultados en las ventas de los productos recomendados.

Page 94: Publicidad y sistemas de recomendación
Page 95: Publicidad y sistemas de recomendación

PARTE IV

Conclusiones

Page 96: Publicidad y sistemas de recomendación
Page 97: Publicidad y sistemas de recomendación

83

Capítulo 5 Conclusiones

En el ejemplo mostrado, se consigue un perfil de usuario a partir de los

mensajes que el usuario ha compartido por Twitter. De esta forma se demuestra que se

puede utilizar una ontología de los estados de ánimo, para obtener un perfil de usuario

y mejorar los resultados de un sistema de recomendación. Es decir, el modelo se podría

enlazar con otros filtros colaborativos y de contenido, para ofrecer al usuario distintas

posibilidades en base a su estado de ánimo.

Page 98: Publicidad y sistemas de recomendación

Capítulo 5

84

5.1. VERIFICACIÓN, CONTRASTE Y EVALUACIÓN

DE LOS OBJETIVOS

Con el prototipo mostrado se demuestra que se han podido conseguir los

objetivos planteados.

La heurística utilizada ha sido de lo más sencilla, ya que la decisión del estado

de ánimo se logra con la primera aparición de una palabra que encaja dentro de la

ontología. Aquí también se abren multitud de posibilidades, que enlazan con los

estudios que existen sobre cómo combinar varios resultados distintos, utilizando

formulación estadística y ponderada. También se podría incluir una variable temporal,

ya que un mensaje enviado hace más tiempo que otro debería pesar menos que el más

reciente de los mismos. Del mismo modo, al estar trabajando con la información que

tiene una red social, la influencia del resto de usuarios también es importante. Son

muchos los avances conseguidos en los sistemas de recomendación, gracias a la

influencia de los contactos del usuario a clasificar. Se abren de esta forma muchas

posibilidades para los sistemas híbridos, donde se combina la información que el propio

usuario declara (preferencias), la que se recopila por su comportamiento implícito o

explícito (rating) y la que se obtiene por sus mensajes, tal y como ha quedado

demostrado en este prototipo.

Page 99: Publicidad y sistemas de recomendación

Conclusiones

85

5.2. SÍNTESIS DEL MODELO PROPUESTO

En la siguiente figura se muestra el modelo conceptual utilizado:

Figura 29 – Ontología de los estados de ánimo

Page 100: Publicidad y sistemas de recomendación

Capítulo 5

86

5.3. APORTACIONES ORIGINALES

La mayoría de las redes sociales tienen sistemas de recomendación para

aumentar la actividad dentro del su propio sitio. Además, existen muchas webs donde se

recomiendan contenidos de tipo multimedia (música o vídeo principalmente). Sin

embargo, no son muchos los que mezclan ambos entornos para generar recomendar

recomendaciones más eficientes. Con este prototipo se demuestra que el estado actual

de la tecnología permite unir ambas islas para crear filtrados más eficientes. A nivel de

ontologías también se están realizando progresos en la fusión de diferentes modelos,

como aquellos que mezclan las clasificaciones musicales con otras geográficas. Todo

ello, lleva a pensar en que el futuro de los sistemas de recomendación permitirán unir

diferentes entornos y obtener lo mejor de cada uno para generar conocimiento

novedoso, que aportará un valor añadido a la malgama de información que inunda al

actual internauta.

En este trabajo se une Twitter con Protègè, para generar perfiles de usuario en

base a los mensajes emitidos por el usuario.

Page 101: Publicidad y sistemas de recomendación

Conclusiones

87

5.4. TRABAJOS DERIVADOS

Con el objetivo de difundir ante la comunidad científica los resultados que se reflejan en este

proyecto fin de master, se está trabajando en la presentación del artículo que se incluye en el

Anexo A, en el The International Journal of Interactive Multimedia and Artificial Intelligence -

IJIMAI (ISSN 1989 - 1660)

Page 102: Publicidad y sistemas de recomendación

Capítulo 5

88

5.5. LÍNEAS DE INVESTIGACIÓN FUTURAS

El horizonte que se vislumbra permite esbozar nuevos objetivos a medio y largo

plazo relacionados con el presente trabajo.

Por un lado, la web semántica necesita de ontologías generales con vocación de

estándares. En este punto, se contemplan entre otras las siguientes líneas de

investigación:

Ontología de usuarios sociales: El trabajo colaborativo necesita de un

lenguaje común, suficientemente flexible, cómodo y sencillo como para

convertirse en un estándar. En el momento actual, cada red social utiliza

sus propios medios particulares para dotar de significado los contenidos

que maneja. El reto consistiría en conseguir relacionar todos los entornos

mediante el uso de un leguaje común o taxonomía social. Como

posibilidad en este punto, se propone la elaboración de encuestas que

sirvan para dotar al lenguaje natural de un significado extra o meta-

información a la hora de crear esa ontología.

Aplicaciones interdisciplinares: El usuario final necesita de herramientas

que se adapten a sus necesidades y que lejos de convertirse en un

esfuerzo adicional, supongan un ahorro de tiempo. Mientras no se

consiga un verdadero beneficio, no existirá interés ni motivación para

dotar a internet de un significado adicional. Las aplicaciones que

consigan unificar los actuales entornos heterogéneos, se convertirán en el

apalancamiento de la revolución hacia la web 3.0

Por otro lado, los sistemas de recomendación deben continuar trabajando hacia

modelos cada vez más naturales al usuario y más susceptibles de ser automatizados. En

esta línea, se proponen puntos de investigación:

Agentes sociales: La convergencia de los agentes automáticos de filtrado

de información y las web sociales, marcarán la diferencia de los sistemas

de recomendación. El salto cualitativo está en la capacidad de relacionar

el conocimiento existente para generar verdadera inteligencia social.

Cuando el fruto generado sea apreciado por el usuario final, existirá una

verdadera motivación para adoptar el nuevo paradigma y alimentar esa

inteligencia social.

Modelos interactivos: El actual prototipo necesita de una serie de pasos

previos que obligan a trabajar sin la necesaria interactividad. La

adaptación del modelo hacia lenguajes de interrogación de modelos vivos

o no cerrados, permitirán el crecimiento autónomo de modelos. Todo ello

por otro lado, evitará retrasos en la adaptación de modelos a una realidad

viva y en continua evolución.

Page 103: Publicidad y sistemas de recomendación

89

BIBLIOGRAFÍA

[BERN01]: T. Berners-Lee, J. Hendler, O. Lassila; "The Semantic Web: a new form of Web

content that is meaningful to computers will unleash a revolution of new posibilities". Scientific

American, May 2001 (se puede consultar a través de la página web de la revista:

http://www.sciam.com)

[BERN99]: Berners-Lee, Tim; Tejiendo la red; Siglo XXI de España editores, Príncipe de

Vergara, 78. 28006, Madrid. Mayo 2000. 84-323-1040-9

[CANT11a]: I. Cantador and P. Castells. Extracting Multilayered Communities of Interest

from Semantic User Profiles: Application to Group Modeling and Hybrid Recommendations.

Computers in Human Behavior 27, special issue on Social and Humanistic Computing for the

Knowledge Society, July 2011, pp. 1321-1336

[CECC03]: L.Ceccaroni, X.Verdaguer; TV finder: Una aproximación semántica a la televisión

interactiva. http://www.xavierverdaguer.com/articuloTVFinder200310.pdf

[CODI03]: L. Codina; “Internet Invisible y web semántica: ¿el futuro de los sistemas de

información en línea?” revista tradumàtica Traducció i Technologies de la Informació i la

Comunicació. Número 2 : La Documentació : Novembre 2003 :

htp://www.fti.uab.es/tradumatica/revista : ISSN 1578-7559

[CRUZ03]: R.A.Cruz; F.J. García; L. Alonso; Perfiles de usuario: En la senda de la

personalización. DPTOIA-IT-2003-001

[GALA07]: S.M. Galán; “Filtrado colaborativo y Sistemas de Recomendación”; IRC’07,

Enero, 2007, Leganés, Madrid, Spain.

http://www.mendeley.com/research/filtrado-colaborativo-y-sistemas-recomendacin/

[GARC02]: F.J. García, A.B. Gil; “Personalización de los sistemas de Recomendación”. Dpto.

Informática y Automática – Universidad de Salamanca. Facultad de Ciencias, Plaza de la

Merced S/N, 37008, Spain. http://lsi.ugr.es/~mgea/workshops/coline02/Articulos/fgarcia.pdf

[GERP02]: V. Geroimenko, C. Chen; Visualizing the semantic web: xml-based Internet and

information visualization. London: Springer, 2002

[HERR04]: E.Herrera-Viedma, C.Porcel, L.Hidalgo; Sistemas de recomendación:

Herramientas para el filtrado de la información en Internet; Web:

http://www.hipertext.net/web/pag227.htm

[LAMA11]: M.J. Lamarca. Tesis Doctoral “Hipertexto: El nuevo concepto de documento en la

cultura de la imagen”. Universidad Complutense de Madrid. http://www.hipertexto.info

[LOZA07]: E. Lozano; Portal de colaboración con capacidades semánticas; Departamento de

Tecnología Electrónica de la Escuela Técnica superior de Ingeniería Informática de Valencia;

http://www.rediris.es/ptyoc/res/dl18.html.es

[MORA09]: J.Morato, S.Sánchez Cuadrado, A.Fraga, y otros; Hacia una web semántica

social; DOI: 10.3145/epi.2008.ene.09

Page 104: Publicidad y sistemas de recomendación

90

[PEIS03]: E. Peis, E.Herrera-Viedma, J.C. Herrera; Análisis de la web semántica: estado

actual y requisitos futuros. El profesional de la información, v. 12, n. 5, septiembre-octubre

2003.

http://digibug.ugr.es/bitstream/10481/1205/1/Analisis%20de%20la%20web.pdf

[RAMO05]: M. Ramos, Y. Blanco, A. Gil; AVATAR: Un sistema de recomendación

personalizada de contenidos televisivos basado en información semántica; Departamento de

Ingeniería Telemática. Universidad de Vigo ETSI de Telecomunicación.

http://idtv.det.uvigo.es/pdfs/jitel05-b.pdf

[SANT04]: L.P. Santacruz-Valencia, I. Aedo, C. Delgado. “Objetivos de aprendizaje:

Tendencias dentro de la web semántica”, Boletín de RedIRIS, nº 66-67, diciembre 2003-enero

2004

[SEGU09]: M.Seguido; Sistemas de recomendación para webs de información sobre la salud.

Universitat Politècnica de Catalunya. Master and PhD in Computing, Tesi de Màster.

http://upcommons.upc.edu/pfc/bitstream/2099.1/7193/1/Master%20Thesis%20Seguido.pdf

[SOLE09]: M.C. Soler; “Evaluación de vocabularios controlados en la indización de

documentos mediante índices de consistencia entre indizadores”. Universidad Politécnica de

Valencia, 2009.

Page 105: Publicidad y sistemas de recomendación

91

REFERENCIAS WEB

[BERN00]: T. Berners-Lee; Semantic Web – XML2000 (W3C);

http://www.w3.org/2000/Talks/1206-xml2k-tbl/Overview.html

[CANT11a]: I. Cantador (Universidad Autónoma de Madrid). Sistemas de recomendación

sobre dominios cruzados:

http://masterinformaticainteractiva.blogspot.com.es/2011/09/sistemas-de-recomendacion-

sobre.html

[RAP12]: Vídeo – Ontología en Protègè y RAP: http://youtu.be/lYaas93Va8g

[TWIT12]: Twitter Developers: https://dev.twitter.com/

Page 106: Publicidad y sistemas de recomendación
Page 107: Publicidad y sistemas de recomendación

PARTE V

Anexos

Page 108: Publicidad y sistemas de recomendación
Page 109: Publicidad y sistemas de recomendación

Clasificación Ontológica en Twitter

i

Anexo A Clasificación Ontológica en Twitter

En este anexo se incluye el artículo “Clasificación Ontológica en Twitter” que actualmente se

encuentra en proceso de publicación en la International Journal of Interactive Multimedia and

Artificial Intelligence (http://www.ijimai.org)

Page 110: Publicidad y sistemas de recomendación

Anexo A

ii

Clasificación ontológica de usuarios de Twitter

Pedro J. Camacho Ortega

Máster en Dirección e Ingeniería de Sitios Web

Universidad Internacional de la Rioja

[email protected]

Resumen: Los usuarios de las Web Sociales suministran información que pueden ser

utilizada para su propia taxonomía, todo ello dentro del contexto de los sistemas de

recomendación para la Web Semántica [1]. Mediante el uso de una ontología de tipo

RDF [2], creada con Protègè, se clasifica el vocabulario genérico en una clasificación de

estados de ánimo. De esta forma, el resultado final es un estado de ánimo para el

usuario, en base al lenguaje utilizado en sus mensajes, por ejemplo en Twitter.

Abstract. Social Web Users provide information which can be used for its own

taxonomy, all within the context of recommender systems about Semantic Web [1].

Through using RDF ontology type [2], created by Protègè, generic vocabulary is sorted

on a classification of moods. Thus, the final result is an user moodstate, based on

language used in their messages, such as Twitter.

Palabras clave: Web social, ontología, sistemas de recomendación, php, API

Keywords: Social web, ontology, recommender system, php, API

Introducción: Los sistemas de

recomendación han evolucionado

rápidamente dentro del entorno interactivo

de la Web, tanto en sitios de comercio

electrónico, como en las webs sociales. Es

un entorno donde todavía no hay resultados

a gran escala y se hace necesaria la

investigación multidisciplinar. Por un lado

la situación de la web semántica y las

taxonomías que permitan clasificar y

entender mejor la información almacenada.

Por otro lado, los agentes que ayudar al

usuario en su proceso de decisión mediante

diferentes mecanismos. Todo ello pasando

por el modelado del comportamiento del

usuario, que en una primera aproximación

puede ser su clasificación en un

determinado tipo estado de ánimo.

Dentro de la web semántica las

tecnologías como URIs [3] son

indispensables para identificar los recursos

web. La familia de tecnologías XML

(eXtensible Markup Language) [4] se

utiliza para presentar, manipular y

transmitir documentos y datos

estructurados. Una de las tecnologías más

utilizadas es RDF (Resource Description

Framework) [2] que proporciona un modelo

de datos común (basado en XML

NameSpaces [4]), el cual se utiliza para

formalizar los meta-datos.

A día de hoy son pocas las

iniciativas orientadas al desarrollo de

ontologías para la web semántica tanto en

Estados Unidos (DAML DARPA Agent

Markup Language [5] y OIL (Ontology

Inference Language) [6]) como en Europa

(DAML+OIL) [7], por ese motivo se ha

optado por crear una ontología propia, para

la creación de los distintos estados de

ánimo.

Los actuales sistemas de

recomendación semánticos [8] basados en

algoritmos de filtrado colaborativo utilizan

las valoraciones de los usuarios sobre

ciertos elementos del conjunto total para

predecir valoraciones en el resto de los

elementos y recomendar los de mayor

valoración predicha. Sin embargo, estos

sistemas adolecen del problema de “cold

start”, donde no hay información para

clasificar al usuario al comienzo de su

Page 111: Publicidad y sistemas de recomendación

Clasificación Ontológica en Twitter

iii

interacción. Este problema puede ser

abordado con más éxito utilizando las redes

sociales y la información que ha dado el

usuario en dichas redes.

Los responsables de las web

sociales están cada vez más concienciados

de la importancia de los contenidos que

mantienen y crean estándares para la

integración de sus servicios web [9] en

otras aplicaciones. Como resultado de ese

esfuerzo, recientemente se han puesto a

disposición de toda la comunidad de

desarrolladores, herramientas como la API

de Twitter [10]. Gracias a este Aplication

Program Interface, es posible trabajar en

otra aplicación como si lo hiciéramos desde

dentro de Twitter. De esta forma, una vez

autenticados y dada la aplicación de alta

convenientemente, se pueden recopilar los

mensajes que un usuario ha enviado, para

su posterior tratamiento. Esta información

es muy valiosa para hacer una primera

aproximación del tipo de perfil que tiene el

usuario.

En este escenario, el entorno de

desarrollo seleccionado ha sido PHP por su

sencillez y flexibilidad para convertirse en

una plataforma compatible con las

diferentes tecnologías desarrolladas.

El esquema general de trabajo es el

que representa la siguiente figura:

Figura 1: Clasificación de los

usuarios en base a su estado de ánimo

Como puede apreciarse en la figura

1, lo que se busca es clasificar el estado de

ánimo del usuario en base a los mensajes

enviados por Twitter. De esta forma,

analizando el lenguaje utilizado en dichos

mensajes y gracias a la utilización de una

ontología, el resultado final es la

categorización del estado de ánimo del

usuario de una forma inmediata.

Materiales y Métodos: El método

utilizado ha sido comenzar por estudiar el

estado de la cuestión, investigando la

situación actual del la web semántica y los

sistemas de recomendación. A continuación

se ha tratado de resolver un caso real en el

que fuéramos capaces de crear un perfil de

usuario sin su interacción directa, utilizando

para ello el uso de una red social. Las

posibilidades que se planteaban eran

realmente grandes, por lo que se ha querido

ir de lo sencillo hacia lo más complejo;

dejando abiertas otras nuevas líneas de

investigación. La red social seleccionada

ha sido Twitter, ya que existe una api para

desarrolladores. Hubiera sido posible tratar

con otras más complejas en base a los

contenidos que incluyen. Además, no se

han tenido en cuenta las redes de usuarios

ni las preferencias de los mismos, sino

simplemente los mensajes enviados por un

usuario en concreto.

La plataforma común que se ha

utilizado ha sido php, para lo cual se ha

utilizado la distribución de appserv [12] que

incluye los componentes principales

necesarios: Apache, PHP y MySQL. Sobre

dicha instalación se han incluido las

librerías de Twitter para desarrolladores

[10]. Una vez hecho esto, el siguiente paso

es dar de alta la aplicación en la plataforma

de desarrollo:

Figura 2: Aplicación en Twitter

Lo que nos permite obtener unos

datos fundamentales para la posterior

autenticación, como son los que aparecen

en la siguiente imagen:

Page 112: Publicidad y sistemas de recomendación

Anexo A

iv

Figura 3: Datos de autenticación de

la aplicación en twitter

Esa información, junto con los

datos de usuario y contraseña serán

necesarios para poder acceder a la

información privada del usuario, desde

nuestra aplicación php. A continuación se

muestra el código php necesario para la

autenticación del usuario:

<?php

require

"twitter.lib.php";

require_once

('twitteroauth.php');

$consumerKey =

'S8Ppt1…';

$consumerSecret =

'svoMji…';

$oAuthToken =

'38080…';

$oAuthSecret =

'DFEIZO…';

function

getConnectionWithAccessToken(

$oauth_token,

$oauth_token_secret)

{

$connection = new

TwitterOAuth($consumerKey,

$consumerSecret,

$oauth_token,

$oauth_token_secret);

return

$connection;

}

$connection =

getConnectionWithAccessToken(

$oAuthToken , $oAuthSecret);

$content = $connection-

>get("statuses/user_timeline"

);

Una vez autenticado, ya se puede

utilizar la conexión para recuperar los

mensajes del usuario, para lo cual, se utiliza

el método get y el parámetro

correspondiente.

Por otro lado, es necesario crear la

ontología, para lo cual se ha utilizado el

programa Protègè en su versión para

generar ontologías OWL [13].

Figura 4: Pantalla inicial de

Protègè

En la aplicación, tras elegir el

nombre de la ontología, se debe indicar en

qué formato se desea grabar la misma. Para

nuestro proyecto, se elige RDF/XML, tal y

como muestra la figura 5:

Figura 5: Formato para la

ontología

Para la realización de la ontología,

se ha optado por una pequeña

representación del vocabulario, con el

objetivo de probar la funcionalidad y

capacidad de clasificación, de esta forma se

puede apreciar el resultado en la figura 6:

Page 113: Publicidad y sistemas de recomendación

Clasificación Ontológica en Twitter

v

Figura 6: Ontología de los estados

de ánimo, realizada con Protègé

El siguiente paso es cargar esta

ontología en un repositorio que permite las

consultas. Para esta tarea se han utilizado

las librerías de RAP para PHP [14], que

permiten la importación a una base de datos

de tipo MySQL.

El primer paso es crear una base de

datos en MySQL, utilizando la utilidad

phpMyAdmin suministrada con Appserv

[12], tal y como se muestra la siguiente

pantalla:

Figura 7: Utilidad MySQL para

crear una base de datos

Una vez hecho esto, hay que abrir

el fichero de configuración

“config.inc.php” para cambiar los

siguientes valores:

$_DB[$i]["type"]="mysql"

;

$_DB[$i]["host"]="localh

ost";

$_DB[$i]["port"]="";

$_DB[$i]["dbName"]="Anim

o";

$_DB[$i]["username"]="ro

ot";

$_DB[$i]["password"]="ro

ot";

El siguiente paso es abrir las

utilidades suministradas por RAP para

cargar la base de datos con el fichero owl

generado por Protègè.

Figura 8: Primera pantalla de

“rdfdb-utils”

Y se carga la base de datos desde el

menú de “Add”, utilizando la opción de

“Upload RDF” y seleccionando el archivo

owl generado con Protégé:

Figura 9: Cargar de ontología rdf

en MySQL

De esta forma, se consiguen añadir

las tripletas Sujeto, Predicado y Objeto en

las tablas de MySQL, que tiene la siguiente

estructura:

Figura 10: Estructura de tablas en

MySQL tras cargar el modelo RDF

En dicha estructura, la tabla

“statements” tiene todas las tripletas de

RDF, según se pueden apreciar en la

siguiente figura 11:

Page 114: Publicidad y sistemas de recomendación

Anexo A

vi

Figura 11: Tripletas sujeto,

predicado y objeto en MySQL

Una vez cargado el modelo, ya se puede

utilizar desde php para, por un lado obtener

las palabras de los mensajes de Twitter y

por otro, obtener la clasificación del usuario

en base a dichas palabras. En el siguiente

código se muestra un sencillo ejemplo

donde se mostrarían todas las coincidencias

y por lo tanto, los distintos estados de

ánimo que tiene el usuario.

//Base de datos que

tiene almacenado el modelo

$basedatos = "animo";

//conectamos con el

servidor

$link =

@mysql_connect("localhost",

"root", "root");

// comprobamos que hemos

estabecido conexión en el

servidor

if (!$link){

echo "<h2

align='center'>ERROR:

Imposible establecer

conección con el

servidor</h2>";

exit;

}

echo "<pre>";

echo "<b> Perfil de

usuario: </b>";

$Perfil="No";

foreach ($content as

$mensaje){

$palabras=split("

",$mensaje->text);

foreach

($palabras as $palabra){

//Creamos la parte

variable de la query

$sql =

'SELECT

SUBSTRING(`object`,LOCATE(

\'#\', `object` )+1) AS

resultado'

. '

FROM `statements`'

. '

WHERE `predicate` LIKE

\'%#SubClassOf\''

. ' AND

`subject` LIKE

\'%#'.$palabra.'\'';

$result

=

@mysql_db_query($basedatos,$s

ql,$link);

$row =

@mysql_fetch_array($result);

If

($row["resultado"]!= "") {

echo $row["resultado"];

$Perfil="Sí";

exit;

}

}

}

If ($Perfil=="No") {

echo "-- Sin

información sobre el perfil -

-";

}

echo "</pre>";

Page 115: Publicidad y sistemas de recomendación

Clasificación Ontológica en Twitter

vii

Resultados: En el ejemplo

mostrado, se consigue un perfil de usuario a

partir de los mensajes que el usuario ha

compartido por Twitter. De esta forma se

demuestra que se puede utilizar una

ontología de los estados de ánimo, para

obtener un perfil de usuario y mejorar los

resultados de un sistema de recomendación.

Es decir, el modelo se podría enlazar con

otros filtros colaborativos y de contenido,

para ofrecer al usuario distintas

posibilidades en base a su estado de ánimo.

La heurística utilizada ha sido de lo más

sencilla, ya que la decisión del estado de

ánimo se logra con la primera aparición de

una palabra que encaja dentro de la

ontología. Aquí también se abren multitud

de posibilidades, que enlazan con los

estudios que existen sobre cómo combinar

varios resultados distintos, utilizando

formulación estadística y ponderada.

También se podría incluir una variable

temporal, ya que un mensaje enviado hace

más tiempo que otro debería pesar menos

que el más reciente de los mismos. Del

mismo modo, al estar trabajando con la

información que tiene una red social, la

influencia del resto de usuarios también es

importante. Son muchos los avances

conseguidos en los sistemas de

recomendación, gracias a la influencia de

los contactos del usuario a clasificar. Se

abren de esta forma muchas posibilidades

para los sistemas híbridos, donde se

combina la información que el propio

usuario declara (preferencias), la que se

recopila por su comportamiento implícito o

explícito (rating) y la que se obtiene por sus

mensajes, tal y como ha quedado

demostrado en este prototipo.

Discusión y Comparación: La

mayoría de las redes sociales tienen

sistemas de recomendación para aumentar

la actividad dentro del su propio sitio.

Además, existen muchas webs donde se

recomiendan contenidos de tipo multimedia

(música o vídeo principalmente). Sin

embargo, no son muchos los que mezclan

ambos entornos para generar recomendar

recomendaciones más eficientes. Con este

prototipo se demuestra que el estado actual

de la tecnología permite unir ambas islas

para crear filtrados más eficientes. A nivel

de ontologías también se están realizando

progresos en la fusión de diferentes

modelos, como aquellos que mezclan las

clasificaciones musicales con otras

geográficas. Todo ello, lleva a pensar en

que el futuro de los sistemas de

recomendación permitirán unir diferentes

entornos y obtener lo mejor de cada uno

para generar conocimiento novedoso, que

aportará un valor añadido a la malgama de

información que inunda al actual internauta.

Conclusiones: Son muchos los

modelos propuestos para filtrar la

información, dadas las ventajas que podría

ofrecer la aplicación de técnicas de

recomendación de contenidos basadas en la

confianza en medios sociales como Twitter,

donde los usuarios pueden acceder no sólo

a información de texto, sino también

conectar con otros usuarios y los enlaces a

contenidos que envían. Este tipo de

recomendaciones se centran en el grafo

social del usuario, y tiene como principal

objetivo sugerir contenidos relevantes y de

confianza. Esto generará mayor satisfacción

del usuario y un aumento de su actividad en

el sitio y con otros usuarios. Esto a su vez

podrá beneficiar al medio social en cuestión

como resultado del aumento del consumo

de información y productos derivados.

Existe un gran interés comercial en este tipo

de técnicas, ya que un mayor refinamiento

en el filtrado conduce a mejores resultados

en las ventas de los productos

recomendados.

Agradecimientos: Gracias a Óscar

San Juan por su apoyo y estímulo, y

también mi familia por su paciencia y

comprensión.

Referencias:

[1] Berners-Lee T., Miller E., The Semantic

Web lifts off, ERCIM News No. 51.

Consultado en:

(http://www.ercim.org/publication/Ercim_

News/enw51/berners-lee.html) marzo-2012.

[2] Resource Description Framework

(RDF). Consultado en:

(http://www.w3.org/RDF/) marzo-2012.

[3] Naming and Addressing URIs, URLS.

Consultado en:

(http://www.w3.org/Addressing) marzo-

2012.

Page 116: Publicidad y sistemas de recomendación

Anexo A

viii

[4] eXtensible Markup Language (XML).

Consultado en: (http://www.w3.org/XML/)

marzo-2012.

[5] DARP Agent Markup Language

(DAML). Consultado en:

(http://www.daml.org) marzo-2012.

[6] Ontology Inference Language (OIL).

Consultado en:

(http://www.ontoknowledge.org/oil/)

marzo-2012.

[7] DAML+OIL. Consultado en:

(http://www.w3.org/TR/daml+oil-

reference) marzo-2012.

[8] Sistemas de recomendación semánticos.

Un análisis del estado de la cuestión.

Consultado en:

(http://www.hipertext.net/web/pag286.htm)

marzo-2012

[9] Servicios Web. Consultado en:

(http://w3c.es/Divulgacion/GuiasBreves/Ser

viciosWeb) marzo-2012.

[10] Documentación para los

desarrolladores de Twitter. Consultado en:

(https://dev.twitter.com/docs) marzo-2012.

[11] PHP – Hypertext Preprocessor.

Consultado en: (http://www.php.net)

marzo-2012

[12] Appserv Open Project. Consultado en:

(http://www.appservnetwork.com/) marzo-

2012.

[13] Protègè-OWL. Consultado en:

(http://protege.stanford.edu/overview/prote

ge-owl.html) marzo-2012

[14] RAP – PHP API for PHP V0.9.6.

Consultado en: (http://www4.wiwiss.fu-

berlin.de/bizer/rdfapi/) marzo-2012