Filtros Colaborativos y Sistemas de Recomendación

58
Filtros Colaborativos y Sistemas de Recomendación G. Huecas J. Salvachúa

description

Tema del curso "Aplicaciones y Sistemas Colaborativos en la Web 2.0", del doctorado de DIT de la UPM

Transcript of Filtros Colaborativos y Sistemas de Recomendación

Page 1: Filtros Colaborativos y Sistemas de Recomendación

Filtros Colaborativosy

Sistemas de Recomendación

G. HuecasJ. Salvachúa

Page 2: Filtros Colaborativos y Sistemas de Recomendación

Índice

• Un poco de historia: Groupware / Workflow• Introducción a Sistemas Recomendadores• Taxonomía vs. Folksonomías• Arquitectura SR

– Similitud– Predictores– Evaluación de SR

• SR Colaborativos• SR Basados en Contenidos• SR Híbridos• Bibliografía

Page 3: Filtros Colaborativos y Sistemas de Recomendación

Groupware

• El Groupware es un tipo de software colaborativo que ayuda a grupos de trabajo a realizar sus actividades a través de una red. Formalmente se puede definir al groupware de la siguiente manera:“Sistemas basados en computadoras que apoyan a grupos de personas que trabajan en una tarea común y que proveen una interfaz para un ambiente compartido”

Dave Chaffney[CHAFFEY]

Page 4: Filtros Colaborativos y Sistemas de Recomendación

Características Groupware

• Proveer de un ambiente de colaboración, en el que realmente se perciba que el trabajo en grupo se lleva a cabo.

• Mantener la información en un solo sitio común para todos los miembros.

• Interactuar con otros usuarios, de forma escrita, voz o video.

Page 5: Filtros Colaborativos y Sistemas de Recomendación

Funciones esenciales del Groupware: CCC

• La Comunicación, es la función mas importante del groupware, ya que es el medio en que la información es compartida.

• La Colaboración, utilizada para unir la cooperación y resolver problemas de negocios o alguna actividad empresarial. Proporciona la ventaja de resolver problemas de las asambleas tradicionales como: lugar y tiempo para la realización de la misma o la disponibilidad de información. Además de mejorar la eficiencia en la toma de decisiones con la contribución de todos los miembros del grupo.

• La Coordinación, es la acción de asegurar que el equipo esta trabajando eficientemente y en conjunto para alcanzar una meta. Esto incluye la distribución de tareas y revisión de su ejecución.

Page 6: Filtros Colaborativos y Sistemas de Recomendación

Workflow• Los Workflows son sistemas que ayudan a administrar y automatizar

procesos de negocios. Un workflow puede ser descrito como el flujo y control en un proceso de negocio.

• La WfMC (Workflow Management Coalition) define a los workflows como [4]:

"La automatización de un proceso de negocio, total o parcial, en la cual documentos, información o tareas son pasadas de un participante a otro para efectos de su procesamiento, de acuerdo a un conjunto de reglas establecidas."

• También definen lo que es un proceso de negocio:"Es un conjunto de uno o mas procedimientos o actividades directamente ligadas, que colectivamente realizan un objetivo del negocio, normalmente dentro del contexto de una estructura organizacional que define roles funcionales y relaciones entre los mismos."

Page 7: Filtros Colaborativos y Sistemas de Recomendación

Funciones proporcionadas por WF

• Asignación de tareas al personal.• Aviso al personal de tareas pendientes.• Permitir la colaboración en las tareas comunes.• Optimización de recursos humanos y técnicos,

alineándolos a la estrategia de la empresa.• Automatización de las secuencias de los procesos de

negocio y optimización de las mismas.• Agilización de los procesos de negocio y como resultado

un mejor servicio al cliente.• Control y seguimiento de dichos procesos

Page 8: Filtros Colaborativos y Sistemas de Recomendación

Sistemas de Recomendación

Page 9: Filtros Colaborativos y Sistemas de Recomendación

Sistema de Recomendación (I)

• Los Sistemas de Recomendación forman parte de un tipo especifico de técnica de filtro de información, los cuales presentan distintos tipos de temas o ítems de información (películas, música, libros, noticias, imágenes, paginas web, etc.) que son del interés de un usuario en particular.

