In che modo Spotify, o per meglio dire la Spotify Intelligence, cattura le nostre preferenze musicali elaborando una Discover Weekly differente ogni settimana?

E’ un processo abbastanza complesso. Come molti giganti del web, anche Spotify sta investendo sempre più risorse per conoscere più approfonditamente i propri utenti e personalizzare l’esperienza. Dagli studi territoriali degli ascolti basati sulla meteorologia, ai processi di viralizzazione, oggi parliamo di una peculiarità a volte data per scontata.

E’ la mezzanotte di lunedì, e come ogni settimana Spotify compila più di 100 milioni di playlist diverse e le consegna agli utenti. Il nome di queste playlist è però soltanto uno: New Discover Weekly (NDW). Esiste una New Discover Weekly per ogni utente registrato, e nessuna è uguale alle altre.

Ma come fa Spotify a conoscere così bene i gusti delle persone? Di sicuro non è il lavoro di tante piccole fatine che compilano playlist utente per utente, è invece un raffinato lavoro di data science, un algoritmo che è in grado di conoscerti e consigliarti 30 nuove canzoni che molto probabilmente apprezzerai, e se non lo farai, lui capirà come migliorare il proprio esercizio.

Altri servizi di streaming hanno provato in passato a creare qualcosa di simile: Pandora ad esempio applica alcuni tag alle canzoni, questi tag vengono usati per proporre musica simile a quella che stai ascoltando, se stai ascoltando Frank Sinatra, probabilmente ci saranno molti altri brani Swing che non conosci ma che ti potrebbero piacere. Questo metodo però ha i suoi limiti e i tag sono fatti da persone, ciò vuol dire che si riconduce tutto all’esperienza del curatore. Last.Fm ha inventato le playlist collaborative, mentre Echo Nest, fondata da due PhD’s del MIT, ha sviluppato diverse soluzioni algoritmiche per questo problema.

Eppure Spotify è stato il primo a creare un sistema vivo ed evolutivo, talmente vivo che a qualcuno potrebbe impaurire. In grado di resistere ai cambi generazionali tipici della musica, il suo algoritmo è basato su tre diversi sistemi: Collaborative Filtering(1) Natural Language Processing(2) e Raw Audio Analysis(3).

Abbiamo suddiviso in tre punti cruciali tutta questa complessa ramificazione:  
  1. Collaborative Filtering. Avete presente Netflix? Netflix consiglia i film grazie ad un meccanismo di raccomandazioni che si basa su rating e scelte degli utenti. Le famose 5 stelle aiutano il sistema a conoscere meglio il singolo l’utente e a consigliare ad altri utenti con preferenze simili le stesse scelte.
    Spotify dal suo lato non ha stelle ma ha degli altri modelli: implicit feedbacks, numero di ascolti, tempo di ascolto, click sulla pagina artista, quanti “Cuori” ha ricevuto la traccia, ecc. Questi indici possono aiutare utenti simili ad ascoltare canzoni simili. Facciamo il caso che l’utente 1 ascolti le canzoni ABCD e l’utente 2 ascolti BCDE, questi due utenti hanno molto in comune, infatti hanno ascoltato entrambi B C e D. Spotify suggerirà all’utente 1 di ascoltare E (che ha ascoltato l’utente 2) e viceversa, all’utente 2 di ascoltare A. Questi dati sono poi combinati in enormi matrici di Python in cui ci sono utenti (righe) e tracce (colonne), che con operazioni matriciali trovano corrispondenze e affinità.
  2. NPL, ovvero Natural Processing Language, questo onestamente è un sotto – algoritmo che mi ha piuttosto incuriosito, visto che è stato pensato per uscire dai “Big Data” raccolti internamente sulla piattaforma, e rende estremamente più longevo e dinamico il meccanismo di raccomandazioni, slegandolo alla musica come contenuto.Spotify utilizza l’abilità di NPL (il quale funzionamento ha a che fare con il machine learning) per sondare blog, siti autorevoli e altre risorse per capire cosa si sta dicendo a riguardo dei trend musicali e dei brani specifici. Ogni termine legato ad un brano viene analizzato e gli viene dato un “peso”, maggior numero di hyperlinks, references, e “belle parole” vengono spese per un brano nell’intero universo del web e maggiore “peso” è in grado di aumentare il rapporto di condivisione e di raccomandazioni di una traccia.
  3. Raw Audio, questo meccanismo, esplorato in parte da Echo Nest, utilizza le reti neurali (in particolare reti a convoluzione) per creare delle features per ogni traccia che viene caricata su Spotify. Questo meccanismo non discrimina le tracce in base alla popolarità o alla data di release, quindi, tecnicamente, darebbe una chance in più alle tracce sconosciute di essere scoperte e messe sulle New Discover Weekly.
Le sette features che vengono estratte da Spotify attraverso questo algoritmo sono:
  • A – Energy. Da 0% a 100% è la misura dell’intensità e attività di una traccia. Tipicamente, le tracce energetiche, veloci, forti e rumorose hanno un valore alto. Ad esempio il Death Metal ha un’alta energia mentre il preludio di Back ha un’energia più bassa. Questa feature include anche il range dinamico, la loudness percepita, il timbro e l’entropia generale.
  • B – Acousticness. La misurazione, da 0% a 100% di quanto una traccia sia acustica rispetto ad elettronica.
  • C – Instrumentalness. La misurazione di quanto cantato o parlato ci sia all’interno di un brano. “Ooh” e “aah” sono considerati strumentali in questo contesto. Valori sopra il 50% intendono tracce con buona probabilità ad essere strumentali.
  • D – Liveness. Determina la presenza di un pubblico nella registrazione, alti valori di liveness rappresentano una buona probabilità che la traccia sia stata registrata live.
  • E- Speechness. Determina la quantità di parole parlate all’interno di una traccia, per individuare talk show o audio libri. Valori sopra il 60% o 70% significano che probabilmente la traccia è composta esclusivamente di parole, valori tra il 33% e il 66% indicano tracce che contengono sia cantato che parlato.
  • F – Danceability. Descrive se una traccia è predisposta per il ballo, questo si basa su una combinazione di fattori quali, bpm, ritmo e importanza del beat.
  • G – Valence. Si tratta di una misura da 0% a 100% che descrive le attitudini positive di un brano. Tracce con alto valence sono tracce positive (felici, euforiche o pacifiche) mentre tracce con un basso valore di valenza indicano valori di negatività (tristezza, depressione, arrabbiatura).

Questi valori sono utilizzati anche per comporre altri tipi di playlist Spotify, non solo NDW, e sono molto utili per aiutare gli uomini a capire se una traccia può essere potenzialmente interessante per una playlist senza neanche ascoltarla.

Come funziona la Discover Weekly

La New Discover Weekly é veramente una scoperta fantastica di Spotify. Altri grandi passi in avanti del colosso svedese sono in programma, vi terremo aggiornati !!