SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Neural Chatbot
HELLO!
Sono Elena Gagliardoni...
2
Chatbot
Cosa sono, a cosa servono, perchè ora?
Chatbot, cosa sono?
Un agente conversazionale (chatting robot)
che è in grado di condurre conversazioni via
testo o tramite comandi vocali.
○ Goal oriented
○ General conversation
4
Chatbot, a cosa servono?
Lo scopo principale dei chatbot è quello di
ottimizzare le interazioni tra persone e
servizi.
Possono essere utilizzati come servizio o come un tool di
marketing per fare engagement. Forniscono contenuti,
facilitano acquisti e si connettono ai consumatori
(Content Marketing).
5
Chatbot, perchè ora?
○ Nella comunicazione online si stanno
affermando con prepotenza interfacce di
tipo conversazionale
○ Evoluzione del Machine Learning che ha
dato nuovo impulso al mondo del Natural
Language Processing (NLP)
6
Rule-based
Comportamento viene
dettato da flussi e script
di risposta definiti by
design.
Rule Based Chatbot o
Smartbot?
Smart
Il motore decisionale del
comportamento è basato
su tecniche di machine
learning.
7
AI
ML DL
Retrieval-based
Il chatbot accede a un
repository di risposte
predefinite. L’euristica
può essere più o meno
sofisticata : si va da
sistemi rule-based basati
su semplice
corrispondenza testuale
a classificatori complessi
di machine learning.
Chatbot Retrieval Based o
Generativi?
Generativi
Analogo a quello
utilizzato nei sistemi di
traduzione automatica,
cioè si ‘traduce’ da una
domanda ad una
risposta. E’ questo
l’ambito in cui le
tecniche del deep
learning sembrano dare i
loro frutti migliori.
8
Dove prendere l’AI?
Propria
implementazione
Necessarie
competenze di
programmazione e (se
si vuole) di machine
learning
Piattaforme ad hoc
per lo sviluppo di
chatbot
Abe, Trim, Kasisto ..
Kasisto, in particolare,
è uno spin off di SRI
International, la
società che ha creato
SIRI.
AI aaS di grandi
fornitori
Integrazione del
chatbot con natural
language API fornite
dai big del cloud
computing (IBM con
Watson, Microsoft con
LUIS e Bot Framework,
Google con Natural
Language API e AWS
con Alexa Skills Kit).
9
Dove prendere l’AI?
Propria
implementazione
Necessarie
competenze di
programmazione e (se
si vuole) di machine
learning
10
Chatbot
Generativo
basato solo
su Reti
Neurali
Approccio NLP Classico
11
Segmentazione
frase
Tokenizzazione PoS Tagging
(Part of Speech)
NER
(Named Entity Recognition)
Intent Extraction
DB
Script
risposta &
action
● Metodi Classici
(regex, rule, KB…)
● Metodi Statistici
(HMM, MaxEnt,
Custom Random
Field)
● Metodi Neurali
(molte architetture,
molto usate le
LSTM bi-direzionali)
Approccio NLP Neurale
12
Segmentazione
frase
Tokenizzazione Sequenza di Input
Sequenza di
Output
Metodi Neurali (rete
seq2seq di LSTM
aumentate con
meccanismo
dell’attenzione).
Knowledge Base
(cattura porzioni
di frasi che
potrebbero far
scattare funzioni
di business logic.)
Chatbot Neurali
LSTM, seq2seq e TensorFlow
Rete Neurale
Modello matematico che ad ogni input xi associa un
peso wi con valore positivo o negativo per eccitare o
inibire il valore. L’output è il risultato di una
funzione di attivazione (generalmente non lineare)
applicata alla somma pesata degli input.
14
RNN
Le RNN sono reti neurali con una struttura ‘a
catena’. Esse si ripetono in cicli che, ad ogni istante
temporale, possono processare componenti
differenti di input sequenziali.
15
Speciale tipo di RNN aumentate dalla presenza di
unità di memoria che permettono il salvataggio delle
informazioni acquisite nel tempo.
16
LSTM
Architettura neurale progettata appositamente per
lo studio delle sequenze di frasi basato sul
paradigma encoder-decoder.
17
Seq2Seq
Framework rilasciato in modalità open-source da
Google a fine 2015 per la realizzazione di algoritmi
di Machine Learning e di architetture di Deep
Learning. Consente il calcolo distribuito anche su
GPU.
18
TensorFlow
Data Gathering e Normalizzazione del testo scritto,
creazione di un vocabolario in fase di training
ottimizzando dimensione e pulizia, formattazione
dati input per la rete neurale.
19
Preprocessing
Preprocessing NLP
20
Inferenza - Epoca 1
21
D: Ciao
R: Ciao
D: Salve
R: Buonasera
D: Come ti chiami?
R: V codicecliente1234
D: Come stai?
R: Si
D: Buongiorno mi chiamo Elena
R: Si
D: Ho un problema con l’abbonamento
R: Buongiorno
Inferenza - Epoca 12
22
D: Ciao
R: Ciao
D: Buongiorno
R: Buongiorno
D: Come ti chiami?
R: ?
D: Da dove vieni?
R: Da Roma
D: Dove vivi?
R: Sul contratto
D: Come stai?
R: Tramite raccomandata
D: Buongiorno mi chiamo Elena
R: Buongiorno
D: Elena Gagliardoni codicefiscale1234
R: Buonasera Elena
D: Ho un problema
R: Dimmi pure
D: Quale è il tuo codice fiscale?
R: codicefiscale1234
D: Voglio disdire il mio abbonamento
R: Sei ancora in linea?
D: Voglio chiudere il mio abbonamento
R: Ok
D: Non mi funziona il servizio
R: Che problema riscontri?
Inferenza - Epoca 30
23
D: Ciao
R: Ciao
D: Buongiorno
R: Buongiorno
D: Come ti chiami?
R: Roberta
D: Da dove vieni?
R: Dal decoder
D: Dove vivi?
R: In un pc
D: Come stai?
R: Tramite raccomandata
D: Buongiorno mi chiamo Elena
R: Buongiorno Elena
D: Elena Gagliardoni codicefiscale1234
R: Salve Elena
D: Ho un problema
R: Dimmi pure
D: Quale è il tuo codice fiscale?
R: codicefiscale1234
D: Voglio disdire il mio abbonamento
R: Posso chiederti come mai vuoi disdire?
D: Voglio chiudere il mio abbonamento
R: Buongiorno, facciamo subito una verific
D: Non mi funziona il servizio
R: Che problema hai?
Evidenze e Conclusioni
24
○ DeepChatbot è un sistema di QA puramente neurale e generativo, non
fa compromessi con quelli che sono gli approcci classici. QUesta sua
‘pulizia’ teorica non lo rende adatto a compiere azioni di business logic
o di profilazione delle risposte. Inoltre, i modelli generativi non
consentono alcun controllo sulle risposte.
○ Lo stato dell’arte dei Chatbot ‘smart’ prevede l’utilizzo di alcuni
algoritmi neurali di Deep Learning per la fase di Information Extraction
(da POS Tagging fino ad arrivare all’Intent Extraction). Una volta
ottenuti gli intent, sistemi a regole o blocchi di codice assegnano dei
template proattivi.
GRAZIE!
Qualche domanda?
Linkedin: elena-gagliardoni
Mail: elenagagliardoni@gmail.com
25

