In che modo Netflix utilizza l'AI open source per rivelare i tuoi preferiti

In questo articolo scientifico basato sull'intelligenza artificiale, esploriamo come Netflix ha adottato un modello Open Source per migliorare i propri sistemi di raccomandazione di intrattenimento.

Innanzitutto, discutiamo brevemente di cosa si intende sostanzialmente l'Apprendimento automatico. In termini semplici, Machine Learning è una tecnica con cui un computer può "apprendere" dai dati, senza utilizzare un insieme complesso di regole diverse. Questo approccio si basa principalmente sulla formazione di un modello da set di dati. Migliore è la qualità dei set di dati, migliore è la precisione del modello di apprendimento automatico.

In primo luogo, una rapida occhiata a Machine Learning e Deep Learning

Esistono principalmente tre forme di Machine Learning:

  • Apprendimento supervisionato
  • Apprendimento senza supervisione
  • Insegnamento rafforzativo

L'apprendimento supervisionato si basa sulla formazione su set di dati etichettati.

L'apprendimento senza supervisione utilizza set di dati non etichettati.

L'apprendimento del rinforzo si basa sul premiare un algoritmo basato sui suoi esiti corretti e punirlo se fallisce nel tentativo.

Gli intervalli annuali possono riferirsi alle date utilizzate in questo articolo | Netflix open source Vectorflow nel 2017, che è una libreria di apprendimento approfondito | Fonte immagine qui

In relazione a un argomento ampiamente noto come Reti neurali artificiali, esiste anche "Apprendimento profondo", che è una tecnica per eseguire il Machine Learning ispirato alla Rete di neuroni di Our Brain's Own.

Come Netflix utilizza l'intelligenza artificiale per la raccomandazione sui contenuti

Se sei o sei stato un abbonato Netflix, sicuramente sai che Netflix non usa un modello basato sulla pubblicità. Invece, usano un modello puramente basato sull'abbonamento. Questo è il motivo per cui Netflix vuole rendere la tua esperienza il più personalizzata possibile per te.

Per fare ciò, Netflix ha iniziato ad esplorare diversi modi su come poter proporre un modello così personale e percettivo. Anche se non sei stato un abbonato Netflix, potresti chiederti come Netflix apporta quei consigli incredibili sull'account Netflix di un utente e come la gente abbia imparato ad amare Netflix, il che è così ovvio al giorno d'oggi. Saresti sorpreso di sapere che alcune di queste raccomandazioni potrebbero essere basate sul cervello di una mosca della frutta!

All'inizio, le loro metodologie erano molto semplici, basate su Big Data e si basavano esclusivamente su un sistema basato sulla valutazione. I consigli sui film / programmi TV erano completamente basati su quanto buono o cattivo un determinato spettacolo o film fosse stato valutato. Queste valutazioni erano basate sul feedback degli utenti, sul numero di visualizzazioni, sul fatto che i video fossero guardati nella loro interezza / parti e / o valutazioni IMDB.

Ecco un documento della Stanford University, datato 12 marzo 2008, che illustra come le raccomandazioni di Netflix fossero basate sulle valutazioni IMDB.

Costruito su solide fondamenta di decisioni strategiche, Netflix ha fatto molta strada nella costruzione di un grande modello di apprendimento per prevedere quale potrebbe essere il prossimo film non preferito preferito dagli utenti, con un livello di precisione considerevolmente elevato.

Il 21 settembre 2009, un premio di $ 1M è stato assegnato alla squadra "BellKor's Pragmatic Chaos" per il miglioramento del modello di raccomandazione di Netflix. Conosciuta come The Netflix Prize, questa era un'iniziativa di Netflix per migliorare l'esperienza dell'utente del 10% o più.

L'algoritmo di predizione che doveva essere improvvisato e aggiornato era basato sul filtraggio collaborativo. Il filtraggio collaborativo è una tecnica di raccomandazione che si basa completamente sul feedback derivato dall'utente collettivo.

