Moteur de recommandation musicale sémantique basé sur l'IA, la recherche vectorielle et la visualisation — une alternative plus fine aux systèmes fondés sur la popularité.
Les moteurs de recommandation traditionnels sont performants, mais ils ont des limites fondamentales. J'ai voulu explorer une autre approche.
Cold Start
Un nouvel album sans historique d'écoute est invisible pour les systèmes collaboratifs. Le contenu, lui, existe dès la sortie.
Filter Bubble
Les algorithmes ont tendance à enfermer l'utilisateur dans sa zone de confort, réduisant la découverte musicale à des variations du même univers.
Dimension émotionnelle ignorée
Les plateformes ne comprennent pas pourquoi deux albums se ressemblent. L'ambiance, le style, la texture sonore — tout ça est absent des modèles classiques.
L'idée : au lieu de dire "les utilisateurs qui aiment X aiment aussi Y", le système cherche à comprendre pourquoi deux albums se ressemblent — à travers leurs chroniques, leurs styles et leur texture sémantique.
Une application complète articulée autour de modes d'exploration complémentaires.
L'utilisateur décrit ce qu'il cherche avec des mots-clés de son choix. Le moteur convertit cette requête en vecteur et retourne les albums les plus proches dans l'espace sémantique, avec un score de similarité.
L'utilisateur peut formuler une envie abstraite — "une musique pour conduire la nuit sous la pluie". Le LLM Llama 3 interprète cette intention et la transforme en descripteurs exploitables : genres, atmosphère, tempo, instrumentation.
Les embeddings à 384 dimensions sont projetés en 3D via UMAP, rendant visibles les proximités entre univers musicaux. Chaque point est un album. Des zones cohérentes émergent naturellement, révélant la structure latente du corpus.
Fonctionnalité expérimentale : interpolation vectorielle entre deux albums ou artistes pour générer des étapes de transition progressives. À chaque point interpolé, l'album réel le plus proche est retrouvé, avec un traitement spécifique de déduplication.
Un projet à la croisée de l'IA appliquée, du génie logiciel et de l'UX autour d'un moteur intelligent.
NLP & Embeddings
Représentation de textes en vecteurs denses, Sentence-Transformers, similarité sémantique.
Vector Database
Indexation et recherche dans Milvus (HNSW), gestion de collections, requêtes vectorielles.
API Backend
Architecture FastAPI, endpoints RESTful, pipeline de données de bout en bout, Docker.
Intégration LLM
Prompt engineering avec Llama 3, traduction d'intentions naturelles en requêtes exploitables.
Data Visualisation
Projection UMAP, carte interactive de l'espace latent, exploration visuelle de 14 000 albums.
UX & Conception
Rendre accessibles des notions techniques complexes via une interface Streamlit ergonomique.
Le système repose sur une architecture découpée en briques indépendantes et orchestrées via Docker.
Ce que j'en retiens
Ce projet m'a permis d'aller plus loin qu'un projet purement académique classique — en abordant des sujets concrets comme la structuration d'un backend, l'indexation vectorielle, l'orchestration de services et l'expérience utilisateur autour d'un moteur intelligent.