Cos'è il filtraggio collaborativo?

Autori

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

Cos'è il filtraggio collaborativo?

Il filtraggio collaborativo è un tipo di sistema di raccomandazione. Raggruppa gli utenti in base a comportamenti simili, raccomandando nuovi oggetti in base alle caratteristiche dei gruppi.

Il filtraggio collaborativo è un metodo di recupero delle informazioni che raccomanda oggetti agli utenti in base al modo in cui altri utenti con preferenze e comportamenti simili hanno interagito con quegli oggetti. In altre parole, gli algoritmi di filtraggio collaborativo raggruppano gli utenti in base al comportamento e utilizzano le caratteristiche generali del gruppo per consigliare oggetti a un utente target. I sistemi di raccomandazione collaborativi si basano sul principio che utenti simili (dal punto di vista comportamentale) condividono interessi e gusti simili.1

Filtraggio collaborativo vs filtraggio basato sui contenuti

Il filtraggio collaborativo è uno dei due tipi principali di sistemi di raccomandazione; l'altro è il sistema di raccomandazione basato sui contenuti. Quest'ultimo metodo utilizza le caratteristiche degli oggetti per consigliare oggetti simili a quelli con cui un determinato utente ha interagito positivamente in passato.2 Mentre il filtraggio collaborativo si concentra sulla somiglianza degli utenti per raccomandare gli oggetti, il filtraggio basato sui contenuti raccomanda gli oggetti esclusivamente in base alle caratteristiche del profilo oggetto. Il filtraggio basato sui contenuti indirizza i suggerimenti in base alle preferenze di un utente specifico, anziché a un gruppo o tipo come nel filtraggio collaborativo.

Entrambi i metodi hanno visto molte applicazioni reali negli ultimi anni, dall'e-commerce come Amazon ai social media fino ai servizi di streaming. Insieme, i sistemi collaborativi e quelli basati sui contenuti costituiscono i sistemi di raccomandazione ibridi. Infatti, nel 2009, Netflix ha adottato un sistema di raccomandazione ibrido attraverso il suo concorso a premi Netflix.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Come funziona il filtraggio collaborativo

Il filtraggio collaborativo utilizza una matrice per mappare il comportamento degli utenti per ogni oggetto del sistema. Il sistema estrae quindi i valori da questa matrice per tracciarli come punti dati in uno spazio vettoriale. Diverse metriche misurano quindi la distanza tra i punti come mezzo per calcolare la somiglianza tra utenti e tra oggetti.

Matrice utente-oggetto

In un'impostazione standard di filtraggio collaborativo, abbiamo un insieme di n utenti e un insieme di x oggetti. Le preferenze individuali di ogni utente per ogni oggetto sono visualizzate in una matrice utente-oggetto (a volte chiamata matrice di valutazione utente). Qui, gli utenti sono rappresentati in righe e gli oggetti in colonne. Nella matrice Rij , un dato valore rappresenta il comportamento dell'utente u nei confronti dell'oggetto i. Questi valori possono essere numeri continui forniti dagli utenti (ad esempio valutazioni) o valori binari che indicano se un determinato utente ha visualizzato o acquistato l'oggetto. Ecco un esempio di matrice utente-oggetto per un sito web di una libreria:

Tabella che illustra la matrice utente-oggetto

Questa matrice mostra le valutazioni degli utenti per i diversi libri disponibili. Un algoritmo di filtraggio collaborativo confronta le valutazioni fornite dall'utente per ogni libro. Identificando utenti o oggetti simili in base a quelle valutazioni, il sistema prevede le valutazioni per i libri che un utente target non ha visto, rappresentati da null nella matrice, e raccomanda (o non raccomanda) quei libri all'utente target di conseguenza.

La matrice di esempio usata qui è completa, dato che è limitata a quattro utenti e quattro elementi. Tuttavia, negli scenari reali, le preferenze note degli utenti per gli oggetti sono spesso limitate, lasciando la matrice utente-oggetto poco popolata.3

Misure di similarità

In che modo un algoritmo di raccomandazione collaborativo determina la similarità tra i vari utenti? Come accennato, la prossimità nello spazio vettoriale è un metodo primario. Ma i parametri specifici utilizzati per determinare tale prossimità possono variare. Due di queste metriche sono la similarità del coseno e il coefficiente di correlazione di Pearson.

Similarità del coseno