Un approccio di Machine Learning per predire le preferenze dei film | Video completo incluso nei sistemi di raccomandazione

Dì, un gruppo di persone ha visto un film che ha un'alta probabilità di piacergli davvero. Ma è probabile che non hai nemmeno sentito parlare del film prima. Raccogliendo e interpretando le tue passate preferenze di visione con quelle di coloro che hanno completato la visione, un sistema di raccomandazione può suggerirti quel particolare film.

Il filtro basato sui contenuti, d'altra parte, non si basa sulle preferenze degli utenti. Invece, i confronti sono fatti tra i video stessi sulla base di un tipo di classificazione, ad esempio un genere. Potrebbe essere una commedia, romanticismo, orrore, suspense e così via.

Più avanti, abbiamo anche un modello ibrido che accoppia entrambe le tecniche di filtraggio sopra descritte. Se vuoi approfondire queste informazioni, guarda questa clip:

Netflix ha anche pubblicato un articolo sulla rivista ACM intitolato "The Netflix Recommender System: Algorithms, Business Value and Innovation". La carta è disponibile come accesso aperto. Alcune delle metodologie evidenti evidenziate nel documento sono come sotto:

Funzioni e tecniche utilizzate da Netflix per offrire agli utenti la migliore esperienza possibile:

  • Video Ranker personalizzato: PVR
  • Top-N Video Ranker
  • In voga
  • Continua a guardare
  • Somiglianza Video-Video
  • Generazione pagina: selezione riga e classifica
  • Selezione delle prove
  • Esperienza di ricerca
  • Tecniche di Statistical & Machine Learning per tutto quanto sopra

Per essere in grado di relazionarsi con le funzionalità di cui sopra, siamo andati avanti e firmato per l'abbonamento gratuito di primo mese di Netflix e questo è come l'esperienza è stata:

Dopo la registrazione, abbiamo dovuto scegliere 3 o più film preferiti o programmi TV. Quindi abbiamo scelto Baahubali 2, Bright, Sherlock e Altered Carbon. C'erano molte più scelte da scegliere di quelle mostrate qui sotto:

In seguito, il Cervello Artificiale di Netflix è entrato in azione:

Quindi, sostanzialmente, più il numero di selezione avremmo fatto, migliore sarebbe stata la personalizzazione. Successivamente, siamo stati accolti con la pagina di navigazione di Netflix che assomiglia a questo:

"La mia lista" può essere correlata a "Video Ranker personalizzato: PVR", corrispondente alla prima delle 9 tecniche elencate sopra.

Volevamo vedere "Altered Carbon" per un po 'di tempo. Quindi abbiamo guardato alcuni secondi all'inizio:

Tornando alla pagina iniziale, abbiamo notato una nuova raccomandazione:

Questo corrisponde a "Video-Video Similarity" perché abbiamo appena visto un po 'di "Altered Carbon".

C'era anche un'altra fila di raccomandazioni interessante che ci mostrò le migliori scelte a cui potevamo essere interessati e fummo sorpresi mentre sfogliavamo questa lista e scoprimmo che non ce n'erano che non avremmo gradito guardare!

Questo si riferirebbe direttamente a "Top-N Video Ranker" dalla lista sopra. "Ittefaq" è un suspense che appartiene ad un genere simile a quello di "Sherlock" che abbiamo scelto subito dopo la registrazione. "Revolt" come suggerisce la miniatura, deve appartenere a un genere di azione, uguale a quello di "Baahubali 2" o "Bright". Quindi questo deriva dal filtraggio basato sul contenuto.

La raccomandazione, "Storie di Rabindranath Tagore", ci ha sorpreso ancora di più. Netflix avrebbe potuto consigliarlo in base alla posizione. Loro hanno davvero degli algoritmi incredibilmente strabilianti là fuori!

Quindi, questo è stato un approccio pratico su come Netflix praticamente funziona. Tutte queste raccomandazioni intelligenti non sarebbero state possibili se Netflix non avesse adottato un approccio open source nei confronti dell'intelligenza artificiale e dell'apprendimento automatico. Diamo ora un'occhiata alle iniziative open source di Netflix.

