Ufficio

Come funzionano i sistemi di raccomandazione?

I sistemi di raccomandazione sono sistemi progettati per fornire raccomandazioni agli utenti sulla base di una serie di parametri. Questi algoritmi prevedono i prodotti che le persone sono più propense ad acquistare e i contenuti a cui sono maggiormente interessate.

Introduzione ai sistemi di raccomandazione

Il sistema di raccomandazione lavora con una grande quantità di dati filtrando le informazioni più importanti in base ai dati forniti dall’utente e ad altri criteri come le preferenze e gli interessi. Quando a questi algoritmi viene presentata una varietà di prodotti/contenuti devono essere in grado di determinare la compatibilità e raccomandare quelli più appropriati per ogni utente.

Questi algoritmi sono impiegati in un’ampia gamma di settori. È possibile trovarli nell’ e-commerce (ad esempio Amazon), nei servizi di streaming di film, video o musica (ad esempio Netflix, YouTube, Spotify), ma anche nelle piattaforme social (ad esempio Instagram) e persino nei servizi di consegna (ad esempio Uber Eats).

 

I diversi sistemi di raccomandazione

In questo articolo esamineremo i diversi paradigmi dei sistemi di raccomandazione e per ognuno di essi, presenteremo il loro funzionamento.

I sistemi di raccomandazione possono essere suddivisi principalmente in due macrocategorie: metodi di filtraggio collaborativo e metodi basati sui contenuti. Inoltre, questi due approcci possono essere combinati per dare origine a soluzioni ibride che sfruttano i vantaggi di entrambi.

Qui di seguito uno schema riassuntivo:

 

1.Metodi collaborative filtering

I sistemi di filtraggio collaborativo utilizzano le interazioni passate tra utenti e prodotti o contenuti per costruire una cosiddetta matrice di interazione utente-item. Sulla base di questa matrice vengono estratte nuove raccomandazioni. Si basano sul presupposto che queste interazioni siano sufficienti per identificare utenti e/o elementi simili e possono essere previste delle raccomandazioni sulla base di queste somiglianze.

La classe degli algoritmi di filtraggio collaborativo si divide in due sottocategorie, generalmente chiamate approcci memory-based e approcci basati model-based.

 

1a. I metodi memory-based

Questi metodi lavorano senza ipotizzare alcun modello e per suggerire un contenuto all’utente ricercano gli utenti più vicini come caratteristiche e gli suggeriscono gli articoli più popolari tra questi “utenti vicini”.

I metodi memory-based si possono a loro volta suddividere in metodi user-based e metodi item-based. Youtube utilizza metodi user-based per suggerirci i video presenti nella nostra Homepage. Amazon invece utilizza metodi item-based per suggerirci altri articoli simili a quello che abbiamo selezionato

 

1b. I metodi model-based

I metodi model-based presuppongono un modello sottostante che spiega le interazioni utente-item per poter fare nuove previsioni.

Un esempio di algoritmo di model-based è la fattorizzazione di matrici. Questo algoritmo consiste sostanzialmente nella scomposizione di una matrice di interazione utente-item in un prodotto di due sottomatrici. Una delle due contiene la rappresentazione dell’utente e l’altra contiene la rappresentazione dell’articolo. Gli utenti simili in termini di preferenze e gli elementi simili in termini di caratteristiche avranno rappresentazioni simili nella nuova matrice.

 

2.Metodi Content based

Negli approcci basati sul contenuto, i problemi di raccomandazione vengono trasformati in problemi di classificazione (previsione se agli utenti “piace” un elemento) o problemi di regressione (previsione di come gli utenti valutano un elemento).

In entrambi i casi il problema si può basare sulle features dell’utente (metodo user-centred), o sulle features dell’articolo (metodo item-centred). Nel primo caso si costruisce un modello per item cercando di capire qual è la probabilità che ad ogni utente piaccia quell’item, nel secondo caso si costruisce un modello per utente per capire qual è la probabilità che a quell’utente piacciano gli item a disposizione. In alternativa si può anche valutare un modello che contenga sia le features degli utenti che quelle degli articoli.

 

3.Soluzioni ibride

I Metodi collaborative filtering e content based possono essere combinati per dare origine a soluzioni ibride che sfruttano i vantaggi di entrambi.