• Generalmente, un Sistema de Recomendación compara el perfil del usuario con algunas características de referencia de los temas, y busca predecir el "ranking" o ponderación que el usuario le daría a un ítem que aún el sistema no ha considerado. Estas características pueden basarse en la relación o acercamiento del usuario con el tema o en el ambiente social del mismo usuario.

Page 10: Filtros Colaborativos y Sistemas de Recomendación

Mecanismos de Retroalimentación

• Cuando se crea un perfil del usuario, se crea utilizando dos formas o métodos en la recolección de características (implícitas o explicitas).– Explícita: Cuando se aplica la recomendación explícita,

el sistema otorga al usuario la oportunidad de calificar, dentro de un rango predefinido, los ítems que ha utilizado

– Implícita: El sistema obtiene retroalimentación implícita capturando la interacción del usuario sin que él lo note.

Page 11: Filtros Colaborativos y Sistemas de Recomendación

Recolección de Datos• Ejemplos de recolección de datos de forma explicita

– Solicitar al usuario que pondere en base a una escala proporcionada, algún tema en particular

– Solicitar al usuario que pondere un conjunto de temas de una lista de temas favoritos

– Presentar al usuario dos temas, y solicitarle que seleccione uno de ellos– Solicitar al usuario que cree una lista de temas de su preferencia

• Algunos ejemplos de recolección de datos de forma implícita– Guardar un registro de los temas que el usuario ha visto en una tienda online– Analizar el número de visitas que recibe un artículo– Guardar un registro de los artículos que el usuario ha seleccionado– Obtener un listado de los artículos que el usuario ha seleccionado o visto en su

computadora– Analizar las redes sociales de las que el usuario forma parte y de esta manera

conocer sus gustos y preferencias

Page 12: Filtros Colaborativos y Sistemas de Recomendación

Técnicas de Recomendación• Colaborativa, que acumula recomendaciones de usuarios sobre los ítems, identifica

similitudes entre usuarios y genera nuevas recomendaciones.• Demográfica, que clasifica a los usuarios en grupos y hace recomendaciones de acuerdo

con el grupo.• Basada en el contenido (es una ampliación del filtrado de información), que aprende el

perfil del usuario basado en las características de los ítems que él mismo ha jerarquizado y ofrece recomendaciones de acuerdo con su perfil. Esta técnica y la colaborativa crean un modelo a largo plazo, que van actualizando a medida que llegan evidencias.

• Basada en utilidad, que no construye generalizaciones a largo plazo, sino que compara la necesidad del usuario con el conjunto de opciones disponible, mediante una función de la utilidad de cada objeto para el usuario; esa función seria su perfil. Luego emplea técnicas de satisfacción de restricciones para escoger la mejor opción.

• Basada en el conocimiento, que dispone de información acerca de cómo un ítem satisface una necesidad del usuario y establece relación entre una necesidad y una recomendación. El perfil puede ser cualquier estructura de datos que soporte esta relación. Algunos sistemas han usado el razonamiento basado en casos para la recomendación.

[BURKE]

Page 13: Filtros Colaborativos y Sistemas de Recomendación

Algoritmos de Recomendación (I)

• En general, los algoritmos de recomendación deben encontrar la preferencia (likeliness), que se expresa en una de estas 2 formas: – Predicción: un valor numérico P(a,j) que predice la

preferencia del usuario activo (Ua), hacia el ítem (Ij), no usado aun por Ua.

– Recomendación: una lista de los N primeros ítems que el usuario Ua posiblemente prefiere, no usados aún por Ua, y se llaman los top-N.

Page 14: Filtros Colaborativos y Sistemas de Recomendación

Algoritmos de Recomendación (II)• Pueden basarse en el usuario (en la memoria), o en el ítem (en el

modelo).– Los algoritmos basados en el usuario usan estadísticas para buscar el

conjunto de los usuarios mas similares al Ua (vecinos cercanos, o nearest neighbors) y a continuación combinan las preferencias de esos vecinos para producir una predicción o recomendación (top-N) para Ua.

