A chatbot is a software agent with the objective of helping humans to solve problems by using natural language to interact with them. This thesis has both the goal of investigating the most interesting methods to build such kind of models and of showing their application in a real-world use case. This work aims at describing these methodologies both from a theoretical and a practical point of view, taking as an example a technical case study coming from a project developed together with Loop AI Labs. In particular, we explain how to deal with a real-world Conversational AI problem, from data exploration to data preprocessing, normalization and standardization. After these preliminary steps, we explain how to choose, train and validate a model in a real-world setting. We describe the two most successful architectures, retrieval and generative models, and after showing their pros and cons, we select the second family and we discuss how its most problematic issue is the integration of the conversational context. We select a model that can help to solve this problem and we quantitatively compare a curriculum learning, Bengio et al (2009), based approach powered by a dedicated learning rate decay, with a traditional approach based on the learning rate decay proposed by Vaswani et al (2017). After this phase, we qualitatively evaluate the best performing model. In the quantitative analysis we present how the performance changes by varying some parameters of the model, while in the qualitative study we show the actual results that the best model obtains in two settings: off-line, where we evaluate a set of cases coming from an evaluation set, and on-line, where we inspect how the model behaves during a chat with a real client.

I chatbot sono software che hanno lo scopo di utilizzare il linguaggio naturale per guidare gli utenti nella risoluzione di problemi tecnici. Intuitivamente, le aziende che offrono un servizio di assistenza clienti tramite chat generano una grande quantità di dati sotto forma di conversazioni tra agenti reali e clienti. Registrare queste conversazioni apre una grande possibilità di creare valore. Questi dati possono infatti essere usati per costruire i chatbot, agenti di supporto virtuali che permettono agli agenti reali di lavorare più velocemente facendo meno fatica. E' in questo ambito che si colloca la IA conversazionale, la scienza che studia come utilizzare l'intelligenza artificiale e gli storici delle conversazioni dei centri di assistenza per costruire i chatbot. Questa tesi ha il duplice obbiettivo di proporre una analisi che confronti i più recenti e innovativi metodi che la letteratura propone per costruire questi assistenti virtuali, e di mostrare come questi software si comportano in un caso reale. In particolare, dopo aver analizzato le due famiglie di architetture maggiormente utilizzate, gli algoritmi generativi e quelli di recupero, selezioniamo la prima e spieghiamo come il principale problema di questi modelli sia renderli consapevoli del contesto della conversazione. In seguito, proponiamo una validazione sperimentale nella quale confrontiamo quantitativamente un approccio basato sull'apprendimento a curriculum, basato sul Bengio et al (2009), con un approccio più tradizionale che utilizza alcune intuizioni proposte da Vaswani et al (2017). Una volta selezionata una architettura appropriata, spieghiamo come affrontare un problema reale di IA conversazionale descrivendo le fasi che precedono l'effettiva creazione del modello, vale a dire quelle di esplorazione, di standardizzazione e di normalizzazione dei dati. Nell' ambito di questo caso di studio presentiamo una analisi quantitativa nella quale selezioniamo un insieme di metriche e mostriamo come il loro valore cambi al variare di alcuni parametri del modello. Nella analisi qualitativa invece studiamo il comportamento che il modello quantitativamente migliore presenta in due situazioni: una prima nella quale valutiamo come il software risponde ad una serie di casi provenienti da un set di validazione, e una seconda dove analizziamo le risposte generate durante simulazioni di conversazioni con i clienti.

State of art and best practices in generative conversational AI

PIROVANO, ALBERTO MARIO
2017/2018

Abstract

A chatbot is a software agent with the objective of helping humans to solve problems by using natural language to interact with them. This thesis has both the goal of investigating the most interesting methods to build such kind of models and of showing their application in a real-world use case. This work aims at describing these methodologies both from a theoretical and a practical point of view, taking as an example a technical case study coming from a project developed together with Loop AI Labs. In particular, we explain how to deal with a real-world Conversational AI problem, from data exploration to data preprocessing, normalization and standardization. After these preliminary steps, we explain how to choose, train and validate a model in a real-world setting. We describe the two most successful architectures, retrieval and generative models, and after showing their pros and cons, we select the second family and we discuss how its most problematic issue is the integration of the conversational context. We select a model that can help to solve this problem and we quantitatively compare a curriculum learning, Bengio et al (2009), based approach powered by a dedicated learning rate decay, with a traditional approach based on the learning rate decay proposed by Vaswani et al (2017). After this phase, we qualitatively evaluate the best performing model. In the quantitative analysis we present how the performance changes by varying some parameters of the model, while in the qualitative study we show the actual results that the best model obtains in two settings: off-line, where we evaluate a set of cases coming from an evaluation set, and on-line, where we inspect how the model behaves during a chat with a real client.
EHLEN, PATRICK
ING - Scuola di Ingegneria Industriale e dell'Informazione
25-lug-2018
2017/2018
I chatbot sono software che hanno lo scopo di utilizzare il linguaggio naturale per guidare gli utenti nella risoluzione di problemi tecnici. Intuitivamente, le aziende che offrono un servizio di assistenza clienti tramite chat generano una grande quantità di dati sotto forma di conversazioni tra agenti reali e clienti. Registrare queste conversazioni apre una grande possibilità di creare valore. Questi dati possono infatti essere usati per costruire i chatbot, agenti di supporto virtuali che permettono agli agenti reali di lavorare più velocemente facendo meno fatica. E' in questo ambito che si colloca la IA conversazionale, la scienza che studia come utilizzare l'intelligenza artificiale e gli storici delle conversazioni dei centri di assistenza per costruire i chatbot. Questa tesi ha il duplice obbiettivo di proporre una analisi che confronti i più recenti e innovativi metodi che la letteratura propone per costruire questi assistenti virtuali, e di mostrare come questi software si comportano in un caso reale. In particolare, dopo aver analizzato le due famiglie di architetture maggiormente utilizzate, gli algoritmi generativi e quelli di recupero, selezioniamo la prima e spieghiamo come il principale problema di questi modelli sia renderli consapevoli del contesto della conversazione. In seguito, proponiamo una validazione sperimentale nella quale confrontiamo quantitativamente un approccio basato sull'apprendimento a curriculum, basato sul Bengio et al (2009), con un approccio più tradizionale che utilizza alcune intuizioni proposte da Vaswani et al (2017). Una volta selezionata una architettura appropriata, spieghiamo come affrontare un problema reale di IA conversazionale descrivendo le fasi che precedono l'effettiva creazione del modello, vale a dire quelle di esplorazione, di standardizzazione e di normalizzazione dei dati. Nell' ambito di questo caso di studio presentiamo una analisi quantitativa nella quale selezioniamo un insieme di metriche e mostriamo come il loro valore cambi al variare di alcuni parametri del modello. Nella analisi qualitativa invece studiamo il comportamento che il modello quantitativamente migliore presenta in due situazioni: una prima nella quale valutiamo come il software risponde ad una serie di casi provenienti da un set di validazione, e una seconda dove analizziamo le risposte generate durante simulazioni di conversazioni con i clienti.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
tesi.pdf

accessibile in internet per tutti

Descrizione: Pdf file containing the thesis.
Dimensione 8.9 MB
Formato Adobe PDF
8.9 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/141797