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