¿Cómo funciona la recomendación de Spotify?
Spotify usa muchos algoritmos distintos para construir sus recomendaciones. Aplicados como filtros, éstos suelen crearse de forma colectiva: los filtros colaborativos son esos que se determinan por los datos de preferencias que un usuario ha ido creando históricamente.
Es decir, se basan en la idea de que si dos usuarios escuchan el mismo set de canciones, es posible que sus gustos sean similares. Así mismo, si hay dos canciones que tienen el mismo tipo de audiencia, probablemente suenen similar.
Este tipo de información colaborativa que se extrae de los patrones de consumo y no de los objetos que se están recomendando en sí mismos es el conocido como content-agnostic, y sirve tanto para recomendar música como libros o películas.
En este sentido, Sander Dieleman, investigador afiliado a Spotify que estuvo trabajando en el desarrollo de nuevas vías para mejorar la recomendación, reconoce en su artículo académico (el mismo que uso para hablar de los filtros) que este sistema siempre premiará aquellos ítems más populares.
Es el llamado «cold-start problem«: aquellas canciones nuevas y poco conocidas todavía no han generado datos útiles para analizar.
Una forma para tratar de paliar este problema fue la incorporación de nuevas fuentes de información que se conseguirían por otras vías: los créditos y tags (artista, título, sello, letras, información relacionada en internet como entrevistas y reseñas, etc.) y, sobre todo, el análisis de la señal de audio.
A partir de distintos filtros que se aplican, de la pista de audio se analiza y extrae el género, los instrumentos usados (segmentados en muchos elementos y filtros), el mood o el período de tiempo en el que se creó la canción.
Con estos elementos se pueden trazar las principales representaciones de una canción, a pesar de no disponer de la información colaborativa que mencionábamos, y así crear vínculos entre piezas musicales usando aquellos elementos latentes que las relacionan.
Esta forma de obtención de información se llama deep learning, y es un tipo de machine learning o aprendizaje automático: cómo una máquina puede procesar e interiorizar información de manera automática, es decir, esto es uno de los elementos básicos de la Inteligencia Artificial.
El concepto es mucho más extenso, pero simplificando, podríamos decir que el deep learning es «la aproximación a la percepción humana» del aprendizaje automático de una máquina. Se asemeja a la lógica del sistema neuronal humano (se usa el concepto deep neuronal network), donde cada «neurona» digital se encarga de percibir una característica concreta del objeto examinado.
Así en las canciones podemos encontrar muchos filtros encargándose de recoger, por ejemplo, contenido armónico. Como dice Dieleman, «vibrato singing, ringing ambiance, vocal thirds, bass drum sounds, etc». Pero habrá otros que se encarguen del ruido, el pitch, los drones o las distorsiones, por citar más ejemplos.
Como relata el investigador en su artículo, analizando algunos de los filtros encontró que había uno que podía identificar el Rap en español y otro la lengua china. Otros filtros detectaban géneros como «lounge, reggae, darkwave» y más, incluso había uno que era exclusivamente para la música de Armin van Buuren.