Netflix Open Connect Initiative

La rete di distribuzione dei contenuti (CDN) di Netflix è alimentata da open source. Inizialmente hanno esternalizzato i loro servizi di streaming ad Akamai, Level3 e Limelight. Ma alla fine, hanno avuto un cambiamento nei piani.

Netflix ha deciso di creare il proprio CDN perché volevano:

  • Cresci più velocemente
  • Ridurre i costi
  • Controlla il lato server della connessione HTTP
  • Costruisci un CDN specializzato in Content Delivery di Netflix
  • Metti il ​​contenuto più vicino a un cliente

Così è nato Netflix Open Connect . Vale a dire, la fondazione CDN di Netflix è stata costruita sul server Web NGINX e sul sistema operativo FreeBSD che simboleggia due pilastri forti. Netflix ha scelto di utilizzare una licenza BSD al posto di GPL mentre creava il suo CDN. Questo perché gli ISP erano principalmente coinvolti come terze parti. Per confrontare entrambe le licenze in dettaglio, salta qui.

NGINX è stato scelto perché era noto per essere veloce e stabile, il supporto commerciale era disponibile da Nginx, Inc. e aveva una struttura flessibile per moduli personalizzati. FreeBSD era anche noto per essere un sistema operativo veloce e stabile e aveva una forte comunità di sviluppatori. Quindi, è diventato una scelta adatta.

Essendo entrambi gratuiti e open source, Netflix ha utilizzato un altro progetto open source chiamato BIRD Internet Routing Daemon che, tuttavia, utilizza la licenza GPL. Questo strumento è stato utilizzato per trasferire la topologia di rete dagli ISP al proprio sistema di controllo che indirizza i client ai rispettivi contenuti.

Tutti e tre servivano da ottimi strumenti per gestire:

  • 400.000 file di flusso per dispositivo
  • 5000-30.000 flussi client per appliance
  • 300-1000 client per disco

L'Open Connect Initiative come descritto sopra è discussa in dettaglio in questa registrazione completa della conferenza NGINX:

Diapositive di presentazione qui:

Netflix CDN e Open Source di Gleb Smirnoff

Netflix Open Source Software Initiative

Oggi, l'iniziativa Netflix Open Source Software parla del loro impegno verso l'open source. Hanno il loro proprio centro software Open Source ! La pagina GitHub di Netflix mostra chiaramente i suoi 139 repository gestiti da 52 sviluppatori. Tutti i risultati predittivi che abbiamo appena visto, sono alimentati da questi unici progetti open source elencati su GitHub.

Netflix ha la propria libreria di apprendimento approfondito chiamata Vectorflow, menzionata sopra. C'è ancora un altro strumento di previsione e di analisi chiamato Surus. Ha una funzione nota come ScorePMML che consente una previsione efficiente dei punteggi dei modelli nel cloud. Surus può anche essere utilizzato per il rilevamento di valori anomali o la corrispondenza di modelli. Netflix ha anche un post sul blog.

Sommario

Quindi, per riassumere, abbiamo iniziato introducendo Machine Learning a voi, come Netflix si è evoluto come un consiglio di intrattenimento, un confronto diretto con il modello di raccomandazione di Netflix e su Netflix Open Connect, seguito dalla loro Open Source Software Initiative.

Grazie per aver dedicato del tempo e aver letto pazientemente l'articolo. Non vediamo l'ora di altre emozionanti esplorazioni!

Come nota finale, vorremmo sottolineare il notevole approccio di Netflix nei confronti dell'arte e della scienza in quanto non due entità separate. Ma come un bel unisono per creare meraviglie!

Raccomandato

Come installare e configurare Plex su Ubuntu Linux
2019
Risolto il problema "Impossibile avviare la sessione" all'accesso in Ubuntu 16.04
2019
Controlla informazioni dettagliate sulla CPU in Linux con CoreFreq
2019