cambiar a curso:   2019-20   2021-22


Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2020-21

Sistemas de Recomendación: aplicación de algoritmos a un conjunto de datos de música


Tecnologías Específicas

Computación
 


Descripcion y Objetivos

La disciplina conocida como "Music Information Retrieval (MIR)" en inglés, que podría denominarse Recuperación de Información Musical en español, es uno de los campos de aplicación de la Inteligencia Artificial que más en auge están actualmente. En concreto una de las áreas que se ha estado potenciando en los últimos años es todo lo relativo a sistemas de recomendación, en tareas tan cotidianas como la creación automática de playlist cuyas canciones sean del gusto de un usuario, o que se ajusten a una temática o estado de ánimo. Es justamente el éxito de plataformas tan extendidas como Spotify o Youtube, una de las razones que ha avivado el interés por estas temáticas.

Los modelos orientados a crear Sistemas de Recomendación son bien conocidos y de gran utilidad, habiendo despertado el interés tanto comercial como de investigación en las últimas dos decadas, junto con la explosión de Internet y de las redes sociales o las plataformas de compra online. Entre los ámbitos más extendidos se encuentran las recomendaciones de productos en tiendas online, películas, vídeos, música, libros, productos o recomendaciones de perfiles a los que seguir en redes sociales.

En este trabajo, queremos abordar el problema desde un enfoque práctico, estudiando algún dataset existente e intentando analizarlo desde la perspectiva de Machine Learning, donde se intentará aplicar las distintas etapas que conforman un proceso de estas características: (1) análisis y exploración de los datos (2) preprocesamiento de los mismos (3) estudio de la variable objetivo (4) construcción de modelos (5) validación y comparativa de los resultados.

En concreto, creemos prometedor el desarrollo de este trabajo partiendo del dataset disponible en la plataforma kaggle WSDM - KKBox's Music Recommendation Challenge. Este reto se basaden canciones e información de la plataforma de música KKBOX, que ofrece canciones en streaming, y que es enormemente popular en Asia, siendo espcialmente conocida en el género del pop. En este reto la tarea es determinar la probabilidad de que un usuario vuelva a escuchar una canción que ya escuchó anteriormente.

En cualquier caso, en este trabajo, si bien comenzaremos con este dataset, no descartamos la búsqueda de otros similares o, si fuera necesario, la construcción de uno propio. Nuestro objetivo principal es aplicar técnicas que de alguna manera determinen si una canción va a ser escuchada, o lo que es lo mismo, si puede llegar a gustar, y  a ser posible, cuantificarlo con una probabilidad y/o rating estimado.

 


Metodología y Competencias

Metodología:

  1. Revisar el contexto del problema y la literatura disponible.
  2. Estudio del dataset KKBOX en kaggle, y búsqueda de otros similares como podría ser AcousticBrain.
  3. Realizar un análisis exploratorio de los datos existentes.
  4. Aplicación del proceso de Machine learning orientado a evaluación de canciones y su probabilidad de ser escuchada o su valoración por parte del usuario:
    1. Preprocesamiento de datos (selección de variables, construcción de variables, etc.)
    2. Identificación dos aspectos/vectores a tener en cuenta: canciones, usuarios, tareas
    3. Propuesta de modelos o metodologías
    4. Parametrización de los modelos o variantes
  5. Documentar todo el proceso anterior.
  6. Estimar la bondad de los modelos modelos obtenidos y evaluación de su capacidad de resolver la tarea propuesta. Comparativa entre variantes. Análisis general de los resultados.
  7. Redactar la memoria.

Competencias:

Este TFG permite completar las competencias específicas [CM3], [CM5] ,[CM6] y [CM7] de la Intensificación de Computación, es decir, se trabajarán principalmente (en distinto grado) las siguientes competencias específicas de la tecnología de computación: 

  • [CM3] Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
  • [CM5] Capacidad para conocer los fundamentos, paradigmas y técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen dichas técnicas en cualquier ámbito de aplicación.
  • [CM6] Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en unaforma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes entornos inteligentes.
  • [CM7] Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción automática de información y conocimiento a partir de grandes volúmenes de dato.
 


Medios a utilizar

PC de características estándar y con conexión a Intenet.

Recursos online, como manuales, tutoriales y los datasets disponibles.

 


Bibliografía

 


Tutor


FLORES GALLEGO, MARIA JULIA
 

Alumno


MARTÍNEZ GARRIDO, JESÚS