Spotify y su modelo de recomendaciones ¿Cómo te conocen tan bien?

 In Business Intelligence, Estudios

La llegada de Internet trajo una serie de servicios impensables hasta entonces. Los aficionados a la música nos pasamos horas frente al PC esperando que Napster terminara de descargar aquella canción del momento. Si se quería acceder a un disco entero, la espera era de días… y esa larga espera era utilizada masivamente para soñar con un futuro donde una plataforma legal nos permitiera acceder a toda la música que pudiéramos abarcar sin restricciones y a gran velocidad.

Han pasado bastantes años desde entonces, y el sueño de esa ansiada plataforma ya tiene nombre. De hecho hay varias opciones, pero en esta entrada me centraré en Spotify. No, no trabajo directa o indirectamente para esta empresa, de hecho, por razones difícilmente defendibles, ni si quiera uso su versión de pago. Pero las cosas como son, Spotify es un regalo del cielo. 

Ya no solo podemos acceder a toda la música que queremos con gran facilidad y velocidad. Uno de los servicios “extra” que ofrece Spotify es una lista semanal con recomendaciones personalizadas para sus más de 100 millones de usuarios. Y lo asombroso es que esas recomendaciones tienen una aceptación brutal por parte de los usuarios.

Vamos a profundizar en como Spotify se ha convertido en una referencia a la hora de descubrirnos nuevos talentos musicales a nuestra medida.

Descubrimiento semanal - spotify

Los modelos de recomendación de Spotify

Spotify no utiliza ningún modelo de recomendación revolucionario por si solo. Su motor de recomendación está basado en 3 estrategias utilizadas previamente por otros servicios. Y es la combinación de estas, la que crea su propio motor.

  • Modelos de Filtrado Colaborativo;  analizan tanto el comportamiento de los usuarios de forma individual como global.
  • Modelos de Procesamiento del Lenguaje Natural; analizan la información en la red relativa a un grupo /canción.
  • Modelos de audio; analizan las pistas de audio en bruto.

Vamos a ver en qué consiste cada uno de estos modelos…

Modelo de Filtrado Colaborativo

Cuando escuchamos “filtrado colaborativo” nuestra mente probablemente viaje hasta Netflix y su famoso sistema de puntuación mediante estrellas. Pero a diferencia de Netflix, Spotify no tiene un sistema mediante el que los usuarios puntúen las canciones. En su lugar, los datos de Spotify se basan en retroalimentación implícita; recuentos de las pistas y datos de streaming adicionales (si un usuario guardó la pista en su propia lista de reproducción, si visitó la página del artista después de escuchar una canción…)

Todos esos datos son utilizados para llegar a algunas conclusiones. Por ejemplo:

Si te gustan las mismas canciones que a otro usuario, pero no has escuchado la que parece su canción del momento, Spotify la incluye en tu lista de Descubrimientos Semanales. Y viceversa.

¿Qué cómo utiliza Spotify ese concepto para calcular las canciones sugeridas cuando tiene millones de usuarios? ¡Matemáticas matriciales!

How Does Spotify Know You So Well? De Sophia Ciocca

Cada fila representa uno de los 140 millones de usuarios de Spotify. Y cada columna representa uno de los 30 millones de canciones de la plataforma.

Luego, se ejecuta esta larga y complicada fórmula de factorización matricial:

How Does Spotify Know You So Well? De Sophia Ciocca

Cuando termina, nos encontramos con dos tipos de vectores, representados aquí por X e Y. X es un vector de usuario, representando el gusto de una única persona. E Y es un vector de canción, representando el perfil de una única canción.

From Idea to Execution: Spotify’s Discover Weekly, por Chris Johnson, ex-Spotify.

Ahora tenemos 140 millones de vectores de usuario y 30 millones de vectores de canción. El contenido real de estos vectores es sólo un puñado de números que no tienen sentido por sí mismos, pero que son enormemente útiles cuando se comparan entre si.