Weitere ähnliche Inhalte

Mehr von MeetupDataScienceRoma

Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...MeetupDataScienceRoma
 
Multimodal AI Approach to Provide Assistive Services (Francesco Puja)
Multimodal AI Approach to Provide Assistive Services (Francesco Puja)Multimodal AI Approach to Provide Assistive Services (Francesco Puja)
Multimodal AI Approach to Provide Assistive Services (Francesco Puja)MeetupDataScienceRoma
 
Introduzione - Meetup MLOps & Assistive AI
Introduzione - Meetup MLOps & Assistive AIIntroduzione - Meetup MLOps & Assistive AI
Introduzione - Meetup MLOps & Assistive AIMeetupDataScienceRoma
 
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)MeetupDataScienceRoma
 
Mario Incarnati - The power of data visualization
Mario Incarnati - The power of data visualizationMario Incarnati - The power of data visualization
Mario Incarnati - The power of data visualizationMeetupDataScienceRoma
 
OLIVAW: reaching superhuman strength at Othello
OLIVAW: reaching superhuman strength at OthelloOLIVAW: reaching superhuman strength at Othello
OLIVAW: reaching superhuman strength at OthelloMeetupDataScienceRoma
 
[Giovanni Galloro] How to use machine learning on Google Cloud Platform
[Giovanni Galloro] How to use machine learning on Google Cloud Platform[Giovanni Galloro] How to use machine learning on Google Cloud Platform
[Giovanni Galloro] How to use machine learning on Google Cloud PlatformMeetupDataScienceRoma
 