– Los algoritmos basados en los ítems suponen que un usuario estaría interesado en ítems similares a los que le interesaron antes a ese mismo usuario, y buscan entre el conjunto de ítems que el usuario ha usado y jerarquizado, calculan la similitud con el ítem objetivo, y seleccionan los k mas similares. También se les llama “basados en el modelo”, pues desarrollan primero un modelo de las opiniones de los usuarios, usando técnicas de aprendizaje automático [SARWAR00], [SARWAR01], [YU].

Page 15: Filtros Colaborativos y Sistemas de Recomendación

Algoritmos Recomendación (III)

• Uno de los algoritmos mas usado comúnmente en sistemas de recomendación es el Nearest Neighborhood (Acercamiento al Vecino mas Cercano). En una red social, un usuario particular usa un vecino con gustos e intereses similares que pueden ser encontrados calculándolos con la Pearson Correlation, recolectando las preferencias de los primeros N- vecinos para un usuario en particular, (pesado por su similitud), y se predice la preferencia del usuario usando ciertas técnicas.

Page 16: Filtros Colaborativos y Sistemas de Recomendación

Ejemplos de SR• Amazon.com (Pagina de compra por internet, incluye recomendaciones de productos) • Amie Street (Servicios de música) • Baynote (Servicio de recomendación vía web) • ChoiceStream (Sistema de recomendación de productos) • Collarity (Plataforma multimedia de recomendación) • Daily Me (Sistema de recomendación de noticias) • Genius (Servicio de música, forma parte de la tienda online de iTunes) • Last.fm (Sistema de música) • Loomia (Motor de contenido) • Strands (Tecnología de recomendación social) • Netflix (Servicio de alquiler de DVD) • Pandora (servicio de música) • Reddit (Sistema de recomendación de noticias) • Slacker (servicio de música) • StumbleUpon (Servicio web) • StyleFeeder (Busqueda personalizada de compras)

Page 17: Filtros Colaborativos y Sistemas de Recomendación

Taxonomía vs. Folksonomía (I)• Tradicionalmente, clasificar grandes cantidades de información

requiere de un riguroso proceso en el cual un grupo de expertos documentalistas, clasifica una serie de volúmenes de acuerdo a una taxonomía pre-existente, haciendo uso de un Vocabulario Controlado que permite mantener la precisión y autoridad en esta clasificación.

• Un sistema de clasificación social contradice todos estos principios: La clasificación social deja la puerta abierta para que cualquier persona agregue términos descriptivos, también conocidos como keywords o tags a los diferentes elementos de la colección, sin control en su vocabulario ni jerarquía en la organización.

• El resultado de esto es una clasificación plana, llena de ambigüedad y errores, pero con un gran dinamismo y flexibilidad para adaptarse a la mentalidad de los usuarios, lo que resulta útil para éstos.

Page 18: Filtros Colaborativos y Sistemas de Recomendación

Taxonomía vs. Folksonomía (II)

Taxonomía:● Control● Autoridad● Precisión● Jerarquía, clasificación● Búsqueda

Folksonomía:● Flexibilidad● Simpleza, popularidad● Utilidad● Plano, categorización● Exploración, serendipity

Page 19: Filtros Colaborativos y Sistemas de Recomendación

Folksonomías• Ventajas de las Folksonomies:

– Las folksonomies entregan información acerca de la gente que las crea, invitando a la participación.

– Tienen el potencial de nutrir una Web Semántica.– A nivel de empresa tienen el potencial de mejorar la categorización de

documentos.– Refleja directamente el lenguaje de los usuarios.

• Debilidades de las Folksonomies:– Polisemia– Palabras con múltiples significados– Sinonimia– Conceptos descritos con diferentes términos– Plurales y raíces: Gato vs gatos , Ciclismo vs Ciclista

Page 20: Filtros Colaborativos y Sistemas de Recomendación

SISTEMA DE RECOMENDACIÓN Y PERSONALIZACIÓN

Basado en presentación de Viviana L. Matos, Universidad Nacional del Sur

Page 21: Filtros Colaborativos y Sistemas de Recomendación

SR: Aplicación

WWW

Necesito informaciónde libros ¿ayuda?

SR

Page 22: Filtros Colaborativos y Sistemas de Recomendación

SR: Concepto

