Come funziona davvero iTunes Genius

Da quando il lungometraggio ha debuttato nel 2008, ce ne sono stati molti speculazione su come iTunes Genius realizza la sua magia di creazione di playlist. Ora un ingegnere di Apple che lavora nel team di iTunes Genius ha rivelato alcuni indizi allettanti –una rara rivelazione per la società famigerata segreta.





Ricapitolando ciò che Steve Jobs ha detto in precedenza su iTunes Genius, l'ingegnere Apple Erik Goldman scrive nel suo posta su Quora che il punto di partenza per il servizio Genius è un pacchetto di dati di utilizzo - quali brani un utente ha nella sua libreria (e, presumibilmente, quanto spesso li riproduce) - inviati dall'applicazione iTunes che è piegata in un più grande database di utenti e canzoni.

Fondamentalmente, la tua libreria di tracce viene confrontata con tutte le librerie di tracce degli altri utenti Genius. Apple esegue quindi una serie di algoritmi precedentemente segreti, che Goldman ha descritto come semplici algoritmi di raccomandazione simili a quelli utilizzati da altri servizi come Netflix quando suggerisce i film per un utente da guardare ora o aggiungere alla sua coda, per generare statistiche per ogni canzone. Queste statistiche vengono calcolate globalmente a intervalli regolari e archiviate in una cache, osserva Goldman, perché i dati sulla somiglianza di due canzoni qualsiasi cambiano lentamente: si presume che l'unica ragione per cui cambiano sia a causa dei gusti mutevoli del pubblico che ascolta, e l'introduzione di nuovi brani e artisti.

Goldman scherza dicendo che se ti dicesse come funziona Genius, dovrebbe ucciderti (o almeno avere una squadra di agenti di polizia razzia il tuo cervello per recuperare la legittima proprietà di Apple), ma continua a descrivere comunque come funziona il programma.

Per scoprire parte di come funziona iTunes Genius, dice Goldman, guarda gli algoritmi di recupero delle informazioni, specialmente quelli che sfruttano il modello dello spazio vettoriale. Ma prima di poter confrontare fattori, come la frequenza di un particolare artista o genere nella libreria o nelle playlist di un utente, attraverso le librerie di iTunes tramite un modello Vector-Space, è necessario un modo intelligente per definire il fattore che dà più peso alle cose che importa davvero.



Un modo semplice per ponderare correttamente i fattori per il confronto è ciò che è noto come termine frequenza-frequenza documento inversa (tf-idf). È semplicemente un modo per confrontare la frequenza con cui un particolare fattore si verifica in un singolo documento (o brano o libreria) con la frequenza con cui quel fattore si verifica in un corpo più ampio come la somma di tutte le librerie iTunes archiviate dai server Genius. Pertanto, un fattore che si verifica abbastanza spesso nella libreria di un determinato utente, ad esempio un'affinità per un'oscura band indy, tenderà a essere un fattore determinante più potente, a meno che non accada anche abbastanza spesso nell'insieme totale di dati, come sarebbe il caso se il fattore fosse un'affinità per i Beatles.

Una volta che hai ordinato i tuoi pesi tf-idf, puoi rappresentarli in un modello di spazio vettoriale come vettori.

In questo esempio (cortesia Wikipedia ) due diversi documenti (o canzoni) hanno tutti i loro vari pesi tf-idf rappresentati come un singolo vettore (es d1) che può quindi essere confrontato con un secondo documento/vettore (es d2) e una query (q) – come quale di queste due canzoni è più simile a quella per cui ho appena cliccato sul pulsante 'genio'. Qualunque sia l'angolo più vicino al tuo vettore di query è più simile.



Scavando più a fondo nel sistema iTunes Genius, Goldman parla del suo utilizzo di algoritmi a fattore latente. Gli algoritmi a fattore latente, in particolare, tendono a funzionare molto bene su enormi set di dati con un numero enorme di dimensioni e molto rumore, afferma Goldman.

Fattori latenti sono ciò che scuote quando si esegue un particolare tipo di analisi statistica, chiamata a analisi fattoriale , su un insieme di dati, cercando le variabili nascoste e invisibili che causano la variazione in tutte le diverse variabili che stai esaminando. Diciamo che la variabilità in una dozzina di variabili diverse risulta essere causata da solo quattro o cinque variabili nascoste: questi sono i tuoi fattori latenti. Fanno sì che molte altre variabili si muovano in modo più o meno sincronizzato.

Scoprire i fattori nascosti o latenti nel tuo set di dati è un modo pratico per ridurre le dimensioni del problema che devi calcolare e funziona perché gli esseri umani sono prevedibili: le persone a cui piace la musica Emo sono tristi e le persone tristi amano anche le colonne sonore alle versioni cinematografiche di romanzi di vampiri che parlano di desiderio, ecc. Potresti pensarlo come l'espressione matematica di uno stereotipo: funziona.



Se vuoi approfondire questo argomento, Goldman ti suggerisce di leggere i giornali che è uscito dal premio Netflix da un milione di dollari, che è stato vinto da una combinazione di team guidati da ingegneri di AT&T. La loro sfida era migliorare il motore di raccomandazione di Netflix e una delle loro principali innovazioni consisteva nel ridurre l'intensità computazionale degli algoritmi utilizzati nei motori di raccomandazione.

In precedenza, la quantità di calcolo necessaria per eseguire un confronto a coppie di due elementi qualsiasi nella libreria di Netflix (e presumibilmente di Apple) veniva scalata come una funzione quadratica del numero di confronti da eseguire. Ma il team AT&T ha scoperto come riscrivere un algoritmo fondamentale per rendere il problema scalabile solo linearmente con la quantità di dati coinvolti. Quindi, qualunque cosa Il nuovo data center di Apple è per, probabilmente non è per calcolare i risultati Genius.

nascondere