Prima della diffusione di internet e dei motori di ricerca, trovare informazioni utili ad uno specifico argomento o contesto era molto difficile, richiedeva tempo, ricerche lunghe e faticose, e spesso risultava costoso in quanto non era inusuale dover acquistare libri o spostarsi per consultare biblioteche. Oggi il mondo è molto cambiato, grazie ai numerosi motori di ricerca esistenti migliaia e migliaia di dati ed informazioni sono immediatamente disponibili per tutti. Di contro è cresciuta l’esigenza di imparare a destreggiarsi in questo mare di informazioni, non lasciarsi spaventare o demoralizzare di fronte a così tanti risultati ed “imparare a cercare”. A partire da questa criticità nascono i primi sistemi di raccomandazione, sistemi trasparenti per l’utente finale che aiutano a selezionare le risorse più in linea con i propri gusti ed esigenze, più pertinenti rispetto alla ricerca fatta e al contesto, ed orientano l’utente stesso nello scegliere cosa leggere, cosa acquistare, dove andare, con chi mettersi in contatto. 

Ne abbiamo esperienza tutti i giorni, anche se spesso nemmeno ce ne accorgiamo. Ad esempio consultando Amazon o cercando un contenuto su Netflix, vediamo apparire accanto al risultato diretto della nostra ricerca dei “suggerimenti”, contenuti od oggetti che per qualche motivo, e spesso a ragione, ci vengono proposti come interessanti per noi. 

Quali logiche ci sono dietro ai sistemi di raccomandazione? Quali effetti vantaggiosi ci sono sia per chi vende un servizio o un prodotto, sia per gli utenti? Quali garanzie legate alla privacy e alla sicurezza tutelano gli utenti? 

Sistemi di raccomandazione: definizione e approcci possibili

I sistemi di raccomandazione sono una delle applicazioni più di successo del machine learning e sono utilizzati in tantissimi contesti per agevolare l’utente nell’esplorazione dei contenuti, siano essi film, musica, libri, notizie, prodotti. Si tratta di un’importante classe di algoritmi di machine learning che hanno lo scopo di calcolare suggerimenti “rilevanti” per gli utenti attraverso l’analisi dei loro interessi e comportamenti, o di quelli di utenti considerati simili. 

L’utilizzo dei sistemi di raccomandazione comporta vantaggi un po’ per tutti, a partire dal fornitore di servizi che risente dei benefici economici derivanti da un migliore uso delle proprie risorse e anche dal miglioramento del rapporto con i clienti legato alla personalizzazione dell’esperienza dell’utente e una più accurata customer care

Esistono diversi approcci a partire dai quali è possibile creare i sistemi di raccomandazione. Si basano sull’osservazione dei dati demografici, comportamentali e possono tenere in considerazione informazioni sia dirette dell’utente interessato, sia di community di amici o utenti affini. In generale si tratta di diversi punti di vista guidati tutti dal concetto della “pertinenza” dell’informazione da cercare rispetto ai gusti, alle esigenze e al comportamento storico dell’utente. A seconda del modo in cui la pertinenza viene percepita e calcolata possiamo suddividere le tecniche alla base dei sistemi di raccomandazione in due (più una) macro-famiglie: 

– approccio collaborativo, calcola i suggerimenti tenendo conto delle valutazioni sui vari elementi (contenuti, prodotti, etc) lasciate da utenti simili; 

– approccio content-based, basato sul contenuto, sulle caratteristiche di un elemento rispetto a quelle dell’utente, andando quindi a suggerire elementi simili come contenuti ad altri visti in precedenza dall’utente; 

– approccio ibrido, un approccio combinato delle tecniche precedenti. 

Approccio collaborativo: Collaborative Filtering Systems 

Il presupposto dell’approccio collaborativo è quello di sfruttare la “similarità” tra gli utenti, si parte quindi dal concetto che esistano gruppi di utenti “simili” che abbiano tra loro anche gusti simili. 

La selezione dei suggerimenti si basa in primis sul tipo di elementi visti in precedenza dall’utente e sulle valutazioni (attraverso voti, feedback, like o quant’altro) che l’utente ha attribuito ad ogni elemento. Dando poi per assodato che utenti simili attribuiscano allo stesso elemento una valutazione simile, l’algoritmo di raccomandazione fornisce all’utente come suggerimenti gli elementi a cui gli utenti “simili” hanno associato le valutazioni più alte. 

L’idea alla base di tale approccio è che i dati storici degli utenti siano sufficienti per fare una previsione, che non serva sapere altro per individuare i suggerimenti da proporre all’utente. 

