Passa al contenuto principale

Raccomandazioni di prodotto basate sul senso comune utilizzando Large Language Model

di Avinash Sooriyarchchi, Sam Sawyer, Colton Peltier e Bryan Smith

Un'immagine del glossario per l'AI generativa, con vari termini e concetti relativi alla tecnologia.

Dai un'occhiata ai nostri LLM Solution Accelerators per il retail per maggiori dettagli e per scaricare i notebook.

I consigli sui prodotti sono una funzionalità fondamentale della moderna customer experience. Quando gli utenti tornano su un sito con cui hanno interagito in precedenza, si aspettano di trovare consigli correlati a quelle interazioni precedenti che li aiutino a riprendere da dove avevano interrotto. Quando gli utenti scelgono un articolo specifico, si aspettano che vengano suggerite alternative simili e pertinenti per aiutarli a trovare l'articolo giusto per le loro esigenze. E quando gli articoli vengono inseriti nel carrello, gli utenti si aspettano che vengano suggeriti prodotti aggiuntivi che completino e migliorino l'esperienza d'acquisto complessiva. Se implementati correttamente, questi consigli sui prodotti non solo facilitano il percorso di acquisto, ma fanno anche sentire il cliente riconosciuto e compreso dal punto vendita.

Sebbene esistano molti approcci diversi per generare consigli sui prodotti, la maggior parte dei motori di raccomandazione oggi in uso si basa su pattern storici di interazione tra prodotti e clienti, appresi attraverso l'applicazione di tecniche sofisticate a grandi raccolte di dati specifici del retailer. Questi motori sono sorprendentemente robusti nel rafforzare i pattern appresi dalle interazioni di successo con i clienti, ma a volte è necessario rompere con questi schemi storici per offrire un'esperienza diversa.

Consideriamo lo scenario in cui viene introdotto un nuovo prodotto per il quale esiste solo un numero limitato di interazioni all'interno dei nostri dati. I sistemi di raccomandazione che richiedono conoscenze apprese da numerose interazioni con i clienti potrebbero non riuscire a suggerire il prodotto finché non vengono accumulati dati sufficienti a supportare una raccomandazione.

O consideriamo un altro scenario in cui un singolo prodotto attira un'attenzione sproporzionata. In questo scenario, il sistema di raccomandazione rischia di cadere nella trappola di suggerire sempre questo singolo articolo a causa della sua enorme popolarità, a scapito di altri prodotti validi in portafoglio.

Per evitare queste e altre sfide simili, i retailer potrebbero adottare una tattica che impiega pattern di associazione dei prodotti ampiamente riconosciuti e basati sulla conoscenza comune. Proprio come un assistente alle vendite disponibile, questo tipo di sistema di raccomandazione potrebbe esaminare gli articoli a cui un cliente sembra interessato e suggerire prodotti aggiuntivi che sembrano allinearsi con il percorso o i percorsi indicati da tali combinazioni di prodotti.

Utilizzare un Large Language Model per generare consigli

Consideriamo lo scenario in cui un cliente acquista sciarpe, berretti e muffole invernali. Chiaramente, questo cliente si sta preparando per un'uscita al freddo. Ipotizziamo che il retailer abbia recentemente introdotto calze di lana pesante e stivali invernali nel proprio portafoglio prodotti. Mentre altri sistemi di raccomandazione potrebbero non cogliere ancora l'associazione di questi articoli con quelli che il cliente sta visualizzando a causa della mancanza di interazioni nei dati storici, la conoscenza comune collega questi articoli tra loro.

Questo tipo di conoscenza viene spesso acquisito dai Large Language Model (LLM), addestrati su grandi volumi di testo generico. In quel testo, le muffole e gli stivali potrebbero essere collegati direttamente dalle persone che indossano entrambi gli articoli prima di avventurarsi all'aperto, e associati a concetti come "freddo", "neve" e "inverno" che rafforzano la relazione e attirano altri articoli correlati.

Quando poi si chiede all'LLM quali altri articoli potrebbero essere associati a sciarpa, berretto e muffole, tutta questa conoscenza, racchiusa in miliardi di parametri interni, viene utilizzata per suggerire un elenco prioritario di articoli aggiuntivi che potrebbero essere di interesse. (Figura 1)

Figura 1. Articoli aggiuntivi suggeriti dall'LLM Llama2-70b dato l'interesse di un cliente per sciarpe, berretti e muffole invernali
">

Il bello di questo approccio è che non ci limitiamo a chiedere all'LLM di considerare solo gli articoli nel carrello in modo isolato. Potremmo riconoscere che un cliente che acquista questi articoli invernali nel sud del Texas potrebbe avere un certo insieme di preferenze diverse da un cliente che acquista gli stessi articoli nel nord del Minnesota, e incorporare tale informazione geografica nel prompt dell'LLM. Potremmo anche incorporare informazioni su campagne promozionali o eventi per incoraggiare l'LLM a suggerire articoli associati a tali iniziative. Ancora una volta, proprio come un assistente di negozio, l'LLM può bilanciare una varietà di input per arrivare a un insieme di consigli significativi ma comunque pertinenti.

