Chatbot aziendali per servizio clienti e assistenza tecnica di primo livello: ecco la proposta di KEA per le PMI

Chatbot aziendali per servizio clienti e assistenza tecnica di primo livello: ecco la proposta di KEA per le PMI

Quali esigenze e aspettative può soddisfare realisticamente un chatbot aziendale? È in grado di integrare diverse fonti di conoscenza aziendale in una sola knowledge base? Come riesce a comprendere le domande degli utenti, trovare contenuti rilevanti e fornire risposte in linguaggio naturale? E cosa succede quando non sa rispondere: può trasferire la richiesta a un esperto umano?

Il nostro post risponde a queste domande, spiegando anche i vantaggi che un chatbot può offrire all'azienda e ai suoi clienti, come progettarlo e quali tecnologie utilizzare. Se avete altre domande o curiosità, contattateci! Siamo pronti ad aiutarvi.

Quali sono gli obiettivi del chatbot aziendale per servizio clienti / assistenza tecnica?

Fin dal titolo del post desideriamo sottolineare che il chatbot aziendale va pensato come un collega digitale capace di erogare servizio clienti / assistenza tecnica di primo livello, passando la palla a persone esperte quando si tratta di rispondere a domande o di risolvere problemi più complessi.

In quest’ottica gli obiettivi del chatbot aziendale sono di imparare a:

·       Rispondere in modo soddisfacente alle domande degli utenti, nei limiti delle informazioni contenute nella knowledge base aziendale con cui si interfaccia

·       Avvisare l’utente quando non è in grado di rispondere e suggerirgli di rivolgersi a una persona esperta, gestendo nel modo più il fluido il passaggio di testimone da macchina a uomo.

Il chatbot che benefici può portare all’azienda e ai suoi interlocutori?

Prima di elencare altri benefici, poniamo l’accento su quello derivante dalla capacità del chatbot di dare risposte basandosi su più fonti del sapere aziendale, integrando cioè in un’unica knowledge base es. manuali di istruzioni, FAQ, report del servizio clienti / del sistema di ticketing, informazioni contenute nel CRM, ecc. Il chatbot aziendale può diventare il punto unico di contatto che offre facile accesso a tutte le informazioni che l’azienda decide di mettere a disposizione di prospect, clienti e/o collaboratori. Anziché dover cercare all’interno di pagine web e documentazione di vario tipo, l’utente dialoga con il chatbot, attendendosi risposte rilevanti e precise… o l’ammissione “mi dispiace, ma non so risponderti”.

Accesso centralizzato alle informazioni e riduzione della complessità non sono gli unici vantaggi del chatbot aziendale. Eccone alcuni altri:

·       Gestione di più conversazioni simultaneamente

·       Disponibilità 24/7

·       Risposte immediate che, nel migliore dei casi, aiutano l’utente a uscire dalla situazione di impasse

·       Supporto multilingue

·       Più tempo per le persone esperte di dedicarsi a domande o problemi maggiormente complessi

·       Fornitura di insight su prospect e clienti, capaci di alimentare il processo di miglioramento continuo di prodotti e servizi dell’azienda.

La knowledge base aziendale: alla base delle risposte del chatbot per servizio clienti / assistenza tecnica

Quali contenuti includere nella knowledge base?

La scelta dei contenuti da includere nella base di conoscenza dipende dai compiti che l’azienda intende assegnare al chatbot.

Come nel caso di ogni altra applicazione software, anche per definire i compiti da assegnare al chatbot aziendale occorre partire dalla comprensione degli utenti tipici, delle loro esigenze, aspettative e predilezioni. Ecco alcuni aspetti da considerare:

·       Chi sono gli utenti tipici, utenti anonimi e prospect o clienti o collaboratori? Qual è il loro background tecnico?

·       Quali problemi si aspettano di risolvere mediante il chatbot? Quali sono le domande e richieste più comuni?

·       Come interagiscono attualmente con il servizio clienti? Quali sono i canali, qual è il feedback che ricevono e qual è il canale preferito ora?

·       Perché ricorrono attualmente al servizio clienti? Hanno quesiti pre-vendita su azienda, prodotti e servizi e/o quesiti post-vendita relativi a installazione, uso e manutenzione dei prodotti?

·       Le risposte vanno personalizzate in base al profilo? Quali metadati sono necessari per la personalizzazione delle informazioni?

·       Apprezzerebbero la possibilità di ottenere in autonomia risposte immediate, 24/7?

·       Hanno già usato in altri contesti chatbot per servizio clienti / assistenza tecnica? Che aspettative hanno in termini di velocità e precisione delle risposte? Preferiscono un tono formale o informale?

·       Vi sono barriere linguistiche e/o particolari esigenze di accessibilità da considerare, es. la necessità di usare il chatbot a mani libere?

·       Sono potenzialmente disposti a contribuire al miglioramento continuo del chatbot, fornendo rating, feedback e/o accettando di essere coinvolti nella fase di beta test?

·       Come informare gli utenti su aggiornamenti e miglioramenti del chatbot?

Rispondere a questi quesiti aiuta l’azienda a definire i compiti del chatbot e a selezionare i contenuti da includere nella knowledge base, tenendo presente la capacità del chatbot di dare risposte basandosi su più fonti del sapere aziendale, disponibili in vari formati. Es. può essere opportuno includere nella base di conoscenza del chatbot aziendale anche documentazione tecnica e liste di ricambi relative a prodotti fuori mercato, ma ancora utilizzati dai clienti.

Come scrivere, strutturare, marcare e arricchire di metadati i contenuti per il chatbot aziendale?

Linguaggi tecnici semplificati e linguaggi controllati

Per generare la risposta il chatbot o meglio, il LLM (Large Language Model) a esso sotteso, deve “comprendere” la domanda dell’utente e i contenuti della knowledge base.

Non abbiamo molte possibilità di intervenire per rendere la domanda più comprensibile (es. far selezionare all’utente il proprio profilo e/o preconfezionare domande tipiche da lui selezionabili), mentre può essere opportuno (ri)formulare i testi da includere nella base di conoscenza del chatbot adottando le regole di un linguaggio tecnico semplificato o di un linguaggio controllato, che contribuiscono a migliorare la comprensibilità dei contenuti per le persone e per gli agenti digitali, inclusi i sistemi di traduzione.

Inoltre, a parità di contenuti, la strutturazione in topic, l’applicazione di marcatura semanticamente rilevante e l’arricchimento con metadati influiscono positivamente sulla comprensibilità della knowledge base aziendale da parte del LLM sotteso al chatbot.

Topic

I topic, cuore della redazione di componenti di contenuto modulari e riutilizzabili, sono unità contenutistiche discrete e autonome che trattano un singolo tema. Ogni topic è redatto per essere comprensibile da solo, senza bisogno di consultare altre parti della documentazione, e può includere testo, immagini, tabelle, warning, riferimenti a topic di approfondimento / più generali o affini, ecc.

Metadati

Topic e/o componenti di contenuto possono essere arricchiti con metadati atti a definire es. l’argomento e/o il concetto trattato, il destinatario tipico (es. prospect oppure installatore, utilizzatore, manutentore, ecc.) ed eventuali altri campi di impiego dei contenuti (es. la pertinenza a determinate famiglie, modelli o prodotti).

Dizionari di sinonimi e glossari aziendali

Nonostante le abilità semantiche dei LLM, che in genere comprendono sinonimi e/o termini affini presenti nella domanda e nella knowledge base, in caso di linguaggi settoriali di nicchia e/o di gergo aziendale, può essere opportuno arricchire la base di conoscenza con un dizionario di sinonimi e/o un glossario aziendale realizzati ad hoc per migliorare la comprensibilità di determinati termini / espressioni da parte del modello linguistico.

Dati in tabella

Una nota a sé meritano le tabelle: nonostante la cosiddetta “multimodalità” che caratterizza i LLM più avanzati, come ChatGPT, i modelli linguistici faticano a creare risposte precise basate su dati tabellari (che invece è un punto di forza delle ricerche all’interno di database relazionali). Per migliorare la comprensibilità delle tabelle per il LLM sotteso al chatbot aziendale può quindi essere opportuno rappresentare in modo alternativo i dati in tabella. Per esempio così:

# Dati della tabella convertiti in formato JSON data = [ {“codice”: “C123”, “lunghezza”: 50, “colore”: “rosso”}, {“codice”: “C124”, “lunghezza”: 60, “ colore”: “giallo”}, {“codice”: “C125”, “lunghezza”: 65, “colore”: “verde”} ]

Considerazione sulla gestione dei contenuti in Argo CCMS

Argo è il CCMS (Component Content Management System) di KEA dedicato alla gestione di contenuti multilingua strutturati, modulari, riutilizzabili e arricchiti di metadati, necessari per realizzare documentazione tecnica (es. manuali, schede, help, ecc.) e di prodotto (es. cataloghi, e-shop, ecc.).

In Argo CCMS è possibile gestire la classificazione dei temi, i topic, i metadati, i dizionari di sinonimi e i glossari aziendali, cioè tutte le informazioni tecniche e i product data che l’azienda sceglie di includere nella knowledge base del chatbot.

