“Siamo quello che mangiamo” asseriva nell’Ottocento il filosofo tedesco Ludwig Feuerbach. Che, se fosse vissuto ai giorni nostri, probabilmente avrebbe formulato diversamente la sua celebre dichiarazione.
In un suo recente studio, la multinazionale di consulenza strategica McKinsey ha infatti affermato che “il 35% degli acquisti su Amazon ed il 75% delle scelte su Netflix sono basate su raccomandazioni fatte dagli algoritmi”.
Algoritmo galeotto
E su un algoritmo sono basate le informazioni che ci propongono i canali social, e le pubblicità che vediamo navigando Internet.
Riteniamo dunque importante approfondire per quanto possibile la tematica che disciplina il determinante algoritmo destinato a governare sempre più spesso le nostre scelte.
Lo faremo in una serie di articoli, partendo proprio da Netflix.
Cos’è una raccomandazione?
Nel mondo virtuale come in quello fisico, una raccomandazione è un consiglio di acquisto fatto da qualcuno per aiutarci nelle nostre scelte, a fronte di un’offerta sovrabbondante nella quale può essere difficile orientarsi (o scoprire le vere perle).
Nel nostro caso il qualcuno non è un amico o un conoscente, ma un mix pesato tra l’insieme delle persone ritenute a noi affini e l’intelligence ricavata dall’analisi dei contenuti e del nostro comportamento passato, esplicito o presunto.
I numeri di Netflix
Netflix contava nel 2020 oltre 160 Milioni di abbonati, di cui 47 Milioni in Europa. Il catalogo globale comprende oltre 500.000 film e/o episodi di serie (items). Ogni giorno, Netflix registra circa 450 miliardi di eventi.
Qualche esempio di evento
Il tempo che passiamo nella home page è un evento, così come lo sono quante categorie consultiamo. Oppure quanti trailer guardiamo e per quanto tempo. Ma anche a che ora consultiamo la libreria. Sono eventi anche a che ora guardiano un item e quali item scegliamo.
Sul piano tecnico, il tipo di device che utilizziamo, eventuali pause e eventuali abbandoni di serie sono eventi. Come quante e quali ricerche effettuiamo; la velocità, la direzione e l’eventuale cambio di direzione nello scrolling… Insomma, tutto quanto accade mentre stiamo utilizzando le app o il sito Netflix.
Database di raccomandazioni e home page individuali
Tutti questi eventi sono utilizzati per la creazione del database del sistema di raccomandazioni. E formeranno una base su cui incrociare i dati simili di altri utenti affini per la creazione dinamica delle raccomandazioni personalizzate, sotto forma di home page individuale. Sul punto, si noti nell’immagine di apertura dell’articolo il 98% match per la serie The Crown proposta a chi scrive. Il significato esatto del numero è: Previsione di quanto l’algoritmo ritiene sia probabile che io ne ritenga gradevole la visione, senza rappresentare in alcun modo la popolarità dell’item sulla piattaforma stessa.
L’utente medio abbandona la ricerca dopo 90 secondi
Numerose ricerche hanno mostrato che l’utente medio perde interesse (abbandona la ricerca) dopo 60/90 secondi di consultazione dei cataloghi online (e aver approfondito non più di tre item). E’ quindi indispensabile (e la cosa vale per Netflix quanto per i siti di vendita o di notizie) far emergere il titolo, il prodotto o l’articolo giusto per l’utilizzatore entro il primo minuto dall’inizio della navigazione.
Algoritmo e le 40 righe ladrone
Il popolare algoritmo di Netflix controlla la home page secondo un layout predefinito: ci sono fino a 40 righe in ogni home-page (in funzione della risoluzione del terminale dell’utente), ciascuna composta da un massimo di 75 video (colonne) per riga.
Rating prediction
Le righe possono essere l’elenco di quanto si è già visto (ad esempio il prossimo episodio di una serie), una tipologia di genere che si ritiene gradita, una categoria affine ad una preferita, o un sub-genere creato dinamicamente. Queste righe sono generate in base al rating prediction personalizzato creato dagli algoritmi
Il famoso algoritmo di Netflix è un mix di due algoritmi
Netflix utilizza almeno due differenti algoritmi. E basa le raccomandazioni su un mix dei risultati dei due: il Collaborative filtering ed il Content-based filtering.
Collaborative filtering
Il Collaborative filtering tiene in considerazione le similitudini dei gusti. Se Mario ama Harry Potter, The Lord of the Rings e Narnia, ma non ha apprezzato Star Trek e se anche Luca ha amato Harry Potter e The Lord of the Rings, allora verrà proposta a Luca una percentuale di rating alta per Narnia e bassa per Star Trek. Semplice a dirsi, complicato a farsi, come vedremo in seguito.
Content-based filtering
Il Content-based filtering crea un modello matematico della probabilità di avere uno score personale alto in base all’analisi dei contenuti stessi. Per ottenere lo score vengono create delle matrici contenenti titoli e attributi degli stessi e viene attribuito a ciascun attributo un valore. Lo score è la nostra distanza dalle coordinate del titolo proposto. Come sappiamo, la distanza euclidea tra due punti in un mondo fisico è facilmente calcolabile:
Algoritmo e multidimensione
La distanza tra due titoli è calcolata in modo analogo, ma in uno spazio multidimensionale dove ogni dimensione è rappresentata da un attributo, come nella tabella seguente che prende in considerazione quattro attributi per titolo:
Machine learning
Nei prossimi articoli proveremo ad approfondire i due tipi di algoritmi, e analizzare quale peso l’intelligenza artificiale (o meglio, il machine learning) stia assumendo nelle loro implementazioni. (M.H.B. per NL)