![Page 1: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/1.jpg)
Implicit feedbackPatricio López Juri
Signals in the Silence: Models of Implicit Feedback in a Recommendation System for Crowdsourcing (2014) por:- Christopher H. Lin- Ece Kamar- Eric Horvitz
![Page 2: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/2.jpg)
Feedback
![Page 3: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/3.jpg)
Explícito
● El usuario declara sus gustos y preferencias
● La GUI presenta elementos visuales para interactuar
![Page 4: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/4.jpg)
Data Sparsity
![Page 5: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/5.jpg)
Implícito
● Acciones que muestren interés (o desinterés) son registradas
![Page 6: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/6.jpg)
“Solucionado”
40%
40%
10%
10%
10%
10%
20% 20%
20%
90%
90%
![Page 7: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/7.jpg)
Técnicas
![Page 8: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/8.jpg)
Vecinos más cercanos
![Page 9: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/9.jpg)
Matrix factorization
![Page 10: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/10.jpg)
● ‘m’ usuarios● ‘n’ items● ‘k’ factores latentes (número definido por nosotros)● Lambda: parámetro regulador (definido por nosotros)
Nuestro dataset
Queremos minimizar estoRating explícito
Queremos encontrar U y V
rowcolumn
Parámetro regulador
![Page 11: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/11.jpg)
¿Cómo integramos feedback implícito?
![Page 12: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/12.jpg)
Matriz de señales: C
40%
40%
10%
10%
10%
10%
20% 20%
20%
90%
90%
● c_{i,j} ≥ 0○ La interacción implícita del
usuario ‘i’ con el ítem ‘j’.
Items
Usuarios
![Page 13: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/13.jpg)
Matriz de activación: P
1
1
1
1
1
1
1 1
1
1
1
● P_{i,j} ≥ 0○ Indica si hubo interacción del
usuario ‘i’ con el ítem ‘j’.
Items
Usuarios
![Page 14: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/14.jpg)
Peso: w
● Aquí se crea su propia función de peso respecto al valor de interacción implícita.
// TODO: Implement float f(int i, int j)
![Page 15: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/15.jpg)
Peso
Interacción o noQueremos minimizar esto
Cantidad de valores distintos a 0 en P
Complejidad:
![Page 16: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/16.jpg)
Feedback negativo
![Page 17: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/17.jpg)
Matriz de señales negativas: D
1s
5s
5s
1s
1s
3s
2s 4s
2s
1s
4s
● d_{i,j} ≥ 0○ La interacción implícita negativa
del usuario ‘i’ con el ítem ‘j’.
Items
Usuarios
![Page 18: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/18.jpg)
Peso: w
● Aquí se crea su propia función de peso respecto al valor de interacción implícita
positiva y negativa. Para lo positivo
Para lo negativo
Misma matriz de activación
![Page 19: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/19.jpg)
Sampling-Based Learning
![Page 20: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/20.jpg)
Sampling-Based Learning
Generamos varias matrices de P. Donde para cada celda de cada matriz (gamma):
● Si p_{i,j} es 1:
● Si p_{i,j} es 0:
![Page 21: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/21.jpg)
1
1
1
1
1
1
1 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1
1
1
P
P^gamma
P^1
...
Omitido el feedback negativo para simplicidad
![Page 22: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/22.jpg)
Sampling-Based Learning
● Corremos el mismo algoritmo para cada matriz P^gamma ● Tenemos una distribución para cada posible rating en la matriz de
Usuarios x Items
![Page 23: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/23.jpg)
Experimento● Recomendar tareas en un sistema crowdsourcing● Si trabajadores hacen muchas tasks, es feedback positivo● Tasks que aparecen harto pero son ignoradas, es feedback negativo.
![Page 24: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/24.jpg)
Resultados MPR (menos es mejor)
![Page 25: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/25.jpg)
Resultados con pocos datos Con negativo
Con negativos y sampled
Solo positivos
Solo positivos y sampled
![Page 26: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/26.jpg)
Resultados con muchos datos Con negativo
Con negativos y sampled
Solo positivos
Solo positivos y sampled
![Page 27: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/27.jpg)
Otras ventajas de MF
![Page 28: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/28.jpg)
Clustering
● Podemos utilizar U y V para hacer clusters● Podemos usar PCA (Principal component analysis) para reducir aún más la
dimensionalidad hasta 2 dimensiones
![Page 29: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/29.jpg)
Clustering
![Page 30: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/30.jpg)
¿Cómo partir aplicando esto?
![Page 31: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/31.jpg)
Ejemplo:
Tiempo viendo una publicación en Facebook
Facebook captura el tiempo que le dedicas a cada publicación, pues da indicios sobre cierto interés tuyo sobre esta.
Podemos usar Javascript y React.js para hacer algo similar.
http://www.slate.com/blogs/future_tense/2015/06/16/facebook_s_new_attention_tracking_feature_is_super_creepy.html
![Page 32: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/32.jpg)
Medimos el tiempo que se mantiene en la pantalla
![Page 33: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/33.jpg)
![Page 34: Patricio López Juri Implicit feedbackdparra.sitios.ing.uc.cl/classes/recsys-2016-2/students/IF-PLopez.pdf · Si p_{i,j} es 1: Si p_{i,j} es 0: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1](https://reader034.vdocuments.us/reader034/viewer/2022042222/5ec8416ee7f4b405a134c636/html5/thumbnails/34.jpg)
Conclusiones e Interrogantes
● Podemos obtener más datos que con solo feedback explícito.● El método de sampling puede pasar por alto recomendaciones obvias.
● ¿Qué pasó con el feedback explícito? ¿Cómo lo volvemos a incorporar?● ¿Si tengo más fuentes de feedback implícito (positivo y/o negativo)?
○ ¿Debería bastar con modificar la función de peso o hay que darle un enfoque ‘híbrido’?.
● ¿Es correcto monitorear tanto al usuario sin su consentimiento?