Our work is focused on the development of personal chatbots by non-programmers, i.e. chatbots that offer personalized functionalities designed and developed by non-programmers. Non-programmers are people without advanced programming skills, but at least able to browse the web. The proposed approach is based on three core ingredients. The first regards the choice of the chatbot engine and the way in which the nonprogrammer can interact with the chatbot: the chatbot runs inside an online web page and the bot core is made up by a rule based engine. The second core aspect regards the definition and implementation of a user friendly method for the development of the chatbot personalized functionalities: non-programmers can build personalized data retrieval functions for the chatbot, simply surfing in the web while they are using a Google Chrome Extension able to record user interactions with web pages. These interactions are stored in our database, because they are used to derive rules and actions for the chatbot. The third core aspect is a technique which executes the actions recorded by the non-programmers: for facing this task, it is used a program able to access the database, extract the code generated by the Chrome extension, dynamically compile and execute it and passing the results to the chatbot. With the help of a case of study showing how a non-programmer builds his chatbot and then develops a custom action that retrieves the user’s next two train timetable using our prototype, we demostrate how, under the assumptions of this thesis, non-programmers can use the proposed method and infrastructure to implement their own chatbot without requiringspecial programming skills.

Il nostro lavoro `e focalizzato sullo sviluppo di chatbot personali da parte di non programmatori, ovvero chatbot che offrono funzionalit`a personalizzate, progettate e sviluppate da non programmatori. I non programmatori sono persone che non hanno avanzate abilit`a di programmazione, ma sono almeno capaci di navigare nel web. L’approccio proposto `e basato su tre ingredienti principali. Il primo riguarda la scelta del motore del chatbot e il modo in cui i non programmatori possono interagire con il chatbot: il chatbot `e raggiungibile dagli utenti su una pagina web ed `e realizzato usando un motore di chatbot a regole. Il secondo aspetto fondamentale riguarda la definizione e l’implementazione di un metodo facile da usare per lo sviluppo delle funzionalit`a personalizzate del chatbot: i non programmatori possono creare funzionalit`a di estrazione dati dal web, semplicemente navigando su internet mentre stanno usando una estensione di Google Chrome capace di registrare le interazione dell’utente con le pagine web. Queste interazioni vengono salvate nel nostro database, in quanto vengono usate per la creazione di regole e azioni per il chatbot. Il terzo aspetto fondamentale `e una tecnica con cui eseguire le azioni registrate dai non programmatori: per affrontare questo compito, viene usato un programma capace di accedere al database, estrarre il codice generato dall’estensione di Chrome, dinamicamente effettuare la compilazione e l’esecuzione del codice e passare i risultati al chatbot. Con l’aiuto di un caso di studio che mostra come un non programmatore costruisca il proprio chatbot e poi sviluppi un’azione personalizzata che recupera gli orari dei due prossimi treni dell’utente utilizzando il nostro prototipo, dimostriamo come, sotto le ipotesi di questa tesi, i non programmatori possono utilizzare il metodo e l’infrastruttura proposti, che non richiedono competenze pecifiche di programmazione, per implementare il proprio chatbot.

Interactive development of personal chatbots : toward enabling non-programmers

DELL'ORTO, ALESSANDRO
2017/2018

Abstract

Our work is focused on the development of personal chatbots by non-programmers, i.e. chatbots that offer personalized functionalities designed and developed by non-programmers. Non-programmers are people without advanced programming skills, but at least able to browse the web. The proposed approach is based on three core ingredients. The first regards the choice of the chatbot engine and the way in which the nonprogrammer can interact with the chatbot: the chatbot runs inside an online web page and the bot core is made up by a rule based engine. The second core aspect regards the definition and implementation of a user friendly method for the development of the chatbot personalized functionalities: non-programmers can build personalized data retrieval functions for the chatbot, simply surfing in the web while they are using a Google Chrome Extension able to record user interactions with web pages. These interactions are stored in our database, because they are used to derive rules and actions for the chatbot. The third core aspect is a technique which executes the actions recorded by the non-programmers: for facing this task, it is used a program able to access the database, extract the code generated by the Chrome extension, dynamically compile and execute it and passing the results to the chatbot. With the help of a case of study showing how a non-programmer builds his chatbot and then develops a custom action that retrieves the user’s next two train timetable using our prototype, we demostrate how, under the assumptions of this thesis, non-programmers can use the proposed method and infrastructure to implement their own chatbot without requiringspecial programming skills.
ING - Scuola di Ingegneria Industriale e dell'Informazione
25-lug-2018
2017/2018
Il nostro lavoro `e focalizzato sullo sviluppo di chatbot personali da parte di non programmatori, ovvero chatbot che offrono funzionalit`a personalizzate, progettate e sviluppate da non programmatori. I non programmatori sono persone che non hanno avanzate abilit`a di programmazione, ma sono almeno capaci di navigare nel web. L’approccio proposto `e basato su tre ingredienti principali. Il primo riguarda la scelta del motore del chatbot e il modo in cui i non programmatori possono interagire con il chatbot: il chatbot `e raggiungibile dagli utenti su una pagina web ed `e realizzato usando un motore di chatbot a regole. Il secondo aspetto fondamentale riguarda la definizione e l’implementazione di un metodo facile da usare per lo sviluppo delle funzionalit`a personalizzate del chatbot: i non programmatori possono creare funzionalit`a di estrazione dati dal web, semplicemente navigando su internet mentre stanno usando una estensione di Google Chrome capace di registrare le interazione dell’utente con le pagine web. Queste interazioni vengono salvate nel nostro database, in quanto vengono usate per la creazione di regole e azioni per il chatbot. Il terzo aspetto fondamentale `e una tecnica con cui eseguire le azioni registrate dai non programmatori: per affrontare questo compito, viene usato un programma capace di accedere al database, estrarre il codice generato dall’estensione di Chrome, dinamicamente effettuare la compilazione e l’esecuzione del codice e passare i risultati al chatbot. Con l’aiuto di un caso di studio che mostra come un non programmatore costruisca il proprio chatbot e poi sviluppi un’azione personalizzata che recupera gli orari dei due prossimi treni dell’utente utilizzando il nostro prototipo, dimostriamo come, sotto le ipotesi di questa tesi, i non programmatori possono utilizzare il metodo e l’infrastruttura proposti, che non richiedono competenze pecifiche di programmazione, per implementare il proprio chatbot.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2018_7_Dell'Orto.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Testo della tesi
Dimensione 1.39 MB
Formato Adobe PDF
1.39 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/141787