6. Algoritmos de recomendación híbrida
6.2.1 Recomendación basada en el comportamiento social
Filtrado colaborativo
El filtrado colaborativo es el algoritmo más utilizado en los sistemas de recomendación actuales, especialmente en portales de Internet, en los que resulta sencillo aglutinar información de un gran número de usuarios, y se caracteriza por dejar de lado la clasificación de los ítems (todo aquello que se puede recomendar), apostando por el juicio humano [70][71][72]. El fundamento es generar recomendaciones basadas en las opiniones que han sido expresadas por la comunidad de usuarios: “es aquel sistema en el que las recomendaciones se hacen basándose solamente en el grado de similitud entre usuarios” [73]. Por lo tanto, se trata de un filtrado de orientación cualitativa. Los filtros colaborativos se basan en la búsqueda de asociaciones entre los usuario o entre los productos generadas a partir del uso y actividad registrados por parte del usuario en un servicio. Estas asociaciones se utilizan posteriormente para realizar la recomendación en función de la afinidad o similaridad que tienen los usuarios o los productos entre sí. Esta afinidad se calcula a partir de la evidencia explícita sobre las preferencias de los usuarios, como pueden ser las valoraciones concretas y adquisiciones de productos por parte los usuarios, y a partir de la evidencia implícita, que consiste, dependiendo del escenario de aplicación, en utilizar las interacciones que el usuario realice en su utilización normal de un producto para deducir el interés que suscitan determinados ítems.
La predicción de la valoración de un ítem desconocido para un usuario se basa en dos aspectos que se complementan, pudiendo partir de uno de ellos para llegar al otro y viceversa:
1. La afinidad de los usuarios: se comparan los usuarios según sus apreciaciones comunes sobre el conjunto de los ítems.
2. La afinidad del ítem: se comparan los ítems según las valoraciones que han recibido de los usuarios.
128
Por lo tanto, al ser el objetivo del filtrado colaborativo predecir la valoración pai del usuario a sobre un ítem i y basarse en usuarios activos, una de las desventajas radicaría en el denominado Cold start [74], comentado posteriormente, según el cual el sistema carece de datos iniciales para producir nuevas recomendaciones.
De acuerdo con Breese [75] podemos dividir este grupo de recomendadores en dos categorías: los métodos basados en memoria o heurísticos y los basados en modelos.
a) Filtrado colaborativo basado en memoria
El filtrado colaborativo basado en memoria divide su proceso de recomendación en tres etapas.
En primer lugar, es necesario formar un vecindario, es decir, encontrar un subconjunto único de la comunidad para cada usuario, identificando otros con intereses similares que actúen como recomendadores.
A continuación hay que agregar opiniones. Esto consiste en obtener un conjunto de pesos de los recomendadores para predecir la valoración de los ítems que aún no han sido calificados. Como es lógico, los vecinos con un mayor índice de afinidad tendrán más peso en la predicción.
Finalmente, se generan y ordenan las predicciones de los ítems, que se muestran al usuario por orden de afinidad realimentando y reiniciando el ciclo.
Acercamiento basado en usuario
En primer lugar hay que definir una medida de similitud, que va a cuantificar el grado de afinidad entre dos usuarios. Una vez obtenida esta medida, sólo hay que ordenar los resultados para obtener un vecindario fiable, con los usuarios más cercanos en gustos. A partir de ahí, se puede realizar la predicción del ítem desconocido a partir del sumatorio de valores con rating [76]:
×\ ∑ØÎÙÚ| ΪØ∑ØÎÙÚ| Ϊؚ 6$\,#& Šš 6$\,#&Ø (93) Donde:
×\ es la predicción de la valoración del usuario a sobre el ítem i sim (a, u) es la similitud entre los usuarios a y u
A# es la valoración del usuario u sobre el ítem i \ es el conjunto de vecinos de un usuario a
~# es el subconjunto de ítems que el usuario u ha calificado
Otra posible fórmula para la predicción consiste en realizar un sumatorio de las desviaciones de la media, lo que se considera más efectivo [77], ya que compensa parte de la subjetividad de los rangos de las valoraciones:
129 Donde:
AÂ# ∑ΪØ|–Ø|ŠØ (95)
Acercamiento basado en ítem
En este caso se predice la valoración para un ítem utilizando las valoraciones del usuario en los vecinos del ítem seleccionado. Para ello maneja un vector que contiene las valoraciones de los usuarios, por lo que es necesario definir clusters de vecindarios para los ítems.
Análogamente al acercamiento basado en usuario, existe una fórmula basada en el sumatorio de las valoraciones:
×\ ∑ÁΪÚÛÙ∑ÁΪÚÛÙš 6$ , & Šš 6$ , &ÚÁ (96)
Donde:
×\ es la predicción de la valoración del usuario a sobre el ítem i sim (i, j) es la similitud entre los ítems i y j
A\ es la valoración del usuario a sobre el ítem j es el conjunto de vecinos de un ítem i
~\ es el subconjunto de ítems que el usuario a ha calificado Y otra basada en el sumatorio de las desviaciones de la media:
×\ A ∑ÁΪÚÛÙ∑ÁΪÚÛÙš 6$ , & $Šš 6$ , &ÚÁLŠÂÁ& (97)
A ∑ØÎÜ| Ϊ؊Ø
| #ÎÝ| Î–Ø | (98)
• Medida de la similitud
Un problema fundamental de los algoritmos anteriores estriba en el cálculo de la similitud, ya sea entre dos usuarios o entre dos ítems. Existen diversas aproximaciones para obtener este valor, pero las dos más populares son las basadas en la correlación o en el coseno.
En primer lugar, se define Sxy como el conjunto de los ítems valorados por los usuarios x e y. Este conjunto se utiliza principalmente en sistemas de recomendación colaborativos como un resultado intermedio para calcular los vecinos más cercanos del usuario x, y se obtiene directamente, por ejemplo, mediante la intersección de los conjuntos Sx y Sy. Sin embargo, algunos métodos, como la aproximación gráfico-teórica a los filtrados colaborativos [78], pueden determinar los vecinos más cercanos sin calcular Sxy para todos los usuarios y.
En la aproximación basada en correlación, se utiliza el coeficiente de correlación de Pearson para medir la similitud [79][80]:
130
;Ž$*, ¦& ∑ÞΪf½$Šf,ÞLŠÄÄÄ&¿Šf ½,ÞLŠÄÄÄý ›∑ÞΪf½$Šf,ÞLŠÄÄÄ&f Z∑ÞΪf½$н,ÞLŠÄÄÄ&½ Z
(99)
En la aproximación basada en el coseno [75][81], se tratan los dos usuarios, x e y, como dos vectores del espacio m-dimensional, donde m=|Sxy|. Por lo tanto, se puede medir la
similitud entre dos vectores calculando el coseno del ángulo existente entre ellos:
;Ž$*, ¦& cos$*Â, ¦Ä& âÀàâZÀà páà´âpáàâZ ∑ÞΪf½Šf,ÞŠ½,Þ ›∑ÞΪf½Šf,ÞZ ›∑ÞΪf½Š½,ÞZ
(100)
Otra aproximación a la medida de similitud entre usuarios utiliza la diferencia media de cuadrados, y se describe en [80]. Resulta destacable que los diferentes sistemas de recomendación pueden generar diferentes aproximaciones para implementar los cálculos de similitud y valoración de la manera más eficiente posible.
b) Filtrado colaborativo basado en modelo
Este tipo de filtros colaborativos utiliza las puntuaciones realizadas por los usuarios para el aprendizaje de un modelo probabilístico, a partir del cual se pueden realizar las recomendaciones. Básicamente la idea se resume en el cálculo del rating pu,i cómo la probabilidad de que el usuario u dé una determinada valoración al ítem i teniendo en cuenta las valoraciones que el usuario hizo sobre otros productos.
De este modo, los filtros basados en modelo están fuertemente inspirados en las técnicas de aprendizaje automático (machine learning), ampliamente estudiadas en el campo de la inteligencia artificial. Los algoritmos de aprendizaje construyen el modelo probabilístico a partir del reconocimiento de patrones de actividad de los usuarios, como las puntuaciones o adquisiciones realizadas anteriormente por los usuarios. Este modelo se refina continuamente según los usuarios participen en el sistema y vayan asignando nuevas puntuaciones a los productos. A partir de las probabilidades calculadas, el sistema de recomendación es capaz de calcular el rating más probable de un usuario u para un ítem i.
Para la realizacion de este tipo de filtros se utilizan diversas técnicas. Las más empleadas en el campo de la recomendación para la construcción de los modelos probabilísticos son las siguientes:
• Redes bayesianas [82]. Esta técnica interpreta cada producto como un nodo en una red bayesiana, donde el estado de cada nodo se corresponde con los posibles valores de rating para cada producto. Tanto la estructura de la red bayesiana como las probabilidades condicionales se construyen automáticamente a partir de los datos.
• Creación de clusters de usuarios [75]. En este caso, los usuarios con la misma opinión son agrupados en clases o conjuntos de personas. Dada la pertenencia de un individuo a una clase, se puede predecir su posible valoración para un determinado producto. Tanto los parámetros como las clases del modelo se aprenden directamente a partir de los datos disponibles.
131
• Otras técnicas que se han empezado a utilizar recientemente son las cadenas de Markov [83] o los Latent semantic models [84].
La diferencia fundamental entre los filtros colaborativos basados en memoria o basados en modelos es que el primero calcula la utilidad utilizando heurísticos que aproximan la similitud entre individuos. En el segundo caso, los filtros predicen las valoraciones de los productos mediante un modelo de probabilidad construido a partir de los datos subyacentes a la actividad de los usuarios, utilizando básicamente técnicas estadísticas o de aprendizaje automático.
Problemas de los filtrados colaborativos
El filtrado colaborativo tiene, fundamentalmente, tres problemas típicos [85]:
• Cold start
También es conocido como el problema del primer día [85], dado que tiene lugar el primer día de servicio, ante la falta de datos iniciales para empezar a realizar las recomendaciones. Se trata del problema más grave de los sistemas de filtrado colaborativo, y afecta tanto a los usuarios como a los ítems. Es decir, por un lado, un usuario nuevo no recibirá recomendaciones fiables hasta que el sistema conozca un número considerable de valoraciones de ese usuario; por otro lado, también existe el problema de que los nuevos ítems no pueden ser recomendados hasta el momento en que los primeros usuarios aporten sus valoraciones. Esto puede provocar que un nuevo ítem nunca llegue a ser conocido, ya que por esta razón no recibe valoraciones, y nunca será recomendado. Hasta que crece considerablemente el número de usuarios que lo valoran, el número de comparaciones multidimensionales ve seriamente afectada su escalabilidad. Por este motivo, se utilizan habitualmente técnicas demográficas para los procesos de inicialización.
• Banana Problem
Los sistemas de recomendación colaborativos tienden a ser especialmente sensibles a las diferentes frecuencias de valoración de ítems por parte de los usuarios [86]. Por ejemplo, dado que las bananas son productos habitualmente adquiridos por los clientes en muchas fruterías, un sistema de recomendación que use datos de la cesta del mercado recomendará con mucha facilidad bananas. Esto no ocurrirá con un producto adquirido sólo una vez en un amplio lapso de tiempo, como por ejemplo los automóviles. En cuanto a contenidos audiovisuales, por ejemplo, saldrían beneficiados aquellos programas más populares, con más aceptación general. Por lo tanto, un usuario con gustos atípicos tendrá que conformarse con recomendaciones más pobres que las de aquello que tienen unas preferencias más usuales.
• Efusividad y subjetividad en las valoraciones
Las valoraciones de usuarios similares se combinan habitualmente para hacer recomendaciones de filtrado colaborativo, pero los usuarios, habitualmente, emplean diferentes escalas de valoración para expresar preferencias similares. Un usuario puede ser más efusivo en su valoración que otro y dar una mayor puntuación cuando las valoraciones deberían ser del mismo orden. Por este motivo resulta más evidente, a la
132
hora de efectuar las predicciones, emplear el sumatorio de las desviaciones de la media antes que los valores absolutos almacenados. A menudo se utilizan técnicas que conservan secuencias relativas y ordinales para identificas las variaciones en los patrones de valoración [87][88].
Métodos demográficos
Uno de los problemas habituales con los sistemas de recomendación basados en filtrado colaborativo es que el número de ratings disponible para calcular la predicción de los ítems es usualmente más pequeño en comparación con el número de ratings que es necesario predecir. Es decir, tenemos que recomendar para un volumen de gente mayor del que tenemos información disponible. Esto es realmente importante ya que los filtros colaborativos dependen de una masa crítica de usuarios para poder ser realmente efectivos. Por tanto, es necesario también poder realizar predicciones de ratings teniendo en cuenta un conjunto limitado de ejemplos e información.
Una de las soluciones más comunes para solucionar esta limitación de los filtros colaborativos (al menos, hasta que el sistema no disponga de la necesaria masa crítica de usuarios) es utilizar información del perfil para realizar el cálculo de similitud entre usuarios. De esta manera, dos usuarios u y u’ no son similares si han realizado valoraciones similares de los mismos productos, si no también si pertenecen al mismo segmento demográfico, es decir, si tienen el mismo perfil de usuario: edad, género, gustos, preferencias, educación, localización geográfica, etc. Estas técnicas construyen, por tanto, clusters o grupos de usuarios con una serie de características en común (de manera similar a los filtros basados en modelo).
Los métodos de recomendación que utilizan estas técnicas se conocen como filtros demográficos y clasifican a los usuarios a partir de su perfil en un conjunto de categorías. Después se utiliza la pertenencia a estas categorías para realizar las recomendaciones. Estas técnicas demográficas resultan especialmente interesantes a la hora de combinarlas con la idea de contexto para poder agrupar a los usuarios en situaciones contextuales similares y de esta forma poder sugerir contenidos multimedia en función de estas situaciones.
En la literatura se encuentran trabajos como los realizados por Krulwich [89], los cuáles desarrollan un sistema de recomendación que construye grupos demográficos partiendo de estudios de marketing. En otros sistemas se utilizan maquinas de aprendizaje para generar los modelos de los usuarios, este es el caso del sistema definido por Pazzani [90]. El modelo de usuario definido por estos autores utiliza el algoritmo de Winnow [91] para extraer las características de los usuarios a partir de sus páginas web.
El beneficio de los métodos demográficos es que no requieren un historial muy extenso con las puntuaciones generadas por los usuarios para poder realizar recomendaciones, como ocurre con el resto de las técnicas mostradas en esta sección.
Técnicas de recomendación en redes sociales
El principal desafío de los sistemas de recomendación que trabajan sobre redes sociales radica en la necesidad de combinar información heterogénea, de fuentes diversas, de muy distinta naturaleza, tanto cualitativa como cualitativa, y con valores comprendidos
133
en rangos muy dispersos. Por ese motivo, es necesario, para cada caso de aplicación, crear un modelo común de datos que permita combinar y cuantificar de manera unificada toda la información existente, así como aprovechar todos los datos que se pueden inferir de ella. Las investigaciones es este terreno son todavía incipientes, pero ya empiezan a aparecer interesantes estudios de aplicación en la literatura científica. Orientado hacia sistemas de recomendación multimedia, Kazienko et al. [92] crean una metodología para el tratamiento de datos heterogéneos que aplican a redes sociales de compartición de imágenes o vídeos, como Flicker o Youtube. Los investigadores crean un sistema multidimensional de once capas, cada una de las cuales modela un tipo diferente de relación entre dos usuarios de una red social. Estas relaciones pueden ser, afirman, de dos tipos diferentes, dependiendo de si se establecen directamente entre usuarios o a través de algún objeto multimedia que comparten. Por lo tanto, la combinación de todas estas relaciones, situadas en las diferentes capas, da lugar a la construcción de una red multidimensional que define la relación de cada pareja de usuarios. Las once capas creadas por los investigadores para la red Flicker se basan en las listas de contactos de los usuarios (capa 1-capa 3), en las etiquetas compartidas (capa 4), en los grupos de usuarios (capa 5), en las imágenes añadidas a favoritas (capa 6-capa 8) y en las opiniones vertidas sobre imágenes creadas por los usuarios (capa 9-capa 11). Posteriormente, el sistema propuesto emplea métricas de correlación para inferir los pesos que cada una de las capas tiene para los usuarios a la hora de obtener una medida fiable de similaridad entre ellos, que permite aplicar, finalmente, los algoritmos clásicos de filtrado colaborativo u otros filtros sociales, según la estructura de la Fig. 37.
Fig. 37. Arquitectura de un sistema de recomendación para redes sociales [33]
Este modelo específico se basa, a su vez, en el modelo teórico planteado por Arazy et al. [93], en el que se consideran cuatro fuentes particulares de información, que se modelan
134
a su vez para obtener cuatro métricas generales (preferencias compartidas, confianza, reputación de la fuente y tie strength), que se articulan tal y como muestra la Fig. 38.
Fig. 38. Modelo de recomendación para fuentes heterogéneas en redes sociales [93]
Los investigadores también articulan este modelo sobre un sistema clásico de filtrado colaborativo. Concretamente, plantean una predicción basada en usuario a través del coeficiente de correlación de Pearson, a partir de un rating generado a partir de una suma ponderada de las cuatro fuentes de información. El problema se reduce, por lo tanto, a la óptima extracción y modelado de los datos procedentes de las redes sociales. En este sentido, se considera fundamental el cálculo del denominado tie strength, atributo que fue formalizado en los años 70 y 80 por el sociólogo Granovetter [94] y en los 90 por David Krackhardt [95], y que pretende estimar la fortaleza de los lazos que unen a los miembros de una determinada comunidad. Con la irrupción de las redes sociales en Internet, las investigaciones sobre el tie stregth han llegado a la ingeniería para aplicar las ideas sociológicas a los sistemas de información. De esta forma, se han realizado recientes estudios muy interesantes, como el que proponen Gilbert y Karahalios [96] a partir de diferentes técnicas semánticas de detección y clasificación de componentes emocionales en textos escritos. Para ello, realizan una serie de pruebas en la red social Facebook, donde detectan hasta 74 variables que clasifican en siete grupos: intensidad, intimidad, duración, servicios recíprocos, variables estructurales, emocionales y de distancia social. Del mismo modo, establecen una clasificación en la que ordenan las variables primarias que aportan una mayor información para el cálculo del tie strength.