La sfida da 1 milione di dollari di Netflix

All'inizio di questa settimana, Netflix, il servizio di noleggio di film online, ha annunciato che premierà $ 1 milione a chiunque sia in grado di elaborare un algoritmo che migliori l'accuratezza del suo servizio di raccomandazione di film.





Il sistema di valutazione a stelle di Netflix aiuta a determinare consigli personalizzati sui film. Ora l'azienda sta cercando sviluppatori esterni per migliorare tali raccomandazioni.

In tal modo, l'azienda sta chiamando i ricercatori specializzati in machine learning, il tipo di intelligenza artificiale utilizzata per costruire sistemi che consigliano musica, libri e film. Il concorrente che può aumentare la precisione del sistema di raccomandazione Netflix, che si chiama Cinematch, del 10 percento entro il 2011 vincerà il premio.

I sistemi di raccomandazione come quelli utilizzati da Netflix, Amazon e altri rivenditori Web si basano sul principio che se due persone apprezzano lo stesso prodotto, è probabile che abbiano anche altri preferiti in comune.



Ma dietro questa semplice premessa c'è un algoritmo complesso che incorpora milioni di valutazioni degli utenti, decine di migliaia di elementi e relazioni in continua evoluzione tra le preferenze degli utenti.

Per far fronte a questa complessità, gli algoritmi per i sistemi di raccomandazione vengono addestrati su enormi set di dati. Un set di dati utilizzato nel sistema di Netflix contiene le valutazioni in stelle, da una a cinque, che i clienti di Netflix assegnano ai film. Utilizzando queste informazioni iniziali, buoni algoritmi sono in grado di prevedere le valutazioni future e quindi possono suggerire altri film che potrebbero piacere a un individuo.

Poiché l'accesso a tale set di dati è fondamentale per migliorare la qualità dei suoi sistemi di raccomandazione, la società ha anche rilasciato 100 milioni di raccomandazioni, private di qualsiasi informazione di identificazione personale, secondo Jim Bennett, vicepresidente dei sistemi di raccomandazione di Netflix.



Questa settimana abbiamo parlato con Bennett di come funzionano i sistemi di raccomandazione e delle sfide per crearne uno migliore.

Revisione della tecnologia: Prima di costruire un sistema di raccomandazione migliore, sarebbe utile comprendere il tuo approccio attuale. Come funziona Cinematch?

Jim Bennet: Innanzitutto, raccogli 100 milioni di valutazioni degli utenti per circa 18.000 film. Prendi due film qualsiasi e trova le persone che li hanno valutati entrambi. Quindi guarda se le persone che valutano uno dei film valutano molto bene l'altro, se gli è piaciuto uno e non l'altro, o se non gli è piaciuto nessuno dei due film. Sulla base delle loro valutazioni, Cinematch vede se c'è una correlazione tra quelle persone. Ora, fallo per tutte le possibili coppie di 65.000 film.



TR: Quindi Cinematch mi consiglierebbe i film sulla base delle valutazioni delle persone che hanno valutato i film nel modo in cui l'ho fatto io. Questo metodo funziona per tutti i film su Netflix?

JB: Molti dei dischi davvero oscuri, ad esempio i DVD How to Mow a Lawn, non hanno molte valutazioni e questo metodo non funziona altrettanto bene. Per i film con un gran numero di valutazioni, fai sostanzialmente bene. Ma per farlo funzionare, è necessaria molta ottimizzazione dei dati perché a volte le persone possono avere modelli di valutazione interessanti.

TR: Tipo cosa?



JB: Ad esempio, ci sono molte persone che valutano un film con solo una o cinque stelle. E ci sono alcune persone che valutano tutto con tre stelle. Quello che stai cercando è un'interessante diffusione di opinioni perché stai cercando di catturare correlazioni. Questo è il cuore del motore.

TR: Come misuri quantitativamente l'accuratezza del tuo sistema?