• Un Sistema de Recomendación es una herramienta que ayuda al usuario a obtener la información que necesita de acuerdo a sus preferencias– Un SR toma decisiones basado en información

disponible.– Un SR requiere de un método de filtrado de la

información.– Un SR se aplica en algún dominio determinado

(Ej: películas, música, restaurantes, email, e-commerce,..)

Page 23: Filtros Colaborativos y Sistemas de Recomendación

Arquitectura del SR

Perfil del Usuario

Recomendaciones

Sistema de Información(Data Source)

Usuario

Interactúa

Motor del Sistemade Recomendaciones

Módulo de Actualización del Perfil del Usuario

Page 24: Filtros Colaborativos y Sistemas de Recomendación
Page 25: Filtros Colaborativos y Sistemas de Recomendación

SR Colaborativos

• Mapea usuarios con intereses similares y luego crea recomendaciones sobre esa base

• Sugiere nuevos ítems o predice la utilidad de un cierto ítem para un usuario particular basado en los gustos previos del usuario y en las opiniones de otros usuarios con iguales intereses.

Page 26: Filtros Colaborativos y Sistemas de Recomendación

Item-Based Collaborative Filtering RecommendationAlgorithms. Sarwar et al. ACM Press

Proceso de Filtro Colaborativo

Page 27: Filtros Colaborativos y Sistemas de Recomendación

Tipos de Filtros Colaborativos

• Basado en Memoria– Utiliza el algoritmo del vecino más cercano para chequear

por similitud a los usuarios con respecto al usuario activo. Y combina las preferencias para determinar una predicción o lista de recomendaciones para el usuario activo.

• Basado en Modelo– No usan la matriz de ratings directamente. Usan un

esquema de aprendizaje mecánico para construir un modelo de valoraciones de usuarios. Ej: sistema de filtro colaborativo basado en ítem: Un usuario podría estar interesado en ítems que le gustaron y evitaría los ítems que no le gustaron.

Page 28: Filtros Colaborativos y Sistemas de Recomendación

Filtro Colaborativo Basado en Ítem• Sobre el conjunto de ítems que el usuario activo valoró,

computa cuán similar es el ítem recuperado con respecto a los ítems valorados por el ua, y elige los k más similares {i1, i2, ..., ik} y al mismo tiempo sus correspondientes similitudes {si1,si2,...,sik}.

Page 29: Filtros Colaborativos y Sistemas de Recomendación

Producto Escalar de Vectores

• Cuando θ es cero, los vectores apuntan en la misma dirección. Así, para valores de cercanos a cero, los vectores tienden a apuntar en la misma dirección

·cos·vuvu

Page 30: Filtros Colaborativos y Sistemas de Recomendación

Similitud entre Ítems

• Correlación de Pearson

• Similitud por Coseno

• Similitud por Coseno Ajustada

ji

jijijisim

·

