La nuova frontiera nella gestione delle relazioni. Primo contatto con nuove opportunità
Provo a far dialogare chi mi chiama al cellulare con una segretaria dotata di una buona intelligenza artificiale ..

La nuova frontiera nella gestione delle relazioni. Primo contatto con nuove opportunità

Avendo qualche giorno di ferie e la voglia di ampliare il progetto della chatbot su whatsapp (*1), ho  realizzato un sistema di gestione delle relazioni con i clienti più ampio del precedente, legato stavolta, non più a whatsapp ma alla telefonia e dagli sviluppi potenziali interessanti.

 In questa vorrei accennare a come, collegando i componenti di Amazon Alexa voice (Aws connect) con Amazon traslate, con un modello TensorFlow chiamato GPT-2 e qualche altra manciata di aromi naturali e di elementi di Amazon Aws si possa realizzare una segretaria virtuale che fornisca informazioni coerenti su qualsiasi argomento posto da chi ci chiama al cellulare.

Quindi uno strumento che risponda oralmente a qualsiasi domanda superando le logiche degli intent e dei flussi propri delle chatbot. limiti reali e opportunità.

Il percorso che vado a descrivere non è complicato, ma prevede molte tappe. Cercherò di renderlo ancora più semplice eliminando molti dettagli. Vorrei tentare di descrivere gli scenari e descrivere l'esperienza nell'utilizzare lo strumento più che soffermarmi ai tecnicismi. Qui si parla di punti di partenza alla conoscenza del framework Tensorflow e di opportunità poste dal modello GPT-2. Abbiamo un bel giocattolo da conoscere e studiare.. proviamoci !.   

Iniziamo. Più per mio bisogno che per altro, non avendo il vezzo della scrittura, riepilogo gli argomenti che vorrei trattare.

Parleremo di :

  • I limiti della chatbot;
  • Cosa è il modello GPT-2;
  • Un pò di cose da meccanici per descrivere gli utensili utilizzati;
  • Ecco Alexandra (una segreteria telefonica con intelligenza artificiale);
  • Evitare che Alexandra risponda da allucinata;
  • Evitare che Alexandra dica parolacce;
  • Quale è la paga mensile di Alexandra ?
  • Sviluppi potenziali e rischi. 


I limiti della chatbot 

Quando telefoniamo al call center del nostro gestore telefonico , veniamo inseriti in un processo che attraverso varie diramazioni cerca di fornirci le informazioni di cui abbiamo bisogno .. 

il numero di domande a cui dobbiamo rispondere per arrivare all'informazione ricercata e il modo con cui possiamo velocizzare il raggiungimento della nostra informazione è cambiato moltissimo nel tempo . in meglio. 

Inizialmente avevamo una tastiera per gestire i nodi .. premere 1 per .. premere 2 per .. 

Poi le chatbot si sono spostate sul web e con esse il volume di informazioni scambiati tra l'operatore uomo (tapino cercatore di conoscenze) e la macchina dispensatrice di saggezza è cresciuto enormemente. 

La necessità di comprendere il linguaggio naturale è diventata un must non più prorogabile per le macchine e la potenza di calcolo e il machine learning hanno fatto il resto . 

Nella mia chatbot su Whatsapp l'informazione (dimmi gli orari di apertura del punto vendita di Palermo di domani ) viene correttamente interpretata anche se si riceve questo messaggio : "Ieri sono stato da voi, ho visto un prodotto che mi interessa molto, vorrei prenderlo domani .. posso ?" 

Questa capacità di discernimento è merito delle api di google legate a Dialogflow che mettono a disposizione utensili incredibili di cui, sinceramente,  non conosco il funzionamento interno .. 

C' è anche del nostro di programmatori apprendisti stregoni in questo. Siamo in grado di mettere a disposizione del sistema per l'elaborazione delle risposte tutti i dati sottintesi della frase (Punto vendita in cui si rifornisce il cliente, storia degli acquisti del cliente, frequenza di acquisto, analisi qualitative e quantitative del cliente, ecc ..)

Tutto bellissimo, ma rimane un limite .. il numero di domande diverse gestite è sempre meno di quelle necessarie.

Posso gestire centinaia di intent e processi nella chatbot ma ce ne saranno sempre di nuovi e di altri e nuove domande non previste che limiteranno l'esperienza del cliente. 

Io immagino un dialogo di questo tipo:

Cliente:   Vorrei comprare dell'agnello.

Alexandra: Ne abbiamo in assortimento di ottimo.

Cliente:   Quale è il momento migliore per comprarlo ?

