📱 Vous ouvrez votre application de streaming et, au lieu de vous noyer dans les catalogues de musique, vous pouvez immédiatement activer des listes de lecture, avec des musiques adaptées à vos goûts.
👉 Tout cela est possible grâce aux systèmes de recommandation musicale, basés sur l’IA (MRS).
❌ Il est difficile de savoir exactement comment un algorithme de recommandation fonctionne, car les entreprises qui les utilisent ne divulguent pas leur fonctionnement en détail.
➡️ La plupart des algorithmes utilisent une combinaison d’approches, pour pouvoir recommander de la musique aux utilisateurs.
C’est quoi un système de recommandation musicale ? 🤔
👉 Le système de recommandation est un système de filtrage, dont le but est de prédire la préférence qu’un utilisateur donnerait à une musique.
💡 Que nous en soyons conscients ou non, plusieurs systèmes de recommandation font partie intégrante de notre vie.
En commençant par des suggestions de produits publicitaires ciblés avec précision, des listes de lecture personnalisées de vidéos et de musiques.
🌟 TikTok est, par exemple, fabriqué autour d’un moteur de recommandation de musiques. C’est pourquoi les algorithmes de TikTok sont considérés comme uniques, et promettent de nombreuses opportunités aux créateurs, pour qu’ils puissent se développer de manière organique (avec l’aide des algorithmes du système de recommandation).
🎵 Dans l’industrie de la musique, les systèmes de recommandation font partie d’un grand nombre d’applications de streaming comme Spotify, YouTube Music, Deezer, etc.
✅ Ils servent à garantir une expérience de streaming optimale.
Comment fonctionne un système de recommandation musicale ? 🎧
👉 Les algorithmes de recommandation musicale utilisent des données (préférences musicales des utilisateurs), afin de pouvoir recommander de la musique qui est susceptible de leur plaire.
Il existe plusieurs manières de mettre en place ces algorithmes, dont voici quelques approches courantes :
- L’analyse de la fréquence des écoutes : l’algorithme peut recommander de la musique, qui est similaire à celle que l’utilisateur a écoutée auparavant. Par exemple, si vous écoutez souvent de la pop, l’algorithme pourrait recommander d’autres chansons pop.
- L’analyse des tags : les musiques sont souvent associées à des tags qui décrivent leur genre, leur style ou leur ambiance. L’algorithme peut recommander de la musique qui a des tags similaires, à ceux des chansons que l’utilisateur a écoutées auparavant.
- L’analyse des utilisateurs similaires : l’algorithme peut recommander de la musique qui est appréciée par des utilisateurs, qui ont des préférences musicales similaires à celles de l’utilisateur cible.
- L’analyse du contexte : l’algorithme peut également tenir compte du contexte, dans lequel l’utilisateur écoute de la musique, comme l’heure de la journée ou l’activité qu’il ou elle est en train de faire.
L’algorithme de recommandation musicale de Spotify
📱 La société suédoise Spotify est considérée comme une reine dans l’industrie de la musique, depuis que les services de streaming sont devenus l’une des principales sources de revenus, pour les artistes et les labels.
⚠️ La valeur de la mise en œuvre d’un système de recommandation, dans le service ne pas peut être négligée, car elle a un impact massif non seulement sur les activités de Spotify, mais également sur l’ensemble de l’industrie de la musique.
De nouvelles opportunités
💰 Les algorithmes recommandant la musique en fonction de l’expérience d’écoute, plutôt que des meilleurs artistes, ont aidé à gérer, dans une certaine mesure, le problème de la répartition inégale des redevances.
👨 Avant MRS, les auditeurs préféraient écouter les meilleurs artistes et musiques célèbres. Les artistes émergents n’avaient donc quasiment aucune chance d’être découverts.
👉 Avec l’aide de MRS, Spotify a réorganisé la musique autour des préférences, et de l’humeur des utilisateurs, ce qui a ouvert de nouvelles opportunités aux acteurs de l’industrie et aux auditeurs.
Vente de données
💰 En rassemblant des données détaillées sur les habitudes des auditeurs, Spotify peut vendre ces données aux annonceurs.
👉 Tout ceci est d’une grande valeur pour l’ensemble des acteurs du marché, y compris les labels qui octroient des licences de musique au service de streaming.
🖥 Les données fournissent à l’industrie des informations sur les habitudes des auditeurs, leur permettant de comprendre comment ils consomment de la musique, et ce qu’ils aiment d’autre.
🎧 Spotify compte plusieurs centaines de millions d’utilisateurs. Pour chacun d’eux, une nouvelle playlist « Discover Weekly » arrive tous les lundis. Spotify est considéré comme l’un des principaux services de streaming, et son algorithme de recommandation de musiques peut se vanter d’un taux de précision élevé.
🛠️ Spotify n’a pas inventé un nouvel algorithme, mais l’entreprise a plutôt combiné 3 des meilleurs qui sont utilisés dans le domaine. Le résultat final est un puissant mécanisme unique, qui établit une liste très précise de recommandations.
Les 3 modèles d’algorithme 💻
👉 Le service utilise 3 modèles pour créer des playlists avec les recommandations :
- Filtrage collaboratif
- Modèle NLP pour l’analyse de texte
- Modèle audio pour l’analyse de fichiers audio
Filtrage collaboratif
💡 Le filtrage collaboratif est une technique utilisée dans les algorithmes de recommandation, pour prédire les préférences d’un utilisateur, en se basant sur les préférences de plusieurs autres utilisateurs.
➡️ Il y a 2 types de filtrage collaboratif : le filtrage collaboratif basé sur les utilisateurs, et le filtrage collaboratif basé sur les items.
👨 Le filtrage collaboratif basé sur les utilisateurs consiste à trouver des utilisateurs, qui ont des préférences similaires à celles de l’utilisateur cible, et à recommander des items (par exemple, des musiques) qui ont été appréciés par ces utilisateurs similaires.
👉 Par exemple, si vous avez des préférences musicales similaires à celles de quelqu’un d’autre, l’algorithme pourra recommander de la musique qui a été appréciée par cette personne.
👍 Le filtrage collaboratif basé sur les items consiste à trouver des items, qui ont été appréciés par des utilisateurs ayant des préférences similaires à celles de l’utilisateur cible, et à recommander ces items à l’utilisateur cible.
✅ Le filtrage collaboratif peut être un moyen efficace de recommander de la musique, ou d’autres items aux utilisateurs, car il tient compte des préférences de plusieurs personnes, pour pouvoir trouver des recommendations adaptées à l’utilisateur cible.
⚠️ Cependant, il peut également entraîner des biais, car il peut recommander des items qui sont appréciés par un groupe d’utilisateurs similaires, mais qui ne sont pas forcément adaptés à l’utilisateur cible.
Modèle NLP
👉 Le modèle NLP de Spotify recherche constamment sur Internet des articles, sur les auteurs-compositeurs et les musiques.
🔎 Après avoir collecté les informations, le modèle utilise les descriptions, et analyse leur contenu pour construire le vecteur.
💡 La comparaison de vecteurs permet de déterminer la similarité de 2 musiques, ou plus.
👶 Dans le cas où un artiste débutant télécharge sa musique sur la plateforme, les 2 premiers modèles n’afficheront pas cette musique dans les listes recommandées, car il y a peu ou pas de données à ce sujet sur le réseau. Et elle ne sera pas incluse dans l’échantillon de filtrage collaboratif.
👉 C’est là que le 3ème modèle vient compléter le NLP.
Modèle audio pour l’analyse de fichiers audio
🔎 Ce modèle analyse la musique à l’aide d’un réseau convolutif de neurones, et crée un spectrogramme.
🧠 Après avoir traversé le réseau, l’algorithme connaît les caractéristiques de la musique (son volume, son timbre, son harmonie, etc).
🎵 Il les compare ensuite avec les caractéristiques d’autres musiques, et en trouve des similaires. La piste passe ensuite à la playlist Discovery mode.
💡 La plupart des plateformes de streaming ont des listes de lecture, de recommandations similaires. Ce n’est donc pas quelque chose de propre à Spotify.
👉 Avec l’exemple de Spotify, on peut voir qu’il est possible d’utiliser un modèle hybride d’un système de recommandation, qui unifie les avantages de plusieurs modèles, tout en neutralisant leurs inconvénients pour ainsi atteindre une grande précision.
Les objectifs & les récompenses des algorithmes de recommandation – Spotify
🌟 L’objectif principal du système de recommandation Spotify concerne principalement la rétention, le temps passé sur la plateforme et la satisfaction (d’une manière générale) des utilisateurs.
❌ Cependant, ces objectifs sont bien trop larges pour concevoir un système de récompense équilibré, pour les algorithmes ML servant des recommandations de contenu, dans une variété de fonctionnalités et de contextes.
Le succès pour les algorithmes dépendra donc, en grande partie, de l’endroit, et de la raison pour laquelle l’utilisateur s’engage avec le système.
👉 Par exemple, le succès des fonctionnalités de file d’attente de lecture automatique est, principalement défini, en termes d’engagement de l’utilisateur (retour explicite/implicite sur les taux d’écoute et de saut, sauvegardes de la bibliothèque et de la liste de lecture, clics vers le profil de l’artiste et/ou l’album, partages, etc.).
Release Radar
👉 Dans le cas des listes de lecture Release Radar, les récompenses sont très différentes, car les utilisateurs parcourent plus souvent la liste de lecture, plutôt que de l’écouter entièrement.
🔎 Ainsi, au lieu d’étudier l’engagement avec le contenu, les algorithmes optimiseraient la rétention des fonctionnalités à long terme, et un comportement spécifique aux fonctionnalités.
📅 Pour l’algorithme, les utilisateurs sont satisfaits de la fonctionnalité s’ils y reviennent chaque semaine. Les utilisateurs sont satisfaits de Release Radar, s’ils enregistrent des pistes dans leurs listes de lecture, ou leurs bibliothèques.
Discover Weekly
👉 Dans certains cas, Spotify utiliserait un autre ensemble d’algorithmes, afin de concevoir les fonctions de récompense pour Discover Weekly.
👩🏫 Spotify a formé un modèle ML distinct, pour pouvoir prédire la satisfaction des utilisateurs avec cette fonctionnalité.
🔎 Ce modèle examinerait toutes les données d’interaction de l’utilisateur, le comportement de l’utilisateur avec Discover Weekly, et les groupes d’objectifs de l’utilisateur (si l’utilisateur utilise Discover Weekly en arrière-plan, pour rechercher de la nouvelle musique, enregistrer de la musique, etc.).
💡 L’algorithme produit ensuite une métrique de satisfaction unifiée, basée sur toute l’activité.
➡️ La prédiction de satisfaction produite par le modèle, est ensuite utilisée comme récompense pour l’algorithme, qui composerait les listes de lecture Discover Weekly, créant ainsi un système de récompense, qui ne repose pas sur des signaux utilisateur cloisonnés, et potentiellement erronés.
Le système de recommandation Spotify est un système extrêmement complexe, avec potentiellement des centaines d’algorithmes, et de modèles ML utilisés à différents niveaux.
🌟 Tous travaillant ensemble pour créer l’une des expériences de recommandation, les plus avancées sur le marché du streaming musical.
Comment coder un système de recommandation musicale ? 💻
👉 Il existe plusieurs façons de coder un système de recommandation musicale, mais voici quelques étapes générales pour créer un système de base :
Collecter des données 📁
🎵 Il est important de collecter des données sur les utilisateurs (historique d’écoute, les musiques qu’ils aiment ou n’aiment pas), et sur les musiques elles-mêmes (le genre, l’artiste, le tempo, etc.).
Nettoyer et préparer les données 🧹
Les données collectées doivent être nettoyées et préparées, afin d’être utilisées par le modèle.
Cela peut inclure la suppression des données manquantes ou dupliquées, la normalisation des données, etc.
Construire un modèle 🛠️
Il existe plusieurs algorithmes de modélisation qui peuvent être utilisés, pour créer un système de recommandation (filtres collaboratifs, modèles de contenu, réseaux de neurones, etc.).
Le choix de l’algorithme va dépendre des données disponibles, et des besoins spécifiques du système.
Entraîner et évaluer le modèle 🏋️
Une fois que le modèle est construit, il doit être entraîné sur les données collectées, et évalué pour mesurer sa performance.
Intégrer le système 🖥
Enfin, le système de recommandation peut être intégré à une application ou à un site web, pour fournir des recommandations de musiques aux utilisateurs.
💡 Il faut noter que ce ne sont que des exemples de base. Il y a de nombreux autres facteurs et nuances à prendre en compte, lors de la création d’un système de recommandation.
Exemples de code
👉 Il existe de nombreux exemples de code disponibles pour créer un système de recommandation musicale, en fonction de l’algorithme utilisé et de la plate-forme cible.
Voici quelques exemples de code pour différents algorithmes populaires :
Filtrage collaboratif
💻 L’un des algorithmes les plus couramment utilisés pour les systèmes de recommandation, est le filtrage collaboratif.
➡️ Voici un exemple de code Python pour créer un système de filtrage collaboratif, basé sur les notes utilisateur-produit, en utilisant la bibliothèque de traitement de données Pandas, et la bibliothèque de calcul scientifique Numpy :
import pandas as pd
import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
# Chargement des données
data = pd.read_csv(« music_data.csv »)
# Création de la matrice utilisateur-produit
user_item_matrix = data.pivot_table(index=’user_id’, columns=’song_id’, values=’rating’)
# Remplacement des valeurs manquantes par 0
user_item_matrix = user_item_matrix.fillna(0)
# Calcul de la similarité cosinus entre les utilisateurs
user_similarity = cosine_similarity(user_item_matrix)
# Recommandation pour un utilisateur donné
user_id = 5
user_similarity[user_id-1]
Modèle de contenu
👉 Il est possible de créer un système de recommandation basé sur les caractéristiques d’un élément (par exemple, les métadonnées d’une musique), plutôt que sur les comportements des utilisateurs.
➡️ Voici un exemple de code Python pour créer un système de recommandation, basé sur les caractéristiques de musique, en utilisant la bibliothèque de traitement de données Pandas, et la bibliothèque de traitement de données de test Scikit-learn :
import pandas as pd
from sklearn.metrics.pairwise import cosine_similarity
# Chargement des données
data = pd.read_csv(« song_data.csv »)
# Sélection des caractéristiques de chanson
song_features = data[[‘artist’, ‘genre’, ‘tempo’, ‘loudness’]]
# Calcul de la similarité cosinus entre les chansons
song_similarity = cosine_similarity(song_features)
# Recommandation pour une chanson donnée
song_id = 10
song_similarity[song_id-1]
💡 Il est important de noter que ces exemples ne sont que des exemples de base. Il existe de nombreuses autres façons de créer un système de recommandation musicale.
Conclusion
👉 Comme tous les autres types de système de recommandation, un système de recommandation de musique est conçu à l’aide de l’apprentissage automatique, et de l’intelligence artificielle.
💡 La création d’un tel système nécessite une grande expertise, un (énorme) ensemble de données sur les utilisateurs, et les musiques qu’ils écoutent.
🎧 En utilisant ces données, les entreprises peuvent combiner des modèles, et ainsi créer des solutions personnalisées.
➡️ Par exemple, elles peuvent créer et programmer des algorithmes, qui se concentreront sur le moment où un utilisateur écoute une certaine musique.
🎵 Grâce à tout ça, elles peuvent générer des listes de lecture personnalisées, en fonction des critères de synchronisation, comme les listes de lecture de musique du matin, ou les listes de lecture du week-end.
👉 Même si les principes de base des systèmes de recommandation musicale sont similaires, leur valeur appliquée peut être différente.
Les possibilités de MRS peuvent varier, en fonction des types de modèles que vous choisissez d’intégrer et des données que vous utilisez.
🌟 Mais tout commence par les objectifs, le modèle commercial, les habitudes des utilisateurs et les fonctionnalités de l’application.