Bring your neural networks to the browser with TF.js - Simone Scardapane
Bring your neural networks to the browser with TF.js - Simone ScardapaneBring your neural networks to the browser with TF.js - Simone Scardapane
Bring your neural networks to the browser with TF.js - Simone ScardapaneMeetupDataScienceRoma
 
Meetup Gennaio 2019 - Slide introduttiva
Meetup Gennaio 2019 - Slide introduttivaMeetup Gennaio 2019 - Slide introduttiva
Meetup Gennaio 2019 - Slide introduttivaMeetupDataScienceRoma
 
Bruno Coletta - Data-Driven Creativity in Marketing and Advertising
Bruno Coletta - Data-Driven Creativity in Marketing and AdvertisingBruno Coletta - Data-Driven Creativity in Marketing and Advertising
Bruno Coletta - Data-Driven Creativity in Marketing and AdvertisingMeetupDataScienceRoma
 
Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...
Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...
Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...MeetupDataScienceRoma
 
Daniele Paliotta - Modelli generativi: Creare con il Deep Learning
Daniele Paliotta - Modelli generativi: Creare con il Deep LearningDaniele Paliotta - Modelli generativi: Creare con il Deep Learning
Daniele Paliotta - Modelli generativi: Creare con il Deep LearningMeetupDataScienceRoma
 
Roberto Reale - Res-publica: sentiment analysis of italian political texts
Roberto Reale - Res-publica: sentiment analysis of italian political textsRoberto Reale - Res-publica: sentiment analysis of italian political texts
Roberto Reale - Res-publica: sentiment analysis of italian political textsMeetupDataScienceRoma
 
Mirko Lucchese - Deep Image Processing
Mirko Lucchese - Deep Image ProcessingMirko Lucchese - Deep Image Processing
Mirko Lucchese - Deep Image ProcessingMeetupDataScienceRoma
 
Machine learning roma #aperi tech settembre 2018 Sconti Codemotion
Machine learning roma #aperi tech settembre 2018 Sconti CodemotionMachine learning roma #aperi tech settembre 2018 Sconti Codemotion
Machine learning roma #aperi tech settembre 2018 Sconti CodemotionMeetupDataScienceRoma
 

Mehr von MeetupDataScienceRoma (20)

[Sponsored] C3.ai description
[Sponsored] C3.ai description[Sponsored] C3.ai description
[Sponsored] C3.ai description
 
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
 
Multimodal AI Approach to Provide Assistive Services (Francesco Puja)
Multimodal AI Approach to Provide Assistive Services (Francesco Puja)Multimodal AI Approach to Provide Assistive Services (Francesco Puja)
Multimodal AI Approach to Provide Assistive Services (Francesco Puja)
 
Introduzione - Meetup MLOps & Assistive AI
Introduzione - Meetup MLOps & Assistive AIIntroduzione - Meetup MLOps & Assistive AI
Introduzione - Meetup MLOps & Assistive AI
 
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
Zero, One, Many - Machine Learning in Produzione (Luca Palmieri)
 
Mario Incarnati - The power of data visualization
Mario Incarnati - The power of data visualizationMario Incarnati - The power of data visualization
Mario Incarnati - The power of data visualization
 
Machine Learning in the AWS Cloud
Machine Learning in the AWS CloudMachine Learning in the AWS Cloud
Machine Learning in the AWS Cloud
 
OLIVAW: reaching superhuman strength at Othello
OLIVAW: reaching superhuman strength at OthelloOLIVAW: reaching superhuman strength at Othello
OLIVAW: reaching superhuman strength at Othello
 
[Giovanni Galloro] How to use machine learning on Google Cloud Platform
[Giovanni Galloro] How to use machine learning on Google Cloud Platform[Giovanni Galloro] How to use machine learning on Google Cloud Platform
[Giovanni Galloro] How to use machine learning on Google Cloud Platform
 
Bring your neural networks to the browser with TF.js - Simone Scardapane
Bring your neural networks to the browser with TF.js - Simone ScardapaneBring your neural networks to the browser with TF.js - Simone Scardapane
Bring your neural networks to the browser with TF.js - Simone Scardapane
 
Meetup Gennaio 2019 - Slide introduttiva
Meetup Gennaio 2019 - Slide introduttivaMeetup Gennaio 2019 - Slide introduttiva
Meetup Gennaio 2019 - Slide introduttiva
 
Bruno Coletta - Data-Driven Creativity in Marketing and Advertising
Bruno Coletta - Data-Driven Creativity in Marketing and AdvertisingBruno Coletta - Data-Driven Creativity in Marketing and Advertising
Bruno Coletta - Data-Driven Creativity in Marketing and Advertising
 
Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...
Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...
Next best product: conoscere le esigenze dei clienti (Giada De Berardinis & G...
 
Daniele Paliotta - Modelli generativi: Creare con il Deep Learning
Daniele Paliotta - Modelli generativi: Creare con il Deep LearningDaniele Paliotta - Modelli generativi: Creare con il Deep Learning
Daniele Paliotta - Modelli generativi: Creare con il Deep Learning
 
Introduzione
IntroduzioneIntroduzione
Introduzione
 
Roberto Reale - Res-publica: sentiment analysis of italian political texts
Roberto Reale - Res-publica: sentiment analysis of italian political textsRoberto Reale - Res-publica: sentiment analysis of italian political texts
Roberto Reale - Res-publica: sentiment analysis of italian political texts
 
Mirko Lucchese - Deep Image Processing
Mirko Lucchese - Deep Image ProcessingMirko Lucchese - Deep Image Processing
Mirko Lucchese - Deep Image Processing
 
Meetup Settembre Indice
Meetup Settembre IndiceMeetup Settembre Indice
Meetup Settembre Indice
 
Scuola CNR AS AI
Scuola CNR AS AIScuola CNR AS AI
Scuola CNR AS AI
 
Machine learning roma #aperi tech settembre 2018 Sconti Codemotion
Machine learning roma #aperi tech settembre 2018 Sconti CodemotionMachine learning roma #aperi tech settembre 2018 Sconti Codemotion
Machine learning roma #aperi tech settembre 2018 Sconti Codemotion
 

Elena Gagliardoni - Neural Chatbot

  • 3. Chatbot Cosa sono, a cosa servono, perchè ora?
  • 4. Chatbot, cosa sono? Un agente conversazionale (chatting robot) che è in grado di condurre conversazioni via testo o tramite comandi vocali. ○ Goal oriented ○ General conversation 4
  • 5. Chatbot, a cosa servono? Lo scopo principale dei chatbot è quello di ottimizzare le interazioni tra persone e servizi. Possono essere utilizzati come servizio o come un tool di marketing per fare engagement. Forniscono contenuti, facilitano acquisti e si connettono ai consumatori (Content Marketing). 5
  • 6. Chatbot, perchè ora? ○ Nella comunicazione online si stanno affermando con prepotenza interfacce di tipo conversazionale ○ Evoluzione del Machine Learning che ha dato nuovo impulso al mondo del Natural Language Processing (NLP) 6
  • 7. Rule-based Comportamento viene dettato da flussi e script di risposta definiti by design. Rule Based Chatbot o Smartbot? Smart Il motore decisionale del comportamento è basato su tecniche di machine learning. 7 AI ML DL
  • 8. Retrieval-based Il chatbot accede a un repository di risposte predefinite. L’euristica può essere più o meno sofisticata : si va da sistemi rule-based basati su semplice corrispondenza testuale a classificatori complessi di machine learning. Chatbot Retrieval Based o Generativi? Generativi Analogo a quello utilizzato nei sistemi di traduzione automatica, cioè si ‘traduce’ da una domanda ad una risposta. E’ questo l’ambito in cui le tecniche del deep learning sembrano dare i loro frutti migliori. 8
  • 9. Dove prendere l’AI? Propria implementazione Necessarie competenze di programmazione e (se si vuole) di machine learning Piattaforme ad hoc per lo sviluppo di chatbot Abe, Trim, Kasisto .. Kasisto, in particolare, è uno spin off di SRI International, la società che ha creato SIRI. AI aaS di grandi fornitori Integrazione del chatbot con natural language API fornite dai big del cloud computing (IBM con Watson, Microsoft con LUIS e Bot Framework, Google con Natural Language API e AWS con Alexa Skills Kit). 9
  • 10. Dove prendere l’AI? Propria implementazione Necessarie competenze di programmazione e (se si vuole) di machine learning 10 Chatbot Generativo basato solo su Reti Neurali
  • 11. Approccio NLP Classico 11 Segmentazione frase Tokenizzazione PoS Tagging (Part of Speech) NER (Named Entity Recognition) Intent Extraction DB Script risposta & action ● Metodi Classici (regex, rule, KB…) ● Metodi Statistici (HMM, MaxEnt, Custom Random Field) ● Metodi Neurali (molte architetture, molto usate le LSTM bi-direzionali)
  • 12. Approccio NLP Neurale 12 Segmentazione frase Tokenizzazione Sequenza di Input Sequenza di Output Metodi Neurali (rete seq2seq di LSTM aumentate con meccanismo dell’attenzione). Knowledge Base (cattura porzioni di frasi che potrebbero far scattare funzioni di business logic.)
  • 14. Rete Neurale Modello matematico che ad ogni input xi associa un peso wi con valore positivo o negativo per eccitare o inibire il valore. L’output è il risultato di una funzione di attivazione (generalmente non lineare) applicata alla somma pesata degli input. 14
  • 15. RNN Le RNN sono reti neurali con una struttura ‘a catena’. Esse si ripetono in cicli che, ad ogni istante temporale, possono processare componenti differenti di input sequenziali. 15
  • 16. Speciale tipo di RNN aumentate dalla presenza di unità di memoria che permettono il salvataggio delle informazioni acquisite nel tempo. 16 LSTM
  • 17. Architettura neurale progettata appositamente per lo studio delle sequenze di frasi basato sul paradigma encoder-decoder. 17 Seq2Seq
  • 18. Framework rilasciato in modalità open-source da Google a fine 2015 per la realizzazione di algoritmi di Machine Learning e di architetture di Deep Learning. Consente il calcolo distribuito anche su GPU. 18 TensorFlow
  • 19. Data Gathering e Normalizzazione del testo scritto, creazione di un vocabolario in fase di training ottimizzando dimensione e pulizia, formattazione dati input per la rete neurale. 19 Preprocessing
  • 21. Inferenza - Epoca 1 21 D: Ciao R: Ciao D: Salve R: Buonasera D: Come ti chiami? R: V codicecliente1234 D: Come stai? R: Si D: Buongiorno mi chiamo Elena R: Si D: Ho un problema con l’abbonamento R: Buongiorno
  • 22. Inferenza - Epoca 12 22 D: Ciao R: Ciao D: Buongiorno R: Buongiorno D: Come ti chiami? R: ? D: Da dove vieni? R: Da Roma D: Dove vivi? R: Sul contratto D: Come stai? R: Tramite raccomandata D: Buongiorno mi chiamo Elena R: Buongiorno D: Elena Gagliardoni codicefiscale1234 R: Buonasera Elena D: Ho un problema R: Dimmi pure D: Quale è il tuo codice fiscale? R: codicefiscale1234 D: Voglio disdire il mio abbonamento R: Sei ancora in linea? D: Voglio chiudere il mio abbonamento R: Ok D: Non mi funziona il servizio R: Che problema riscontri?
  • 23. Inferenza - Epoca 30 23 D: Ciao R: Ciao D: Buongiorno R: Buongiorno D: Come ti chiami? R: Roberta D: Da dove vieni? R: Dal decoder D: Dove vivi? R: In un pc D: Come stai? R: Tramite raccomandata D: Buongiorno mi chiamo Elena R: Buongiorno Elena D: Elena Gagliardoni codicefiscale1234 R: Salve Elena D: Ho un problema R: Dimmi pure D: Quale è il tuo codice fiscale? R: codicefiscale1234 D: Voglio disdire il mio abbonamento R: Posso chiederti come mai vuoi disdire? D: Voglio chiudere il mio abbonamento R: Buongiorno, facciamo subito una verific D: Non mi funziona il servizio R: Che problema hai?
  • 24. Evidenze e Conclusioni 24 ○ DeepChatbot è un sistema di QA puramente neurale e generativo, non fa compromessi con quelli che sono gli approcci classici. QUesta sua ‘pulizia’ teorica non lo rende adatto a compiere azioni di business logic o di profilazione delle risposte. Inoltre, i modelli generativi non consentono alcun controllo sulle risposte. ○ Lo stato dell’arte dei Chatbot ‘smart’ prevede l’utilizzo di alcuni algoritmi neurali di Deep Learning per la fase di Information Extraction (da POS Tagging fino ad arrivare all’Intent Extraction). Una volta ottenuti gli intent, sistemi a regole o blocchi di codice assegnano dei template proattivi.

Hinweis der Redaktion

  1. N.B. sto parlando dei chatbot goal oriented e non quelli di conversazione generale!! I Chatbot rientrano a pieno titolo nel concetto del Content Marketing
  2. Il fatto che di chatbot si parli molto oggi dipende dalla convergenza di due tendenze. Da un lato sappiamo che nella comunicazione online si affermano con prepotenza interfacce di tipo conversazionale. Il successo di piattaforme di messaggistica istantanea come WhatsApp, WeChat, Telegram e Facebook Messenger, soprattutto presso il pubblico più giovane, è un dato di fatto. Da qui l’idea di integrare in questo tipo di interfacce una quantità crescente di servizi B2C. La seconda tendenza è legata all’evoluzione del machine learning, che ha dato nuovo impulso al mondo del natural language processing (NPL). Quando parliamo di NPL intendiamo qualunque processo di trattamento automatico delle informazioni espresse in linguaggio naturale. Ma non tutto l’NPL è intelligenza artificiale. Ed è proprio il machine learning che sta offrendo nuove possibilità all’ambito delle applicazioni conversazionali. Un fronte ancora più avanzato è costituito dalle interfacce conversazionali che sfruttano tecniche di deep learning, ovvero machine learning basato sull’impiego di reti neurali.
  3. Ci sono due approcci per lo sviluppo dei Chatbot.. Uno definito Rule Based e uno, per così dire, ‘smart’ Rule Based Comportamento dettato da flussi e script di risposta definiti by design. In linea di principio si può parlare di chatbot – o, ancora meglio, di smartbot – solo nel caso in cui il bot sia equipaggiato con un motore di machine learning. Eppure nel vasto panorama dei chatbot in circolazione ce ne sono molti – forse la maggioranza – che non sono affatto ‘smart’.
  4. Un altro modo di distinguere le applicazioni di chatbot è facendo riferimento al modello in base al quale il software produce le risposte alle domande all’interlocutore umano. L’euristica, ovvero la metodologia di ricerca della risposta migliore, può essere più o meno sofisticata: si va da sistemi rule-based basati sulla semplice corrispondenza testuale a classificatori complessi di machine learning analogo a quello utilizzato nei sistemi di traduzione automatica. Nei chatbot che applicano questo modello, anziché tradurre da una lingua all’altra, si ‘traduce, da un input (domanda) a un output (risposta). È questo l’ambito in cui le tecniche di deep learning sembrano dare i loro frutti migliori
  5. Alla fine, però, la scelta più delicata è un’altra. Se un chatbot propriamente detto ha bisogno di intelligenza artificiale, dove è più opportuno andarla a reperire? In linea di principio sono possibili tre strade: 1) implementazione in proprio, 2) utilizzo di piattaforme ad hoc concepite per lo sviluppo di chatbot, 3) consumo di AI messa a disposizione as a service dai soliti grandi fornitori: Amazon, Google, Microsoft, IBM e Facebook. Abe, Trim, Kasisto, Kore, Abe e Ernest. Kasisto, in particolare, è uno spin off di SRI International, la società che ha creato SIRI. ed è specializzato per applicazioni FINANZIARIE. integrazione del chatbot con natural language API fornite dai big del cloud computing Infine ci sono Google, con Natural Language API, e AWS, con Alexa Skills Kit.
  6. Cerco di darvi dei Big Concept che sono alla base delle tecniche neurali per sistemi conversazionali Modello matematico molto semplificato del neurone biologico. Ad ogni input xi è associato un peso wi con valore positivo o negativo per eccitare o inibire il neurone. L’output del neurone è il risultato di una funzione di attivazione (generalmente non lineare) applicata alla somma pesata degli input.
  7. Problema dipendenze a lungo termine!!
  8. Cerco di darvi dei Big Concept che sono alla base delle tecniche neurali per sistemi conversazionali Le reti LSTM sono uno speciale tipo di RNN in grado di apprendere le dipendenze a lungo termine. Invece di avere una singola processazione ad ogni livello, l’architettura delle LSTM è aumentata dalla presenza di unità di memoria che permettono il salvataggio delle informazioni acquisite nel tempo della singola sequenza. Un blocco LSTM contiene dei gate che hanno il compito di decidere quando un valore è abbastanza significativo per essere ricordato, quanto a lungo deve essere mantenuto e quando deve essere emesso.
  9. Nella fine del 2014, un gruppo di ricercatori del progetto Google Brain, guidati da Ilya Sutskever, presentarono un articolo dal titolo ‘Sequence to Sequence Learning with Neural Network’ . In questo articolo viene presentata una nuova architettura neurale (Seq2Seq) progettata appositamente per lo studio delle sequenze di frasi. Lo scopo originario di questa tipologia di rete era il Machine Translation, ma studi successivi dimostrarono la sua applicabilità anche per la realizzazione di sistemi di Q&A. The Seq2Seq framework si basa sul paradigma encoder-decoder. The encoder encodes the input sequence, while the decoder produces the target sequence l’encoder non produce output, ci si porta dietro quello che ad ogni istante viene prodotto dall’ultimo hidden layer della LSTM per produrre infine il vettore a dim fissa che è la rappresentazione dell’input. Nel paper si si presentava un’architettura (che mappa una sequenza in una sequenza, come il nome può far intuire) composta da due reti neurali LSTM, una chiamata Encoder il cui compito era quello di rappresentare in un vettore finale a dimensione fissa (non dipende dalla lunghezza della frase in ingresso) una frase (o sequence) in input elaborata parola dopo parola, e l’altra, chiamata Decoder, che prendeva in input il vettore generato dall’Encoder e produceva parola per parola la frase di risposta. Come si sceglie la parola di output all’istante t? Non è altro che una distribuzione di probabilità su tutto un repository di parole possibili condizionata dalle parole emesse in precedenza nell’output e dal vettore generato dall’encoder. IMPORTANTE: spiega la softmax cioè che in fase di decoder immaginate un filtro che agisce su tutto il vocabolario facendo una distribuzione di probabilità spalmata su tutte le parole possibili, quella che ottiene la probabilità maggiore è l’output prescelto.
  10. TensorFlow è un framework, rilasciato in modalità open-source da Google a fine 2015, per la realizzazione di algoritmi di Machine Learning e di architetture di Deep Learning. Consente il calcolo distribuito, anche se GPU. Oggi espone anche API in Java, R, Python e Go per eseguire i modelli addestrati.
  11. DeepChatbot è un Sistema di Question-Answering puramente neurale e generativo, non fa compromessi con quelli che sono gli approcci classici. Questa sua “pulizia” teorica non lo rende adatto a compiere azioni necessarie in una complessa realtà aziendale. Non riesce, infatti, a compiere azioni di business logic o, in generale, di profilazione delle risposte. Inoltre, modelli generativi non consentono alcun controllo sulle risposte. Lo stato dell’arte nel mondo dei Chatbot AI-based prevede l’utilizzo di algoritmi neurali di Deep Learning per la fase di Information Extraction (da POS Tagging fino ad arrivare all’ Intent Extraction) . Una volta ottenuti gli intent, sistemi a regole o blocchi di codice assegnano dei template proattivi. Ultimi sviluppi (Ottobre 2017) riescono, con una grande manipolazione dei dati in fase di pre e post processing, a far compiere azioni ad un sistema di Q&A neurale ma, per ora, potrebbe ben performare solo per pochi e semplici task.