Alexandra: Ne vendiamo tanto per Natale. Compralo adesso e congelalo se lo vuoi a tavola per le feste.

Cliente:    E se ti chiedessi di Napoleone ?

Alexandra: Anche a lui piaceva l'agnello. Vuoi una ricetta francese ?

... 

Questo dialogo non fa riferimento a nessun intent pre-impostato . Rispondere come immaginato è frutto del lavoro ( e fonte di timori (*2)) di grandi scienziati e oggi abbiamo già qualcosa su cui lavorare . .. 

Essendo questi ragionamenti personali, fatti su un software nuovo, lo studio che vado a proporre non nasce per scopi aziendali. Per cui, dopo aver solleticato l'attenzione dei lettori imprenditori, vado a sostituire fattualmente il termine clienti con "amici presenti in rubrica", informazioni del cliente con "rapporti con i miei contatti della rubrica" ecc .. 

Comunque, rimanendo in tema, Vediamo come risponderebbe un sistema GPT-2 alle domande su i miei amici (su cui ho dato in pasto precedentemente delle informazioni (*2a) e quanto è distante dalle risposte ottenute un dialogo reale tra umani.


Cosa è il modello GPT - 2 ?

GPT è un sistema linguistico non superv isionato di intelligenza artificiale realizzato da Open-Ai (*3) in grado di generare scritti coerenti in linguaggio naturale simili a quelli di un essere umano. L'algoritmo è anche in grado di leggere le informazioni dal testo di input, comprenderle, riassumere, tradurlo e rispondere a semplici domande dirette sull'argomento. (*4)

OpenAi, nella pagina home di presentazione del software GPT indica le variabili presenti nel modello (limitato alla fonte) dato al pubblico: 1,5 miliardi. E dichiara la sua preoccupazione a rilasciare i codici sorgenti e tutte le versioni finora sviluppate (adesso siamo alla 3). 

Le possibilità di dare uno strumento potente ai generatori di fake news sono concrete e sono alla base della scelta di un rilascio graduale di questa tecnologia(*5).  

Il modello GPT è tanto bravo da riuscire a scrivere in autonomia codice informatico, canzoni, jingle pubblicitari; recentemente la versione 3 è stata acquisita in esclusiva da Microsoft .. (*6).

E per finire va detto che il sistema GPT lascia perplessi per l'apparente capacità di disquisizione e discernernimento su se stesso, cosí come dimostrato da un recente articolo scientifico (*6a).


Un po' di cose da meccanici per descrivere gli utensili utilizzati

40 GB di testo analizzato per allenarsi. Testo proveniente da internet più un'appendice contenente informazioni sui miei amici (*2a) hanno bisogno di un'enorme capacità di calcolo per potere essere utilizzati. 

Il programma installato nel mio computer di casa non funzionava per questo motivo (*). 

Occorrevano potenze di calcolo notevoli (almeno 8 core e 16 thread 32 Gb di ram ) poi una GPU Invidia e il software CUDA per fare i calcoli necessari anche con le GPU della scheda grafica .. 

Ho provato quindi a utilizzare il computer di uno dei miei figli (Aveva la scheda GeForce di Invidia!!) ma sono stato cacciato via da lì quasi subito. 

Non avendo questa potenza di elaborazione in casa, mi sono rivolto alla piattaforma e all'ecosistema Aws  di Amazon.

La scelta di passare alla tecnologia vocale (un numero di telefonia urbana di Aws Contact center (*7) a cui il mio cellulare trasferisce le chiamate quando non rispondo),  nasce da un limite strutturale della tecnologia. Mentre su whatsapp il sistema messo su gestisce centinaia di istanze contemporanee (che comunque vengono spedite ai vari clienti tramite il gateway di whatsapp una alla volta ma velocemente) ogni istanza GPT carica un modello con miliardi di parametri e necessita di almeno un giga di ram . Poi occorre dire che i suoi tempi di elaborazione non sono proprio just in time ..

Mi spiego meglio. Un sito web gestisce migliaia di pagine web in contemporanea. Per ognuno dei visitatori in contemporanea del sito vengono create delle singole istanze che contengono i dati di quella navigazione. Alcuni dati rimangono presenti nel computer del visitatore(coockie) altri nel server centrale del sito web.

Il sistema whatsapp gestisce (con fatica) centinaia di utenti e istanze che scrivono e interagiscono su whatsapp in contemporanea . Qui di telefonate contemporanee e istanze (avendo un sistema di multilinee) ne possiamo gestire veramente poche.

Ciò che è un limite diventi una virtù . 

L'ecosistema Aws dispone anche di un sistema di riconoscimento del parlato veramente funzionale (*8).

Il sistema praticamente passa lo streaming della chiamata ad Aws transcribe in tempo reale e in parallelo agli altri task. Aws trascribe scrive in un apposito dinamodb il testo della chiamata e i parametri di essa

Non è stato fornito nessun testo alternativo per questa immagine

Nonché anche il sentiment cioè lo stato emotivo dell'interlocutore (*8a)

Non è stato fornito nessun testo alternativo per questa immagine

Oggi i sistemi automatici di riconoscimento del parlato superano la capacità cognitiva di un uomo nel riconoscere le frasi e i testi anche in contesti di interlocuzione di gruppi di persone con forti rumori di fondo (*9).

Il sistema utilizzato è lo stesso dei device Alexa di Amazon per cui non penso di dovere aggiungere altro su questo tassello .. 

Dal parlato quindi siamo arrivati al testo in italiano. 

Il modello GPT però è stato addestrato su set di dati in inglese. Esso è stato pre addestrato per la lingua francese e altre ma non per l'italiano. 

Da qui una scelta tra utilizzare un modello pre addestrato in Italiano ( sistema GePpeTto (*10)) oppure aggiungere un altro strato con le api traslate (dal testo in italiano al testo in inglese) (*11).

Per quanto riguarda il primo aspetto, l'adesione allo standard di sviluppo della community (GPT-2) mi lascia più sereno. Adesso è in distribuzione il modello GPT-3 con 175 miliardi di correlazioni non penso sia così facile ottenere una nuova release di GePpeTto. Così come la facilità e lo sforzo concentrato nel rinfrescare l'utilizzo di api già conosciute nella loro logica piuttosto che implementare un codice customizzato in italiano di cui non conosco bene molti aspetti.

Una nota sull'ecosistema Aws.

Tutti i pezzi degli "utensili " che sto utilizzando con Aws sono stati autoassemblati. L'interfaccia GUI aiuta molto. Tanto, che  fino a qui ho scritto veramente poche righe di codice .. 

Non è stato fornito nessun testo alternativo per questa immagine


Con Aws dispongo di una interfaccia GUI in cui prendo i pezzi di cui ho bisogno e li inserisco nel flusso degli eventi come facevamo agli albori con i diagrammi in Mit app inventor del lego Mindstorm per esempio.  Nel grafico i pezzi utilizzati  fino a qui . 

Non è stato fornito nessun testo alternativo per questa immagine


Siamo in possesso della nostra domanda posta oralmente in italiano e stata trasformata in un testo tradotto in inglese. (11a)

Adesso dobbiamo inoltrarla al framework Tensorflow GPT tramite una chiamata Lambda(*12) e un apposita chiamata http con un file json opportunamente confezionato.

Il sistema attende la risposta ( in inglese e risale il fiume ..). dal file json di risposta al testo in inglese dal testo inglese al testo in italiano dal testo in italiano con la voce di Alexandra all'altoparlante del telefono di chi ha posto la richiesta o la domanda .. 


Ecco Alexandra

Abbiamo costruito una bella carrozzeria . La funzione lamba permette sia il collegamento con il framework TensorFlow sia un collegamento con il gateway Whatsapp costruito per la chatbot. Il collegamento con Whatsapp non serve per pubblicare i servizi di questo sistema verso quell'ambiente (per ovvi motivi di risorse necessarie non sarà implementato come sistema CRM (richiede 1 giga di ram ad istanza!) . ma servirà per inviarmi lì n.q. di supervisore un riassunto delle conversazioni appena concluse e per creare un sistema di controlli dei feedback per la successiva fase di autoapprendimento. ma questo è un altro scenario ancora da sviluppare e approfondire. 

Non è stato fornito nessun testo alternativo per questa immagine


Nell'immagine alcuni moduli a disposizione nel sistema Aws connect


Parliamo del motore.

 Cosa fa il sistema GPT non è dato sapere. Ho già detto che la società fondata da Elon Musk sta procedendo con i piedi di piombo nel rilascio del modello e del suo addestramento. Possiamo comprendere però il funzionamento del framework Tensorflow (*13).  

Oggi i vari sistemi di Analisi ( Tensorflow in primis) caricano in memoria giga byte di dataset pre elaborati . (Si ipotizza un costo per il modello GPT-2 che usiamo così sfacciatamente per gioco, solo quantificando i tempi di elaborazione pari a circa 4,5 milioni di dollari ..) . I sistemi quali Tensorflow studiano le percentuali di probabilità con cui le singole serie di dati si susseguono e la probabilità con cui determinate sequenze si ripropongono. 

Non occorre conoscere la grammatica se si è capaci di soppesare le probabilità (col sistema di riduzione) con cui si susseguono le frasi . il modello GPT è in grado non solo di scrivere frasi grammaticalmente corrette e di senso compiuto (senza aver inserito alcuna regola grammaticale nel proprio algoritmo) ma anche di imitare dopo un paio di "allenamenti" anche lo stile di scrittura con cui l'interlocutore umano si pone. Grazie alla potenza di calcolo. 

Notizia di questi giorni è la costruzione di un nuovo computer che riesce a simulare ciò che avviene alle singole molecole di combustibile in una camera a scoppio di una macchina a combustione interna ancora più velocemente di quanto avvenga nella realtà quella singola combustione. ciò significa che si crea un paradosso dove il fenomeno di una eventuale malfunzionamento del motore in analisi potrebbe esse previsto dal computer cicli prima che esso avvenga (*14). 

Tensorflow è un software di riduzioni e calcoli probabilistici con miliardi di variabili che "veste perfettamente" i processi in analisi senza conoscere "la meccanica" che genera i fenomeni ma semplicemente studiando masse imponenti delle loro manifestazioni nel tempo.


Evitare che Alexandra risponda da allucinata

TensorFlow è un framework, un insieme di librerie, nato per il riconoscimento e la classificazione delle immagini (*15). 

 Per riconoscimento si intende una attività e lo studio del modus con cui etichettare in modo univoco un'immagine e ritrovare quella etichetta in immagini diverse, in immagini decentrate, sfuocate , ridimensionate, ruotate .. ma dello stesso soggetto.

Per potere realizzare una etichetta univoca dall'immagine campione essa deve essere sotto campionata cioè si deve effettuare il così detto pooling di essa per poter creare un matrice efficiente e generalizzata di essa valida per il campionamento.

Il processo di riconoscimento della stessa matrice univoca in immagini diverse partendo da un'immagine sotto campionata genera il cosiddetto fenomeno dell' allucinazione.(*16)

Non è stato fornito nessun testo alternativo per questa immagine

Sembra che stia parlando di altro ma per il nostro sistema e per la Alexandra il pericolo di allucinazioni esiste.. 

Se stiamo parlando di Barack Obama il rischio che il sistema parli di un uomo bianco magari suprematista è reale :-). 

Il nostro modello pre allenato GPT-2 rappresenta un grosso insieme di immagini sfuocate di frasi parole e concetti .. l'aderenza alla realtà è un parametro da gestire. 

Questo parametro si chiama "temperature" è indica il livello di somiglianza tra le matricole che identificano l'aderenza tra gli elementi scelti (immagini , frasi ..)

La temperatura varia tra 0 (aderenza massima) e 1. 

La fantasia nelle risposte o il grado di emozione che la risposta può generare va dosato con una attività di fine tuning di questo parametro.  


Evitare che Alexandra dica le parolacce

Il modello che abbiamo realizzato si compone del data-set pre allenato fornito da OpenAi (1,5 miliardi di connessioni su 40 GB di testo proveniente da internet ) e dal data-set da me allenato sulle domande specifiche e esempi di rapporti con i miei interlocutori telefonici.

Questi esempi personali , insieme alle descrizioni delle attività definiscono i miei nuovi intent cioè i nuovi percorsi per le domande che riguardano la mia fattispecie. 

Amico : "Francesco prendiamo il caffè assieme? "

Alexandra :"un minuto. Riferisco subito. saltella sul posto intanto .."

Amico : "Fagli fare presto altrimenti paga lui."

Questo e altri 100 esempi similari identificano il dataset dei miei contatti che identifico con amici ante elaborazione.. 

Esistono altri 100 esempi per ogni tipo di rapporti che identifico come colleghi, come fornitori di beni, ecc .. 

Ideale sarebbe poter cambiare la fantasia delle risposte (la temperatura precedente) in base alla tipologia di chiamante evidenziata dalla rubrica. 

Quello che posso fare e sto facendo è fare aggiungere sempre un prefisso (amico, collega, acquisto alimenti ecc.) alla frase ricevuta prima di farla elaborare tramite il modello GPT e vedere cosa succede .. 

Con queste premesse ecco il problema . E' possibile dare l'autorizzazione al sistema GPT di cambiare il peso dei modelli. In base alle nuove ricorrenze nei dati prodotti dall'uso quotidiano nel tempo del medesimo modello, i pesi iniziali si possono modificare. 

Se però uno dei miei amici usa spesso parole sconvenienti in altri contesti o termini borderline tipici della goliardia tra amici e tollerati in quei contesti .. Alexandra imparerà e utilizzerà la stessa metrica con i colleghi o peggio con i funzionari della mia azienda :-( ops. 

Anche qui occorre valutare come gestire al meglio queste diverse opportunità. quelle di avere un dialogo aderente e irriconoscibile tra macchina e uomo oppure definire un recinto di azione stretto e privo di risvolti . 


Quale è la paga mensile di Alexandra ?

Il costo attuale del progetto si divide in due componenti .

L'hosting della macchina virtuale che identifico in 15 centesimi ora (di attività). 

Questo costo è però eliminabile portando a casa un server ben dimensionato dotato di una buona connessione ad internet).