Un convertitore provvede a trasformare l’esportazione da Argo CCMS, tabelle incluse, nel formato che rende ottimale la comprensione dei contenuti da parte del LLM sotteso al chatbot aziendale.

Come trasformare la knowledge base aziendale nella base dati ottimale per il chatbot?

I contenuti provenienti da Argo CCMS, dal CRM e/o dal sistema di ticketing oppure vecchi manuali disponibili in Word e/o PDF vanno sottoposti a un processo di pre-elaborazione automatico per renderli utilizzabili in modo efficiente dal LLM sotteso al chatbot aziendale. Ecco i passaggi chiave del processo:

·       Tokenizzazione: per consentire al modello linguistico di “comprendere” e processare il testo, esso è suddiviso in unità più piccole chiamate token. I token possono essere parole, sotto-parole o singoli caratteri, a seconda del modello

·       Embedding e rappresentazione vettoriale: dopo la tokenizzazione del testo, i token sono convertiti in rappresentazioni numeriche chiamate embedding. Gli embedding sono vettori che rappresentano le caratteristiche semantiche e sintattiche dei token, permettendo al modello linguistico di eseguire calcoli e generare risposte

·       Database vettoriale (indexing): se, come nel caso del chatbot aziendale, sono previste funzioni di ricerca e recupero delle informazioni mediante un motore di ricerca semantico basato su un modello linguistico, gli embedding sono indicizzati in un database vettoriale, che memorizza in uno spazio multidimensionale le rappresentazioni vettoriali dei testi inclusi nella knowledge base aziendale, consentendo ricerche rapide ed efficienti tramite similarità del coseno o altre misure di distanza.

ChatGPT intermedia il dialogo fra l’utente del chatbot e la knowledge base aziendale

Finora abbiamo affrontato principalmente il tema dei contenuti su cui il chatbot aziendale per servizio clienti / assistenza tecnica dovrebbe basare le sue risposte alle domande dell’utente.

Ma come fa il chatbot a comprendere la domanda dell’utente? Come cerca nella knowledge base aziendale i contenuti rilevanti? Come genera la risposta e la propone all’utente?

Per la gestione di queste abilità chiave è necessario che il chatbot aziendale si interfacci con un LLM, cioè con un sistema di intelligenza artificiale in grado di “comprendere” e generare testo in modo coerente e contestuale, e quindi di gestire il tipico flusso conversazionale che prevede i seguenti passaggi:

·       Presa in carico e comprensione della domanda formulata dall’utente in linguaggio naturale tramite l’interfaccia del chatbot aziendale

·       Ricerca nella knowledge base di contenuto su cui basare la generazione della risposta

·       Generazione della risposta in linguaggio naturale

·       Presentazione della risposta all’utente tramite l’interfaccia del chatbot aziendale.

Scegliamo di utilizzare ChatGPT come modello linguistico per il chatbot aziendale. ChatGPT è l’avanzato modello di elaborazione del linguaggio naturale (NLP) sviluppato da OpenAI, basato sulla tecnologia GPT (Generative Pre-trained Transformer; Trasformatore Generativo Pre-Addestrato). GPT appartiene a una categoria più ampia di modelli noti come LLM (Large Language Models; Grandi Modelli Linguistici).

Il chatbot aziendale si interfaccia con ChatGPT mediante le API (Application Programming Interfaces) di ChatGPT, interfacce di programmazione che ci permettono di integrare le funzionalità di ChatGPT con il chatbot aziendale, senza utilizzare l’interfaccia web. Le API forniscono accesso a capacità avanzate di elaborazione del linguaggio naturale, consentendo di inviare richieste di testo e ricevere risposte generate dal modello, facilitando l’automazione di risposte, l’analisi del linguaggio e l’interazione conversazionale in tempo reale all’interno del chatbot aziendale.

Perché scegliere ChatGPT come LLM a cui interfacciare il chatbot?

Il nostro obiettivo è realizzare chatbot per servizio clienti / assistenza tecnica di primo livello che sia alla portata di piccole e medie imprese, e in grado di cogliere le aspettative qualitative dell’azienda e dei suoi interlocutori.

Scegliere ChatGPT come LLM su cui basare lo sviluppo e il funzionamento di chatbot aziendali offre vantaggi significativi, che giustificano la nostra scelta:

·       Personalizzazione delle risposte in base alla knowledge base aziendale (definita come fine tuning), funzionante anche in assenza di un corpus molto consistente di dati su cui allenare il modello

