darma | développement web freelance

Tips & Codes sources

Analyse du réseau Last.fm : Des millions de choix individuels

Rock, pop, soul, indie, indie pop, indie pop-rock, hip-hop, synthpop, free jazz, country, etc. sont des tags parmi des milliers d'autres attribués par les utilisateurs de Last.fm à la musique qu'ils écoutent.
Individuellement, chaque utilisateur choisit, pour chaque artiste, un ou plusieurs attribut(s), une manière de classer, trier, qualifier, reconnaître la musique - chacun à sa manière propre, suivant le sens et la valeur propre qu'il donne à chaque tag.
  • Peut-on imaginer qu'il ressorte de ces millions d'actions isolées un quelconque dessin, ordre, schéma, en bref un motif reconnaissable?
  • Les infinis débats au sujet des genres musicaux, quel artiste pour quel genre, quelle appartenance de quoi à qui, ont-ils une seule et unique réponse juste, ou bien la somme de toutes les opinions individuelles est-elle porteuse d'un sens général pouvant faire foi?
  • Nos intuitions au sujet des origines et histoires des genres musicaux, des rapprochements entre styles pourront-ils se retrouver dans cette étude de milliers de comportements, ou obtiendra-t-on un total chaos?

Analyse du réseau Last.fm, 3D Music Map et filtrage collaboratif

Le filtrage collaboratif : Audioscrobbler

Derrière Last.fm se cache une technologie alliant tracking et statistiques : Audioscrobbler.
Audioscrobbler enregistre les habitudes d'écoute (artistes, morceaux, récurrence) de chaque utilisateur afin de construire une matrice utilisateur / artiste, puis par le biais de similarités de comportements entre utilisateurs, de calculer une matrice de similarités entre artistes (artiste / artiste).
» Lire "le filtrage collaboratif" sur Wikipedia.

Artistes similaires et outils d'analyse

A l'époque de ces recherches, en Juin 2007, Last.fm proposait pour chaque artiste sur son site une page d'artistes similaires déterminés par Audioscrobbler : 100 artistes étaient à chaque fois présentés, avec pour chacun un pourcentage de similarité.
Ce sont ces données de similarités entre artistes et leurs tags associés qui ont été collectés grâce à un script de web crawling (un robot PHP se comportant comme un navigateur et récupérant des données clé dans le HTML de chaque page, d'artiste en artiste similaire) pour être enregistrés dans une base de données locale puis scrutés à l'aide de logiciels d'analyse de réseaux :
  • Pajek, programme Windows développé par Vladimir Batagelj et Andrej Mrvar, analyse et visualisation de réseaux étendus. De nombreux ouvrages existent à son sujet.
  • Tulip, logiciel de clustering et visualisation de graphes développé en C++ par David Auber.
Ce dernier, Tulip, s'est montré le plus concluant et ludique, permettant une meilleure visualisation des clusters et une meilleure customisation d'affichage (vue en 3D, couleurs données à chaque point, etc.).

Résultats

1. Affichage des tags, images PNG de la sortie directe Tulip

Résultats obtenus avec Tulip, et 2000 à 5000 points parmi les artistes les plus écoutés.
Les 3 tags les plus attribués sur Last.fm étant "indie", "pop" et "rock", les 3 canaux de couleurs rouge-vert-bleu ont été utilisés respectivement et de manière pondérée (par les occurences d'attribution de chacun d'eux) pour colorer chaque point : par exemple un artiste taggué 700 fois "indie" et 300 fois "rock" sera coloré à 70% de rouge et 30% de bleu, donnant un rose violacé :
Last.fm, affichage 3D des tags et artistes Last.fm, affichage 3D des tags et artistes Last.fm, affichage 3D des tags et artistes
On discerne nettement une masse centrale rose ("indie" + "rock") qui s'étend en plusieurs branches distinctes à ses extrémités :
  • vers la "pop" (en vert) puis progressivement vers "soul" + "RnB" + "hip-hop", et vers d'autres branches "blues" et "jazz".
  • vers "indie" + "electro" + "synthpop" (rouge + jaune) puis vers un cluster "transe".
  • vers "rock", "classic rock" et "progressive rock" (bleu).
  • vers "reggae" et "dub" (bleu foncé).
Sont également présents, liés par des hubs à la masse centrale, des clusters très fermés (masses sombres, ou regroupements forts de points très inter-connectés) :
  • "industrial"
  • "black metal" + "death metal" + "gothic metal" + "trash metal"
  • "post-rock"
  • "screamo"

2. Affichage des tags ou artistes, Flash 3D dynamique

Les coordonnées (X,Y,Z) de chaque point dans l'espace calculées par Tulip ont ensuite été importées dans un script AS2 permettant une vue réelle 3D, avec possibilité de : zoomer / dézoomer, effectuer une rotation de l'espace, afficher les tags ou les artistes, afficher ou masquer les labels, cliquer sur chaque point pour un zoom automatique.

400 points parmi les artistes les plus écoutés sur Last.fm (affichage fluide)
» ouvrir le Flash en plein écran
2993 points parmi les artistes les plus écoutés sur Last.fm (l'affichage devient très saccadé, Flash en peine, maintenir les boutons un moment enfoncés)
» ouvrir le Flash en plein écran
Malgré l'animation désagréable à suivre, l'affichage 3D permet de mieux discerner les clusters, et d'observer des dégradés (attribution des tags "indie" / "pop" / "rock") presque parfaits de genres en genres, de "indie" vers "rock" (rose à bleu), de "rock" et "indie" à "pop" puis "soul" puis "RnB" (violet à vert).

Social Beauty

La disposition des points (artistes) dans l'espace résulte de la méthodologie d'Audioscrobbler et est une représentation de ses calculs et de son modèle : plus le nombre d'utilisateurs écoutant à la fois l'artiste A et l'artiste B est proportionnellement grand, plus les artistes A et B sont décrits comme "similaires" et se retrouvent proches dans le réseau. Inversement, si presque aucun utilisateur écoutant B n'écoute C, B et C se retrouvent éloignés l'un de l'autre.
La position des points dans l'espace est donc a priori indépendante des tags leur étant assignés; et pourtant, on trouve d'incroyables régularités et harmonies dans les nuances de genres et inter-genres attribués aux artistes, motif résultant non pas des décisions d'une entité maîtresse mais de la combinaison de tous les choix de tous les utilisateurs.

Remarques

La méthode employée de récupération des données (web crawling par artistes similaires), le choix des points d'entrées dans le réseau, ainsi que le nombre relativement faible de points pris en compte ont pu contribuer à renforcer l'ordre observé. Néanmoins le résultat est de toute beauté!