Para averiguar cuáles son los gustos musicales de los usuarios más similares a mi perfíl, el filtrado colaborativo compara mi vector con todos los demás vectores de usuarios y, en última instancia, dice qué usuarios son los más parecidos a mi. Lo mismo ocurre con el vector Y, las canciones: se puede comparar el vector de una sola canción con todos los demás, y averiguar qué canciones son más similares entre si.

El filtrado colaborativo hace un buen trabajo, pero Spotify sabía que podía hacerlo aún mejor añadiendo otro motor…

Modelo de Procesamiento del Lenguaje Natural (PNL)

En este modelo los datos de origen son palabras comunes: metadatos de seguimiento, noticias, entradas en blogs y otros textos que llenan Internet.

Spotify adquirió en 2014 la empresa “Echo Nest” una plataforma de inteligencia musical y datos para desarrolladores y compañías de medios. Esta empresa es la encargada de situar los datos provenientes de Spotify en lo que ellos denominan “vectores culturales” o “términos superiores”. Cada artista y cada canción tienen miles de términos que cambian a diario. Cada término tiene un valor asociado, que se correlaciona con su importancia relativa; aproximadamente, la probabilidad de que alguien describiera la música o el artista con ese término.

How Does Spotify Know You So Well? De Sophia Ciocca

Del mismo modo que con el filtrado colaborativo, el modelo de PNL utiliza estos términos y valores para crear una representación vectorial de la canción que puede usarse para determinar la similitud entre dos canciones.

Modelo de audios sin procesar

Uno podría pensar que estos dos modelos son más que suficientes para que Spotify pueda ofrecer el servicio personalizado que ofrece. No obstante, si nos planteamos que ocurriría con la llegada permanente de nuevas canciones, vemos que los dos anteriores modelos por si solos no serían suficientes.

Imaginemos que un grupo emergente cuelga una nueva canción en la plataforma. Esta canción apenas llega a 50 reproducciones y apenas hay nada escrito sobre ellos en internet, así que su notoriedad en la red es tan escasa que los anteriores modelos no serían eficientes ya que enterrarían esta canción bajo la gran notoriedad adquirida por las canciones que ya llevan tiempo sonando.

Gracias a los modelos de audio (sin procesar) no existe discriminación entre la popularidad de una canción frente al anonimato de otra. Y esto ocurre gracias a las redes neuronales.

Las redes neuronales tienen un gran paralelismo en cuanto al funcionamiento del software de reconocimiento facial. La diferencia es que en el caso de Spotify se ha alterado la capacidad diseñada para el reconocimiento de pixeles (reconocimiento facial), para que en su lugar reconozca pistas de audio.

Recommending music on Spotify with deep learning, Sander Dieleman.

Si tomamos la red neuronal de la imagen, podemos ver cuatro capas convolucionales, vistas como las barras gruesas a la izquierda, y tres capas densas, vistas como las barras más estrechas a la derecha. Las entradas son representaciones de frecuencias de tiempo de cuadros de audio, que luego se concatenan o enlazan para formar el espectrograma.

Los cuadros de audio pasan a través de estas capas convolucionales, y después de pasar a través de la última, se puede ver una capa de “pooling temporal global”, que se agrupa a través de todo el eje de tiempo, calculando efectivamente las estadísticas de las características aprendidas a lo largo del tiempo de la canción. Esta lectura de las características clave de la canción permite a Spotify comprender las similitudes fundamentales entre las canciones y, por lo tanto, qué usuarios podrían disfrutar de ellas. “Esta canción nueva de la que nadie habla, tiene los requisitos para ser del agrado del usuario 235432.

La estrategia de Spotify para efectuar recomendaciones refleja como la plataforma ha sabido alimentarse de tres modelos ya existentes para personalizarlos y unificarlos con el objetivo de obtener los mejores resultados posibles. Y este modelo de sinergias, es precisamente el que la tecnología demanda; colaboración de avances y modelos efectivos combinados entre si, para no dejar de escalar e incrementar las funcionalidades tecnológicas de las que disponemos.

Fuentes;

Recent Posts

Dejar un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies