Caratteristiche, funzionamento e vantaggi dei chatbot in informatica

Caratteristiche, funzionamento e vantaggi dei chatbot in informatica

Chatbot

Il bot, abbreviazione di robot, in terminologia informatica indica un programma o uno script utilizzato per l’automazione di compiti troppo gravosi o complessi per gli utenti umani. Il tipo di bot più diffuso è il web crawler, un bot per navigare sul World Wide Web (WWW) in grado di analizzare i contenuti di una rete in modo metodico e automatizzato, in genere per conto di un motore di ricerca per acquisire ed indicizzare una copia testuale di tutti i documenti visitati. Sui canali IRC ci sono bot dedicati allo spamming rivolto automaticamente a tutti gli utenti che entrano in chat, all’offerta di servizi di file sharing integrati nel sistema di chat oppure come gestori di canali. Nei Videogiochi ci sono bot che partecipano come avversari virtuali al posto di giocatori reali oppure come supporto a giocatori reali, come aimbot per aiutare a prendere la mira in giochi di tipo sparatutto. Su Wikipedia ci sono bot che svolgono compiti di riordino automatico delle pagine, compilazione dei collegamenti, correzioni dei reindirizzamenti ed altre funzionalità. L’integrazione di bot in ecosistemi di messaggistica con lo scopo di dialogare e assistere gli utenti individua una nuova tipologia denominata chatbot, un software in grado di simulare una conversazione tra uomo e macchina. Può essere utilizzato per automatizzare un servizio, sostituendo delle persone, e di conseguenza risparmiando denaro. Questa caratteristica è alla base dell’interessamento da parte di molte aziende, ed è per questo che i chatbot sono diventati lo strumento di marketing di una nuova generazione.

Caratteristiche, funzionamento e vantaggi dei chatbot in informatica

Motivazioni e interesse per i chatbot

Il motivo per il quale si sta vivendo un’esplosione nell’ambito dei chatbot è dovuto anche dal fatto che per la prima volta in assoluto il numero di persone che utilizzano le app di messaggistica è maggiore rispetto al numero di persone che usano i social network. Secondo Business Insider un utente medio possiede circa 27 app sul proprio dispositivo mobile, ma ne utilizza regolarmente solo 5. La maggioranza dei consumatori ha sviluppato una forte riluttanza nel provare nuove applicazioni, come confermato anche dai dati forniti da Localytics che mostra come dopo un solo utilizzo il 23% degli utenti disinstalli l’applicazione. Le ricerche di comScore indicano invece che il 16% del tempo speso su dekstop è passato su dispositivi mobili. Questa crescita va di pari passo con l’aumento esponenziale di download di applicazioni mobili, ma sempre secondo comScore, il 50% del tempo speso su dispositivi mobili è impiegato nell’app preferita. Le app di messaggistica vanno controcorrente è viene stimato da comStore che vengano aperte 9 volte al giorno con un indice di apertura medio quattro volte maggiore rispetto a qualunque altra app installata sul dispositivo mobile. Per questo motivo le app di messaggistica sono diventate la piattaforma principale per i chatbot, come per esempio Facebook ha fatto con Facebook Messenger. Nell’Aprile del 2016 Facebook ha annunciato il supporto dei chatbot all’interno della piattaforma Messenger ed oggi l’app di messaggistica può essere vista come un negozio per migliaia di applicazioni integrate nelle nostre conversazioni quotidiane. I dati mostrano che da Aprile 2016 ad oggi sono più di 100.00 i bot che sono stati aggiunti e più di un miliardo gli utenti che ne fanno uso. Nell’espansione dei chatbot non bisogna dimenticare che i costi ed i tempi di sviluppo sono molto inferiori rispetto alle app. Al giorno d’oggi è possibile creare chatbot sofisticati sfruttando tool e framework offerti gratuitamente ed utilizzare le interfacce grafiche delle piattaforme di messaggistica per la distribuzione.

Vantaggi

I chatbot possono essere sviluppati con l’obiettivo di aiutare gli utenti a realizzare attività oppure ottenere informazioni specifiche. I vantaggi principali che si possono individuare sono:

  • un servizio più rapido per ridurre il tempo di attesa dei clienti e di conseguenza migliorare la user experience;
  • la possibilità di essere disponibile 24 ore su 24 e tutti i giorni della settimana;
  • facilità nell’utilizzo dovuta all’assenza di curva di apprendimento per utilizzarli.
  • riduzione del costo per il customer service. Costruire e mantenere un chatbot è molto più economico che assumere un dipendente. Si può ipotizzare senza problemi che questo gap aumenti nel tempo con il progredire della tecnologia.
  • la capacità di trovare le informazioni necessarie in una base di dati molto più veloce di una persona appositamente addestrata.

Tutti questi vantaggi sono individuabili nell’ambito del marketing aziendale, ma sono anche strumenti indispensabili per molti altri casi d’uso. L’importanza che i giganti della tecnologia come Google, Facebook, Microsoft, IBM e Amazon danno ai chatbot è un forte indicatore del fatto che questa tecnologia avrà un ruolo chiave in futuro. Non sempre però è necessario sviluppare chatbot per avere dei vantaggi, esistono infatti i chatbot conversazioniali che sono focalizzati sull’avere una conversazione con l’utente ed il loro obiettivo è incentrato sull’intrattenimento.

Un chatbot, rispetto ad un essere umano, può essere sempre paziente, attento ad ogni singolo dettaglio e capace di analizzare l’interlocutore e valutare in un istante i suoi bisogni e desideri.

L’enorme potenziale è chiaramente visibile, ma ovviamente sono presenti anche degli svantaggi. Spesso succede che si possa cadere in una delle seguenti situazioni:

  • Non sempre funziona e di conseguenza non è possibile raggiungere il proprio obiettivo;
  • Ci vuole più tempo per raggiungere il risultato richiesto e quindi il chatbot perde di utilità.

Escluse le situazioni in cui un essere umano è in grado di distinguere se sta comunicando con un bot o no, bisogna decidere se è giusto o sbagliato che il chatbot si identifichi all’utente come intelligenza artificiale.

Un essere umano ha aspettative diverse in base all’interlocutore quindi è giusto che l’intelligenza artificiale si identifichi come tale senza cercare di impersonificare una persona reale. In un dialogo con un chatbot non è necessario investire emotivamente perchè questo investimento non può essere ricambiato, inoltre il chatbot potrebbe rispondere male e quindi offrire un’esperienza negativa. Tuttavia l’imitazione del comportamento umano, concetto diverso dall’impersonificazione, è giusta per poter offrire un servizio migliore. Anche nel caso in cui un utente parlasse con un bot, sostituito da un essere umano in quel momento, è opportuno che l’essere umano si identifichi come tale perchè l’utente potrebbe scegliere di rivelare informazioni diverse in base all’interlocutore e nel caso in cui venga riconosciuto andrebbe ad impattare sull’esperienza complessiva del servizio. Inoltre da un chatbot, un utente, si aspetta risposte rapide e accurate ad un livello tale che un essere umano non potrebbe offrire. Wizard of Oz development è una pratica che viene sfruttata nell’ambito della ricerca sull’intelligenza artificiale per sostituire algoritmi di IA con essere umani per apprendere in prima persona come gli utenti utilizzino un determinato servizio.

Funzionamento

Il principio di funzionamento di un chatbot è semplice, dato un input di un’utente, restituisce una risposta. In pratica le cose però sono più complicate. Innanzitutto, il chatbot deve comprendere l’input. Esistono due tecniche principali per ottenere questo risultato: pattern matching e classificazione degli intent. Un approccio di tipo pattern matching richiede un elenco di possibili pattern di input. Il punto positivo di questo approccio è che gli schemi possono essere letti dagli umani e la fase di modellazione degli input risulta semplice. Questo approccio è molto limitato perchè i pattern sono costruiti manualmente e quindi non sono flessibili nei vari casi d’uso. L’approccio basato su classificazione degli intent si basa su tecniche di apprendimento automatico. Come per ogni algoritmo di intelligenza artificiale è necessario un training set per addestrare un classificatore con il compito di estrarre gli intent dall’input di un utente. Il classificatore impara anche dalle conversazioni con l’utente in modo da aumentare, con il tempo, l’efficacia. Una volta che il chatbot capisce la richiesta dell’utente genera una risposta in base all’input ricevuto ed al contesto della conversazione.

La risposta più semplice è di tipo statico, ovvero un elenco di risposte da utilizzare in base all’input. Questo tipo di risposte può essere un semplice testo oppure un modello con delle variabili calcolate sul momento. Un altro tipo di risposta è quella dinamica. Viene utilizzata una base di conoscenza per ottenere un elenco di potenziali risposte alle quali viene assegnato un punteggio per scegliere la risposta migliore. Questo approccio è utilizzato per chatbot che come obiettivo primario hanno la risposta a domande. Infine è possibile utilizzare un terzo tipo di riposta, che si basa su tecniche di deep learning, per formare un modello generativo che, dato un input, genera la risposta. L’efficacia aumenta con l’aumentare degli esempi di conversazione che sono utilizzati, ma resta sempre la possibilità di risposte inaspettate. Qualsiasi sia la tipologia della risposta, l’input corrente non è sufficiente, ma serve definire e modellare il contesto nel quale il chatbot opera.

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 *