Framework orientado a algoritmos de recomendación basados ...
Transcript of Framework orientado a algoritmos de recomendación basados ...
![Page 1: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/1.jpg)
Framework orientado a algoritmos derecomendación basadosen similitudes
Autor: Alberto García Redero
Tutor: Alejandro Bellogín Kouki
Ponente: Fernando Díez Rubio
1
![Page 2: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/2.jpg)
Índice
● Introducción● Objetivos● Estado del arte● Solución Propuesta
○ Implementación● Pruebas y Resultados● Conclusiones y Trabajo Futuro
2
![Page 3: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/3.jpg)
Introducción - Los Sistemas de Recomendación
3
![Page 4: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/4.jpg)
Objetivos
● Construcción de un recomendador basado en similitudes.
● Estudiar distintas variantes del recomendador para comprobar su funcionamiento.
● Comprobar su rendimiento frente a algunos de los Sistemas de Recomendación más comunes actualmente.
4
![Page 5: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/5.jpg)
Estado del arte - Filtrado Colaborativo
Filtrado Colaborativo
Basado en MemoriaBasado en Modelos
Factores Latentes Basado en ítems Basado en usuarios
5
0.62 0.43 0.95 0.72 0.82 0.26 0.34
![Page 6: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/6.jpg)
Estado del arte - Vecinos próximos
Orientado a usuarios Orientado a ítems
6
![Page 7: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/7.jpg)
Estado del arte - Modelos híbridos
Ejemplo de estructura de Recomendadores Híbridos
7
Solución implementada en el proyecto.
![Page 8: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/8.jpg)
Estado del arte - Redes Neuronales
Red Profunda
8
![Page 9: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/9.jpg)
Solución Propuesta
Modelo Híbrido en Cascada, en el que cada subrecomendador realiza las siguientes acciones:
1. La Red Neuronal Profunda extrae los embeddings (factores latentes) de los elementos.
2. Estos son utilizados por Vecinos Próximos para realizar las recomendaciones.
9
![Page 10: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/10.jpg)
10
![Page 11: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/11.jpg)
Implementación - Subsistema de estandarización de los Datos
Problema inicial:
● Los datasets pueden tener una estructura y características distintas.
Por lo que necesitamos una manera de estandarizar los datos para que puedan ser utilizados por las Redes Neuronales.
11
![Page 12: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/12.jpg)
Implementación - Subsistema de generación de Embeddings
● Punto de partida del proyecto: GITHUB1
● Objetivo: entrenar las Redes generando a partir de ellas los embeddings.
● Redes Neuronales que lo componen:○ Deep_fm○ Deep○ Linear_Deep
12
1 https://github.com/yxtay/recommender-tensorflow
Cheng, H. T., Koc, L., Harmsen, J., Shaked, T., Chandra, T., Aradhye, H., ... Shah, H. (2016). Wide & Deep Learning for Recommender Systems. arXiv:1606.07792 [cs.LG].
![Page 13: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/13.jpg)
Implementación - Subsistema de extracción de vecinos
Utilizamos Annoy.
Ventajas:
● Rápida.● Utilizada por Spotify.● Estructura de datos eficiente.● Fácil de integrar en Python.
13
![Page 14: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/14.jpg)
Funcionalidad - Películas similares
deep_fm
deep
linear_deep
14
![Page 15: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/15.jpg)
Funcionalidad - Recomendar al usuario
deep_fm
deep
linear_deep
15
![Page 16: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/16.jpg)
Funcionalidad
Películas más populares
16
![Page 17: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/17.jpg)
Pruebas y resultados
● Diferencias entre las Redes Neuronales implementadas.
● Comparación de vecinos del modelo híbrido frente al estándar.
● Comparación con otros sistemas de recomendación.
Datasets utilizados:
● Movielens 100K. 943 usuarios y 1682 ítems.
● Movielens 20M. 138493 usuarios y 27278 ítems.
17
![Page 18: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/18.jpg)
Método comparación de los vecinos de las distintas Redes utilizadas
Deep Deep_fm
18
![Page 19: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/19.jpg)
Pruebas y resultados - Diferencias entre las Redes Neuronales implementadas
Jaccard entre usuarios de las distintas redes.
Jaccard entre ítems de las distintas redes.19
![Page 20: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/20.jpg)
Pruebas y resultados - Comparación de usuarios e ítems
Comparación vecinos orientados a usuarios del modelo estándar vs el modelo híbrido.
Comparación vecinos orientados a ítems del modelo estándar vs el modelo híbrido.20
![Page 21: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/21.jpg)
Pruebas y resultados - Comparación con otros sistemas de recomendación
Resultados obtenidos contra otros recomendadores populares.
21
![Page 22: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/22.jpg)
Discusión Resultados
● Mejora a Vecinos Próximos en la versión orientada a usuarios.
● Es posible obtener buenos resultados sin necesidad de utilizar Redes Neuronales muy complejas.
● Redes Neuronales similares devuelven resultados dispares pero de rendimiento parecido.
22
![Page 23: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/23.jpg)
Conclusiones● He aprendido nuevas técnicas de
cálculo de vecinos. (Annoy)● He practicado el uso de Redes
Neuronales y mejorado mis conocimientos.○ He descubierto qué son los
embeddings y sus aplicaciones.○ TensorFlow.
● He ganado experiencia utilizando python3, Java8 y en menor medida C++.
El framework resultante del proyecto se
encuentra disponible en:
https://bitbucket.org/albergr/tfg/
Trabajo Futuro● Probar el sistema con otro tipo de
Red Neuronal. Por ejemplo, Convolucional o Recurrente.
● Crear la red con Keras en vez de con estimadores.
● Estudiar en profundidad las métricas de distancia que Annoy nos aporta.
● Probar distintos tamaños del vector de embeddings.
● Comparar la caracterización de los elementos realizada por las redes con la factorización de matrices
23
![Page 24: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/24.jpg)
Preguntas
24
![Page 25: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/25.jpg)
Estructura TensorFlow
25
![Page 26: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/26.jpg)
Diagrama Secuencia: Proceso automático
26
![Page 27: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/27.jpg)
Estado del arte - Redes Neuronales
Red Recurrente Red Convolucional
27
![Page 28: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/28.jpg)
Estructura de Deep_fm
28
![Page 29: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/29.jpg)
Estructura de Deep y Linear_deep
Deep Linear_deep
Características:● Densa, todas las neuronas conectadas
a las de la capa siguiente.● Prealimentada, las conexiones entre
neuronas no forman un bucle.
tf.estimator.DNNClassifier
Características:● Red Lineal.● Densa.
tf.estimator.DNNLinearCombinedClassifier
29
![Page 30: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/30.jpg)
Diferencias datasets Movielens (1)
Ratings Usuarios Ítems
Movielens 100K 100000 943 1682
Movielens 20M 20000263 138493 27278
30
![Page 31: Framework orientado a algoritmos de recomendación basados ...](https://reader036.fdocuments.es/reader036/viewer/2022071612/6156f6e7a097e25c764f76ba/html5/thumbnails/31.jpg)
Movielens 100K
Movielens 20M
¿Necesario? Equivalente a
u.data YES NO YES ratings.csv
u.genre YES NO NO
u.info YES NO NO
u.item YES NO YES movies.csv, pero faltan campos
u.occupation YES NO NO
u.user YES NO YES Solo los IDs desde ratings.csv
links.csv NO YES NO
movies.csv NO YES YES u.item
ratings.csv NO YES YES u.data
tags.csv NO YES NO 31