Che cos’è e tipologie dei Recommender System in informatica

Che cos’è e tipologie dei Recommender System in informatica

Che cos’è un Recommender System?

I recommender system o recommendation system sono strumenti software progettati con l’obiettivo di suggerire oggetti agli utenti.

Con il termine oggetto (item) si fa riferimento a ciò che il sistema deve consigliare all’utente. Ad esempio, i suggerimenti possono riguardare film da vedere, musica da ascoltare, prodotti da acquistare, notizie da leggere, persone da aggiungere agli amici in social network, ecc. Spesso i recommender system sono progettati in modo da essere specifici per il tipo di oggetti che devono suggerire, in modo da massimizzare l’efficacia dei suggerimenti.

L’esigenza di Recommender System in grado di orientare gli utenti nella scelta di prodotti da acquistare è nata con il proliferare dell’e-commerce. Cataloghi sempre più vasti e alternative sempre più numerose comportano una maggiore difficoltà nel processo di decisione, quindi il rischio di effettuare una scelta sbagliata, sopraffatti dalla vastità dell’offerta. Infatti, se avere più opzioni tra cui scegliere è indubbiamente un fatto positivo, averne troppe può risultare controproducente.

In generale, lo scopo principale di un recommender system è quello di orientare gli utenti privi di esperienza o conoscenze necessarie nella scelta tra molti oggetti alternativi. I suggerimenti sono di solito personalizzati, quindi mirati ai gusti individuali di ciascun utente. Infatti, fornire suggerimenti impersonali su oggetti più popolari non è un problema particolarmente complesso da affrontare, ma non è detto che tutti gli utenti apprezzino gli stessi oggetti. È proprio nella capacità di fornire suggerimenti personalizzati, rispondenti ai gusti del singolo utente, che risiede la complessità ed è su questo aspetto che si concentra la ricerca sui Recommender System.

Che cos'è e tipologie dei Recommender System in informatica

Tipologie di un Recommender System

I Recommender System possono essere classificabili in diverse categorie, in base al modo con cui vengono generati i suggerimenti.

Collaborative Filtering

L’approccio collaborativo, o Collaborative Filtering, è il primo e più semplice tra quelli utilizzati per realizzare Recommender System.

Gli oggetti che vengono suggeriti sono quelli apprezzati da utenti con gusti simili. L’idea di base è che, se un utente in passato ha avuto gusti simili ad altri utenti, questi probabilmente continueranno ad avere gusti simili in futuro. La somiglianza tra I gusti degli utenti è determinata dalle valutazioni che essi assegnano agli oggetti. Non si fa, invece, uso di informazioni sulle caratteristiche degli oggetti. I Recommender System più diffusi sono basati su questo approccio. Il vantaggio principale di questa tipologia di algoritmi è che non richiedono informazioni sugli oggetti da consigliare. Infatti, non sempre è semplice raccogliere e mantenere questo tipo di informazioni per tutti gli oggetti del catalogo. Tuttavia, l’approccio collaborativo richiede che vi sia un certo numero di valutazioni espresse dall’utente corrente su oggetti passati e da altri utenti su altri oggetti. In assenza di valutazioni, ad esempio su nuovi oggetti del catalogo, è impossibile fornire suggerimenti.

Approccio Content-Based

L’approccio basato sui contenuti, o Content-Based, consiste nel suggerire oggetti simili a quelli che l’utente ha già apprezzato. La somiglianza tra gli oggetti è determinata sulla base di caratteristiche comuni. Ad esempio, per i film si possono valutare attributi come genere, regista, attori, ecc. Una valutazione espressa su un oggetto può essere considerata come una valutazione sugli attributi dell’oggetto, quindi si può generare un profilo dell’utente sulla base di queste valutazioni e generare suggerimenti di oggetti, assegnando loro un punteggio di affinità con le caratteristiche del profilo dell’utente.

Questo approccio non richiede valutazioni da parte di molti utenti per poter generare suggerimenti, quindi è valido anche nel caso di oggetti nuovi, a differenza dell’approccio collaborativo. Le complessità, però, risiedono nel trovare il modo di raccogliere le informazioni sugli oggetti e costruire i profili degli utenti. Se si fa affidamento a sistemi manuali per l’inserimento delle caratteristiche di oggetti, si rischia di incorrere in errori, oltre ad essere un processo lungo e costoso. Quindi si tende ad usare sistemi automatizzati, ad esempio di analisi semantica. Invece, per la generazione dei profili degli utenti, si usano tecniche di machine learning, che imparano sulla base delle interazioni precedenti.

Approccio demografico

L’approccio demografico prevede suggerimenti sulla base di informazioni demografiche dell’utente, ad esempio l’età, la lingua, il paese, ecc.

Approccio Knowledge-Based

L’approccio basato sulla conoscenza, o Knowledge-Based, invece di impiegare informazioni ricavate dalle precedenti interazioni tra utente sistema, sfrutta la conoscenza del dominio per determinare gli oggetti con caratteristiche corrispondenti alle esigenze dell’utente. Quindi si determina una somiglianza tra i requisiti espressi dall’utente e le caratteristiche degli oggetti.

Un esempio sono i Recommender basati sui vincoli, o Constraint-Based, che richiedono all’utente, in modo interattivo, informazioni sui requisiti e le usano per generare suggerimenti. Per rendere più personalizzati i suggerimenti, può anche essere richiesto di esprimere un punteggio che indichi l’importanza per l’utente di ciascun requisito espresso.

Approcci Ibridi

Gli approcci ibridi puntano a combinare i benefici e superare le limitazioni dei singoli meccanismi sopra elencati, al fine di generare suggerimenti più precisi. Ciò comporta una maggiore complessità dovuta all’integrazione di tecniche e algoritmi separati.

Esistono tre modalità per integrare informazioni contestuali nei Recommender System:

  • Architettura monolitica: viene realizzato un unico Recommender System che impieghi diverse tecniche per trattare i dati in ingresso.
  • Architettura in parallelo: diversi Recommender System lavorano in modo indipendente e i risultati vengono successivamente combinati in qualche modo.
  • Architettura in serie: i risultati di un Recommender System diventano input per il successivo Recommender System.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *