di Xavier Amatriain e Justin Basilico (Personalization Science and Engineering)
In questo blog post in due parti, apriremo le porte di una delle risorse più apprezzate di Netflix: il nostro sistema di raccomandazione. Nella parte 1, metteremo in relazione il Premio Netflix con la più ampia sfida della raccomandazione, delineeremo i componenti esterni del nostro servizio personalizzato e sottolineeremo come il nostro compito si sia evoluto con il business. Nella Parte 2, descriveremo alcuni dei dati e dei modelli che utilizziamo e discuteremo il nostro approccio all’innovazione algoritmica che combina la sperimentazione offline dell’apprendimento automatico con il test AB online. Divertitevi… e ricordate che siamo sempre alla ricerca di nuovi talenti da aggiungere al nostro grande team, quindi date un’occhiata alla nostra pagina delle offerte di lavoro.
Nel 2006 abbiamo annunciato il Netflix Prize, un concorso di apprendimento automatico e data mining per la previsione della classificazione dei film. Abbiamo offerto 1 milione di dollari a chi avesse migliorato del 10% l’accuratezza del nostro sistema esistente chiamato Cinematch. Abbiamo condotto questo concorso per trovare nuovi modi per migliorare le raccomandazioni che forniamo ai nostri membri, che è una parte fondamentale del nostro business. Tuttavia, abbiamo dovuto trovare una domanda sostitutiva che fosse più facile da valutare e quantificare: l’errore quadratico medio (RMSE) della valutazione prevista. La gara era in corso per battere il nostro RMSE di 0,9525 con il traguardo di ridurlo a 0,8572 o meno.
Un anno dopo la competizione, il team Korbell ha vinto il primo Progress Prize con un miglioramento dell’8,43%. Hanno riportato più di 2000 ore di lavoro per arrivare alla combinazione finale di 107 algoritmi che ha dato loro questo premio. E ci hanno dato il codice sorgente. Abbiamo esaminato i due algoritmi sottostanti con le migliori prestazioni nell’ensemble: La fattorizzazione delle matrici (che la comunità chiama generalmente SVD, Singular Value Decomposition) e le macchine di Boltzmann limitate (RBM). SVD da sola ha fornito un RMSE di 0,8914, mentre RBM da sola ha fornito un RMSE competitivo ma leggermente peggiore di 0,8990. Una miscela lineare di questi due ha ridotto l’errore a 0,88. Per utilizzare questi algoritmi, abbiamo dovuto lavorare per superare alcune limitazioni, per esempio che sono stati costruiti per gestire 100 milioni di valutazioni, invece degli oltre 5 miliardi che abbiamo, e che non sono stati costruiti per adattarsi quando i membri aggiungono altre valutazioni. Ma una volta superate queste sfide, abbiamo messo i due algoritmi in produzione, dove sono ancora utilizzati come parte del nostro motore di raccomandazione.
Se avete seguito il concorso Prize, potreste chiedervi cosa sia successo con l’ensemble finale Grand Prize che ha vinto il milione di dollari due anni dopo. Si tratta di una compilazione davvero impressionante e il culmine di anni di lavoro, mescolando centinaia di modelli predittivi per tagliare finalmente il traguardo. Abbiamo valutato alcuni dei nuovi metodi offline, ma i guadagni di precisione aggiuntivi che abbiamo misurato non sembravano giustificare lo sforzo ingegneristico necessario per portarli in un ambiente di produzione. Inoltre, il nostro obiettivo di migliorare la personalizzazione di Netflix era ormai passato al livello successivo. Nel resto di questo post spiegheremo come e perché è cambiata.
Dai DVD statunitensi allo streaming globale
Una delle ragioni per cui la nostra attenzione sugli algoritmi di raccomandazione è cambiata è perché Netflix nel suo complesso è cambiato radicalmente negli ultimi anni. Netflix ha lanciato un servizio di streaming istantaneo nel 2007, un anno dopo l’inizio del premio Netflix. Lo streaming non ha solo cambiato il modo in cui i nostri membri interagiscono con il servizio, ma anche il tipo di dati disponibili da utilizzare nei nostri algoritmi. Per i DVD il nostro obiettivo è quello di aiutare le persone a riempire la loro coda di titoli da ricevere per posta nei prossimi giorni e settimane; la selezione è lontana nel tempo dalla visione, le persone selezionano con attenzione perché scambiare un DVD con un altro richiede più di un giorno, e non abbiamo feedback durante la visione. Per lo streaming i membri stanno cercando qualcosa di grande da guardare proprio ora; possono assaggiare alcuni video prima di stabilirsi su uno, possono consumarne diversi in una sessione, e possiamo osservare le statistiche di visualizzazione come se un video è stato guardato completamente o solo parzialmente.
Un altro grande cambiamento è stato il passaggio da un singolo sito web a centinaia di dispositivi. L’integrazione con il lettore Roku e la Xbox sono stati annunciati nel 2008, due anni dopo la concorrenza di Netflix. Solo un anno dopo, lo streaming di Netflix è arrivato sull’iPhone. Ora è disponibile su una moltitudine di dispositivi che vanno da una miriade di dispositivi Android all’ultima AppleTV.
Due anni fa, siamo diventati internazionali con il lancio in Canada. Nel 2011, abbiamo aggiunto 43 paesi e territori latino-americani alla lista. E proprio di recente, abbiamo lanciato nel Regno Unito e in Irlanda. Oggi, Netflix ha più di 23 milioni di abbonati in 47 paesi. Questi abbonati hanno trasmesso in streaming 2 miliardi di ore da centinaia di dispositivi diversi nell’ultimo trimestre del 2011. Ogni giorno aggiungono 2 milioni di film e spettacoli televisivi alla coda e generano 4 milioni di valutazioni.
Abbiamo adattato i nostri algoritmi di personalizzazione a questo nuovo scenario in modo tale che ora il 75% di ciò che le persone guardano è frutto di qualche tipo di raccomandazione. Abbiamo raggiunto questo punto ottimizzando continuamente l’esperienza dei membri e abbiamo misurato guadagni significativi nella soddisfazione dei membri ogni volta che abbiamo migliorato la personalizzazione per i nostri membri. Ora vi guidiamo attraverso alcune delle tecniche e degli approcci che utilizziamo per produrre queste raccomandazioni.
Tutto è una raccomandazione
Abbiamo scoperto nel corso degli anni che c’è un enorme valore per i nostri abbonati nell’incorporare raccomandazioni per personalizzare il più possibile Netflix. La personalizzazione inizia sulla nostra homepage, che consiste in gruppi di video disposti in file orizzontali. Ogni riga ha un titolo che trasmette la connessione significativa prevista tra i video di quel gruppo. La maggior parte della nostra personalizzazione si basa sul modo in cui selezioniamo le righe, come determiniamo quali elementi includere in esse e in quale ordine collocare tali elementi.
Prendiamo come primo esempio la riga Top 10: questa è la nostra migliore ipotesi sui dieci titoli che più probabilmente ti piaceranno. Naturalmente, quando diciamo “voi”, in realtà intendiamo tutti i membri della vostra famiglia. È importante tenere a mente che la personalizzazione di Netflix è destinata a gestire una famiglia che probabilmente ha diverse persone con gusti diversi. Ecco perché quando vedi la tua Top10, è probabile che tu scopra articoli per il papà, la mamma, i bambini o tutta la famiglia. Anche per una famiglia di una sola persona vogliamo fare appello alla gamma di interessi e umori. Per raggiungere questo obiettivo, in molte parti del nostro sistema non stiamo solo ottimizzando la precisione, ma anche la diversità.