cambiar a curso:   2017-18   2019-20


Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2018-19

Generación automática de playlist de canciones mediante técnicas de minería de datos.


Tecnologías Específicas

Computación
 


Descripcion y Objetivos

No cabe duda que la industria de los contenidos multimedia (música, vídeo, etc.) es una de las destacadas en cuanto al impacto recibido por las técnicas de inteligencia artificial en general y las de aprendizaje automático en particular. Plataformas como Amazon, Netflix o Spotify, hacen un uso intensivo de los datos extraídos de sus productos y sus clientes para recomendarles nuevos productos.

 
En este TFG nos centramos en los contenidos musicales, particularmente en canciones. Nuestro objetivo se resume en la siguiente frase: “Dado un conjunto muy grande G de canciones y un subconjunto del mismo, S muy pequeño (entre 1 y 10 habitualmente), podemos configurar un conjunto L, t.q. S \subset L \subset G constituya una playlist razonable?”. 
Evidentemente esto suponde distintos desafíos, puesto que no estamos manejando a los usuarios explícitamente como se hace en los sistemas de recomendación estándar. Aquí el objetivo es determinar y cuantificar qué hace similares a las canciones incluidas en S, para poder así seleccionar las más apropiadas de G que completen la playlist.
 
Como entrada, es decir, G, consideraremos el conjunto de datos "Million Songs Dataset” (https://labrosa.ee.columbia.edu/millionsong/), en el que las canciones ya están preprocesadas en un conjunto de descriptores, es decir, no descargamos directamente la señal (música y voz). Sin embargo, para enriquecer los datos accederemos a Spotify u otros sistemas mediante su API para obtener nuevos descriptores: tempo, timbre, danceability, energy, loudness, etc. A partir de la base de datos global se llevará a cabo un proceso de minería de datos para construir la playlist, con su correspondiente validación de los modelos obtenidos.  
 


Metodología y Competencias

Metodología:

  1. Revisar el contexto del problema y la literatura disponible.
  2. Realizar un análisis exploratorio de los datos existentes.
  3. Completar los datos disponibles mediante el uso de la API de Spotify o servicios/plataformas similares.
  4. Determinar las métricas que se usarán para guiar el proceso de búsqueda y selección de modelos. Determinar el proceso de validación a seguir.
  5. Ciclar sobre los siguientes pasos: (Proceso de descubrimiento):
    1. Preprocesamiento de datos (selección de variables, construcción de variables, discretización, etc.)
    2. Determinar y/o adaptar las técnicas de aprendizaje automático a emplear.
    3. Obtener y validar modelos.
  6. Documentar todo el proceso anterior para que sea repetible.
  7. Estimar la bondad de los modelos finales (seleccionados) sobre el conjunto de datos de test reservado a tal efecto.
  8. Redactar la memoria.

Competencias:

Se trabajarán principalmente (en distinto grado) las siguientes competencias específicas de la tecnología de computación:

  • 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.

  • 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.

  • Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una
    forma 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.

  • 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 datos.

 


Medios a utilizar

Ordenadores personales, compiladores y entornos de programación. Todo disponible en la ESIIAB.

 


Bibliografía

Libros y manuales de aprendizaje automático, relativos al dominio de problema y ciencia/minería de datos. Libros y manuales de lenguajes de programación y librerías específicas de aprendizaje automático. Todo disponible en la ESIIAB y/o en internet.

 


Tutores


GAMEZ MARTIN, JOSE ANTONIO
ALEDO SÁNCHEZ, JUAN ÁNGEL
 

Alumno


CANTERO VÍLLORA, MIGUEL ANGEL