Este proyecto analiza un dataset de aproximadamente 30,000 letras de canciones argentinas extraídas del sitio La Cuerda, enriquecidas con metadatos de la API de Spotify. El objetivo es caracterizar y predecir estilos musicales a partir del análisis textual de las letras, utilizando técnicas de Procesamiento de Lenguaje Natural (NLP).
Este enfoque, conocido como Lectura Distante, permite descubrir patrones que serían imposibles de detectar mediante la lectura tradicional, revelando conexiones entre vocabulario, temática y género musical.
Metodología
Recolección y Preparación de Datos
El primer paso consistió en obtener las letras de canciones desde La Cuerda, un repositorio colaborativo de acordes y letras. Posteriormente, se enriqueció el dataset con información de Spotify (popularidad, duración, artista) mediante su API.
El preprocesamiento incluyó:
- Limpieza de texto (eliminación de caracteres especiales y normalización)
- Lematización con spaCy para reducir palabras a su forma base
- Cálculo de métricas como TTR (Type-Token Ratio) para medir riqueza léxica
Análisis Exploratorio y Modelado de Tópicos
Se aplicó LDA (Latent Dirichlet Allocation) para descubrir tópicos latentes en el corpus. Identificamos cinco tópicos principales: religioso, existencial, naturista, desamor y folklórico. Cada canción fue etiquetada con el tópico de mayor probabilidad.
Feature Engineering
Además de la vectorización del texto, diseñamos features adicionales:
- Proporción de stopwords: indicador de complejidad léxica
- Proporción de palabras en inglés: relevante para ciertos géneros como pop o rock
- Longitud media de palabra: asociada a estilos más tradicionales
- Repeticiones: frecuencia de palabras repetidas
- Polaridad de sentimiento: calculada con TextBlob
Vectorización del Texto
Probamos múltiples técnicas de representación numérica:
- TF-IDF: pondera frecuencia de términos penalizando palabras muy comunes
- Word2Vec: embeddings que capturan relaciones semánticas (modelo propio y preentrenado)
- BERT: embeddings contextuales usando un modelo preentrenado en español
Clasificación
Entrenamos clasificadores para predecir el estilo musical: Regresión Logística (multinomial) y Support Vector Machines (LinearSVC). Cada combinación vectorización + clasificador fue evaluada usando F1-score macro para considerar el desbalance de clases.
Problemas y Soluciones
Desbalance de clases: El dataset presenta una fuerte predominancia del rock sobre otros estilos. Utilizamos el parámetro class_weight='balanced' en los clasificadores y priorizamos métricas como F1-macro.
Ambigüedad en la definición de 'estilo': Las etiquetas de estilo en La Cuerda mezclan criterios instrumentales, temáticos y de formación del grupo. Complementamos el análisis con clustering no supervisado para descubrir agrupaciones naturales.
Limitaciones de Word2Vec preentrenado: El modelo preentrenado en Wikipedia española tuvo peor desempeño que uno entrenado sobre nuestro corpus específico de canciones, que captura mejor el vocabulario coloquial y poético de las letras argentinas.
Resultados
Desempeño de los Modelos
| Técnica | Clasificador | F1-Macro |
|---|---|---|
| TF-IDF | Regresión Logística | 0.37 |
| TF-IDF | SVM | 0.34 |
| Word2Vec (propio) | SVM | 0.33 |
| BERT | SVM | 0.35 |
| Feature Engineering | SVM | 0.18 |
El modelo baseline (TF-IDF + Regresión Logística) obtuvo el mejor resultado. Técnicas más sofisticadas como BERT no mejoraron significativamente el desempeño, lo que sugiere que el cuello de botella está en la calidad de las etiquetas y el desbalance, no en la representación del texto.
Precisión por Estilo
Precisión del mejor modelo (TF-IDF + Regresión Logística) para cada estilo musical. Se observa una clara influencia del número de muestras y la naturaleza del estilo en la capacidad predictiva.
Hallazgos del Análisis de Coeficientes
El modelo de regresión logística reveló palabras discriminativas por estilo:
- Rock: punk, mierda, aguante (vocabulario directo y agresivo)
- Religioso: jesús, espíritu, dios (léxico espiritual explícito)
- Tropical: cumbia, cuerpo, cariño (referencias al baile y romance)
- Tradicional: cantor, monte, andar (imaginario folklórico)
Conclusiones
- Existe una relación entre texto y estilo, pero es parcial. Las letras aportan información valiosa, especialmente para géneros definidos temáticamente (religioso, folklórico).
- El desbalance y la ambigüedad de etiquetas son los principales limitantes, más que la técnica de vectorización elegida.
- El artista es un predictor fuerte: al incluir información del artista, el desempeño mejora significativamente.
- La lectura distante complementa, no reemplaza, el análisis tradicional. Permite identificar patrones a escala, pero requiere interpretación humana para validar los hallazgos.
Este proyecto demuestra el potencial del NLP para analizar corpus culturales masivos, revelando la compleja relación entre palabras, música e identidad en la canción popular argentina.
Agradecimientos
Este trabajo fue producto de la mentoría dictada por Facundo Calabró en el contexto de la Diplomatura en Ciencia de Datos, Aprendizaje Automático y sus Aplicaciones (FAMAF) y fue realizado en conjunto con Lautaro Puican e Iván Kwist.