cedat logo cedat logo

What's new

I Recommender System si aprono al linguaggio naturale.

Febbraio 23, 2022

I Recommender System rappresentano il classico esempio di tecnologia che utilizziamo – o che viene utilizzata verso di noi – senza che ne siamo pienamente consapevoli.
Basti pensare a tutte le volte che Netflix ci suggerisce il prossimo film o la prossima serie da guardare, che Amazon ci suggerisce un nuovo prodotto da acquistare o alle pubblicità cui siamo esposti durante la nostra navigazione su Internet.
In sintesi, i Recommender System, o sistemi di recommendation, sono sistemi di machine learning, sono algoritmi che suggeriscono agli utenti elementi rilevanti per loro: film da guardare, per l’appunto, prodotti da acquistare, articoli da leggere.
La loro importanza è cresciuta nel tempo e oggi sono strumenti fondamentali in molti settori, dal momento che consentono di migliorare la rilevanza e la pertinenza di un servizio rispetto ai suoi utenti.
E non è certo un caso che qualche anno fa proprio Netflix mise in palio un milione di dollari per lo sviluppatore che avesse realizzato un sistema di recommendation che funzionasse meglio di quello che aveva già in uso. 

Cosa sono i Recommender System

In sintesi estrema, per “sapere” in anticipo quali video, quali film, quali notizie o quali musiche l’utente richiederà, servizi come Google o Netflix utilizzano una tecnica di Machine Learning definita Recommender Systems.
I sistemi di raccomandazione comprendono una classe di tecniche e algoritmi in grado di suggerire agli utenti elementi “rilevanti”. Idealmente, gli elementi suggeriti sono il più pertinenti possibile per l’utente, in modo che questi possa interagirvi.

Gli elementi sono classificati in base alla loro pertinenza e quelli più rilevanti vengono mostrati all’utente.
Il ruolo dei Recommender System è talmente rilevante che già quattro anni fa Harvard Business Review così scriveva: “Forse l’unica distinzione algoritmica più importante tra le imprese “nate digitali” e le società legacy non è il personale, i set di dati o le risorse di calcolo, ma il loro impegno in tempo reale a fornire consigli ai clienti accurati e attuabili. I Recommender System di fatto portano le organizzazioni a ripensare radicalmente il modo in cui ottenere maggiore valore dai propri dati creando al contempo maggiore valore per i propri clienti. […] Più persone utilizzano il Recommender System di un’azienda, più diventano preziosi e più preziosi diventano, più persone li utilizzano”.

È importante sottolineare come negli anni l’approccio ai Recommender System sia evoluto. Così, col tempo, quello che era considerato semplicemente come un problema di classificazione o di predizione è stato affrontato secondo il processo decisionale di Markov (MDP – Markov Decision Process) nel quale vengono utilizzate metodologie di Machine Learning, Reinforcement Learning e Deep Reinforcement Learning. Con questo approccio, si è dato ancora maggiore spazio agli ambiti di applicazione dei motori di raccomandazione. 

I diversi approcci dei Recommender System

Per raggiungere il loro scopo, ovvero suggerire agli utenti elementi rilevanti per la loro navigazione, i sistemi di recommendation si basano principalmente su due metodologie: collaborative filtering e metodologia content based, alle quali si aggiunge anche una forma ibrida tra le due.

Collaborative filtering
Il collaborative filtering, o filtraggio collaborativo fornisce di fatto informazioni predittive sugli interessi di un utente, partendo da un set molto ampio di informazioni relative alle preferenze di altri utenti. Si basa, cioè, sulle interazioni registrate in precedenza e memorizzate nella matrice di interazione “user-item”, “utente-elemento”.
Per fare un esempio concreto, questo tipo di raccomandazione viene utilizzato ogni volta che su un sito di ecommerce appare la scritta: “Chi ha acquistato questo prodotto ha acquistato anche…”, oppure “Chi ha visitato questa scheda ha visitato anche…”. 

Di fatto, questo approccio presuppone che le precedenti interazioni utente-elemento siano sufficienti per rilevare utenti simili e/o elementi simili e fare previsioni basate su prossimità stimate.

Il principale vantaggio di questo approccio nei Recommender System è che non richiede di raccogliere informazioni sugli utenti o sugli “item”, ovvero sugli elementi e dunque si adatta a molteplici casi d’uso: è sufficiente che gli utenti interagiscano con gli item per rendere più accurata ed efficace la raccomandazione.
Il vantaggio di questo tipo di approccio rappresenta anche il suo limite: dal momento che vengono prese in considerazione solo le interazioni passate, il collaborative filtering non è efficace né con i nuovi utenti, né con i nuovi item, siano essi prodotti o servizi. Laddove le interazioni siano scarse, il sistema perde la propria efficacia.

Approccio content-based
L’approccio content-based, basato cioè sui contenuti, ha bisogno di informazioni o, per l’appunto, contenuti aggiuntivi sugli item oppure sull’utente. Si tratta di informazioni descrittive, attributi, parole chiave, tag che vengono incrociate con gli altri contenuti che costituiscono il profilo dell’utente creato sulla base delle sue preferenze esplicite, così come sulla raccolta dei dati di navigazione, tradotti anche in questo caso in attributi, parole chiave, tag.
Di fatto, il sistema effettua una comparazione tra il contenuto degli item e ciò che definisce il profilo dell’utente, arrivando a suggerire articoli, prodotti o servizi di suo interesse. È  una metodologia basata su stime di probabilità, ottenute utilizzando in genere classificatori Bayesiani.
L’esempio classico che viene utilizzato per spiegare come funzionano i Recommender System content based sono i sistemi per la raccomandazione di film, che fanno uso di informazioni aggiuntive come età, sesso o altre informazioni personali, cui si aggiungono dati relativi al genere, alla durata, agli attori o al regista, per suggerire all’utente il prossimo film da guardare.

Rispetto al collaborative filtering, i Recommender System basati sul contenuto non soffrono dei problemi di partenza “a freddo” che si verifica in assenza di dati storici e dunque sono in grado di fornire suggerimenti pertinenti sia a nuovi utenti sia su nuovi item.

I motori ibridi
Esistono poi motori di raccomandazione ibridi, che si basano sia sui metadati collaborativi, sia sui dati transazionali dei content based Recommendation Systems e proprio per questo motivo superano i limiti di ciascuno dei due approcci sopra descritti.
In un motore di raccomandazione ibrido, è possibile generare tag di elaborazione del linguaggio naturale per ogni prodotto o elemento  ed equazioni vettoriali per calcolare la somiglianza dei prodotti. Una matrice di collaborative filtering può quindi essere utilizzata per consigliare elementi agli utenti in base ai loro comportamenti, attività e preferenze.
Tra gli esempi di scuola di questo approccio troviamo di nuovo Netflix che tiene conto sia degli interessi dell’utente, secondo quanto prescritto dall’approccio collaborativo), sia delle descrizioni o delle caratteristiche del film o dello spettacolo, basate dunque sul contenuto.