La similarità del coseno indica la misura dell'angolo tra due vettori. I vettori confrontati comprendono un sottoinsieme di valutazioni per un determinato utente o oggetto. Il punteggio di similarità del coseno può essere qualsiasi valore compreso tra -1 e 1. Più alto è il valore del coseno, più due oggetti sono considerati simili. Alcune fonti raccomandano questa metrica per spazi di caratteristiche ad alta dimensionalità. Nel filtraggio collaborativo, i punti vettoriali vengono estratti direttamente dalla matrice utente-oggetto. La similarità del coseno è rappresentata da questa formula, in cui x e y indicano due vettori nello spazio vettoriale:4

Immagine della formula di similarità del coseno

Coefficiente di correlazione di Pearson (PCC)

Il PCC aiuta a misurare la somiglianza tra oggetti o utenti calcolando la correlazione tra le rispettive valutazioni di due utenti o oggetti. Il PCC è compreso tra -1 e 1, il che indica una correlazione negativa o identica. A differenza della similarità del coseno, il PCC utilizza tutte le valutazioni per un dato utente o oggetto. Ad esempio, se calcoliamo il PCC tra due utenti, utilizziamo questa formula, in cui a e b sono utenti diversi e rai e rbi sono la valutazione di quell'utente per l'oggetto i:5

Illustrazione del coefficiente di correlazione di Pearson

Tipi di sistemi di raccomandazione collaborativi 

Esistono due principali tipi di sistemi di filtraggio collaborativo: quelli basati sulla memoria e quelli basati sui modelli.

Basati sulla memoria

I sistemi di raccomandazione basati sulla memoria, o neighbor-based systems, sono estensioni dei classificatori k-nearest neighbors perché tentano di prevedere il comportamento di un utente target nei confronti di un determinato oggetto sulla base di utenti o set di oggetti simili. I sistemi basati sulla memoria possono essere suddivisi in due sottotipi:

  • Il filtraggio basato sull'utente consiglia gli oggetti a un utente target in base alle preferenze degli utenti che hanno mostrato un certo comportamento. L'algoritmo di raccomandazione confronta il comportamento passato di un utente target con quello di altri utenti. Nello specifico, il sistema assegna a ciascun utente un peso che rappresenta la sua somiglianza percepita con l'utente target, ovvero i vicini dell'utente target. Quindi seleziona n utenti con i pesi più alti e calcola una previsione del comportamento dell'utente target (ad es. valutazione di un film, acquisto, non mi piace, ecc.) da una media ponderata del comportamento dei vicini selezionati. Il sistema consiglia quindi gli oggetti all'utente target in base a questa previsione. Il principio è che, se l'utente target si è comportato in modo simile a questo gruppo in passato, si comporterà in modo simile con gli oggetti non visti. Le funzioni di similarità basate sull'utente vengono calcolate tra le righe nella matrice utente-oggetto.6
  • Il filtraggio basato sugli oggetti consiglia nuovi oggetti a un utente target in base al comportamento di tale utente nei confronti di oggetti simili. È opportuno notare, tuttavia, che nel confrontare gli elementi, il sistema collaborativo non confronta le caratteristiche degli oggetti (come nel filtraggio basato sui contenuti), ma piuttosto il modo in cui gli utenti interagiscono con tali oggetti. Ad esempio, in un sistema di raccomandazione di film, l'algoritmo può identificare film simili in base alle correlazioni tra tutte le valutazioni degli utenti per ciascun film (correggendo la valutazione media di ciascun utente). Il sistema consiglierà quindi un nuovo film a un utente target in base alle valutazioni correlate. In altre parole, se l'utente target ha valutato molto positivamente i film a e b, ma non ha visto il film c, e altri utenti che hanno valutato molto positivamente anche i primi due hanno valutato molto bene il film c, il sistema consiglierà il film c all'utente target. In questo modo, il filtraggio basato sugli elementi calcola la somiglianza degli elementi attraverso il comportamento dell'utente. Le funzioni di similarità basate sugli elementi vengono calcolate tra le colonne nella matrice utente-oggetto.7

Basati su modelli

A volte, in letteratura si descrivono i metodi basati sulla memoria come metodi di apprendimento basati sulle istanze. Ciò indica il modo in cui il filtraggio basato su utenti e oggetti effettua previsioni specifiche per una determinata istanza di interazione utente-oggetto, ad esempio la valutazione di un utente target per un film non visto.