·       Integrazione più facile rispetto ad altri modelli con riduzione dei tempi di sviluppo e di time-to-market del chatbot aziendale

·       Infrastruttura hardware e software di base gestita da OpenAI, scalabile

·       Benefici derivanti dal miglioramento continuo del modello linguistico da parte di OpenAI

·       Supporto per molte lingue

·       Tariffazione di OpenAI basata sull’uso, in base al numero di token impiegati per gestire le domande degli utenti e le relative risposte.

Come indicare a ChatGPT di generare le risposte basandosi sulla knowledge base aziendale?

Come constatiamo usando ChatGPT via interfaccia web come semplici utenti, il sistema dispone di un vastissimo database in cui cercare i contenuti su cui basare la generazione delle risposte.

Tuttavia, se l’obiettivo del chatbot aziendale è permettere all’utente di dialogare con il knowledge aziendale, usando ChatGPT via API come mediatore del dialogo, allora è necessario indicare a ChatGPT di cercare i contenuti nella knowledge base aziendale, anziché nel suo database proprietario, al fine di aumentare la probabilità che il sistema generi risposte sufficientemente rilevanti e precise da aiutare l’utente del chatbot.

Dobbiamo sottolineare che attualmente (agosto 2024) le API di ChatGPT non supportano ancora un comando esplicito per eseguire il fine-tuning personalizzato. Tuttavia, inserendo automaticamente opportune indicazioni nel prompt che il chatbot aziendale invia a ChatGPT via API, è possibile orientare il modello a generare la risposta basandosi essenzialmente sui contenuti della knowledge base aziendale.

Quali sono i punti di forza e di debolezza di ChatGPT nel trovare nella knowledge base aziendale contenuti rilevanti e precisi su cui basare la generazione delle risposte?

La tradizionale ricerca per parola chiave lavora generalmente sulla rappresentazione tabellare dei dati, salvati nelle righe e nelle colonne delle tabelle dei database relazionali. Tale rappresentazione permette di trovare con precisione il dato alfanumerico cercato, a patto che esso sia contenuto “tal quale” nel database.

I motori di ricerca semantici basati su modelli linguistici operano invece utilizzando database che memorizzano vettori rappresentativi delle caratteristiche semantiche e sintattiche dei token. I vettori vengono poi confrontati in uno spazio multidimensionale, dove vettori simili sono collocati più vicini tra loro. Questa rappresentazione dei dati supporta la ricerca semantica e contestuale delle informazioni, il che può andare a discapito della precisione (dato che es. è poco probabile che “lunghezza” e “10” siano vettori vicini).

Il punto di forza di ChatGPT, inteso come LLM interfacciato via API alla knowledge base aziendale, sta nella capacità di “comprendere” la domanda dell’utente, di cercare nella base di conoscenza contenuti semanticamente e contestualmente rilevanti, e di generare risposte formulate in linguaggio naturale. In base alle nostre prove, a ciò si aggiunge la tendenziale capacità del modello di “comprendere” e rispondere nella lingua proposta dall’utente, anche quando essa differisce da quella dei testi contenuti nella knowledge base aziendale, cioè: il sistema dialoga nella lingua dell’utente facendo da traduttore automatico dei contenuti… un vantaggio che può nascondere rischi.

Il reperimento di contenuti, soprattutto numerici, all’interno di tabelle è invece ancora un punto debole del LLM, sebbene la cosiddetta “multimodalità” di ChatGPT (cioè la capacità del modello di elaborare e rispondere a input che includono immagini, audio, video, ecc.) abbia già migliorato la precisione nelle risposte su dati in tabella.

L’interfaccia utente del chatbot

Tipicamente l’utente accede al chatbot dall’interno del sito web aziendale.

Se il chatbot aziendale è rivolto a utenti anonimi e prospect, l’utente non deve eseguire preventivamente il login. Se il chatbot è riservato invece a clienti o collaboratori dell’azienda, allora l’utente si autentica con le proprie credenziali per poter iniziare a dialogare.

L’utente come interagisce con il chatbot?

Testo

Tipicamente l’utente digita il testo del quesito in linguaggio naturale, cioè come se chiedesse a una persona esperta di rispondere alla domanda o di risolvere il problema.

Voce

Se l’utente tipico fosse un installatore / manutentore a cui è utile dialogare a voce, a mani libere, con il chatbot aziendale, allora sarebbe necessario implementare anche una libreria o un servizio per il riconoscimento vocale che converta la voce dell’utente in testo (Speech-to-Text) e il testo del chatbot in voce (Text-to-Speech). Google Cloud Speech-to-Text, Google Cloud Text-to-Speech o Microsoft Azure Speech sono opzioni da valutare in questo caso.