Facebook e Linkedin sono esempi di applicazione del Collaborative Filtering: attraverso l’analisi storica delle interazioni e valutazioni dell’utente con contenuti e persone della rete, entrambi i social sono in grado di proporre ad ogni utente ogni giorno nuovi contenuti che, anche se non riguardano persone, aziende o gruppi a cui l’utente è collegato direttamente, possono risultare di interesse poiché “piacciono” ad utenti simili. 

Un altro esempio di Collaborative Filtering è la sezione “Chi ha acquistato questo articolo ha acquistato anche” proposta da Amazon: in questo caso le proposte per l’utente sono calcolate in base alle reazioni, feedback ed acquisti di clienti “simili” sulla piattaforma. 

Approccio Content-based 

Contrariamente al Collaborative Filtering, l’approccio content-based consiglia all’utente alcuni elementi selezionati in base ad un confronto a livello di contenuto tra gli elementi stessi e il profilo dell’utente: il contenuto di ogni elemento è, infatti, rappresentato come un insieme di metadati e descrittori, mentre il profilo utente, rappresentato con lo stesso tipo di termini, è costruito in modo dinamico analizzando il contenuto degli elementi visti dall’utente. 

Per questo motivo i metodi di raccomandazione basati sul contenuto sono più vicini all’apprendimento automatico, nel senso che le funzionalità che vengono sviluppate per fare previsioni sono basate sui dati continuamente aggiornati degli utenti e degli articoli.  

Aziende che sfruttano un approccio di questo tipo le ritroviamo nei siti di e-commerce, ma anche nei portali per la scelta di auto a noleggio, assicurazioni online ed altri casi in cui è importante tener presente non solo le caratteristiche storiche di un utente, ma soprattutto il suo comportamento in divenire, le sue esigenze e gusti che cambiano nel tempo. 

Un esempio di applicazione di approccio content-base è la sezione ”Potrebbe piacerti anche:” di Zalando, in cui il sistema offre una lista di suggerimenti di oggetti simili come contenuto (forma, colore, fantasia, …) alla ricerca in corso. 

I sistemi di raccomandazione funzionano? Limiti metodologici 

Attorno ai sistemi di raccomandazione orbitano diverse sfide che è necessario superare per poterli impostare al meglio e portarli quindi dalla teoria alla pratica. Le principali riguardano: 

Modalità di valutazione: come convalidare la bontà delle raccomandazioni? 

Un modo per comprendere se un sistema di raccomandazione funziona in uno specifico contesto è sicuramente quello a posteriori, ovvero il confronto delle performance prima e dopo la messa in produzione del sistema. È chiaro però che sarà necessario fare valutazioni anche in anticipo, per selezionare ad esempio tra tutte le possibilità quella che meglio si adatta al contesto aziendale e che quindi ha il miglior rapporto costi/benefici. 

In questo senso esistono tre tipi di valutazione per misurare l’efficacia di un sistema di raccomandazione: 

user studies: definito “esplicito”, si basa sulla valutazione di raccomandazioni sviluppate da algoritmi diversi. L’algoritmo con la media dei voti più alta viene considerato l’algoritmo migliore (più adatto) per quel contesto 

valutazione online: è un metodo definito “implicito”. Il sistema viene valutato durante la navigazione dell’utente sul sito: viene analizzato il comportamento dell’utente, si osserva la frequenza con cui l’utente accetta una raccomandazione fornita dal motore attraverso l’osservazione del click-through rate (CTR). Infine gli algoritmi utilizzati per creare raccomandazioni vengono comparati attraverso il CTR alla ricerca di quello con le migliori performance. 

valutazione di esperti offline: a partire da dataset a cui vengono rimosse alcune informazioni, lo scopo è quello di prevedere le informazioni mancanti e di sviluppare delle raccomandazioni basandosi sia sulle stime dei dati mancanti, sia sui dati “veri” a disposizione.  

A seconda di quali informazioni inizialmente vengono rimosse e di quali si riesce a predire si ottengono declinazioni diverse della stessa tecnica di valutazione, tutte sono comunque legate dall’idea di prevedere offline una raccomandazione basandosi su algoritmi di predizione. 

Comprensibilità: come garantire che le raccomandazioni siano comprensibili dall’uomo e che godano un’adeguata fiducia? 

La fiducia che una persona ripone in questo tipo di suggerimenti risiede nella qualità degli stessi e nella loro coerenza con la ricerca in atto, quindi è strettamente legata alla valutazione personale: se il suggerimento proposto è calcolato con logiche troppo complesse, o tiene in considerazione insiemi di dati o di persone troppo diverse da chi fa la ricerca, il rischio è che il risultato suggerito, per quanto possa essere una reale previsione del comportamento futuro dell’utente, potrebbe non essere in linea con le attese e quindi non venire apprezzato. 

