I sistemi di raccomandazione offrono vantaggi sia alle aziende che ai clienti, utilizzando i dati per personalizzare le esperienze. Contribuiscono ad aumentare le vendite, a rafforzare la fidelizzazione dei clienti e a ridurre il tasso di abbandono, semplificando le scelte e mantenendo gli utenti coinvolti.
Abbiamo confrontato le prestazioni di tre librerie di raccomandazione Python: LightFM, Cornac BPR e TensorFlow Recommenders, utilizzando lo stesso set di dati di feedback implicito e le stesse fasi di preelaborazione.
Abbiamo addestrato ciascun modello sugli stessi dati, li abbiamo valutati utilizzando AUC, Precision@10 e Recall@10 e abbiamo confrontato la loro capacità di classificare e recuperare gli elementi rilevanti nelle raccomandazioni top-k.
Le migliori librerie Python per i sistemi di raccomandazione
Queste librerie implementano algoritmi di apprendimento automatico per elaborare i dati di addestramento e generare raccomandazioni personalizzate utilizzando tecniche di filtraggio collaborativo o basato sui contenuti. Inoltre, queste librerie implementano modelli di apprendimento automatico per analizzare i dati e scoprire schemi, consentendo al motore di raccomandazione di suggerire elementi pertinenti in base al comportamento e alle preferenze dell'utente.
Caratteristica | LightFM | Cornac (BPR) | TensorFlow |
|---|---|---|---|
Tipo di modello | Ibrido (collaborativo + basato sui contenuti) | Fattorizzazione di matrici (BPR) | Collaborativo, basato sui contenuti o ibrido |
Tipo di dati | Esplicito e implicito | Implicito | Esplicito e implicito |
Supporto ai contenuti | Sì (funzionalità utente/elemento) | NO | Sì (tramite feature tower, embedding, ecc.) |
Avvio a freddo | Gestisce parzialmente (tramite funzionalità di contenuto) | NO | Sì (se vengono utilizzate le funzionalità di contenuto) |
Valutazione | Precisione@K, AUC, Richiamo@K | NDCG, Precision@K, AUC, Precision@K | Precisione@K, Richiamo@K, AUC |
Caso d'uso | Sistemi ibridi, utilizzo dei metadati | Classificazione del feedback implicito | Sistemi di raccomandazione generici e altamente personalizzabili |
Risultati del benchmark LightFM vs Cornac BPR vs TensorFlow
Sistemi di raccomandazione TensorFlow ha ottenuto i risultati migliori. La sua architettura di deep learning gli consente di catturare relazioni utente-elemento più complesse. LightFM, che si comporta bene quando sono disponibili i metadati, non ha ottenuto risultati altrettanto brillanti in questo caso perché abbiamo utilizzato solo dati comportamentali; ha comunque superato BPR. Cornac BPR ha registrato la qualità di raccomandazione più bassa, risultando quindi più adatto a esperimenti rapidi o applicazioni su piccola scala.
Abbiamo utilizzato la nostra metodologia di benchmarking per i motori di raccomandazione per testare LightFM, Cornac BPR e TensorFlow.
Che cos'è un sistema di raccomandazione?
Un sistema di raccomandazione (o sistema di raccomandazione) è uno strumento progettato per fornire suggerimenti personalizzati agli utenti in base alle loro preferenze, al loro comportamento e alle loro interazioni con una piattaforma. Questi sistemi analizzano dati come la cronologia degli acquisti, la cronologia di navigazione, i dati demografici degli utenti e le informazioni contestuali per offrire contenuti pertinenti. Di seguito sono elencate le tipologie più comuni di sistemi di raccomandazione:
Tecniche di filtraggio collaborativo:
- Basato sui modelli di interazione tra utenti e oggetti.
- Include il filtraggio collaborativo basato sugli utenti (per trovare utenti simili) e il filtraggio collaborativo basato sugli elementi (per trovare elementi simili).
- Ideale per l'e-commerce e i servizi di streaming.
Tecniche di filtraggio basate sul contenuto:
- Si concentra sugli attributi degli articoli (caratteristiche dell'articolo) e sulle interazioni passate dell'utente (preferenze dell'utente).
- Ideale per identificare gli interessi specifici dell'utente target.
Sistemi di raccomandazione ibridi:
- Combinare il filtraggio collaborativo con metodi basati sui contenuti.
- Sfrutta modelli di apprendimento automatico come le reti neurali profonde e le reti neurali ricorrenti per migliorare le previsioni.
Concetti chiave dei sistemi di raccomandazione
Nozioni di base sulla fattorizzazione di matrici
La fattorizzazione di matrici è una tecnica fondamentale nel filtraggio collaborativo. Essa scompone una matrice di interazione utente-elemento di grandi dimensioni (ad esempio, valutazioni o clic) in matrici più piccole che catturano modelli o relazioni nascoste, chiamate caratteristiche latenti.
Questo approccio aiuta a ridurre la complessità dei dati e a scoprire informazioni significative, come la preferenza di un utente per generi specifici o l'attrattiva di un articolo per un particolare gruppo.
Comprendere i dati impliciti
I dati impliciti si riferiscono a indicatori indiretti delle preferenze degli utenti, ottenuti dai comportamenti piuttosto che da feedback espliciti come le valutazioni a stelle. Alcuni esempi di dati impliciti includono il tasso di clic, il tempo trascorso su una pagina, la cronologia degli acquisti e le abitudini di ricerca.
Questo tipo di dati è più facile da raccogliere su larga scala e spesso riflette l'interazione reale con gli utenti. Tuttavia, può essere rumoroso o ambiguo, ad esempio nell'interpretare se una lunga visita a una pagina web indichi interesse o distrazione.
Apprendimento approfondito nei sistemi di raccomandazione
Il deep learning supporta i sistemi di raccomandazione analizzando dati complessi e multidimensionali tramite reti neurali. È particolarmente efficace per le raccomandazioni basate su sessioni, la comprensione dei contenuti e i suggerimenti contestuali che tengono conto di fattori quali tempo, posizione o stato d'animo dell'utente.
Questi metodi sono in grado di elaborare grandi quantità di dati non strutturati come testo, immagini e video, apprendendo le complesse relazioni tra le caratteristiche.
Approcci di raccomandazione ibridi
I sistemi di raccomandazione ibridi combinano diverse tecniche, come il filtraggio collaborativo, il filtraggio basato sui contenuti e gli approcci basati sulla conoscenza. Questa integrazione migliora la precisione e affronta problematiche come il problema del cold-start (nuovi utenti o elementi) e la scarsità di dati.
Tutorial: creazione di un sistema di raccomandazione con LightFM
In questo tutorial, creeremo un motore di raccomandazione utilizzando LightFM, sfruttando i dati impliciti derivanti dalle interazioni utente-prodotto. Questi dati di addestramento, che includono vari tipi di dati sui clienti, aiutano il modello ad apprendere le preferenze degli utenti e a fare previsioni accurate.
Il modello LightFM che abbiamo sviluppato prevede quali prodotti un utente è propenso a visualizzare, stimando le sue potenziali interazioni con elementi non ancora visti. Il modello analizza i dati per effettuare queste previsioni accurate, garantendo che i consigli siano personalizzati in base al comportamento dell'utente.
Prerequisiti
Prima di iniziare, assicurati di aver installato le librerie necessarie. Se non le hai, puoi installarle tramite pip:
Per sistemi di raccomandazione più avanzati, potrebbero essere necessarie anche librerie di elaborazione del linguaggio naturale.
Panoramica del set di dati
In questo tutorial utilizzeremo un dataset di e-commerce al dettaglio, che contiene informazioni sulle interazioni degli utenti con i prodotti. Il dataset include le seguenti colonne:
- visitorid: Un identificativo univoco per il visitatore (utente).
- itemid: Un identificatore univoco per l'articolo (prodotto).
- evento: L'evento di interazione, in questo caso, ci interessa solo gli eventi 'view'.
Il set di dati può contenere anche dati non strutturati che necessitano di essere elaborati.
Un esempio di voce nel dataset potrebbe essere il seguente:
Per semplicità, filtreremo solo gli eventi di "visualizzazione" in cui gli utenti hanno interagito con i prodotti. Useremo quindi queste informazioni per costruire il modello di raccomandazione.
Guida passo passo al sistema di raccomandazione
1. Caricare e preparare i dati
Innanzitutto, dobbiamo caricare il dataset e preelaborarlo per l'addestramento. Le colonne chiave di cui abbiamo bisogno sono visitorid, itemid ed event. Filtriamo inoltre gli eventi di tipo 'view' e convertiamo le variabili categoriche (visitorid e itemid) in codici numerici per ottimizzare l'utilizzo della memoria.
Carica il dataset:
Filtra solo gli eventi di "visualizzazione":
Converti visitorid e itemid in tipo categoria per risparmiare memoria:
2. Creare la matrice utente-elemento
Successivamente, convertiremo le colonne visitorid e itemid in rappresentazioni numeriche e costruiremo una matrice sparsa che servirà come input per il modello LightFM. Utilizzeremo scipy per creare una matrice sparsa, che è efficiente in termini di memoria per set di dati di grandi dimensioni.
Converti visitorid e itemid in codici numerici:
Definire le dimensioni della matrice:
4. Suddividere i dati in set di addestramento e di test
Ora divideremo i dati campionati in set di addestramento e di test utilizzando la funzione train_test_split di scikit-learn. Questo ci permetterà di valutare le prestazioni del modello di raccomandazione su dati non visti in precedenza.
Suddividere i dati in set di addestramento e di test.
Converti i dati di training e di test in formato sparso:
5. Addestrare il modello LightFM
Ora che abbiamo preparato i dati, possiamo addestrare il modello LightFM. Utilizzeremo la funzione di perdita WARP (Weighted Approximate-Rank Pairwise), efficace per le attività di raccomandazione.
Inizializza il modello LightFM con la funzione di perdita WARP:
Avvia l'addestramento del modello:
Stampare il tempo di allenamento:
6. Valutare il modello
Una volta addestrato il modello, possiamo valutarne le prestazioni utilizzando metriche come AUC (Area Under the Curve), Precision@10 e Recall@10. Queste metriche ci forniscono informazioni su quanto bene il modello sta funzionando.
Calcola l'AUC sui dati di test:
Calcola Precision@10 e Recall@10:
In questo tutorial, abbiamo creato un semplice sistema di raccomandazione utilizzando la libreria LightFM. Abbiamo esaminato il processo di caricamento del dataset, la preelaborazione dei dati, l'addestramento di un modello di raccomandazione e la valutazione delle sue prestazioni. Il modello può essere ulteriormente ottimizzato in base alle esigenze specifiche della vostra applicazione.
Ambiti di applicazione dei sistemi di raccomandazione
Quasi tutte le aziende possono trarre vantaggio da un sistema di raccomandazione. Due aspetti importanti determinano il livello di beneficio che un'azienda può ottenere da questa tecnologia.
- Ampiezza dei dati: un'azienda che serve solo una manciata di clienti con comportamenti diversi non trarrà molti vantaggi da un sistema di raccomandazione automatizzato. Gli esseri umani sono ancora di gran lunga superiori alle macchine nell'apprendimento da pochi esempi. In questi casi, i vostri dipendenti useranno la loro logica e la loro comprensione qualitativa e quantitativa dei clienti per formulare raccomandazioni accurate.
- Profondità dei dati : Anche disporre di un singolo dato per ogni cliente non è utile ai sistemi di raccomandazione. Dati approfonditi sulle attività online dei clienti e, se possibile, sugli acquisti offline possono guidare raccomandazioni accurate.
Ecco alcuni dei settori più comuni in cui vengono applicati i sistemi di raccomandazione:
eCommerce
Le piattaforme di e-commerce sfruttano i sistemi di raccomandazione per migliorare l'esperienza di acquisto, suggerendo agli utenti prodotti pertinenti.
Questi sistemi analizzano gli acquisti precedenti, la cronologia di navigazione e le preferenze per consigliare articoli come "I clienti che hanno acquistato questo hanno acquistato anche" o "Acquistati frequentemente insieme".
Questo processo migliora le vendite e aumenta il valore medio degli ordini, oltre a incrementare la soddisfazione del cliente grazie al risparmio di tempo e fatica per gli utenti.
Esempio concreto: Amazon
Amazon.com utilizza sistemi di raccomandazione collaborativa basati sul filtraggio degli articoli nella maggior parte delle pagine del proprio sito web e nelle campagne e-mail. Secondo McKinsey, il 35% degli acquisti su Amazon è dovuto ai sistemi di raccomandazione. 1
Divertimento
Nel settore dell'intrattenimento, i sistemi di raccomandazione aiutano gli utenti a scoprire film, musica, programmi TV o libri in linea con i loro gusti. Analizzando le abitudini di visione o di ascolto, questi sistemi possono fornire contenuti personalizzati per aumentare il coinvolgimento degli utenti e il tempo trascorso sulla piattaforma.
Esempio concreto: Netflix
Netflix utilizza una combinazione di filtraggio collaborativo e filtraggio basato sui contenuti per suggerire serie TV e film, il che significa che l'80% dei contenuti visualizzati è influenzato dai consigli.
Il Netflix Prize era un concorso lanciato da Netflix nell'ottobre del 2006 per migliorare il suo sistema di raccomandazione di film. La sfida offriva un premio di 1 milione di dollari al team o al singolo individuo che fosse riuscito a ottenere un miglioramento di almeno il 10% nell'accuratezza delle previsioni rispetto all'algoritmo di raccomandazione di Netflix già in uso. 2
Esempio concreto: Spotify
Ogni settimana, Spotify genera una nuova playlist personalizzata per ogni abbonato, chiamata "Discover Weekly", ovvero un elenco personalizzato di 30 brani basato sui gusti musicali unici dell'utente. L'acquisizione di Echo Nest, una startup specializzata in analisi dei dati e intelligenza musicale, ha permesso loro di creare un motore di raccomandazione musicale che utilizza tre diversi modelli di raccomandazione: 3
- Filtro collaborativo: filtraggio dei brani confrontando i dati di ascolto storici dell'utente con quelli di altri utenti.
- Elaborazione del linguaggio naturale: il sistema raccoglie informazioni su artisti e brani specifici da Internet. A ciascun artista o brano viene quindi assegnato un elenco dinamico di termini principali, che cambia quotidianamente e viene ponderato in base alla rilevanza. Il motore di ricerca determina quindi se due brani musicali o due artisti sono simili.
- Analisi dei file audio: l'algoritmo analizza le caratteristiche di ciascun file audio, tra cui tempo, volume, tonalità e indicazione di tempo, e formula raccomandazioni di conseguenza.
Social media
Le piattaforme di social media utilizzano sistemi di raccomandazione per suggerire amici, gruppi, pagine, post o annunci pubblicitari in base alle interazioni, alle preferenze e alle connessioni degli utenti. Questi suggerimenti migliorano l'interazione tra gli utenti, incoraggiano la scoperta di contenuti e generano entrate pubblicitarie.
Esempio reale: Meta
Meta utilizza sistemi di intelligenza artificiale per fornire consigli di contenuti personalizzati su Facebook e Instagram, anche da fonti che gli utenti non seguono. Questo approccio migliora l'esperienza utente introducendo contenuti diversificati e aiuta i creatori a raggiungere un pubblico più ampio. Il processo di raccomandazione prevede:
- Comprensione dei contenuti: Utilizzo di modelli di intelligenza artificiale per analizzare e interpretare vari tipi di contenuto, tra cui immagini, testo, audio e video, al fine di comprenderne il significato semantico.
- Comprensione, recupero e classificazione delle preferenze: Sviluppare sistemi in grado di filtrare facilmente grandi quantità di contenuti per identificare e classificare quelli più pertinenti agli interessi del singolo utente.
Questa strategia basata sull'intelligenza artificiale consente a Meta di presentare agli utenti contenuti coinvolgenti al di là della loro rete immediata, per favorire un'esplorazione più approfondita degli interessi e migliorare il coinvolgimento complessivo sulla piattaforma. 4
Assistenza sanitaria
I sistemi di raccomandazione sanitaria suggeriscono opzioni di trattamento, risorse sanitarie o misure preventive personalizzate in base ai dati del paziente, come la storia clinica e lo stile di vita. L'integrazione dell'intelligenza artificiale nel settore sanitario migliora la qualità dell'assistenza e riduce i costi. Scopri di più sull'intelligenza artificiale generativa in ambito sanitario .
Esempio concreto: Ada Healthcare
Ada Health è una piattaforma basata sull'intelligenza artificiale progettata per aiutare gli utenti a gestire la propria salute fornendo una consulenza medica personalizzata. Gli utenti possono inserire i propri sintomi per ricevere valutazioni che suggeriscono possibili patologie e raccomandano i passi successivi più appropriati. Il sistema di intelligenza artificiale della piattaforma viene continuamente ottimizzato da un team di esperti medici per garantirne accuratezza e affidabilità.
Oltre a servire i singoli utenti, Ada offre soluzioni aziendali volte a migliorare i risultati in ambito sanitario. Queste soluzioni aiutano i partner a prendere decisioni sanitarie più consapevoli, a ottimizzare i processi di triage e a ridurre i costi evitabili. 5
Vedere al dettaglio
Nel settore della vendita al dettaglio, i sistemi di raccomandazione vengono utilizzati per offrire esperienze di acquisto personalizzate, suggerimenti in negozio e indicazioni sull'inventario. Questi sistemi aiutano i rivenditori a ottimizzare la gestione delle scorte, migliorare le vendite e aumentare la soddisfazione del cliente.
Esempio concreto: Rappi con Amazon Personalize
Rappi, un servizio di consegna a domicilio su richiesta attivo in America Latina, ha collaborato con Amazon Personalize per migliorare il coinvolgimento dei clienti e incrementare le vendite implementando un sistema di raccomandazione personalizzato all'interno della propria app.
Sfruttando Amazon Personalize, Rappi ha sviluppato una funzionalità chiamata "Just For You" (JFY), che analizza il comportamento e le preferenze dell'utente per fornire consigli di prodotto personalizzati, visualizzati in una sezione dedicata dell'app.
Questa strategia di personalizzazione ha portato a un aumento del 102% del tasso di clic e a un incremento del 147% dei ricavi derivanti dai consigli personalizzati. Inoltre, è migliorato il coinvolgimento dei clienti e si è ridotta la presenza di prodotti con prestazioni insoddisfacenti. 6
Finanza e settore bancario
Gli istituti finanziari utilizzano sistemi di raccomandazione per suggerire opzioni di investimento, carte di credito o prodotti assicurativi in base al comportamento finanziario e agli obiettivi dell'utente. Consulta i casi d'uso dell'IA generativa nel settore bancario per saperne di più su come l'intelligenza artificiale generativa può essere utilizzata in finanza e nel settore bancario.
Salva
Le piattaforme di gioco utilizzano sistemi di raccomandazione per suggerire acquisti in-game, nuovi giochi o per mettere in contatto i giocatori in base alle loro preferenze, abitudini di gioco e interazioni sociali. Questo migliora l'esperienza di gioco e genera ricavi.
Esempio pratico: uno sguardo con Google Cloud
Glance, una sussidiaria di InMobi, ha collaborato con Cloud per creare un sistema personalizzato di raccomandazione di giochi per la sua piattaforma di giochi per dispositivi mobili, Nostra, che coinvolge oltre 220 milioni di utenti tramite le schermate di blocco.
Analizzando i dati degli utenti e dei giochi, insieme ai dati di interazione, hanno identificato modelli come i tempi di coinvolgimento ottimali e le preferenze di gioco. Questa collaborazione ha migliorato significativamente il coinvolgimento degli utenti. 7
Questi settori sono particolarmente adatti ai sistemi di raccomandazione perché coinvolgono industrie che generano grandi volumi di dati relativi a utenti e prodotti, fornendo una solida base per previsioni e analisi accurate.
Gli utenti in questi settori si aspettano sempre più esperienze personalizzate e adattate alle loro preferenze, il che rende i sistemi di raccomandazione una funzionalità fondamentale per soddisfare le esigenze dei clienti.
Inoltre, i sistemi di raccomandazione aprono significative opportunità di guadagno, favorendo l'upselling, il cross-selling e tassi di coinvolgimento più elevati. Offrendo suggerimenti personalizzati, questi sistemi migliorano la fidelizzazione dei clienti, promuovendo la lealtà a lungo termine e un'interazione costante con gli utenti.
Sistemi di raccomandazione basati su LLM
I sistemi di raccomandazione tradizionali analizzano dati strutturati come valutazioni e clic. I sistemi basati su LLM vanno oltre, comprendendo le query in linguaggio naturale, interpretando le preferenze più sottili e spiegando i loro suggerimenti.
Questo approccio offre diversi vantaggi rispetto ai metodi tradizionali:
- Comprensione semantica di query complesse come "qualcosa di edificante ma non troppo sdolcinato" al di là della corrispondenza delle parole chiave.
- Soluzioni di avvio a freddo in cui i nuovi utenti descrivono le preferenze in linguaggio naturale anziché richiedere una cronologia di interazione
- Risultati esplicativi che illustrano il motivo per cui è stata formulata una raccomandazione.
- Ragionamento interdominio tra categorie attraverso la comprensione delle preferenze sottostanti
Esempi concreti:
- Netflix ha sviluppato un modello di base per le raccomandazioni personalizzate, trattando la cronologia delle interazioni dell'utente come token e applicando architetture basate su transformer.
- Spotify AI DJ combina la cronologia di ascolto con l'intelligenza artificiale generativa per creare commenti e selezioni musicali personalizzati.
- Amazon Rufus è un assistente per lo shopping basato sull'intelligenza artificiale generativa che consente la scoperta di prodotti tramite linguaggio naturale.
Configurazione di un sistema di raccomandazione
Sebbene la maggior parte delle aziende trarrebbe vantaggio dall'adozione di una soluzione esistente, le aziende che operano in settori di nicchia o su larga scala potrebbero sperimentare la creazione di un proprio motore di raccomandazione.
1. Utilizzo di una soluzione pronta all'uso
I sistemi di raccomandazione rappresentano uno dei primi e più maturi casi d'uso dell'intelligenza artificiale.
I vantaggi di questo approccio includono una rapida implementazione e risultati estremamente precisi nella maggior parte dei casi:
- Per iniziare, può essere sufficiente includere un frammento di codice fornito dal fornitore.
- Le soluzioni tendono ad essere accurate poiché i fornitori utilizzano dati provenienti da migliaia di transazioni dei loro clienti, in forma anonima, per migliorare i loro modelli.
Per scegliere il sistema più adatto, è possibile utilizzare dati storici o, meglio ancora, dati in tempo reale per testare rapidamente l'efficacia di diversi sistemi.
2. Creare la propria soluzione
Ciò può avere senso se:
- ti trovi in un settore di nicchia in cui i motori di raccomandazione non venivano utilizzati prima o
- Possiedi uno dei più grandi marketplace al mondo, dove anche raccomandazioni leggermente migliori possono fare una grande differenza per i risultati della tua attività.
I sistemi di raccomandazione attualmente sul mercato utilizzano una logica del tipo: i clienti con una cronologia di acquisti e navigazione simile acquisteranno prodotti simili in futuro. Per far funzionare un sistema del genere, è necessario disporre di un gran numero di transazioni storiche o di dati dettagliati sul comportamento degli utenti su altri siti web. Se avete bisogno di questi dati, potete cercarli nei marketplace di dati .
Più dati e algoritmi migliori migliorano i consigli. È necessario utilizzare tutti i dati rilevanti presenti nella tua azienda e potresti ampliare il tuo database clienti con dati di terze parti. Se un tuo cliente abituale ha cercato scarpe da ginnastica rosse su altri siti web, perché non mostrargli un ottimo modello quando visita il tuo sito?
3. Collaborare con un consulente per sviluppare soluzioni personalizzate
Un motore di raccomandazione leggermente migliore potrebbe incrementare le vendite di un'azienda di qualche punto percentuale, il che potrebbe avere un impatto significativo sulla redditività di un'azienda con margini di profitto ridotti. Pertanto, investire nello sviluppo di motori di raccomandazione più performanti può essere una scelta sensata se l'azienda non sta ottenendo risultati soddisfacenti dalle soluzioni attualmente disponibili sul mercato .
4. Organizzare una competizione di data science per creare la propria soluzione
Un possibile approccio consiste nell'utilizzare la saggezza collettiva per costruire tali sistemi. Le aziende possono utilizzare dati storici crittografati, lanciare concorsi di data science o collaborare con consulenti e ottenere modelli in grado di fornire raccomandazioni altamente efficaci.
Come scegliere un sistema di raccomandazione?
La scelta del sistema di raccomandazione più adatto dipende dagli obiettivi aziendali, dai dati disponibili e dalle risorse tecniche a disposizione. Ecco alcuni aspetti chiave da considerare:
- Valutazione del modello sui tuoi dati
- È fondamentale testare i modelli sul proprio set di dati per verificarne le prestazioni nel contesto specifico. I benchmark standard potrebbero non rispecchiare i vostri utenti, i vostri prodotti o i vostri obiettivi aziendali.
- Tipo di dati disponibili
- I dati espliciti (valutazioni, recensioni, "mi piace") funzionano bene con il filtraggio collaborativo.
- I dati impliciti (clic, tempo trascorso, acquisti) favoriscono gli approcci ibridi o di apprendimento profondo.
- Obiettivi aziendali
- Se il tuo obiettivo è la personalizzazione su larga scala , l'apprendimento profondo o i sistemi ibridi sono le opzioni migliori.
- Per esperimenti rapidi , possono essere sufficienti modelli più semplici, come la fattorizzazione di matrici.
- Requisiti di scalabilità
- Le piattaforme su larga scala (ad esempio, e-commerce, streaming) spesso richiedono soluzioni basate sul deep learning o ospitate nel cloud, in grado di gestire milioni di utenti e articoli.
- Conoscenze e risorse del dominio
- Se il tuo team non possiede competenze di machine learning, l'utilizzo di soluzioni di terze parti (ad esempio, Amazon Personalize, Google Recommendations AI) può accelerare l'implementazione.
- Per i settori altamente specializzati, potrebbe essere necessario sviluppare una soluzione interna.
Suggerimento: iniziate con la prototipazione utilizzando librerie già pronte (LightFM, TensorFlow Recommenders) e valutate le prestazioni con i vostri dati reali prima di scalare.
Costo di implementazione dei sistemi di raccomandazione
L'implementazione di un sistema di raccomandazione comporta costi diretti e indiretti:
- Tempi di sviluppo : la creazione di modelli personalizzati richiede data scientist, ingegneri e team infrastrutturali. Lo sviluppo può variare da poche settimane (per i prototipi) a diversi mesi (per i sistemi di produzione).
- Costi infrastrutturali : 21833
- In locale : richiede server GPU, database e manutenzione continua.
- Basato su cloud : i costi aumentano in base alla dimensione dei dati e all'utilizzo delle API (AWS, GCP, Azure).
- Costi del fornitore : le soluzioni basate su SaaS possono addebitare costi in base al numero di chiamate API, al numero di utenti o alla quantità di dati elaborati.
- Costi correnti : 21833
- Riaddestramento, monitoraggio e aggiornamento dei modelli.
- Potenziali costi derivanti dall'integrazione di fonti di dati esterne per migliorare i sistemi di raccomandazione.
Regola generale: le piccole imprese possono iniziare con strumenti SaaS (meno di 10.000 dollari all'anno), mentre le grandi aziende che sviluppano sistemi interni spesso investono milioni in infrastrutture e personale qualificato.
Implicazioni etiche dei sistemi di raccomandazione
Sebbene i sistemi di raccomandazione offrano un valore aggiunto, sollevano importanti questioni etiche e sociali:
- Pregiudizi ed equità : gli algoritmi possono rafforzare i pregiudizi esistenti (ad esempio, raccomandando solo contenuti popolari, ignorando la diversità).
- Preoccupazioni relative alla privacy :
- La raccolta e l'analisi dei dati degli utenti sollevano preoccupazioni in merito al consenso e alla protezione dei dati.
- Il rispetto del GDPR, del CCPA e di altre leggi sulla privacy dei dati è fondamentale.
- Uso responsabile dei dati :
- Le politiche trasparenti dovrebbero spiegare come vengono raccolti, elaborati e archiviati i dati degli utenti.
- Le tecniche di privacy differenziale e di anonimizzazione possono mitigare i rischi.
Metodologia di benchmarking per i motori di raccomandazione
In questo studio, ci siamo concentrati sulla creazione e valutazione di sistemi di raccomandazione basati su dati di feedback impliciti, nello specifico le interazioni degli utenti con i prodotti. Il dataset utilizzato nella nostra analisi contiene tre elementi chiave: visitorid, itemid e tipologie di interazione come visualizzazione , aggiunta al carrello e transazione . Poiché gli utenti non hanno valutato esplicitamente gli articoli, ma hanno interagito attraverso questi comportamenti, abbiamo considerato questi dati come feedback implicito .
Abbiamo testato tre diversi modelli di raccomandazione per valutarne l'efficacia nella gestione dei dati impliciti:
- LightFM : un modello ibrido che utilizza sia il filtraggio collaborativo che metodi basati sui contenuti. Abbiamo sfruttato la funzione di perdita WARP (Weighted Approximate-Rank Pairwise) per addestrare il modello. L'obiettivo era prevedere la probabilità che un utente visualizzi un prodotto analizzando le sue interazioni passate con gli articoli.
- Cornac BPR (Bayesian Personalized Ranking) : un modello collaborativo basato sul filtraggio, progettato per classificare gli elementi in base alle interazioni dell'utente. Utilizza il feedback implicito per apprendere le preferenze degli utenti ottimizzando la classificazione degli elementi rilevanti rispetto a quelli irrilevanti.
- TensorFlow Recommenders : un framework basato sul deep learning che utilizza gli embedding per rappresentare sia gli utenti che gli elementi, catturando le complesse relazioni tra di essi. Il modello viene addestrato su interazioni implicite, con un compito di recupero per prevedere gli elementi più rilevanti per ciascun utente.
I modelli sono stati addestrati per prevedere la probabilità che un utente interagisca con un prodotto, concentrandosi in particolare sull'evento di visualizzazione come comportamento target. Il nostro obiettivo era stimare con quali prodotti gli utenti hanno maggiori probabilità di interagire, in base al loro comportamento passato. Dopo l'addestramento, abbiamo valutato i modelli utilizzando dati di test per assicurarci che fossero in grado di generalizzare bene a interazioni non viste in precedenza.
Abbiamo valutato le prestazioni dei modelli sulla base di tre metriche comunemente utilizzate nei sistemi di raccomandazione:
- AUC (Area Under the Curve) : una metrica che valuta l'efficacia del modello nel classificare gli elementi rilevanti rispetto a quelli irrilevanti. Un valore AUC più vicino a 1 indica una migliore performance di classificazione.
- Precisione@10 : Misura quanti dei primi 10 elementi consigliati sono effettivamente rilevanti (ovvero, con cui l'utente ha interagito). Valori più alti indicano una maggiore accuratezza dei consigli.
- Recall@10 : Misura quanti elementi rilevanti (derivanti dalle interazioni dell'utente) compaiono tra i primi 10 suggerimenti. Questa metrica è fondamentale per comprendere quanto bene il modello catturi le preferenze dell'utente.
Confrontando queste metriche tra i tre modelli, abbiamo identificato il modello con le migliori prestazioni sia in termini di classificazione degli elementi pertinenti sia in termini di recupero accurato di tali elementi nei suggerimenti principali.
Conclusione
I sistemi di raccomandazione si sono dimostrati efficaci nel migliorare il coinvolgimento dei clienti e nel promuovere la crescita aziendale. Analizzando le preferenze e i comportamenti degli utenti, questi sistemi offrono suggerimenti personalizzati che contribuiscono ad aumentare le vendite, a migliorare la fidelizzazione dei clienti e a ridurre il tasso di abbandono.
Dati provenienti da diversi settori indicano che le piattaforme di e-commerce hanno registrato un aumento dei tassi di conversione e del valore medio degli ordini, mentre le piattaforme di intrattenimento hanno visto un maggiore coinvolgimento degli utenti grazie a consigli di contenuti personalizzati.
Settori come l'e-commerce, l'intrattenimento, i social media, la vendita al dettaglio, la sanità e la finanza traggono vantaggio dall'implementazione di sistemi di raccomandazione.
Nei settori sanitario e finanziario, i sistemi di raccomandazione hanno favorito servizi più personalizzati, migliorando la soddisfazione del cliente e i risultati. Questi risultati dimostrano l'efficacia dei sistemi di raccomandazione nel migliorare l'esperienza utente e nel promuovere le performance aziendali in diversi settori.
Sii il primo a commentare
Il tuo indirizzo email non verrà pubblicato. Tutti i campi sono obbligatori.