Es innegable que para la gran mayoría la música es parte de su vida, ya sea para escuchar alguna canción mientras vas en coche, ponerte los cascos en el metro o escoger tu lista de reproducción favorita mientras trabajas.
Ian Borrego y Daniel Roldán no son una excepción y como proyecto de final del Bootcamp en Data Science y Machine Learning, decidieron llevar un paso más allá a la industria de la música creando una forma de conectar o relacionar comunidades de música a través del Data Science. Si quieres escuchar a Dani e Ian contar su proyecto, puedes verles en este vídeo.
Para esta tarea, decidieron comenzar por la comunidad de rap español ya que además, el rap se encuentra dentro de sus géneros musicales favoritos. Hay que destacar que el rap español es uno de los géneros que más crecimiento ha tenido en los últimos años, esto se debe entre otras cosas a la influencia del hip hop estadounidense.

Para poder desarrollar el proyecto, Ian y Daniel lo abordaron a través de dos aspectos principales:
- Análisis de grafos de la comunidad
Este consiste en las conexiones entre los nodos dados (artistas) y las aristas (colaboraciones) entre cada uno de los nodos que los conectan.
Utilizando la biblioteca NetworkX podemos dibujar la red y separarla en comunidades para su posterior análisis de conectividad.
- Análisis de las letras
La otra parte del proyecto corresponde a las letras de los temas de los artistas elegidos, Aquí analizamos la riqueza léxica de sus temas y mediante un modelo de aprendizaje automático no supervisado llamado clustering, somos capaces de crear diferentes grupos (también llamados «clusters») y así poder clasificar cualquier tema nuevo que incluyamos en este modelo.
Utilizando estos dos enfoques, fueron capaces de elaborar un conjunto de herramientas que los artistas pueden utilizar para impulsar sus carreras, respaldadas por datos y estadísticas reales. Echemos un vistazo más en concreto.
Análisis de grafos de la comunidad
Para poder extraer la información necesaria para el estudio, se decidió utilizar la API de Spotify y tiene la ventaja de ser gratuita y además Python tiene una biblioteca con una variedad de funciones que nos ayudaron en la creación del conjunto de datos.
El análisis de grafos nos permite conocer la distancia, dentro de una comunidad, a la que se encuentran los diferentes artistas. Cada nodo representa a cada artista y se une con los demás a través de aristas, estas aristas representan las colaboraciones de unos con otros.
El Dataset contiene a los diferentes artistas y sus colaboraciones. Además añadieron métricas relacionadas como popularidad y seguidores en redes sociales. En base a estos datos, se creó la matriz de adyacencia y la lista de adyacencia que se utilizan en las librerías para que se pueda hacer el análisis de redes.

Podemos resumir el proceso en los siguientes pasos:
- Limpieza del dataset
- Elección y uso de las librerías NetworkX para el procesamiento de datos y Gephi para la visualización
- Se calcularon las siguientes métricas
- Centralidad
- Page Rank
- Comunidades
- Clasificación de rutas
- Visualización con Gephi
La idea es que los artistas, gracias a esta herramienta, puedan conocer las diferentes alternativas para contactar con otro, generando así una herramienta de networking y dándole vías para poder cumplir sus objetivos.
Por otro lado, gracias a este gráfico, podemos ver los nodos más destacados que convergen con la mayor cantidad de aristas. En este caso, esta información no solo ayudará a otros artistas si no a empresas que quieran elegir los contactos más influyentes para entrar en el género.
Clasificación de letras
El objetivo de esta parte del proyecto es agrupar las letras de las canciones de rap en torno a las palabras que más se utilizan y las similitudes que tienen. Para ello se utilizó la API de Spotify, de donde sacaron todos los datos descargando los artistas, los nombres de las canciones y las letras de las canciones.
El proceso para esta clasificación fue el siguiente:
- Limpieza del dataset limpiando las letras, quitando caracteres no alfanuméricos a través de la librería Spacy y NTK.
- Al tratarse de rap en español, se eliminaron todas aquellas palabras de las letras que no fueran.
- Lematización de las letras, lo que se hace en esta fase es transformar las palabras a la raíz, es decir, por ejemplo un verbo se pasaría al infinitivo de tal manera que sea más fácil agrupar las palabras.
- Matriz tfidf, utilizada para medir la frecuencia de las palabras dentro de las canciones.
- Reducir la dimensión del dataframe utilizando el algoritmo LDA que se queda con la variables más relevantes y más explicativas de manera que se genere un dataframe más pequeño y manejable.
- Para poder agrupar esta información, se utilizaron dos modelos no supervisados de Machine Learning que fueron: K-Means y DBscan.

Como resultado de estos procesos, salieron 5 clusters diferentes:
- Street rap
- Street rap 2
- Mainstream rap
- Rap sentimental
- Rap protesta





Acciones futuras
Después de hacer el proyecto, Ian y Daniel pensaron en el increíble potencial que tienen este tipo de herramientas y en cómo, en un futuro, podrían escalarlo. Para empezar, se podría pasar de un dataset de 400 a muchos más artistas con mayor cantidad de colaboraciones, además de sumar otros géneros musicales como la música electrónica, rock, pop, etc.
Por otro lado, se pueden añadir y combinar diferentes métricas para poder sacar otras conclusiones y, por supuesto, juntas las dos ramas principales del proyecto, tanto el grafo como el estudio de las letras. También sería muy interesante poder predecir a través de este trabajo, el próximo “spotlight” o artista destacado en cuanto a popularidad.
Si tú también quieres ser capaz de desarrollar soluciones tecnológicas como MusicMap. No dudes en informarte sobre nuestros bootcamps, puedes contactarnos a través del email de vanessa@idbootcamps.com o llamarnos al 673903000.