Al contrario, i metodi basati su modelli creano un modello predittivo di machine learning dei dati. Il modello usa i valori presenti nella matrice utente-oggetto come set di dati di addestramento e produce previsioni per i valori mancanti con il modello risultante. I metodi basati su modelli utilizzano quindi tecniche di data science e algoritmi di machine learning come alberi decisionali, classificatori bayesiani e reti neurali per consigliare oggetti agli utenti.8

La fattorizzazione della matrice è un metodo di filtraggio collaborativo ampiamente discusso, spesso classificato come un tipo di modello a fattori latenti. In quanto modello a fattori latenti, la fattorizzazione della matrice presuppone che la somiglianza utente-utente o oggetto-oggetto possa essere determinata attraverso un numero selezionato di caratteristiche. Ad esempio, la valutazione dei libri di un utente può essere prevista utilizzando solo il genere del libro e l'età o il sesso dell'utente. Questa rappresentazione a bassa dimensionalità mira quindi a spiegare, ad esempio, le valutazioni dei libri caratterizzando gli oggetti e gli utenti in base ad alcune caratteristiche selezionate, estratte dai dati di feedback degli utenti.9 Poiché riduce le caratteristiche di un dato spazio vettoriale, la fattorizzazione della matrice funge anche da metodo di riduzione della dimensionalità .

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Vantaggi e svantaggi del filtraggio collaborativo

Vantaggi

Rispetto ai sistemi basati sui contenuti, il filtraggio collaborativo è più efficace nel fornire agli utenti nuovi suggerimenti. I metodi basati sulla collaborazione traggono suggerimenti da un gruppo di utenti che condividono interessi con un utente target. Ad esempio, se un gruppo di utenti ha apprezzato lo stesso insieme di oggetti dell'utente target, ma ha anche apprezzato un ulteriore oggetto sconosciuto all'utente target perché non condivide caratteristiche con il precedente insieme di oggetti, un sistema di filtraggio collaborativo raccomanda questo nuovo oggetto all'utente. Il filtraggio collaborativo può raccomandare oggetti che un utente target potrebbe non avere considerato, ma che comunque si rivolgono al proprio tipo di utente.11

Svantaggi

Il problema del cold start è forse lo svantaggio più citato dei sistemi di filtraggio collaborativo. Si verifica quando un nuovo utente (o anche un nuovo oggetto) entra nel sistema. La mancanza di una cronologia delle interazioni con gli oggetti da parte di quell’utente impedisce al sistema di valutare la somiglianza o l’associazione del nuovo utente con gli utenti esistenti. Al contrario, i sistemi basati sui contenuti sono più abili nel gestire nuovi elementi, sebbene abbiano difficoltà con le raccomandazioni per i nuovi utenti.12

La scarsità dei dati è un altro grande problema che può affliggere i sistemi di raccomandazione collaborativi. Come accennato, i sistemi di raccomandazione in genere mancano di dati sulle preferenze dell'utente per la maggior parte degli oggetti del sistema. Ciò significa che la maggior parte dello spazio delle caratteristiche del sistema è vuoto, una condizione chiamata "scarsità dei dati". Via via che la scarsità dei dati aumenta, i punti vettoriali diventano così dissimili che i modelli predittivi diventano meno efficaci nell'identificare pattern esplicativi.13 Questa è una delle ragioni principali per cui la fattorizzazione della matrice, e i metodi a fattori latenti correlati, come la decomposizione ai valori singolari, è popolare nel filtraggio collaborativo, poiché allevia la scarsità dei dati riducendo le caratteristiche. Altri metodi implementati per risolvere questo problema possono anche coinvolgere gli utenti stessi nel valutare e nel fornire informazioni sui propri interessi, che il sistema può quindi utilizzare per filtrare i suggerimenti.

Ricerche recenti

Mentre studi passati hanno affrontato la raccomandazione come un problema di previsione o classificazione, un gran numero di ricerche recenti sostiene che essa è intesa come un problema sequenziale e decisionale. In questo paradigma, l'apprendimento per rinforzo potrebbe essere più adatto per gestire la raccomandazione. Questo approccio sostiene che la raccomandazione si aggiorni in tempo reale in base all'interazione utente-oggetto; via via che l'utente salta, clicca, valuta e acquista gli articoli suggeriti, il modello sviluppa una politica ottimale da questo feedback per raccomandare nuovi articoli.17 Studi recenti propongono un'ampia varietà di applicazioni di apprendimento per rinforzo per affrontare gli interessi mutevoli e a lungo termine degli utenti, che pongono sfide sia per il filtraggio collaborativo che per quello basato sui contenuti.18

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live