Home

topics

Filtraggio collaborativo

Cos'è il filtraggio collaborativo?
Esplora il filtraggio collaborativo con watsonx.ai Iscriviti per ricevere gli aggiornamenti sull'AI
Diverse persone che rappresentano i dati utilizzati per il filtraggio delle informazioni

 

Data di pubblicazione: 21 marzo 2024
Autori: Jacob Murel Ph.D., Eda Kavlakoglu

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.

Perché la governance dell'AI è un imperativo per la scalabilità dell'intelligenza artificiale a livello aziendale

Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e gestione del rischio dell'AI.

Contenuti correlati Registrati per leggere la guida sui foundation model
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:

          

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 degli utenti conosciuti 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

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, 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

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 decision trees, 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 Riducendo le caratteristiche di un dato spazio vettoriale, la fattorizzazione della matrice funge anche da metodo di riduzione della dimensionalità.10

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 aver considerato, ma che comunque si rivolgono al proprio tipo di utente.11

Svantaggi

Il problema del cold start è forse lo svantaggio più ampiamente 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. Man mano 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 la raccomandazione. Questo approccio sostiene che la raccomandazione si aggiorna in tempo reale in base all'interazione utente-oggetto; man mano che l'utente salta, clicca, valuta, acquista gli articoli suggeriti, il modello sviluppa una politica ottimale da questo feedback per raccomandare nuovi articoli.14 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.15

Risorse correlate IBM e un grande magazzino creano un sistema di raccomandazione

Esamina questo caso d'uso del sistema di raccomandazione IBM Community incentrato sul settore del retail.

Oltre il filtraggio collaborativo: il problema delle raccomandazioni in liste

IBM Research propone un nuovo framework a due livelli che si basa su algoritmi CF esistenti per ottimizzare la probabilità di clic di una lista.

Ottieni un certificato IBM Machine Learning Professional

Preparati per una carriera nel machine learning con il corso IBM su Coursera. Ottieni le competenze richieste e l'esperienza pratica per prepararti al lavoro in meno di 3 mesi.

Fai il passo successivo

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

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

1 "Collaborative Filtering", Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Mohamed Sarwat and Mohamed Mokbel, "Collaborative Filtering", Encyclopedia of Database Systems, Springer, 2018.

2 Prem Melville and Vikas Sindhwani, "Recommender Systems", Encyclopedia of Machine learning and Data Mining, Springer, 2017.

3 YUE SHI, MARTHA LARSON, and ALAN HANJALIC, "Collaborative Filtering beyond the User-Item Matrix: A Survey of the State of the Art and Future Challenges", ACM Computing Surveys, vol. 47, n. 1, 2014, https://dl.acm.org/doi/10.1145/2556270. Kim Falk, Practical Recommender Systems, Manning Publications, 2019.

4 Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015. Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar, and Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020.

5 Kim Falk, Practical Recommender Systems, Manning Publications, 2019. J. Ben Schafer, Dan Frankowski, Jon Herlocker, and Shilad Sen, "Collaborative Filtering Recommender Systems", The Adaptive Web: Methods and Strategies of Web Personalization, Springer, 2007.

6 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Prem Melville and Vikas Sindhwani, "Recommender Systems", Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

7 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Kim Falk, Practical Recommender Systems, Manning Publications, 2019.

8 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.

9 Prem Melville and Vikas Sindhwani, "Recommender Systems", Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Yehuda Koren, Steffen Rendle, and Robert Bell, "Advances in Collaborative Filtering", Recommender Systems Handbook, 3rd edition, Springer, 2022.

10 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.

11 Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar, and Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020. Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.

12 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016.

13 Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016.

14 Guy Shani, David Heckerman, Ronen I. Brafman, "An MDP-Based Recommender System", Journal of Machine Learning Research, Vol. 6, N. 43, 2005, pagg. 1265−1295, https://www.jmlr.org/papers/v6/shani05a.html (link esterno a ibm.com). Yuanguo Lin, Yong Liu, Fan Lin, Lixin Zou, Pengcheng Wu, Wenhua Zeng, Huanhuan Chen, and Chunyan Miao, "A Survey on Reinforcement Learning for Recommender Systems", IEEE Transactions on Neural Networks and Learning Systems, 2023, https://ieeexplore.ieee.org/abstract/document/10144689 (link esterno a ibm.com). M. Mehdi Afsar, Trafford Crump, and Behrouz Far, Reinforcement Learning based Recommender Systems: A Survey", ACM Computing Survey, Vol. 55, N. 7, 2023, https://dl.acm.org/doi/abs/10.1145/3543846 (link esterno a ibm.com).

15 Xinshi Chen, Shuang Li, Hui Li, Shaohua Jiang, Yuan Qi, Le Song, "Generative Adversarial User Model for Reinforcement Learning Based Recommendation System", Atti della 36ª conferenza internazionale sul machine learningPMLR, N. 97, 2019, pagg. 1052-1061, http://proceedings.mlr.press/v97/chen19f.html (link esterno a ibm.com). Liwei Huang, Mingsheng Fu, Fan Li,Hong Qu, Yangjun Liu, and Wenyu Chen, "A deep reinforcement learning based long-term recommender system", Knowledge-Based Systems, Vol. 213, 2021, https://www.sciencedirect.com/science/article/abs/pii/S0950705120308352 (link esterno a ibm.com).