TRABAJOS FIN DE GRADO curso: 2021-22
Aprendizaje de modelos para la clasificación en música y su aplicación en una herramienta |
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. Existen muchos subcampos de gran interés como pueden ser el de detección de género, los sistemas de recomendación, la generación de playlists o aquellos modelos que tratan con las emociones asociadas. Incluso, hay trabajos que van un paso más allá e intentan crear música, por ejemplo, a partir del estilo musical de un compositor.
Cuando se trabaja con música (o audio en general) la entrada está asociada a procesamiento de la señal, pero actualmente los datos de entrada suelen estar enriquecidos con etiquetas que pueden proporcionar mucha información (autor, cantante, género, año, tema, etc…). Incluso, si es una canción, se puede adjuntar el texto con sus letras. Hay por tanto mucha información disponible, que a veces se puede encontrar en datasets ya existentes, otras veces se pueden enriquecer mediante técnicas propias.
En este trabajo buscamos aplicar técnicas de clasificación que podrían estar enfocadas a la detección de la emoción (por ejemplo, el dataset en la competición [1]) y/o en la clasificaciones de canciones o clips en géneros musicales (por ejemplo, el dataset en [2]). Pretendemos hacer un análisis de uno o más datasets disponibles, para después intentar aplicar técnicas de aprendizaje automático que nos permitan construir modelos para clasificar teniendo como objetivo predecir la emoción y/o el género, según la naturaleza del dataset.
Finalmente, en este trabajo pretendemos explotar los modelos más prometedores, de forma que se integren en una aplicación web, la cual incluirá la clasificación automática y podría ser enriquecida con información de contexto, o proporcionar tareas más complejas que se construyan en base a la predicción.
[1] https://www.kaggle.com/uwrfkaggler/ravdess-emotional-song-audio
[2] https://www.kaggle.com/harish24/music-genre-classification
Metodología y Competencias
El desarrollo de este trabajo conlleva distintas tareas/fases:
1. Estudio de la bibliografía y estado actual de los problemas de clasificación en música.
2. Búsqueda de datasets disponibles, y estudio previo de sus características.
3. Selección de uno o más datasets de los que se realizará un análisis exploratorio en mayor detalle.
4. En base a lo anterior, desarrollo de algoritmos de aprendizaje automático en uno o más conjuntos de datos. Esta etapa podría conllevar varias fases iterativas donde se realice pre-procesamiento de los datos, o construcción de atributos. Aquí se tendrá que definir la tarea o tareas de clasificación a abordar.
5. Experimentación: aprendizaje de diferentes modelos con esos datasets
6. Evaluación: validación de los modelos aprendidos en el punto 5, y comparativa de los resultados.
7. Selección de los mejores modelos para ser integrados en la aplicación.
8. Diseño de una aplicación web capaz de abordar la(s) tarea(s) de clasificación con los modelos escogidos.
9. Desarrollo e implemantación de la app final, que conllevará una fase de estudio de mejoras en la aplicación en cuanto a funcionalidad, información o visualización, para decidir cuáles incluir.
10. Redactar la memoria.
Competencias:
Este TFG permite completar las competencias específicas [CM4] ,[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:
- [CM4] 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.
- [CM5] 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.
- [CM6] Capacidad para desarrollar y evaluar sistemas interactivos y de presentación de información compleja y su aplicación a la resolución de problemas de diseño de interacción persona computadora.
- [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 datos.
Medios a utilizar
PC de características estándar y con conexión a Internet.
Recursos online, como manuales, tutoriales y los datasets disponibles.
Bibliografía
- Apuntes de las asignaturas Minería de Datos, Sistemas Inteligentes y Sistemas Interactivos
- Manuales del lenguaje Python: https://docs.python.org/3/tutorial/
- Manual de la librería Pandas: https://pandas.pydata.org/
- Manual de la librería Seaborn: https://seaborn.pydata.org/
- Manual de la librería Numpy: https://numpy.org/doc/stable/user/tutorials_index.html
- Manual de librería Librosa: https://librosa.org/doc/latest/index.html
- Manuales de la plataforma para el desarrollo de software .NET
Tutores FLORES GALLEGO, MARIA JULIA OSSA JIMENEZ, LUIS DE LA | Alumno GALVÁN DÍAZ-NARANJO, JOSÉ MARCOS
|
|