tutorial sistemas recomendación: iv jornadas timm

197
IV Jornadas TIMM Sistemas de Recomendación. Tendencias y Oportunidades para el Tratamiento de Información José Carlos Cortizo Pérez (CTO) 1

Upload: jose-carlos-cortizo-perez

Post on 13-Jun-2015

2.279 views

Category:

Education


1 download

DESCRIPTION

Tutorial sobre sistemas de recomendación: Tendencias y Oportunidades relacionadas con el Tratamiento de Información. Impartido en las IV Jornadas TIMM.

TRANSCRIPT

Page 1: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Sistemas de Recomendación. Tendencias y Oportunidades para el Tratamiento de Información

José Carlos Cortizo Pérez (CTO)

1

Page 2: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

José Carlos Cortizo Pérez

Director Técnico de BrainSINS (http://www.brainsins.es)

Profesor asociado en la Universidad Europea de Madrid (http://www.uem.es)

Desarrollador principal de Wipley (http://www.wipley.es)

2

http://www.josek.net

http://twitter.com/josek_net

http://www.linkedin.com/in/jccortizo

Page 3: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Qué hacemos en BrainSINS?

Sistema de recomendación de productos para E-Commerce

Permite aumentar las ventas entre un 10% y un 30%

Fácil de integrar con cualquier tienda online

Potente y flexible

Trabajando en recomendación de contenidos (específica), recomendaciones vía e-mail, etc.

3

Page 4: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Integración con CMS

4

Page 5: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Integración JS

Permitimos integración mediante JS

Script de tracking parecido al de Google Analytics

Widgets para mostrar recomendaciones

5

Page 6: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Integración API REST

API REST disponible

Muy similar a las de Twitter/Flickr

Permite un mayor nivel de integración, aunque requiere más tiempo

6

Page 7: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Potente

Más de 100 recomendadores

Distintas acciones

Visitas, compras, valoraciones, comentarios, etc.

Distinto nivel de personalización

Similitudes, filtrado colaborativo, correlaciones, etc.

Orientadas a distintas páginas dentro de la tienda online

Home, carrito, checkout, página de producto, etc.

7

Page 8: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

8

Sistemas deRecomendación

Técnicas básicas

Tendencias

Oportunidades

Page 9: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

9

Sistemas deRecomendación

Técnicas básicas

Tendencias

Oportunidades

Page 10: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Qué es un Recomendador?

Selecciona el producto que maximiza el valor, tanto para el comprador como para el vendedor en un momento determinado

10

Page 11: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

11

Del comercio al eCommerce

VS

Page 12: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

12

VS

Sistema de Recomendación

Page 13: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Qué es un Recomendador?

13

Page 14: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Qué es un Recomendador?

Base de Conocimiento

Procesamiento de Conocimiento

Control del Negocio y Analítica

Interfaz de Usuario

14

Page 15: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Necesito un Recomendador?

Clientes Pocos Medio Muchos

Productos

Muchos

Medio

Pocos

15

Page 16: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Casos de Éxito

16

Page 17: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Ventajas para el eCommerce

Aumento de ventas

Aumento de la fidelización

Diferenciación con lacompetencia

17

Page 18: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Base de Conocimiento

Procesamiento de Conocimiento

Control del Negocio y Analítica

Interfaz de Usuario

18

Page 19: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Base de Conocimiento

Se obtiene monitorizando las acciones de los usuarios

Feedbacks explícitos vs. feedbacks implicitos

Votaciones, likes, comentarios (cuidado)

Otro tipo de acciones (navegación del usuario, compras)

19

Page 20: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Base de Conocimiento

Procesamiento de Conocimiento

Control del Negocio y Analítica

Interfaz de Usuario

20

Page 21: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Tipos de Recomendador

Tecnología muy desarrollada

Sistemas específicos (basados en items o en usuarios)

Filtrado colaborativo

Recomendaciones basadas en contenido

Recomendaciones sociales

Sistemas híbridos

21

Page 22: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Base de Conocimiento

Procesamiento de Conocimiento

Control del Negocio y Analítica

Interfaz de Usuario

22

Page 23: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

La importancia del Interfaz

VS

23

Page 24: Tutorial Sistemas Recomendación: IV Jornadas TIMM

La importancia del Interfaz

VS

Page 25: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Base de Conocimiento

Procesamiento de Conocimiento

Control del Negocio y Analítica

Interfaz de Usuario

25

Page 26: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Métricas evaluación (KPI)

26

Page 27: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Métricas evaluación (KPI)

27

Page 28: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

28

Multidisciplinario (gestionar conocimiento, creación de perfiles, interfaces de usuario, aspectos sociológicos y psicológicos, etc)

Relativamente joven

Con muchas influencias (IR, ML, DM, etc.)

Muy aplicado

Todavía resulta fácil innovar

Page 29: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

29

Page 30: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

Workshops

APRESW: Adaptation, Personalization and REcommendation in the Social-semantic Web (ESWC 2010)

SRS: Social Recommender Systems (CSCW 2011)

CARS: Context-Aware Recommender Systems (RecSys 2010)

WPRRS: Web Personalization, Reputation and Recommender Systems (WI-IAT 2011)

RSMEETDB: Recommender Systems meet Databases (DEXA 2011)

SMUC: Search and Mining User-generated Contents (CIKM 2010, ¿2011?)

TEL: Recommender Systems for Technology Enhaced Learning (RecSys 2010)

SWM: Social Web Mining (IJCAI 2011)

30

Page 31: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

31

XavierAmatriain(@xamat)

IvánCantador Pablo

Castells

OscarCelma

(@ocelma)

FrancescoRicci

PeterBrusilovsky

IdoGuy

GediminasAdomavicius

Page 32: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

32

Page 33: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

33

Page 34: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

Special Issues (recientes)

IJEC special issue on Mining Social Media (primavera 2011)

ACM TIST special issue on Search and Mining User-generated Contents (finales 2011)

ACM TIST special issue on Social Recommender Systems (2011)

Algorithms special issue on Recommender Systems in E-Learning Settings (deadline Septiembre 2011)

ACM TWEB special issue on Recommender Systems (Febrero 2011)

ACM TIST special issue on Context-Aware Movie Recommendation (verano 2011)

34

Page 35: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

35

Page 36: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

Datasets

Netflix (http://narod.ru/disk/7133213001/netflix.7z.html)

MovieLens (http://www.grouplens.org/)

Jester (http://www.ieor.berkeley.edu/~goldberg/jester-data/)

Book-crossing (http://www.informatik.uni-freiburg.de/~cziegler/BX/)

KDD Cup (Yahoo!, http://kddcup.yahoo.com/)

36

Page 37: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

Se puede usar información de multitud de sitios sociales

Facebook (Like)

Twitter (favoritos, RTs)

Delicious (recomendación de etiquetas)

Quora (recomendar preguntas de interés)

37

Page 38: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

El campo de investigación

38

+

+

Page 39: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

39

Sistemas deRecomendación

Técnicas básicas

Tendencias

Oportunidades

Page 40: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

40

Técnicas Básicas

Enfoque simplista

Técnicas básicas sin profundizar demasiado

Casi todo el Estado del Arte proviene de otros campos (IR, DM, ML)

Así podemos centrarnos en tendencias y oportunidades

Page 41: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

41

Tipos de recomendadores

“Manuales” / “Cuenta de la vieja” (muy habituales en el “mundo real”)

Recomendaciones basadas en contenido

Filtrado colaborativo

Sistemas híbridos

Page 42: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

42

Tipos de recomendadores

“Manuales” / “Cuenta de la vieja” (muy habituales en el “mundo real”)

Recomendaciones basadas en contenido

Filtrado colaborativo

Sistemas híbridos

Page 43: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Basadas en Contenido

Generan un perfil del usuario en función de los documentos o descripciones de items que el usuario ha visualizado/votado/comprado anteriormente

Perfil = representación estructurada de los intereses de los usuarios

43

Page 44: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Arquitectura General

44

[1] Pasquale Lops et. al., “Content-based Recommender Systems: State pf the Art and Trends”, Recommender Systems Handbook, 2010

Page 45: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Arquitectura General

45

[1] Pasquale Lops et. al., “Content-based Recommender Systems: State pf the Art and Trends”, Recommender Systems Handbook, 2010

Page 46: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Content Analyzer

Procesa los items/documentos y los transforma en una representación manejable

Suele utilizar técnicas de Ir (palabras clave, n-gramas, conceptos)

Importante decidir la representación de los items

46

Page 47: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Representación de los Items

Datos estructurados (tablas de información)

Texto libre (descripciones de productos, páginas web, posts, etc.

47

[2] Michael J. Pazzani et. al., “Content-based Recommender Systems”, The Adaptive Web, 2007

Page 48: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Texto no estructurado

Convertir a representación más estructurada

tf*idf

Representaciones típicas de IR

Se pierde el contexto de las palabras

Usar conjuntos de palabras como atributos

Utilizar representaciones más complejas (p.e. bag of concepts [3])

48

[3] José María Gómez et. al., “Concept Indexing for Automated Text Categorization”, NLDB 2004

Page 49: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Arquitectura General

49

[1] Pasquale Lops et. al., “Content-based Recommender Systems: State pf the Art and Trends”, Recommender Systems Handbook, 2010

Page 50: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Profile Learner

Recibe como entrada

Los items (con la representación de items elegida por nosotros)

El feedback del usuario

Utiliza algún tipo de aprendizaje supervisado para generar un modelo predictivo -> Perfil de Usuario

Los perfiles de usuario se almacenan en un repositorio para nutrir al filtrado

50

Page 51: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Perfiles de usuario

Los perfiles de usuario acaban siendo vectores de términos/conceptos

Podemos aplicar similitud entre vectores para comparar perfiles/documentos

Y diversas técnicas de aprendizaje supervisado

51

Page 52: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Recomendación - Clasificación

52

ó

Page 53: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Recomendación - Clasificación

Un modelo por cada usuario

Queda reducido a un problema de decisión binaria

Podemos utilizar modelos que nos den una cierta certidumbre, o incluso niveles de interés

53

Page 54: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

1. Modelo Espacio Vectorial

Un perfil es un vector de términos

Un item es otro vector de términos

¡Calculamos la similitud entre ambos para ver si recomendamos un item a un usuario!

Si lanzamos una consulta de un perfil sobre nuestra base de items, obtendremos los items más relevantes para ese perfil

Enfoque muy simple, pero efectivo en determinadas situaciones

54

Page 55: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

2. Näive Bayes

Näive Bayes funciona particularmente bien en dominios textuales [4]

Spam [5], categorización de texto [3]

Es bastante rápido

Permite actualización online (modificándolo)

Fácilmente adaptable a dominios con “costes”

55

[4] José Carlos Cortizo et. al., “Wrapping the Naive Bayes Classifier to Relax the Effect of Dependences”, IDEAL 2007[5] Enrique Puertas et. al., “Spam Filtering”, Advances in Computers 74, 2008

Page 56: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

2. Näive Bayes

56

Probabilidad a priori de la clase

Probabilidad de la clase vj dado el valor ai

* Asumiendo independencia de los atributos

Page 57: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

2. Näive Bayes

Syskill & Webert -> M. J. Pazzani et. al., “Syskill and Webert: Indentifying Interesting Web Sites”, AAAI 1996

NewsDude -> D. Billsus et. al., “A Hybrid User Model for News Story Classification”, UM 1999

Daily Learner -> D. Billsus et. al., “User Modelling for Adaptive News Access”, User Modelling and User-Adapted Interaction 20 (2-3)

57

Page 58: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

3. Nearest Neighbors

58

Page 59: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

3. Nearest Neighbors

Necesitamos una función de cálculo de distancias

Distancia Euclídea para modelos estructurados

Coseno para modelos de texto libre

59

Page 60: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

3. Nearest Neighbors

60

Page 61: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

4. Realimentación / Rocchio

Utilizado en IR

En principio para “refinar” las consultas en función del feedback del usuario sobre los resultados devueltos

En Sistemas de Recomendación nos permite integrar el feedback de un usuario sobre una recomendación

61

Page 62: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

4. Realimentación / Rocchio

62

Page 63: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

4. Realimentación / Rocchio

63

Parámetros que controlan la influencia de la query original y de las modificaciones

Query en iteración anterior

Modificaciones “positivas”

Modificaciones “negativas”

Page 64: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

4. Realimentación / Rocchio

J. Rocchio, “Relevance Feedback in Information Retrieval”, The SMART System: Experiments in Automatic Document Processing, Prentice Hall, 1971

M. Balabanovic et. al., “FAB: Content-based, Collaborative Recommendation”, Communications of the ACM 40 (3), 1997

M. J. Pazzani et. al., “Learning and Revising User Profiles: The Identification of Interesting Web Sites”, Machine Learning 27 (3), 1997

64

Page 65: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

5. Árboles y Reglas

65

Page 66: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

5. Árboles y Reglas

66

if OUTLOOK == sunny && HUMIDITY <= 70%then play

if OUTLOOK == overcastthen play

if OUTLOOK == rain && WINDY == truethen don’t play

. . .

Page 67: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

5. Árboles y Reglas

Permiten ofrecer “explicaciones” sobre las recomendaciones (en función de los valores de los atributos tomados para crear las ramas/reglas)

67

Page 68: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

5. Árboles y Reglas

An-Te Nguyen et. al., “Improving new user recommendation with rule-based induction on cold user data”, RecSys 2007

Nadav Golbandi et. al., “Adaptive bootstrapping of recommender systems using decision trees”, WSDM 2011

Shanp-Lun Lee, “Commodity recommendations of retail business based on decision tree induction”, Expert Systems with Applications, 37 (5), 2010

Y. H. Cho et. al., “A personalised Recommender System based on Web Usage Mining and Decision Tree Induction”, Expert Systems with Applications, 23, 2002

68

Page 69: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Arquitectura General

69

[1] Pasquale Lops et. al., “Content-based Recommender Systems: State pf the Art and Trends”, Recommender Systems Handbook, 2010

Page 70: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado

Utiliza el perfil del usuario para sugerirle items de su interés

Decisiones binarias (recomendado / no recomendado) o bien un valor indicando la “similaridad” con el perfil

Se pueden utilizar valores devueltos por el clasificador (p.e. con Näive Bayes)

Utilizando métricas de similitud, como el coseno o distancia Euclidea

O bien desarrollando funciones de ranking ad-hoc

70

Page 71: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado

71

Items

Generadorperfil

BD perfiles

Filtrado

Modeloclasificador

Page 72: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Ventajas de los CB-RS

Independencia entre los usuarios

CF utiliza información de otros usuarios, CB genera un modelo con solo la información de cada usuario

Transparencia

Podemos dar “explicaciones” de las recomendaciones a partir del modelo del clasificador / atributos utilizados para ofrecer la recomendación

Cold-start para nuevos items

Podemos recomendar nuevos productos a los usuarios

72

Page 73: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Inconvenientes de los CB-RS

Análisis del contenido (limitado)

Sobre-especialización

Cold-start con nuevos usuarios

73

Page 74: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Inconvenientes de los CB-RS

Análisis del contenido (limitado)

Sobre-especialización

Cold-start con nuevos usuarios

74

Page 75: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Análisis limitado del contenido

Si los contenidos analizados no tienen suficiente información como para discriminar los items que le gustan al usuario, de los que no les gustan, no podemos ofrecer recomendaciones

75

Page 76: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Análisis limitado del contenido

Gran dependencia de los atributos elegidos para modelar el dominio

Se necesita conocimiento del dominio

A veces incluso ontologías específicas del dominio

Elementos que afectan a la valoración de los items que son muy subjetivos o complicados de analizar

Chistes, poemas, sentimientos

76

Page 77: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Análisis limitado del contenido

Las palabras clave no son adecuadas para representar contenido

77

Perfil de Usuario

artificial 0.1intelligence 0.05apple 0.12AI 0.09

Concepto multi-palabra

PolisemiaSinonimia

Page 78: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Inconvenientes de los CB-RS

Análisis del contenido (limitado)

Sobre-especialización

Cold-start con nuevos usuarios

78

Page 79: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Sobre-especialización

Al usuario se le van a recomendar items similares a los que ya le han gustado

No permite (fácilmente) descubrir items realmente inesperados

Recomendaciones muy obvias

SERENDIPITY (serendipia)

79

Page 80: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Serendipia

Serendipia: Encontrar cosas que te interesan buscando algo no relacionado

En el “mundo real” = Ir “obligado” al teatro y coincidir con un inversor que quiere invertir en tu proyecto

La serendipia es muy deseable en las recomendaciones

80

Page 81: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Serendipia

En algunos casos nos interesa no “salirnos del tiesto”

81

Page 82: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Serendipia

Pero en otros es totalmente necesario

82

Page 83: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Serendipia

Mejor...

83

Page 84: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Serendipia

84

vs

Page 85: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Serendipia

Novedad: Ofrecer recomendaciones que sean de interés para el usuario, pero que podría haber encontrado por si mismo

Serendipia: Ofrecer recomendaciones de items que le interesen al usuario que no podría haber encontrado de otra forma

Estamos aportando valor al usuario

Descubrimiento de items: maximizando posibilidades de ventas (las recomendaciones obvias prácticamente “caen” por si mismas)

85

Page 86: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Inconvenientes de los CB-RS

Análisis del contenido (limitado)

Sobre-especialización

Cold-start con nuevos usuarios

86

Page 87: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Cold-start con nuevos usuarios

Apenas tenemos info (por no decir ninguna).

Hay que exprimir cualquier cosa al máximo

En Web

Tráfico directo (no tenemos info, pero si vienen directamente no suelen ser usuarios nuevos)

Motores de búsqueda

Enlaces

Campañas de publicidad

87

http://www.brainsins.es/cold-start-o-que-recomendar-cuando-no-conocemos-a-nuestro-cliente/3032

Page 88: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Referencias CB-RS

F. Sebastiani, “Machine Learning Methods in Automated Text Categorization”, ACM Computing Surveys 34 (1), 2002

M. J. Pazzani et. al., “Content-Based Recommendation Systems”, The Adaptive Web, LNCS vol. 4321, 2007

P. Lops, et. al., “Content-Based Recommender Systems: State of the Art and Trends”, The Recommender Systems Handbook, Springer, 2010

88

Page 89: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

89

Tipos de recomendadores

“Manuales” / “Cuenta de la vieja” (muy habituales en el “mundo real”)

Recomendaciones basadas en contenido

Filtrado colaborativo

Sistemas híbridos

Page 90: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

Generan recomendaciones de items comparando patrones de “comportamiento” de usuarios

Ese comportamiento pueden ser “ratings”, compras, comentarios, etc.

No necesitan información adicional de usuarios o items (solo comportamiento de los usuarios)

90

Page 91: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

91

Page 92: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

92

Page 93: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

93

Page 94: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

94

Page 95: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

95

Enlaces: recomendaciones

Page 96: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

Simplificación...

Los gustos están correlacionados

Si a Juan y a Pepe les gusta “El Señor de los Anillos”

Y a Juan también le gusta “Canción de Hielo y Fuego”

Es más probable que a Pepe también le guste “Canción de Hielo y Fuego”

96

Page 97: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Filtrado Colaborativo

97

Page 98: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Representación de los Datos

98

i1 i2 i3 i4 i5 i6

u1

u2

u3

u4

u5

Page 99: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Representación de los Datos

Matriz con las acciones/comportamiento de los usuarios por cada item

Matrices muy dispersas

99

Page 100: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Taxonomía de CF

Memory-based

Model-based

100

Page 101: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Taxonomía de CF

Memory-based

Model-based

101

Page 102: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Memory-based

1.- Calcular la similitud entre usuarios

2.- Coger los k usuarios más similares

3.- Agregar la información de los vecinos para obtener los N items más frecuentes

La similitud nos sirve tanto para usuarios como para items

102

Page 103: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Similitud

Similaridad basada en correlación

Correlación de Person (también se puede usar la de Spearman, Kendall, etc.)

Coseno

Se “ajusta”, substrayendo la media de las votaciones de cada usuario

103

Page 104: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Generar Recomendaciones

Suma ponderada de los ratings del resto de usuarios

Simple media ponderada

Top-N, basadas en usuarios

Buscamos los usuarios más similares, se agregan todos los items, y se recomiendan los N productos más frecuentes que el usuario no ha comprado

Top-N, basadas en items

A partir de los items que ya tiene el usuario, se cogen los k items más similares a cada uno, se agregan y posteriormente se calcula la similitud de cada item con el conjunto de items que ya tenía el usuario

104

Page 105: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Ventajas

Fácil implementación

Actualizable de forma incremental

No hace falta analizar el contenido de los items a recomendar

Escala bien si tenemos items co-rateados

105

Page 106: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Inconvenientes

Dependientes del feedback de los usuarios

“Spam”

Rendimiento decrece con la dispersión de los datos

Cold-start

Escalabilidad limitada para grandes datasets

106

Page 107: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Taxonomía de CF

Memory-based

Model-based

107

Page 108: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Model-based

Utilizamos técnicas de ML para reconocer patrones más complejos

Similar a lo que veíamos en los CB-RS (aunque cambia la representación de los datos)

Redes bayesianas

CF basado en clustering

MDP

Latent Semantic

CF usando PCA, SVD (técnicas de reducción de dimensionalidad)

108

Page 109: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Ventajas

Se enfrentan mejor a la dispersión y escalabilidad

Mejoran las predicciones

Pueden ofrecer algún tipo de explicación

109

Page 110: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Inconvenientes

La construcción del modelo es una tarea muy pesada

Hay que equilibrar la precisión con la escalabilidad

Pérdida de información útil al utilizar técnicas de reducción de dimensionalidad

110

Page 111: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Referencias FC-RS

X. Su et. al., “A Survey of Collaborative Filtering Techniques”, Advances in Artificial Intelligence, 2009

Y. Koren et. al., “Advances in Collaborative Filtering”, The Recommender Systems Handbook, 2010

A. Das et. al., “Google News Personalization: Scalable Online Collaborative Filtering”, WWW 2007

G. Linden et. al., “Amazon.com Recommendations: Item-to-Item Collaborative Filtering”, IEEE Internet Computing 7, 2003

111

Page 112: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

112

Tipos de recomendadores

“Manuales” / “Cuenta de la vieja” (muy habituales en el “mundo real”)

Recomendaciones basadas en contenido

Filtrado colaborativo

Sistemas híbridos

Page 113: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Sistemas Híbridos

113

Page 114: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Sistemas Híbridos

114

Page 115: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Sistemas Híbridos

115

Influencia de “Ensemble Learning”

Page 116: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Sistemas Híbridos

KDD Cup 2009

116

Page 117: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Sistemas Híbridos

Combinan 2 o más recomendadores para mejorar el rendimiento global del recomendador

Muy relacionado con el problema del cold-start

P.e. CB-RS para cuando hay pocos datos, y luego CF-RS

117

Page 118: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Estrategias

Media (ponderada)

Switching: Se elige un recomendador en función de criterios

Combinación: Combinar recomendaciones de varios recomendadores

Combinación de atributos (fusión de información)

Cascada

Meta-nivel: Se genera un modelo que se usa de entrada para el siguiente

118

Page 119: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Referencias HY-RS

R. Burke, “Hybrid Web Recommender Systems”, The Adaptive Web, Springer, 2007

R. Burke, “Hybrid Recommender Systems: Survey and Experiments”, User Modelling and User-Adapted Interaction 12 (4), 2002

A. Gunawardana, “A Unified Approach to Building Hybrid Recommender Systems”, RecSys 2009

G. Adomavicius, “Toward the Next Generation of Recommender Systems: A Survey of the state-of-the-art and Possible Extensions”, IEEE Transactions on Knowledge and Data Engineering, 17 (6), 2005

119

Page 120: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

120

Sistemas deRecomendación

Técnicas básicas

Tendencias

Oportunidades

Page 121: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

121

Tendencias

Los Sistemas de Recomendación han ganado auge en los últimos años

Muchas tendencias nuevas

Focalizaremos en algunas de las más importantes

Al estar en la intersección de muchos campos (IR, DM, ML, KM), coge influencias en cuanto a nuevas tendencias

Page 122: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasSocial/Trust

Recomendaciones de grupos

Contexto

Explicaciones

Otro tipo de elementos (música, videos, videojuegos, aplicaciones...)

Basadas en grafos

Etiquetas

Visualización

Multicriterio

Re-ratear valores / acciones

122

Page 123: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasSocial/Trust

Recomendaciones de grupos

Contexto

Explicaciones

Otro tipo de elementos (música, videos, videojuegos, aplicaciones...)

Basadas en grafos

Etiquetas

Visualización

Multicriterio

Re-ratear valores / acciones

123

Page 124: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Social

El impacto de la Web 2.0 (Web Social) ha sido enorme

Generación de grandes volúmenes de contenidos

Cambio de actitud de los usuarios hacia la privacidad y el compartir

Se comparten datos como

Ubicación (FourSquare), edad, intereses (Facebook, Twitter), contactos (LinkedIn), amistades (Facebook, Tuenti), enlaces de interés (delicious), preguntas (Quora)

124

[6] J.C. Cortizo, “Social Media DataSet”, charla impartida en la UPV, Abril 2010, http://www.slideshare.net/jccortizo/social-media-dataset

Page 125: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Social

Esto ha despertado gran interés en la comunidad RecSys

Aplicaciones de RecSys en sistemas sociales

Desarrollo de folksonomías para recomendar amigos/etiquetas/enlaces...

Uso de confianza y reputación en las recomendaciones

Web semántica; utilización de microformatos y ontologías

Evaluaciones empíricas sobre sistemas reales

125

[7] W. Geyer et. al., “2nd Workshop on Recommender Systems and the Social Web”, ACM RecSys 2010

Page 126: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Trust

Una de la tendencias más importantes relacionadas con lo Social, han sido los Trust Recommender Systems

Trust: determinar cuánto confía alguien en otra persona que no está conectada directamente

Este problema lo resolvemos de forma intuitiva en la “vida real”

Y hacemos más o menos caso a las recomendaciones de un tercero en función de esta “confianza inferida”

126

[8] J. Golbeck, “Computing and Applying Trust in Web-Based Social Networks”, PhD Thesis, 2005

Page 127: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Trust

127

Page 128: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Recomendaciones usando Trust

Pueden asemejarse al concepto de “nuestra propia red de votaciones”

128

[9] R. Anderson et. al., “Trust-based Recommendation Systems: An Axiomatic Approach”, WWW 2008

Page 129: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Ventajas/Inconvenientes

Ventajas

Permiten realizar recomendaciones de usuarios con más sentido

Pueden aportar “explicaciones” a determinados tipos de recomendaciones

Aprovechan mejor la información de algunos sitios sociales

Inconvenientes

Complejidad

¿De dónde sacamos los valores de confianza iniciales?

129

Page 130: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasSocial/Trust

Recomendaciones de grupos

Contexto

Explicaciones

Otro tipo de elementos (música, videos, videojuegos, aplicaciones...)

Basadas en grafos

Etiquetas

Visualización

Multicriterio

Re-ratear valores / acciones

130

Page 131: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Recomendaciones de Grupos

Recomendar grupos a una persona no es particularmente complejo (tomamos grupos como items)

Recomendar items a grupos de personas es otra historia

131

Page 132: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Por qué a grupos?

Vivimos en la era de la ubicuidad

Y solemos estar más tiempo acompañados del que nos creemos

Las recomendaciones empiezan a “salir” de lo virtual

132

Page 133: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Por qué a grupos?

Empleados de una compañía

Parejas

Grupos de amigos

Grupos de Turistas

Recomendar música a un grupo de deportistas (gimnasio)

Familia (recomendaciones de TV)

133

Page 134: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

¿Por qué a grupos?

134

[10] A. Jameson et. al., “Recommendation to Groups”, The Adaptive Web, Springer, 2007

Page 135: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Esquema de funcionamiento

1.- El sistema adquiere información sobre las preferencias de la gente

Se suele generar un perfil “grupal”, no es tarea trivial

2.- El sistema genera las recomendaciones

3.- El sistema presenta las recomendaciones a los miembros del grupo

4.- El sistema ayuda a los miembros a llegar un consenso acerca de qué recomendación aceptar

135

Page 136: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Diferencias

La interpretación de las preferencias del grupo no es trivial

El realizar recomendaciones al grupo es más complejo que para individuos. Cada miembro del grupo puede imponer restricciones.

Las explicaciones de las recomendaciones toman en cuenta muchos factores, que pueden ser utilizados por el grupo para tomar consideraciones que no ha tenido en cuenta el sistema

El proceso de aceptar una recomendación requiere comunicación y negociación

136

Page 137: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasSocial/Trust

Recomendaciones de grupos

Contexto

Explicaciones

Otro tipo de elementos (música, videos, videojuegos, aplicaciones...)

Basadas en grafos

Etiquetas

Visualización

Multicriterio

Re-ratear valores / acciones

137

Page 138: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

Hay dominios donde considerar únicamente items y usuarios no es suficiente

Servicios dependientes de la localización: recomendaciones de lugares a visitar (FourSquare), o de donde comprar comida a domicilio (SinDelantal)

Servicios dependientes del tiempo: recomendaciones de viajes, películas para ver en el cine

138

[11] G. Adomavicius et. al., “Context-Aware Recommender Systems”, Tutorial at RecSys 2008

Page 139: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

El contexto engloba muchas dimensiones posibles (más allá de las dos dimensiones usuario/items)

Ubicación, tiempo, ‘momento’ (trabajo, casa), a qué estoy jugando actualmente, etc.

Nos interesan recomendaciones distintas en función de estos criterios

Si estoy en Jaén, no me recomiendes comer en un restaurante de Madrid

Si últimamente solo juego a la PS3, no me recomiendes juegos de PC

Si estoy en el trabajo, recomiéndame libros técnicos, si estoy en casa, literatura de ficción

139

[12] L. Baltrunas, “Exploiting Contextual Information in Recommender Systems”, RecSys 2008

Page 140: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

¿Cómo extraemos el contexto? -> Implícito vs explícito

¿Cómo detectamos la relevancia del contexto en cada caso?

¿Almacenamos los contextos pasados?

¿Cuánto aumenta la complejidad al manejar muchos contextos?

140

Page 141: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

141

Page 142: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

142

Page 143: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

143

Page 144: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

144

Page 145: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

Importante detectar el contexto y asociarlo a las acciones

145

Page 146: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Contexto

146

Page 147: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasSocial/Trust

Recomendaciones de grupos

Contexto

Explicaciones

Otro tipo de elementos (música, videos, videojuegos, aplicaciones...)

Basadas en grafos

Etiquetas

Visualización

Multicriterio

Re-ratear valores / acciones

147

Page 148: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

Relacionado con la IMPORTANCIA del interfaz

Los usuarios desconfían

¿Me están recomendando esto porque les interesa vendérmelo?

Los “títulos” de las recomendaciones son importantes

148

[13] D. McSherry, “Explanation in Recommender Systems”, Journal of Artificial Intelligence Review, 24 (2), 2005[14] N. Tintarev, “A Survey of Explanations in Recommender Systems”, ICDEW 2007

Page 149: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

149

Your!!!

for You!!!

for You!!!

Page 150: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

Pero también hay que explicar “más allá” de una descripción general

Podemos utilizar su comportamiento/compras previas para dar explicaciones

150

Page 151: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

151

Page 152: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

En algunos casos (p.e. CB-RS), podemos utilizar el modelo interno para explicar las recomendaciones

De forma más cercana al lenguaje

P.e. Te recomiendo “Reservoir Dogs” porque te gustó “Pulp Fiction” y ambas están dirigidas por Quentin Tarantino

P.e. Te recomiendo FIFA 2011, porque te gustan los juegos de deportes, te gustó NHL 11, y ambos están desarrollados por EA

152

Page 153: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

También podemos dar información social para explicarlas

153

Page 154: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

154

Page 155: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Explicaciones

Se pueden generar explicaciones para CF (p.e. Amazon), pero son bastante pobres

Resulta complejo determinar qué atributos son los que más peso aportan a una recomendación (no podemos mostrarle todos los que intervienen)

155

Page 156: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasSocial/Trust

Recomendaciones de grupos

Contexto

Explicaciones

Otro tipo de elementos (música, videos, videojuegos, aplicaciones...)

Basadas en grafos

Etiquetas

Visualización

Multicriterio

Re-ratear valores / acciones

156

Page 157: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Otro tipo de elementos

Podemos tratar cualquier elemento como un item

Pero no aprovechamos las peculiaridades del dominio

Y hay dominios muy peculiares

157

Page 158: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Otro tipo de elementos

158

Page 159: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Otro tipo de elementos

159

Page 160: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Otro tipo de elementos

160

Page 161: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Otro tipo de elementos

161

Page 162: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Otro tipo de elementos

162

Page 163: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Otro tipo de elementos

Tenemos que adaptarnos al dominio

Necesidad de hibridizar nuestros recomendadores

A veces los dominios requieren esfuerzo adicional

Extracción manual de características

Generación/limpieza de ontologías/folksonomías

163

Page 164: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasSocial/Trust

Recomendaciones de grupos

Contexto

Explicaciones

Otro tipo de elementos (música, videos, videojuegos, aplicaciones...)

Basadas en grafos

Etiquetas

Visualización

Multicriterio

Re-ratear valores / acciones

164

Page 165: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

TendenciasBasadas en grafos

http://markorodriguez.com/services/development/recommendation-system/

Etiquetas

R. Jäschke et. al., “Tag Recommendations in Folksonomies”, PKDD 2007

Visualización

S. E. Middleton et. al., “Capturing interest through inference and visualization: ontological user profiling in recommender systems”, K-CAP 2003

Multicriterio

G. Adomavicius et.al., “MultiCriteria Recommender Systems”, The Handbook of Recommender Systems, 2010

Re-ratear valores / acciones

X. Amatriain et. al., “Rate it again: Increasing Recommendation Accuracy by User Re-Rating”, RecSys 2009

165

Page 166: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

166

Sistemas deRecomendación

Técnicas básicas

Tendencias

Oportunidades

Page 167: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

167

Oportunidades

Apenas hay PLN en RecSys en la actualidad

Los RecSys son prácticamente un campo virgen para el PLN

Mil oportunidades de investigación....

...y de negocio

Repasaremos algunas oportunidades, tanto relacionadas con el PLN como con otro tipo de Tratamientos de la Información

Page 168: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Minería de Opiniones

Spam / Outliers en recomendaciones

Análisis del Sentimiento

Extracción Automática del Catálogo

CB-RS multilingües / semánticos

Fusión de información

Reputación online y relevancia de contenidos

Explicaciones de todo tipo de recomendaciones

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

168

Page 169: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Minería de Opiniones

Spam / Outliers en recomendaciones

Análisis del Sentimiento

Extracción Automática del Catálogo

CB-RS multilingües / semánticos

Fusión de información

Reputación online y relevancia de contenidos

Explicaciones de todo tipo de recomendaciones

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

169

Page 170: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Minería de Opiniones

Las reviews de artículos son un tipo de opiniones que se utiliza como información de entrada en muchos sistemas de recomendación

Actualmente, no se procesan las reviews en la mayoría de sistemas

Se “asume”, en muchos casos, que si escribes un comentario/review es que te interesa el artículo

Esto puede llevar a favorecer recomendaciones de juegos similares a otros en los que tu has comentado negativamente

170

Page 171: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Minería de Opiniones

171

Page 172: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Product Reviews

Ya hay literatura sobre análisis de reviews de productos

Fermín I. Cruz et. al., “A Knowledge-Rich Approach to Feature-Based Opinion Extraction from Product Reviews”, SMUC 2010 (CIKM)

J. Jin, “How to interpret the helpfulness of online product reviews: bridging the needs between customers and designers”, SMUC 2010 (CIKM)

Z. Zhang, “Utility Scoring of Product Reviews”, CIKM 2006

S. Zhang, “Opinion Analysis of Product Reviews”, FSKD 2009

172

Page 173: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

...¿RecSys?

Pero apenas nada aplicado a los Sistemas de Recomendación

J. Roberto et. al., “Sistemas de Recomendación basados en Lenguaje Natural: opiniones vs. valoraciones”, IV Jornadas TIMM

Otro enfoque: generación de perfiles según las reviews de productos

B. Liu, “Exploring User Opinions in Recommender Systems”, Tutorial at 2nd KDD Workshop on Large-Scale Recommender Systems and the Netflix Prize Competition

S. Aciar et. al., “Informed Recommender: Basing Recommendations on Consumer Product Reviews”, IEEE Intelligent Systems 22 (3), 2007

No hacen minería de opiniones; matching de partes de reviews con ontología

173

Page 174: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Minería de Opiniones

Spam / Outliers en recomendaciones

Análisis del Sentimiento

Extracción Automática del Catálogo

CB-RS multilingües / semánticos

Fusión de información

Reputación online y relevancia de contenidos

Explicaciones de todo tipo de recomendaciones

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

174

Page 175: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Problemas CGU

El contenido generado por los usuarios presenta una cierta problematica con respecto a los RecSys

¿Será spam? (muchas marcas dedicando esfuerzo a hacer reviews positivas de sus productos, o negativas de los de la competencia)

¿Será un comentario “fuera de sitio”?

Tenemos que ser capaces de “limpiar” determinados comentarios/reviews de cara al Sistema de Recomendación

175

Page 176: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Problemas CGU

176

Page 177: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Spam/Outliers

Los usuarios escriben cómo, cuándo y donde quieren

Muchas veces por amor/odio con la marca

Y hay marcas que generan polos muy opuestos: Apple, Microsoft, Starbucks, etc.

Detectar este tipo de reviews mediante análisis del lenguaje es muy importante

Si no pueden condicionar las recomendaciones de los demás

177

Page 178: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Por donde empezar

N. Jindal et. al., “Review Spam Detection”, WWW 2007

N. Jindal et. al., “Opinion spam and Analysis”, WSDM 2008

Ee-Peng Lim et. al., “Detecting product review spammers using rating behaviors”, CIKM 2010

178

Page 179: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Minería de Opiniones

Spam / Outliers en recomendaciones

Análisis del Sentimiento

Extracción Automática del Catálogo

CB-RS multilingües / semánticos

Fusión de información

Reputación online y relevancia de contenidos

Explicaciones de todo tipo de recomendaciones

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

179

Page 180: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Análisis del Sentimiento

(P.D: Diferencio Opinion Mining de Sentiment Analysis, aplicando una valoración particular)

El análisis de contenidos realizado para la generación de perfiles en CB-RS es demasiado básico

¿Podríamos utilizar técnicas de análisis del sentimiento para extraer características que puedan aportar mayor valor a la recomendación?

P.e. que un texto es melancólico

180

Page 181: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Análisis del Sentimiento

Lo mismo se podría aplicar también a las reviews de productos

Capturar las “emociones” de los usuarios es muy importante

Nos puede ayudar a detectar gente realmente apasionada (o decepcionada) con nuestros productos

Muy útil para dar un paso más allá de si una review es positiva/negativa

181

Page 182: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Análisis del Sentimiento

Algunos trabajos aplicables

E. Boldrini et. al., “EmotiBlog: Towards a Finer-Grained Sentiment Analysis and its Application to Opinion Mining”, IV Jornadas TIMM, 2011

E. Blanco et. al., “Creación de un sistema de reconocimiento de emociones en alumnos de primaria”, IV Jornadas TIMM, 2011

182

Page 183: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Minería de Opiniones

Spam / Outliers en recomendaciones

Análisis del Sentimiento

Extracción Automática del Catálogo

CB-RS multilingües / semánticos

Fusión de información

Reputación online y relevancia de contenidos

Explicaciones de todo tipo de recomendaciones

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

183

Page 184: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Extracción Automática Catálogo

Uno de los principales problemas que nos hemos encontrado es con la generación del catálogo

Las tiendas pequeñas suelen usar CMS tipo Magento/osCommerce/Prestashop, así que lo resolvemos extrayendo el catálogo desde los plug-ins

Sitios más grandes necesitan generar un XML...

A veces les resulta pesado, carecen de equipo técnico adecuado

...o bien pasar datos vía JavaScript

No les suele gustar a determinados sitios por facilitar el acceso a su información por parte de terceras partes

184

Page 185: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Extracción Automática Catálogo

Existe estado del arte aplicable

W. Cohen, “Predictively Modeling Social Text”, Keynote at MSM2009 (CAEPIA 2009)

J. Turmo, “Adaptive Information Extraction”, ACM Computing Surveys 38 (2), 2006

I. Benetti, “An Information Integration Framework for E-Commerce”, IEEE Intelligent Systems 2002

185

Page 186: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Extracción Automática Catálogo

Pero casi todos son enfoques semi-supervisados

Los responsables de una tienda online no estarían dispuestos a supervisar el algoritmo

¿Se podrían desarrollar métodos de extracción totalmente automática de cualquier catálogo?

186

Page 187: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Minería de Opiniones

Spam / Outliers en recomendaciones

Análisis del Sentimiento

Extracción Automática del Catálogo

CB-RS multilingües / semánticos

Fusión de información

Reputación online y relevancia de contenidos

Explicaciones de todo tipo de recomendaciones

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

187

Page 188: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

CB-RS Multilingüe/Semántico

Con los CB-RS tenemos una gran dependencia del idioma

No me va a recomendar productos cuyas descripciones están en inglés si los que tengo anteriormente están en castellano

No es capaz de determinar que dos atributos son el mismo pero en distintos idiomas

Además tenemos los problemas de sinonimia, polisemia, etc.

188

Page 189: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

CB-RS Multilingüe/Semántico

Muy poca literatura con acercamientos multilingües o realmente semánticos

Muchos enfoques de folksonomias, pero siguen teniendo el problema del idioma

Aplicar Euro WordNet no parece viable (por el coste computacional)

189

Page 190: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

CB-RS Multilingüe/Semántico

Enfoques prácticos

Usar Google Translate + extractores de conceptos para inglés

Generar ontologías específicas del dominio multilingües utilizando wikipedia y las descripciones actuales de los productos

190

Page 191: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

CB-RS Multilingüe/Semántico

191

Page 192: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

CB-RS Multilingüe/Semántico

192

F. Carrero et. al., “In the Development of a Spanish Metamap”, CIKM 2008

Page 193: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

CB-RS Multilingüe/Semántico

Aplicando enfoques simplistas a los RecSys podemos obtener un sistema baseline que nos permita decidir si tiene sentido esta línea

Las posibilidades de mejora son muchísimas

Además podría ayudar a resolver el problema del cold-start

193

Page 194: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Minería de Opiniones

Spam / Outliers en recomendaciones

Análisis del Sentimiento

Extracción Automática del Catálogo

CB-RS multilingües / semánticos

Fusión de información

Reputación online y relevancia de contenidos

Explicaciones de todo tipo de recomendaciones

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

194

Page 195: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Fusión de información

Fusionar distintas fuentes de información (p.e. info de tu perfil de Facebook, Twitter, FourSquare, etc.) para generar perfiles de usuario más completos. O bien fusionar distintas fuentes para obtener más información sobre productos

Reputación online y relevancia de contenidos

Muchos sistemas con reputación en la Web (Meneame, StackOverflow). Se puede utilizar el “karma” para modificar las recomendaciones

A la hora de fusionar varias fuentes de información, se puede utilizar la relevancia de contenidos para ponderar las distintas fuentes (p.e. Wikipedia tiene más peso que un blog “estándar”)

195

Page 196: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

Oportunidades

Explicaciones de todo tipo de recomendaciones

En CF-RS las recomendaciones son muy limitadas. ¿Podríamos desarrollar sistemas capaces de dar explicaciones en lenguaje natural para cualquier tipo de recomendación?

Generar las explicaciones en lenguaje natural, generar un resumen de distintos tipos de explicaciones, etc.

Otras tendencias interesantes en Web: Realidad Aumentada, Móvil, Gamificación

A través de lo móvil obtenemos contextos (p.e. geolocalización), además son sistemas totalmente ligados a las personas, que nos ayudan en el desarrollo de sistemas de recomendación ubícuos

La gamificación es una de las nuevas “grandes” tendencias. Se podría personalizar los retos y logros.

196

Page 197: Tutorial Sistemas Recomendación: IV Jornadas TIMM

IV Jornadas TIMM

197

http://www.josek.net

http://twitter.com/josek_net

http://www.linkedin.com/in/jccortizo