Per quanto riguarda i servizi di Aws quali il contact center, il sistema di traduzione istantanea ecc .. facendo deviare al sistema tutte le telefonate in arrivo al mio cellulare, penso di stare dentro al bonus di € 300 che Amazon concede per il primo anno di sviluppo con le sue piattaforme. il Gateway su whatapp costa 0,002 euro a messaggio


Conclusioni,sviluppi e potenziali rischi 

Dovrei chiudere questo lungo articolo dicendo come funziona il tutto e quale è la mia esperienza. Vedo un buon potenziale in questo approccio. Ottimo mezzo per la realizzazione di sistemi di customer relationship management. Oggi però dobbiamo giocare con esso solo con gli amici al telefono e non rischiare di dare il timone dei rapporti con i nostri clienti a sistemi ancora poco maturi. 

Il sistema ha fatto cose mirabili . Si è opposto alla conversazione simulata di un barista che mi comunicava di non potermi fornire la torta di compleanno precedentemente ordinata. Ha miseramente sbagliato altre conversazioni più semplici. 

Quello che va fatto è di cercare di conoscere il comportamento del sistema e soppesare quale è il fine tuning di esso. 

Adesso è ora di giocare con esso e capirne le reazioni. 

Il giusto equilibrio potrebbe essere usare ancora la chat bot e lasciare che GTP risponda in assenza di match con gli intent programmati .. spero di scrivere un apposito articolo appena avrò un giudizio .

Lo scienziato Kaku sostiene che l'intelligenza artificiale sarà paragonabile a quella umana quando il numero di connessioni in essa sarà pari al numero di neuroni del cervello. 

Nel nostro cervello ci sono circa 100 miliardi di neuroni. 

Il modello GPT-3 appena rilasciato contiene 175 miliardi di variabili ..

Aspettiamo gli eventi . 

Grazie per l'attenzione e soprattutto grazie per essere arrivati fino a qui .


Francesco Scalia

 



 

(*) Se ti è piaciuto questo articolo, per commenti o se vuoi aiutarmi nei miei progetti, folli ma interessanti, scrivimi.

Approfondimenti :

1) Chatbot su whatsapp

2) Società e rischio : GPT-3 un'intelligenza artificiale che sa scrivere 

2a) GitHub: Pre training and text generation implemented in tensorflow 2.0

3) wikipedia : OpenAi una società da un miliardo di dollari

4) wikipedia : gpt-3 

5) Openai: Preoccupazioni sul rilascio del codice gpt

6)  Agendadigitale.eu: Microsoft unica licenzataria Open-ai per il codice sorgente di gpt-3

6a) Notiziescientifiche.it: Intelligenza artificiale scrive inquietante saggio sul futuro rapporto con l’umanità

7) Aws: virtual conctact center di Amazon

8) Aws transcribe :Dal parlato al testo

8a) Aws.Amazon.com :AI Powered Speech Analytics for Amazon Connect (Preview)

9) Notiziescientifiche.it: Macchina batte uomo nel riconoscimento del parlato

10) Arxiv.org: Modello gpt-2 in italiano GePpeTto

11) Aws.amazon.com : traslate

11a) Github.com : Amazon connect realtime trascription

12) Aws Amazon.com : Funzione lambda.

13) guru99.com : what is Tensorflow

 14) Notiziescientifiche.it: Nuovo chip permette simulazioni della realtà così veloci da “prevedere” il futuro

15) stackabuse.com: Image Recognition in Python with TensorFlow and Keras

16) aiwerdess.com: Depixellation? Or hallucination?

Giovanni Agria

Sales Manager presso Oleum Sicilia Cooperativa

4 anni

Ho letto tutto.... e non sono sicuro di aver capito tutto.....ma sono convinto che il tuo progetto potrebbe essere molto utile.....

Giovanni Agria

Sales Manager presso Oleum Sicilia Cooperativa

4 anni

Fra...you are really great

Per visualizzare o aggiungere un commento, accedi

Altre pagine consultate