·,cos),(

Uujju

Uuiiu

Uujjuiiu

RRRR

RRRRjisim

2

,

2

,

,,

,

Uuuju

Uuuiu

Uuujuuiu

RRRR

RRRRjisim

2

,

2

,

,,

,

Page 31: Filtros Colaborativos y Sistemas de Recomendación

Cálculo de la Predicción

• Suma ponderada (weighted sum)

• Regresión

Page 32: Filtros Colaborativos y Sistemas de Recomendación

Suma Ponderada

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:

NNi

NNuNi

iuS

RSP

,

,,

,

*

Page 33: Filtros Colaborativos y Sistemas de Recomendació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

iN RR '

Page 34: Filtros Colaborativos y Sistemas de Recomendación

Predictores “slope-one” (I)

• Partiendo de dos Arrays 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 .Derivando:

• Es decir, la diferencia media entre ambos arrays

n

vwb ii

Page 35: Filtros Colaborativos y Sistemas de Recomendación

Predictores “slope-one” (II)

• Diseño de 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 array simétrico precalculado que es posible actualizar con cada nuevo elemento que se añada al sistema.

n

uudesv ij

ij ,

Page 36: Filtros Colaborativos y Sistemas de Recomendación

Predictores “slope-one” (III)

• La predicción para un usuario uj a partir del resto de usuarios será (Con Rj el conjunto de ítems relevantes):

jRi

iijj

udesvRtotal

P .

1

Page 37: Filtros Colaborativos y Sistemas de Recomendación

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

juSiij

juSiijiij

j c

cudesv

uP,

,,

Page 38: Filtros Colaborativos y Sistemas de Recomendación

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 39: Filtros Colaborativos y Sistemas de Recomendación

Métodos de Evaluación de Rendimiento

• No trivial• La bondad de los algoritmos dependen del dataset elegido• Los objetivos del SR pueden ser diversos

– Estimar con exactitud– No proporcionar recomendaciones erróneas– Múltiples tipos de medidas:

• que cubran todo el espectro de elementos del conjunto (cobertura),• que no se repitan,• que sean explicables…

– Principal objetivo de un SR (no cuantificable):la satisfacción del usuario.• un menor error cuadrático menor no es apreciado por el usuario.• otros parámetros: sensación de credibilidad que ofrezca el sistema, la interfaz de

usuario, la mejora del perfil al incluir nuevos votos...

Page 40: Filtros Colaborativos y Sistemas de Recomendación

Métodos de Evaluación de SR

• Métodos Estadísticos

• Métricas de Decisión

Page 41: Filtros Colaborativos y Sistemas de Recomendación

Métodos de Evaluación: Estadísticos

• El parámetro de evaluación más usado es el Error Medio Absoluto (MAE) (mejor cuanto menor MAE)

• Problema: el usuario sólo se interesa en los primeros N elementos de la recomendación, en el resto da igual el error cometido

• Ventaja: sencillo y muy estudiado• Variaciones:

– Error cuadrático medio (penaliza mayores errores)– Error absoluto normalizado (facilita comparaciones)

N

qpMAE

N

i ii

1

Page 42: Filtros Colaborativos y Sistemas de Recomendación

Métodos de Evaluación: Métricas• 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• 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• Posible solución: dividir el conjunto de datos en entrenamiento y test.

– Se trabaja con el conjunto de entrenamiento– posteriormente se evalúa el resultado comparando las recomendaciones

proporcionadas con las del conjunto de test.• Técnica útil,

– Los resultados dependen fuertemente del porcentaje de elementos relevantes que el usuario haya votado.

Page 43: Filtros Colaborativos y Sistemas de Recomendación

Métrica “Precision and Recall”

• La mas conocida• Utilizada en muchos tipos de sistemas de recuperación de

información.– Precision es la probabilidad de que un elemento seleccionado sea

relevante – Recall es la probabilidad de que sea seleccionado un elemento

relevante, • aunque en los sistemas de recomendación la “relevancia” es algo totalmente

subjetivo.

• Intuitiva para el usuario: 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.

Page 44: Filtros Colaborativos y Sistemas de Recomendación

Métrica ROC• ROC (Reciver operating characteristic): 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 mas elementos buenos y menos malos.

Page 45: Filtros Colaborativos y Sistemas de Recomendación

Ventajas Filtros Colaborativos

• Permite recomendar contenidos difíciles de analizar

• Recomendar ítems basados en las preferencias del usuario

• Realizar recomendaciones válidas pero no esperadas, lo cual puede ser de gran utilidad

Page 46: Filtros Colaborativos y Sistemas de Recomendación

Desventajas Filtros Colaborativos

• Problema de Cold-Start– Problema del Usuario Nuevo (ó early rater)– Problema de Ítem Nuevo

• Problema de Dispersión (Sparsity)– Si el número de usuarios es pequeño en relación al volumen de

información en el sistema, se corre el riesgo de que el cubrimiento de ratings se vuelva muy disperso. Achicando la colección de ítems recomendables.

• Problema de Escalabilidad– A medida que la cantidad de usuarios y de ítems crece, también

crece la cantidad de cómputos de vecinos mas cercanos para la determinación de usuarios similares, y como los cálculos se hacen en tiempo real, el sistema puede colapsar.

Page 47: Filtros Colaborativos y Sistemas de Recomendación

Desventajas Filtros Colaborativos

• Problema de la Oveja Gris– Existen usuarios donde sus perfiles caen entre clases

existentes de usuarios, haciendo difícil determinar para ellos una recomendación adecuada.

• Problema de la Sinonimia– Se produce por la escasez de cualquier forma de

interpretación semántica. Ítems similares no se trataran de tal manera cuando se hagan las recomendaciones.

• Problema de la Subjetividad– Con respecto a la naturaleza de los ratings

Page 48: Filtros Colaborativos y Sistemas de Recomendación

Sistemas Basados en Contenido

• Recomienda ítems que son similares a los ítems que previamente valoró el usuario.

Matriz de Valoraciones – Escala: 1-5

Si te gustaron estos ítems, es muy probable que te gusten similares

Page 49: Filtros Colaborativos y Sistemas de Recomendación

SR Basado en Contenido

• Los ítems se definen según sus características. (Ej: palabras en el documento)

• El perfil de usuario se basa en cómo el usuario valora esas características.

• Este recomendador representa los documentos como las técnicas de IR, haciendo uso del espacio vectorial y los índices para representar usuarios y documentos.

Page 50: Filtros Colaborativos y Sistemas de Recomendación

Ventajas de SR Basados en Contenido

• Recomendación por contenido– Y no por opiniones subjetivas de otros usuarios.

• Se explica– El sistema puede generar explicaciones sobre la

recomendación que hizo en base al historial del usuario.

• No hay Dispersión (Sparsity)– Pues el modelado de la información está presente en

las características del documento y no necesitan proveerlas otros usuarios.

Page 51: Filtros Colaborativos y Sistemas de Recomendación

Desventajas SR Basados en Contenido

• Sobreespecialización– El usuario está limitado a que le recomienden ítems

similares a los que recomendó.• Subjetividad de los Contenidos.– Dificultad en dominios con contenido difícil de

analizar, (audio, gráficos, imágenes, video)• Problema del Usuario Nuevo.– El usuario tiene que valorar un número suficiente de

ítems para que el sistema pueda realmente entender sus preferencias.

Page 52: Filtros Colaborativos y Sistemas de Recomendación

Desventajas SR Basados en Contenido

• Representación del Perfil del Ítem– Para cada ítem se extraen ciertas características sobre las cuales se

evalúa la similitud.• Efecto Portfolio.

– Se da en dominios como recomendación de noticias, ya que es posible descartar noticias que pueden ser muy similares a previas, pero que al mismo tiempo presentan hechos nuevos e importantes.

• Problema Estabilidad vs Plasticidad.– Es difícil para el sistema aprender a adaptarse, a los cambios en el

perfil del usuario hasta no haber recolectado un número suficiente de ratings actualizados.

• Tarea Onerosa de tener que valorar.

Page 53: Filtros Colaborativos y Sistemas de Recomendación

Sistemas Híbridos

• Los sistemas híbridos explotan características de los sistemas Basados en Contenido y Colaborativos, debido a la naturaleza complementaria de ambos. Lo que se busca es sobrellevar los inconvenientes de ambos sistemas para obtener mejores recomendaciones.

• Para crear un sistema híbrido colaborativo basado en contenido, los perfiles de usuario se mantienen según el análisis de los contenidos de los ítems, y directamente se comparan esos perfiles para determinar las similitud entre usuarios para una recomendación colaborativa.

Page 54: Filtros Colaborativos y Sistemas de Recomendación

Sistemas Híbridos• Se han propuesto varios esquemas de

Sistemas Colaborativos basados en contenido, que pueden categorizarse en dos grupos– Combinación Lineal

– Combinación Secuencial (Ej Sistema FAB)

Matriz deValoraciones

Perfil deUsuario

Filtro Colaborativo

Filtro Basado en Contenido

FiltroCombinado

Perfil deUsuario

Filtro Colaborativo

Filtro Basado en Contenido

FiltroCombinado

Page 55: Filtros Colaborativos y Sistemas de Recomendación

Bibliografía• [AKAPA] http://www.akapa.com/member.html • [AVERY] Christopher Avery, Richard Zeckhauser. Recommender systems for

evaluating computer messages. Communications of the ACM, 40(3):88-89, March 1997

• [BALABANOVIC] Marko Balabanovíc and Yoav Shoham. Fab: Content-based, collaborative recommendation. Communications of the ACM, 40(3):66-72, March 1997.

• [BIGDATES] http://www.bigdates.com/ • [BRESSE] J. Bresse, D. Heckerman, and C. Kadie.Empirical analysis of predictive

algorithms for collaborative filtering. Proceedings of the UAI-98 Conference. Morgan Kaufmann, 1998.

• [BURKE] Burke Robin. Hybrid recommender systems: survey and experiments. User Modeling and User-Adapted Interaction. November 2002. Volume 12 Issue 4.

• [CHAFFEY] Chaffey Dave, Groupware, Workflow and Intranets. Reengineering the Enterprise with Collaborative Software. Chaffey Dave, Ed. Digital Press, 1998.

• [CISCO] http://www.cisco.com/warp/public/cc/pd/unco/persasst/

Page 56: Filtros Colaborativos y Sistemas de Recomendación

Bibliografía• [FREEDOMSPACE] http://www.myfreedomspace.com/ • [GOLDEN] http://www.goldencrater.com/software/epAssist/epAssist.html • [HORVITZ] Horvitz E.: Lumiere Project: Bayesian Reasoning for automated assistance.

Adaptive Systems & Interaction. Microsoft research. Redmond, Washington. • http://research.microsoft.com/~horvitz/lumiere.htm• [KAUTZ] Henry Kautz, Bart Selman, and Mehul Shah. Referral Web: Combining social

networks and collaborative filtering.Communications of the ACM, 40(3):63-65, March 1997.

• [KONSTAN] Joseph A. Konstan, Bradley N. Miller, David Maltz, Jonathan L. Herlocker, Lee R. Gordon, John Riedl. GroupLens: applying collaborative filtering to Usenet news. Communications of the ACM, 40(3):77-87, March 1997.

• [LINTON] Linton F., Charron, A. and Joy Debbie. Owl a Recommender System for Organization-Wide Learning.

• [LIVEPERSON] http://www.humanclick.com/community/pa.asp • [LOGILAB] http://www.logilab.org/narval/ • [LUCENT] http://www.lucent.com/

Page 57: Filtros Colaborativos y Sistemas de Recomendación

Bibliografía• [MACKAY] David J. Mackay Information Theory, Inference and Learning Algorithms,

Cambridge• [MOBONE] http://www.mobone.com/dir/site.html?c=77&s=78• [OMICRON] http://www.omicronsoft.com/Products/PersonalAssistant/ • [RESNICK] Paul Resnick, Hal R. Varian. Recommender systems. Communications of

the ACM, 40(3):56-58, March 1997. • [RUCKER] James Rucker, Marcos J. Polanco. Siteseer: personalized navigation for

the Web. Communications of the ACM, 40(3):73-76, March 1997.• [SARWAR00] Sarwar, B. M., Karypis, G., Konstan, J. A., and Riedl, J. "Analysis of

Recommendation Algorithms for E-Commerce". Proceedings of the 2nd ACM E-Commerce Conference (EC'00). Oct., 2000.

• http://www-users.cs.umn.edu/~sarwar/ec00.pdf • [SARWAR01] Sarwar, B. M., Karypis, G., Konstan, J. A., and Riedl, J. "Item-based

Collaborative Filtering Recommender Algorithms. Accepted for publication at the WWW10 Conference. May, 2001.http://www-users.cs.umn.edu/~sarwar/sdm.pdf

Page 58: Filtros Colaborativos y Sistemas de Recomendación

Bibliografía• [SEGARAN] Toby Segaran, Programming Collective Intelligence. O’Reilly• [SHELLTOYS] http://www.shelltoys.com/personal_assistant/index.html

• [SITEEXPERTS] http://www.siteexperts.com/assist/about.asp• [TERVEEN] Loren Terveen, Will Hill, Brian Amento, David McDonald,

Josh Creter. PHOAKS: a system for sharing recommendations. Communications of the ACM, 40(3):59-62, March 1997.

• [VIPDESK] http://www.vipdesk.com/info/about.asp• [WIKIPEDIA] http://es.wikipedia.org/wiki/Sistema_recomendador • [YAHOO] http://www.yahoo.com• [YU]Kai Yu, Zhong Wen Xiaowei Xu Martin Ester. Feature weighting and

instance slection for collaborative filtering. http://ifsc.ualr.edu/xwxu/publications/wim01.pdf