Desarrollo de una aplicación web para visualizar e interactuar con resultados de evaluaciones de sistemas de recuperación de información
Motivación
- El desarrollo de metodologías de recuperación de información es uno de los campos que más recursos está ocupando.
- Escasez de aplicaciones que permitan a los desarrolladores entender y trabajar con los algoritmos que implementan.
- Desarrollar una aplicación sencilla y fácil de manejar para llevar a cabo esas funciones.
-
Visualización del conjunto de datos
-
Resultados de las recomendaciones
-
Resultados de las evaluaciones
Concretando la aplicación
Algoritmos de recomendación
Definición
Tecnología que implementa una funcionalidad mediante la cual se sugiera al usuario elementos en los que pudiera estar interesado basándose en el interés que él mismo ha mostrado en el pasado, bien en otros elementos o según el interés que han mostrado otros usuarios con características similares.
Tipos de algoritmos
-
Algoritmos basados en contenido
-
Algoritmos de filtrado colaborativo
-
Híbridos
Métodos de evaluación
-
La evaluación se compone de dos fases:
- Entrenamiento
- Test
-
Los algoritmos pueden ser de dos tipos:
- Métodos estadísticos (MAE, NMAE, RMSE)
- Métricas de decisión
Algunos algoritmos de recomendación
-
Item KNN
- User KNN
- Factorización de matrices
- Baseline con usuarios e ítems
Análisis de la aplicación
Ruby on Rails
- Framework para el desarrollo web ágil
- Modelo-Vista-Controlador
- Proporciona muchas facilidades en la programación
- Soporta multitud de motores de bases de datos
SQLite
- Fácil migración de la base de datos
- Utilizado en fase de desarrollo y pruebas
- Se cambiará a MySQL cuando el proyecto se pase a fase de producción
MyMediaLite
- Librería de sistemas de recomendación escrita en C#
- Gran cantidad de algoritmos de recomendación
- Implementa funciones de evaluación de los algoritmos
- Será necesario cargar las recomendaciones previamente en la base de datos
MovieLens
- Se trata del dataset más popular en el desarrollo de sistemas de recuperación de información
- Formato de los datos óptimo para trabajar con MyMediaLite
- Ratings en escala numérica de 1 a 5
D3js
- Librería de JavaScript para la visualización de datos
- Multitud de tipos de visualizaciones totalmente personalizables
- Se han diseñado funciones de creación, actualización y destrucción de gráficas para cada visualización introducida en la aplicación
Demo
Trabajo futuro
-
Número de visualizaciones que se puede incluir prácticamente ilimitado
-
Adaptación de la aplicación para que funcione con distintos conjuntos de datos
-
Carga de datos de recomendadores propios
-
Posibilidad de llevar a cabo análisis de datos más exhaustivos.
Defensa TFG
By Alejandro Redondo Quintero
Defensa TFG
- 421