JB: Abbiamo addestrato Cinematch su 100 milioni di valutazioni e gli abbiamo chiesto di prevedere quali sarebbero stati gli altri 3 milioni. Abbiamo confrontato le nostre con le risposte effettive. Lo facciamo ogni giorno. Riceviamo circa 2 milioni di valutazioni al giorno e teniamo traccia delle fluttuazioni giornaliere del sistema. Ci aspettiamo di misurare le iscrizioni al concorso [nello stesso modo]. Il set di dati effettivo del premio è di 103 milioni di valutazioni, ma ne abbiamo rilasciati solo 100 milioni.

TR: Per vincere il premio di 1 milione di dollari, un nuovo algoritmo deve migliorare l'accuratezza dei consigli del 10% rispetto a Cinematch. Stai anche premiando un premio di progresso di $ 50.000 ogni anno per l'algoritmo che mostra il maggior miglioramento rispetto al miglior algoritmo dell'anno precedente, di almeno l'1 percento. Cosa significheranno questi miglioramenti percentuali per un cliente Netflix?

JB: Se vai sul sito Web e valuti 100 film per noi, le stelle rosse mostrate sotto ogni film sono personalizzate per te. Usiamo queste valutazioni per modificare la previsione lontano dalla raccomandazione media, in base ai tuoi gusti. Una differenza del tre percento, ad esempio, potrebbe fare la differenza di un quarto di stella. Abbiamo milioni di persone che valutano milioni di DVD e quella differenza di un quarto di stella ci aiuta a ordinare l'elenco. La raccomandazione del singolo film potrebbe non migliorare molto, ma, nel complesso, l'insieme dei film consigliati è molto diverso. Sposta un po' una corazzata e fa una grande differenza.

TR: Perché i sistemi di raccomandazione sono così difficili da migliorare?

JB: Uno dei motivi è che non ci sono set di dati. Molte delle applicazioni di apprendimento automatico richiedono set di dati abbastanza consistenti che hanno facilmente milioni di punti dati. Esistono molti approcci diversi per risolvere il problema, ma tutti necessitano di set di dati di grandi dimensioni. E come con molti set di dati, una volta applicate le tecniche a quei set di dati, non c'è posto dove andare.

TR: Quindi stai cercando un algoritmo che affronti il ​​problema in un modo completamente diverso da Cinematch?

JB: Corretta. Per quanto ne sappiamo, ci sono molte buone idee sul campo. Non possiamo testarli tutti. Sappiamo che ci sono persone che sono davvero in cima alla letteratura che conoscono i dettagli dei [sistemi di raccomandazione] e vorremmo davvero sapere quali sarebbero migliori.

TR: Quali sono alcuni approcci, discussi in letteratura, che potrebbero funzionare, ma non sono ancora stati testati con i consigli sui film?

JB: È difficile da dire. C'era un articolo in Scienza pochi mesi fa [28 luglio 2006] che utilizzava un'interessante combinazione di due tipi di reti neurali [un metodo computazionale che ordina i dati in modo simile al cervello umano]. Una rete neurale supervisiona l'apprendimento automatico e l'altra guida tale apprendimento. In Netflix, osserviamo le correlazioni tra le valutazioni e questo è un modello lineare. Non tutta la conoscenza può essere rappresentata da una combinazione lineare di caratteristiche. Questo particolare modello in Scienza utilizza un approccio non lineare. Penso che la tecnica potrebbe essere abbastanza buona.

TR: Ci sono altre sfide tecniche urgenti su Netflix che potrebbero essere risolte offrendo un premio?

JB: Non vorrei speculare su altri concorsi. Ci sono altre sfide tecniche? Assolutamente. Oltre alla sfida dei sistemi di mantenere attivi e funzionanti i motori di raccomandazione con una base di clienti in aumento, abbiamo anche un numero enorme di sfide all'interno dell'azienda, come cercare di spedire due milioni di dischi al giorno alle persone. E ci sono sfide interessanti da affrontare mentre ci prepariamo per il mondo del download [dove le persone possono scaricare film tramite Internet]. L'azienda è piena di sfide enormi.

nascondere