Alma Mater Studiorum – Università di Bologna Corso di Sisitemi Informativi per le Decisioni A.A. 2006-2007 Prof. Ing. Marco Patella Lacorte Francesco Sirianni Paolo Music Information Retrieval Aumento esponenziale dei contenuti musicali Sviluppo costante di mezzi per l’accesso di musica online (streaming and purchase) L’ 80% delle vendite totali 3% dei titoli in commercio Nuove esigenze: creare una nuova tassonomia necessità di nuovi “search & retrieval tools” Modalità di classificazione e ricerca Basate sui classici metadata (artista, genere, anno…) Basate su approcci collaborativi, tenendo traccia degli acquisti e degli ascolti sui vari portali di utenti con gusti simili (Last.fm) content-based retrieval (search sui data) effettuato per similitudine su: - rappresentazioni simboliche (MIDI) - rappresentazioni acustiche (wav, mp3) Pandora.com Nel 2000 Tim Westergren, promuove un nuovo progetto (commerciale) di classificazione della musica <<Can you help me discover more music that I'll like? >> Attività di raccomandazione di contenuti musicali Rimanda a siti come iTunes e Amazon per l’eventuale acquisto di titoli musicali Music Genome ProjectTM “gene” “cromosoma” Alcuni attributi: Aggressive Female Vocalist Boogie Woogie Rhythms “genoma” Dirty Electric Guitar Riffs Electric Guitars Explicit Lyrics Great Electric Guitar Solo Major Key Tonality … L’analisi di ogni brano richiede circa 15-20 minuti da parte di esperti Ogni canzone è descritta da un insieme di caratteristiche dette “geni” http://en.wikipedia.org/wiki/List_of_Music _Genome_Project_attributes I geni sono raggruppati in gruppi logici detti cromosomi L’insieme dei cromosomi vanno a costituire il genoma Ogni brano risulta in definitiva rappresentato come un vettore di massimo 400 attributi Schema di funzionamento Source Core Engine Identify focus traits MGP database Find matching songs User Select focus Traits for reweight Choose new seed Focus traits Core Engine raggiunto valore soglia per un certo gene? gene identificato come Definer? gruppi di geni soddisfano criteri specifici? Focus trait Focus trait Focus trait sono individuati applicando le triggering rules al brano seme rappresentano gli “aspetti” su cui focalizzare la ricerca possono cambiare nel tempo in seguito ai feedback dell’utente Evoluzione dinamica dei criteri di creazione della playlist Visualizzazione dei focus traits Matching method (song to song) Seed song S = (s1,s2,s3,…,sn) Cercare K punti geometricamente vicini: problema K-NN Distanza (S,T)= Ai vettori S e T viene applicata una funzione f(x) per esprimere la non linearità dei dati Distanza (S,T)= w f s f t 2 s t i 1 i i n privilegia le canzoni che hanno molte piccole differenze rispetto a quella seme piuttosto che poche differenze grandi I “geni” non sono tutti ugualmente importanti: 2 l’importanza viene espressa mediante un opportuno vettore di pesi: W = (w1,w2,w3,…,wn) i1 wi si ti n Distanza (S,T)= 2 Indicizzazione nel database elevato numero di record (circa 2 milioni di brani ad oggi) alta dimensionalità dei dati root internal nodes leaf parent data-point La distanza di ogni foglia dalla sua leaf-parent è minore della distanza della stessa foglia da qualsiasi altra leaf-parent La ricerca dei K-NN funziona con una logica di lista (parte dai più vicini ed espande) Non bilanciato Multi-Song Matching (1) Il seme può non essere una singola canzone • Viene scelto come “seme” la discografia di un artista • Viene scelto come seme un gruppo di canzoni high deviation axis viene identificato un “brano virtuale” (virtual song) che rappresenta idealmente il centro del seed set la virtual song è in grado di esprimere l’ ”ampiezza” del set scelto ci avviciniamo nel senso più ampio del termine ai gusti reali dell’utente low deviation axis Multi-Song Matching (2) La virtual song è rappresentata con una coppia di vettori: C=(m1,m2,m3,…,mn esprime le coordinate del centroide nello spazio multidimensionale I suoi elementi rappresentano la media aritmetica dei geni del seed set D=(s1,s2,s3,…,sn indica l’ “ampiezza” del set originario l’i-esimo elemento rappresenta la deviazione standard dell’i-esimo gene nel seed set Il vettore peso del multi song I valori del vettore varianza possono essere intuitivamente utilizzati per affinare il vettore dei pesi: Una varianza bassa (alta) è associata a un gene con un valore “molto (poco) desiderato” wi ' wi s2 La formula della distanza della virtual song C rispetto a una target song T è espressa quindi come: Distanza (C,T)= n i 1 wi s i2 si ti 2 In caso di s2=0 il peso diverrebbe infinitamente grande, viene quindi introdotto un fattore correttivo per ovviare al problema wi 0,25 2 si ti Distanza (C,T)= i 1 2 s i 0,25 n MindReader (Ishikawa, Subramanya, Faloutsos, 1998) “Indovinare” le preferenze di un utente in base a un set di esempi “positivi” da lui forniti L’utente fornisce una serie di esempi L’utente può eventualmente assegnare uno score agli esempi Gli esempi forniti godono di correlazione spaziale come dedurre la query implicitamente richiesta dall’utente? individuare una distanza opportuna partendo dagli esempi ? Euclidea q ? Euclidea pesata q Funzione distanza (1) generalized ellipsoid distance: D(x, q) = (x – q)T M (x – q) anche D(x, q) = Sj Sk mjk (xj – qj) (xk – qk) q Formulazione del problema: Dati Minimizzare la N vettori esempio di dimensione n una scala di valutazione D(x, q) = (x – q)T M (x – q) Trovare Sotto il vincolo la matrice M ottima Il punto q ottimo det(M) = 1 Funzione distanza (2) Risolvendo con i Moltiplicatori di Lagrange… Teorema 1. Il query point ottimo è dato da: q = x = [x1, …, xn]T= XT v / S vi Teorema 2. La matrice ottima delle distanze sarà: M = (det(C))1/n C–1 C = [cjk] è la matrice di covarianza cjk = S vi (xik - xk) (xij - xj) Teorema 3. Se si restringe la matrice ottima alla sola diagonale si ha: m jj 1 s 2 j (ovvero quello usato da Pandora per il re-weight) Conclusioni… Pandora.com è una realtà economica: 15 milioni di dollari di fatturato nel 2005 5 milioni di utenti giornalieri Pandora ha creato un nuovo modello di business che inizia a convincere piccole e grandi etichette musicali Punti deboli: Problema del popolamento del database: Data preparation lunga (su 20-25 minuti per una traccia di 3-4 minuti) Soggettività nell’attribuzione dei valori Ridotta trasparenza degli effetti dei feedback