Collegare i consigli ai prodotti disponibili

Ma come colleghiamo i suggerimenti generici sui prodotti forniti dall'LLM agli articoli specifici del nostro catalogo prodotti? Gli LLM addestrati su dataset pubblicamente disponibili in genere non conoscono gli articoli specifici del portafoglio prodotti di un retailer, e l'addestramento di un modello simile con informazioni specifiche del retailer richiede molto tempo ed è proibitivo in termini di costi.

La soluzione a questo problema è relativamente semplice. Utilizzando un modello di embedding leggero, come uno dei tanti modelli open source disponibili gratuitamente online, possiamo tradurre le informazioni descrittive e altri metadati per ciascuno dei nostri prodotti in quelli che sono noti come embedding. (Figura 2)

Figura 2. Un embedding altamente abbreviato per la descrizione del prodotto associata a un paio di stivali invernali, generato utilizzando il modello all-MiniLM-L6-v2.

Il concetto di embedding diventa un po' tecnico, ma in estrema sintesi, si tratta di una rappresentazione numerica del testo e di come questo mappa un insieme di concetti e relazioni riconosciuti all'interno di una determinata lingua. Due articoli concettualmente simili tra loro, come gli stivali invernali generici e gli specifici Acme Troopers che consentono a chi li indossa di camminare tra le strade innevate della città o lungo i sentieri di montagna nel comfort di una tomaia in tela impermeabile e pelle per resistere al peggio dell'inverno, avrebbero rappresentazioni numeriche molto simili se passati attraverso un LLM appropriato. Se calcoliamo la differenza matematica (distanza) tra gli embedding associati a ciascun articolo, scopriremmo che ci sarebbe una separazione relativamente ridotta tra di essi. Ciò indicherebbe che questi articoli sono strettamente correlati.

Per mettere in pratica questo concetto, tutto ciò che dovremmo fare è convertire tutte le nostre descrizioni specifiche dei prodotti e i metadati in embedding e memorizzarli in un indice ricercabile, spesso definito vector store. Mentre l'LLM genera consigli generici sui prodotti, tradurremmo ciascuno di questi nei rispettivi embedding e cercheremmo nel vector store gli articoli più strettamente correlati, fornendoci articoli specifici nel nostro portafoglio da proporre al cliente. (Figura 3)

Figura 3. Flusso di lavoro concettuale per generare consigli specifici sui prodotti utilizzando un LLM
">

Realizzare la soluzione con Databricks

Il pattern di raccomandazione qui presentato può essere un'ottima aggiunta alla suite di sistemi di raccomandazione utilizzati dalle organizzazioni in scenari in cui la conoscenza generale delle associazioni di prodotti può essere sfruttata per fornire suggerimenti utili ai clienti. Per avviare la soluzione, le organizzazioni devono avere la possibilità di accedere a un Large Language Model e a un modello di embedding leggero, e unire le funzionalità di entrambi con le proprie informazioni proprietarie. Una volta fatto questo, l'organizzazione deve essere in grado di trasformare tutti questi asset in una soluzione che possa essere facilmente integrata e scalata su tutta la gamma di interfacce rivolte ai clienti in cui sono richiesti questi consigli.

Attraverso la Databricks Data Intelligence Platform, le organizzazioni possono affrontare ciascuna di queste sfide grazie a un ambiente unico, coerente e unificato che rende l'implementazione e il deployment semplici ed economici, preservando al contempo la privacy dei dati. Con la nuova funzionalità AI Search di Databricks, gli sviluppatori possono accedere a un vector store integrato con workflow correlati che garantiscono che gli embedding in esso contenuti siano sempre aggiornati. Attraverso le nuove Foundation Model APIs, gli sviluppatori possono accedere a un'ampia gamma di modelli linguistici di grandi dimensioni (LLM) open source e proprietari con una configurazione minima. E grazie alle funzionalità avanzate di Model Serving, il workflow di raccomandazione end-to-end può essere pacchettizzato per il deployment dietro un endpoint aperto e sicuro che consente l'integrazione con la più ampia gamma di applicazioni moderne.

Ma non fidarti solo delle nostre parole. Scoprilo di persona. Nel nostro nuovo solution accelerator, abbiamo creato un sistema di raccomandazione di prodotti basato su LLM che implementa il pattern mostrato qui e dimostra come queste funzionalità possano essere unite per passare dal concept al deployment operativo. Tutto il codice è disponibile gratuitamente e ti invitiamo a esplorare questa soluzione nel tuo ambiente, come parte del nostro impegno nell'aiutare le organizzazioni a massimizzare il potenziale dei loro dati.

Scarica i notebook

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Ricevi gli ultimi articoli nella tua casella di posta

Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.