Ad esempio, se su un portale e-commerce cerco un particolare modello di smartphone mi aspetto che il sistema di raccomandazione possa suggerirmi modelli simili oppure accessori per quello specifico modello; a volte invece capita che le proposte siano del tutto diverse, ad esempio webcam, altoparlanti, proiettori. L’analisi del CTR in questo caso potrebbe avere un valore ottimale, sono oggetti in qualche modo collegati alla prima ricerca e acquistati spesso insieme, ma non sono ciò che l’utente si aspetta di trovare. Ciò si riflette sulla comprensibilità della raccomandazione intesa come il capire il motivo del suggerimento, la linea di similarità che lega questi oggetti. L’influenza che tutto questo ha sulla fiducia dell’utente nel sistema di raccomandazione è chiara e rischia di creare un circolo vizioso in cui anche i suggerimenti “buoni” potrebbero riscontrare poco successo. 

Scalabilità: garantire il funzionamento in qualunque contesto

Studiare la scalabilità di un sistema di raccomandazione è spesso un’attività sottovalutata, ma è essenziale per poter comprendere l’effettiva applicabilità della soluzione nel contesto reale. All’aumentare della complessità della soluzione di raccomandazione scelta corrisponde ovviamente un aumento delle risorse necessarie per la sua applicazione ed uso, e di conseguenza un aumento dei costi e un possibile rallentamento dei tempi di risposta. Perché tutto ciò risulti vantaggioso, deve poter garantire un ritorno compensando quindi i costi sostenuiti con un incremento in efficacia e qualità. 

La normativa europea sui sistemi di raccomandazione 

Il Consiglio Europeo già da qualche anno si occupa di gestire la questione relativa alla privacy e l’uso dei dati. La carta dei Diritti del cittadino e le varie altre normative, come il GDPR, ne sono il forte segnale. Un occhio in particolare è ultimamente rivolto al digitale e allo sfruttamento dei dati delle persone con sistemi algoritmici, ad esempio anche i sistemi di raccomandazione. 

In una Raccomandazione sugli impatti dei sistemi algoritmici sui diritti umani, il Comitato dei Ministri del Consiglio europeo ha stilato delle linee guida per invitare i governi a garantire la non violazione dei diritti umani attraverso l’uso e lo sviluppo di sistemi algoritmici, e garantire agli utenti la prevenzione delle suddette violazioni dei diritti umani, anche con eventuali strategie per porvi rimedio in tempi stretti qualora si verificassero. 

In questo documento viene riconosciuto il grande potenziale dei processi algoritmici nel promuovere l’innovazione e lo sviluppo economico in vari ambiti, come comunicazione, trasporti, governance, sistemi sanitari. Parallelamente si mette in guardia rispetto alle importanti sfide per i diritti umani associate all’utilizzo di sistemi algoritmici, soprattutto per quanto riguarda i diritti fondamentali, quali privacy, protezione dei propri dati, libertà di pensiero, di religione e di espressione; oltre al diritto all’oblio e alla parità di trattamento. 

La Commissione Europea ha inoltre riconosciuto l’importanza che l’intelligenza artificiale (AI) gioca nel formare il futuro dell’Europa, identificando l’IA come la tecnologia più strategica del 21 ° secolo. È stata infatti fatta una recente proposta di regolamento che stabilisce norme armonizzate sull’intelligenza artificiale che mira a introdurre un quadro giuridico completo sull’IA, che identificherà i rischi specifici, fornirà una raccolta di domini applicativi di rischio, proporrà requisiti che i sistemi di IA dovrebbero soddisfare, ed altro. Non sono sicuramente interventi esaustivi in generale, ma emerge chiaramente la necessità di un’IA che si comporti in modo responsabile 

ARGOMENTI CORRELATI
Categoria: INTELLIGENZA ARTIFICIALE
Persona che osserva e indica un monitor su cui sono riportate diverse linee di codice

Deep learning: cos’è e quali le applicazioni 

Nell’ampio vocabolario dell’intelligenza artificiale c’è una tecnica sempre più diffusa che promette di affrontare i problemi più complessi: il deep… Leggi tutto

Machine learning e deep learning. Un uomo e una donna seduti ad una scrivania che guardano lo stesso schermo del pc.

Machine learning e deep learning: quali le differenze

Machine learning (ML) e deep learning (DL) sono termini sempre più ricorrenti nel vocabolario tecnologico, oltre ad essere sempre più… Leggi tutto

intelligenza artificiale debole e forte - due persone sedute ad una scrivania lavorano insieme guardando un tablet

Le differenze tra intelligenza artificiale debole e forte

L’intelligenza artificiale è una tecnologia ormai entrata stabilmente a far parte della nostra quotidianità, dai semplici assistenti domestici ai più… Leggi tutto