Data di pubblicazione: 21 marzo 2024
Autori: Jacob Murel Ph.D., Eda Kavlakoglu
Il filtraggio basato sui contenuti è uno dei due principali tipi di sistemi di raccomandazione. Suggerisce oggetti agli utenti in base alle caratteristiche di ciascuno di essi.
Il filtraggio basato sui contenuti è un metodo di recupero delle informazioni che utilizza le caratteristiche degli oggetti per selezionare e restituire oggetti pertinenti alla query di un utente. Questo metodo spesso tiene conto delle caratteristiche di altri oggetti per i quali un utente esprime interesse.1 Tuttavia, l'espressione basato sui contenuti è impropria. Alcuni algoritmi di raccomandazione basati sui contenuti abbinano gli oggetti in base alle caratteristiche descrittive (ad esempio, metadati) associate agli oggetti anziché ai contenuti effettivi di un oggetto.2 Tuttavia, diversi metodi basati sui contenuti, ad esempio il recupero di immagini basato sui contenuti o le applicazioni di elaborazione del linguaggio naturale, abbinano gli oggetti in base agli attributi intrinseci degli oggetti.
Il filtraggio basato sui contenuti è uno dei due principali tipi di sistemi di raccomandazione. L'altro è il metodo di filtraggio collaborativo. Quest'ultimo approccio raggruppa gli utenti in gruppi distinti in base al loro comportamento. Utilizzando le caratteristiche generali del gruppo, restituisce quindi oggetti specifici a un intero gruppo in base al principio che utenti simili (dal punto di vista comportamentale) sono interessati a oggetti simili.3
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.
Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e gestione del rischio dell'AI.
Registrati per leggere la guida sui foundation model
I sistemi di raccomandazione basati sui contenuti (CBRS) incorporano algoritmi di machine learning e tecniche di data science per suggerire nuovi oggetti e rispondere alle query.
Nei CBRS, il motore di raccomandazione confronta essenzialmente un profilo utente e un profilo oggetto per prevedere l'interazione utente-oggetto e suggerire oggetti di conseguenza.
I CBRS spesso rappresentano oggetti e utenti come incorporamenti in uno spazio vettoriale. Gli elementi vengono convertiti in vettori utilizzando le descrizioni dei metadati o le caratteristiche interne come attributi. Ad esempio, supponiamo di creare profili oggetto per suggerire nuovi romanzi agli utenti nell'ambito di una libreria online. Creiamo quindi profili per ogni romanzo utilizzando metadati rappresentativi, come autore, genere, ecc. Il valore di un romanzo per una determinata categoria può essere rappresentato con valori booleani, dove 1 indica la presenza del romanzo in quella categoria e 0 ne indica l'assenza. Con questo sistema, possiamo potenzialmente rappresentare una piccola manciata di romanzi in base al genere:
Qui, ogni genere è una dimensione diversa del nostro spazio vettoriale, e i valori in un dato romanzo rappresentano la sua posizione in quello spazio vettoriale. Ad esempio, Piccole Donne si trova in (1,0,1), L'Abbazia di Northanger in (0,0,1) e così via. Possiamo visualizzare questo spazio vettoriale di esempio come:
Più due nuovi vettori sono vicini nello spazio vettoriale, più il nostro sistema li considera simili in base alle caratteristiche fornite.5 Peter Pan e L'isola del tesoro condividono esattamente le stesse caratteristiche e appaiono nello stesso punto vettoriale (1,1,0). Secondo il nostro sistema, quindi, sono identici. In effetti, condividono molti elementi della trama (ad esempio, isole sperdute e pirati) e temi (ad esempio, la crescita o la resistenza ad essa). Al contrario, sebbene Piccole donne sia un romanzo per bambini, non è un'avventura ma un romanzo di formazione. Sebbene Piccole donne sia un romanzo per bambini come Peter Pan e L'isola del tesoro, manca dei loro valori caratteristici di romanzo di avventura e possiede un valore di caratteristica 1 per il romanzo di formazione, cosa che manca agli altri due. Questo avvicina Piccole donne a L'abbazia di Northanger nello spazio vettoriale, poiché condividono gli stessi valori di attributi per le caratteristiche di romanzo di avventura e di formazione.
A causa della loro similarità in questo spazio, se un utente ha precedentemente acquistato Peter Pan, il sistema suggerirà quei romanzi più vicini a Peter Pan, come L'isola del tesoro, a quell'utente come potenziale acquisto futuro. Se si dovessero aggiungere più romanzi e caratteristiche basate sul genere (ad esempio, fantasy, gotico, ecc.), le posizioni dei romanzi nello spazio vettoriale si sposterebbero. Ad esempio, se si aggiunge una dimensione di genere fantasy, Peter Pan e L'isola del tesoro potrebbero discostarsi leggermente l'uno dall'altro, dato che il primo è spesso considerato fantasy, mentre il secondo no.
È opportuno notare che i vettori degli oggetti possono anche essere creati utilizzando le caratteristiche interne degli oggetti come attributi. Ad esempio, possiamo convertire elementi di testo non elaborati (ad esempio articoli di notizie) in un formato strutturato e mapparli su uno spazio vettoriale, come un modello bag of words. In questo approccio, ogni parola utilizzata in tutto il corpus diventa una dimensione diversa dello spazio vettoriale e gli oggetti che utilizzano parole chiave simili appaiono più vicini l'uno all'altro nello spazio vettoriale. TF-IDF, un'estensione dell'approccio bag of words, può aiutare ulteriormente a misurare la frequenza dei termini per ogni articolo rispetto all'intero repository di articoli di notizie.6 Metodi simili possono essere applicati agli oggetti immagine attraverso l'incorporamento di immagini.
In che modo un sistema di filtraggio basato sui contenuti determina la similarità tra un numero qualsiasi di oggetti? Come accennato, la prossimità nello spazio vettoriale è un metodo primario. Le metriche specifiche utilizzate per determinare tale prossimità, tuttavia, possono variare. Le più comuni includono:
La similarità del coseno indica la misura dell'angolo tra due vettori. Può assumere 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à. La similarità del coseno è rappresentata da questa formula, in cui x e y indicano due vettori-oggetto nello spazio vettoriale: 7
La distanza euclidea misura la lunghezza di un ipotetico segmento di linea che unisce due punti vettoriali. I punteggi della distanza euclidea possono arrivare fino a zero, senza limite superiore. Più piccola è la distanza euclidea tra due vettori-oggetto, più questi sono considerati simili. La distanza euclidea si calcola con la seguente formula, dove x e y rappresentano due vettori-oggetto:8
Il prodotto scalare è il prodotto tra il coseno dell'angolo tra due vettori e la lunghezza euclidea di ciascun vettore a partire da un'origine definita. In altre parole, è il coseno tra due vettori moltiplicato per la lunghezza proiettata di ciascun vettore, dove la lunghezza è lo spostamento di un vettore rispetto a un'origine definita, come (0,0). Il prodotto scalare è particolarmente utile per confrontare oggetti con grandezze notevolmente diverse, per esempio, pensiamo alla popolarità di libri o film. È rappresentato da questa formula, in cui d e q rappresentano di nuovo due vettori-oggetto:9
Bisogna tenere presente che queste metriche sono sensibili al modo in cui vengono ponderati i vettori confrontati, poiché ponderazioni diverse possono influire in modo significativo su queste funzioni di punteggio.10 Altre possibili metriche per determinare la similarità vettoriale sono il coefficiente di correlazione di Pearson (o correlazione di Pearson) e la similarità di Jaccard e l'indice di Dice.11
I CBRS creano un classificatore basato sull'utente o un modello di regressione per suggerire articoli a un utente specifico. Per iniziare, l'algoritmo prende le descrizioni e le caratteristiche degli oggetti per i quali un determinato utente ha mostrato interesse in precedenza, ovvero il profilo utente. Questi elementi costituiscono il set di dati di addestramento utilizzato per creare un modello di classificazione o regressione specifico per l'utente. In questo modello, gli attributi degli oggetti sono le variabili indipendenti, mentre la variabile dipendente è il comportamento dell'utente (ad esempio, le valutazioni dell'utente, i like, gli acquisti, ecc.) Il modello addestrato su questo comportamento passato mira a prevedere il comportamento futuro dell'utente per i possibili oggetti e a raccomandare oggetti in base alla previsione.12
Il problema del cold start riguarda essenzialmente il modo in cui un sistema gestisce nuovi utenti o nuovi oggetti. Entrambi pongono un problema nel filtraggio collaborativo, perché raccomandano gli oggetti raggruppando gli utenti in base alle somiglianze di comportamento e preferenze dedotte. Tuttavia, i nuovi utenti non hanno un'evidente somiglianza con gli altri e i nuovi oggetti non hanno un'interazione utente sufficiente (ad esempio, valutazioni) per consigliarli. Sebbene il filtraggio basato sui contenuti sia difficile da gestire con i nuovi utenti, è comunque in grado di incorporare nuovi elementi. Ciò è dovuto al fatto che suggerisce gli elementi in base alle caratteristiche interne o dei metadati piuttosto che alle interazioni passate dell'utente.13
Il filtraggio basato sui contenuti consente un maggiore grado di trasparenza fornendo caratteristiche interpretabili che aiutano a spiegare le raccomandazioni. Ad esempio, un sistema di raccomandazione di film potrebbe spiegare perché un certo film viene raccomandato, ad esempio per la sovrapposizione di genere o di attori con film precedentemente visti. L'utente può quindi decidere in modo più informato se guardare il film consigliato.14
Uno dei principali svantaggi del filtraggio basato sui contenuti è la limitazione delle caratteristiche. Le raccomandazioni basate sui contenuti derivano esclusivamente dalle caratteristiche utilizzate per descrivere gli oggetti. Tuttavia, le caratteristiche degli oggetti di un sistema potrebbero non essere in grado di catturare ciò che piace a un utente. Per esempio, tornando all'esempio del sistema di raccomandazione di film, supponiamo che un utente guardi e apprezzi il film Gaslight del 1944. Un CBRS può consigliare altri film diretti da George Cukor o con Ingrid Bergman, ma quei film potrebbero non essere simili a Gaslight. Se l'utente preferisce uno specifico espediente narrativo (ad esempio, un marito ingannevole) o un elemento della produzione (ad esempio, un direttore della fotografia) non rappresentato nel profilo oggetto, il sistema non presenterà raccomandazioni adeguate. Una quantità insufficiente di dati non consente di realizzare una differenziazione accurata tra i potenziali Mi piace e Non mi piace di un utente.15
Poiché il filtraggio basato sui contenuti consiglia oggetti solo in base agli interessi precedentemente evidenziati di un utente, i suoi suggerimenti sono spesso simili agli oggetti che un utente ha apprezzato in passato. In altre parole, i CBRS non dispongono di una metodologia per esplorare il nuovo e l'imprevisto. In questo caso, si parla di "overspecialization". Al contrario, poiché i metodi basati sul filtraggio collaborativo traggono raccomandazioni da un insieme di utenti che hanno gusti simili a quelli di un dato utente, possono spesso raccomandare oggetti che un utente potrebbe non aver preso in considerazione, che presentano caratteristiche diverse rispetto agli oggetti precedentemente graditi dall'utente, ma che contengono un elemento non rappresentato che attrae un certo tipo di utente.16
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.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
Esamina il caso d'uso di un sistema di raccomandazione, le basi teoriche di un campione di questi sistemi e ove possibile, le specificità di questo business case.
Esplora l'uso della pubblicazione/sottoscrizione basata sui contenuti per la diffusione dei dati in applicazioni su larga scala con requisiti di filtraggio espressivi.
Le applicazioni su larga scala richiedono un servizio di diffusione dei dati scalabile con capacità di filtraggio avanzate, come i sistemi di pubblicazione/sottoscrizione basati sui contenuti che supportano il filtraggio top-k.
1 Prem Melville and Vikas Sindhwani, "Recommender Systems", Encyclopedia of Machine learning and Data Mining, Springer, 2017.
2 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.
3 "Collaborative Filtering", Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Mohamed Sarwat and Mohamed Mokbel, "Collaborative Filtering", Encyclopedia of Database Systems, Springer, 2018.
4 Michael J. Pazzani and Daniel Billsus, "Content-Based Recommendation Systems", The Adaptive Web: Methods and Strategies of Web Personalization, Springer, 2007.
5 Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015.
6 Michael J. Pazzani and Daniel Billsus, "Content-Based Recommendation Systems", The Adaptive Web: Methods and Strategies of Web Personalization, Springer, 2007.
7 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.
8 Rounak Banik, Hands-On Recommendation Systems with Python, Packt Publishing, 2018. Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015.
9 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
10 Qiaozhu Mei and Dragomir Radev, "Information Retrieval", Oxford Handbook of Computational Linguistics, seconda edizione, Oxford University Press, 2016.
11 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.
12 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Ricci, Recommender Systems Handbook, terza edizione, Springer 2022.
13 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016.
14 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.
15 Jaiwei Han, Micheline Kamber, and Jian Pei, Data Mining: Concepts and Techniques, terza edizione, Elsevier, 2012. 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.
16 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.
17 Guy Shani and David Heckerman and 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).
18 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 learning, PMLR, 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).