Immagini

In determinati contesti potrebbe rivelarsi utile anche supportare la ricerca per immagini, es. nel caso di un tecnico che carica la foto del pannello operatore scattata con il suo dispositivo per chiedere indicazioni sulle impostazioni da eseguire. Per supportare la ricerca per immagini sarebbe necessario implementare anche una libreria di riconoscimento delle immagini (come OpenCV) o una API di riconoscimento immagini (come Google Cloud Vision) per analizzare l’immagine caricata dall’utente, confrontarla con le immagini presenti nella knowledge base aziendale e restituire attraverso il chatbot i contenuti associati all’immagine o a immagini simili.

Come avviene il passaggio, intermediato dalle API di ChatGPT, dalla domanda dell’utente, alla ricerca nella knowledge base aziendale, alla formulazione della risposta?

Anzitutto anche la domanda dell’utente è suddivisa in unità più piccole chiamate token. I token possono essere parole, sotto-parole o singoli caratteri, a seconda del modello.

I token della domanda subiscono il processo di embedding, che li trasforma in vettori che ne rappresentano le caratteristiche semantiche e sintattiche.

Il LLM, ChatGPT nel nostro caso, usa i vettori per “comprendere” la domanda e confrontare le rappresentazioni vettoriali del quesito con le rappresentazioni vettoriali della knowledge base aziendale, applicando es. misure di similarità del coseno.

Basandosi sulle informazioni più rilevanti trovate e sul contesto della domanda, il LLM genera la risposta che, trasformata in testo, è proposta all’utente attraverso l’interfaccia del chatbot aziendale.

Test pre-lancio, feedback degli utenti e miglioramento continuo

Prima del lancio del chatbot aziendale per servizio clienti / assistenza tecnica è opportuno testarlo, coinvolgendo se possibile anche alcuni utenti tipici.

Migliorare continuamente il chatbot richiede invece una combinazione di analisi delle interazioni, aggiornamenti regolari della knowledge base e feedback degli utenti. Ecco alcune strategie:

·       Salvare le domande a cui il chatbot non sa rispondere, perché non trova nella knowledge base aziendale contenuti pertinenti

·       Chiedere il feedback degli utenti es. mettendo a disposizione uno strumento per eseguire il rating delle risposte del chatbot e/o per fornire commenti su come migliorare le risposte inadeguate

·       Tracciare metriche di interazione es. il tasso di abbandono, il tempo di interazione, i percorsi comuni delle conversazioni per identificare i punti deboli

·       Aggiornare la knowledge base anche sulla base delle domande degli utenti.

Privacy e conformità al GDPR

Anche se il chatbot per servizio clienti / assistenza tecnica non raccoglie dati personali, è necessario seguire le linee guida che assicurano la conformità del chatbot al GDPR (General Data Protection Regulation) dell’Unione Europea. Ecco alcuni aspetti importanti da tenere in considerazione:

·       Minimizzazione dei dati: vanno raccolti solo quelli strettamente necessari per il funzionamento del chatbot

·       Trasparenza: è necessario informare chiaramente gli utenti che stanno dialogando con sistema di intelligenza artificiale, le cui risposte potrebbero non essere corrette. Gli utenti vanno inoltre messi al corrente su quali dati sono raccolti; come sono utilizzati; quali sono le parti terze (es. ChatGPT) coinvolte nella gestione dei dati

·       Anonimizzazione: in alcuni contesti es. gli indirizzi IP sono equiparati ai dati personali e vanno quindi anonimizzati

·       Conservazione dei dati: occorre informare gli utenti sulla durata del periodo di conservazione dei dati e sui metodi della loro successiva cancellazione

·       Sicurezza dei dati: l’uso della crittografia e la protezione da accessi non autorizzati sono fra i metodi per proteggere i dati raccolti

·       Privacy e Cookie Policy: pur non raccogliendo dati personali è opportuno redigere la privacy policy, indicando quali dati sono raccolti, come sono utilizzati e protetti, e quali sono i diritti degli utenti nei loro confronti. Se il chatbot utilizza cookie o tecnologie simili occorre ottenere il consenso degli utenti per l’uso di tali tecnologie

·       Valutazione d’Impatto sulla Privacy: se il chatbot tratta dati personali su larga scala, profila in modo automatico gli utenti e/o tratta dati sensibili, allora è necessario condurre anche una DPIA (Data Protection Impact Assessment).

 

Autore: Petra Dal Santo

Per visualizzare o aggiungere un commento, accedi

Altri articoli di Petra Dal Santo

Altre pagine consultate