
IMPLEMENTACIÓ D’UN ASSISTENT DE RESERVES A TRAVÉS DE CANALS DE MISSATGERIA INSTANTÀNIA TFG - Memòria Escola Tècnica d'Enginyeria de Telecomunicació de Barcelona Universitat Politècnica de Catalunya per Jordi Alonso Llovet Enginyeria Telemàtica Tutors: Jorge Mata Diaz i Joan Salvatella Ibáñez Barcelona, Agost 2020 Abstract The company Bookline has developed a virtual assistant that attends calls to restaurants and helps users at making reservations. This project aims to implement all of the assistant’s functions in a chatbot [1] that would allow the assistant to attend users through the most popular instant messaging services. My objective is to design a program capable of attending users through chatbots in Whatsapp, Telegram and Facebook Messenger, and make it easy to extend it to other services through some minimal modifications. For the development of this project the tools that have been primarily used were some services from Google Cloud Platform [2] and the programming language Python. The project’s final result is a chatbot for each messaging service that can follow a conversation in Spanish or English, capable of responding to any question as Bookline’s assistant would, and capable of booking a table in any restaurant that has hired this service. 2 Resum L’empresa Bookline ha desenvolupat un assistent virtual que pot atendre les trucades a restaurants i ajudar als usuaris a realitzar una reserva. Aquest treball pretén implementar totes les seves funcions a través d’un chatbot [1] que permeti a l’assistent atendre als usuaris a través dels serveis de missatgeria instantània més populars. L’objectiu és dissenyar un programa que pugui atendre als usuaris a través de chatbots de Whatsapp, Telegram i Facebook Messenger, i que es pugui estendre fàcilment a altres serveis fent les modificacions mínimes. Per al desenvolupament d’aquest projecte s’han fet servir principalment serveis de Google Cloud Platform [2] i el llenguatge de programació Python. El resultat final del projecte és un chatbot per a cada servei de missatgeria que permet dialogar amb castellà o anglès, capaç de respondre a qualsevol pregunta igual que l’assistent de Bookline i que permeti reservar una taula en els restaurants que contractin aquest servei. 3 Resumen La empresa Bookline ha desarrollado un asistente virtual que puede atender llamadas a restaurantes y ayudar a los usuarios a realizar una reserva. Este trabajo pretende implementar todas sus funcionalidades a través de un chatbot [1] que permita al asistente atender a usuarios a través de los servicios de mensajería instantánea más populares. El objetivo és diseñar un programa que pueda atender a los usuarios a través de chatbots de Whatsapp, Telegram y Facebook Messenger, y que se pueda extender fácilmente a otros servicios insertando unas mínimas modificaciones. Para el desarrollo de este proyecto se han utilizado principalmente servicios de Google Cloud Platform [2] y el lenguaje de programación Python. El resultado final del proyecto és un chatbot para cada servicio de mensajería que permita dialogar en castellano o inglés, capaz de responder a cualquier pregunta igual que lo haría el asistente de Bookline y que permita reservar una mesa en los restaurantes que contraten este servicio. 4 Agraïments Abans d’explicar el contingut d’aquest treball vull agrair a la meva família el seu suport constant durant aquest projecte; la meva mare Nuria Llovet Tahull, el meu pare Javier Alonso Sancho i en especial al meu germà, qui m’ha ajudat immensament a tirar endavant el treball, Xavi Alonso Llovet. També vull expressar la meva gratitud cap als codirectors d’aquest treball; Jorge Mata Diaz per aconsellar-me i revisar tota la documentació, i a Joan Salvatella Ibañez per donar-me la oportunitat de dur a terme aquest projecte a l’empresa Bookline i guiar-me durant el procés. 5 Historial de revisió i registre d’aprovació Revisió Data Propòsit 0 15/07/2020 Creació del document 1 24/07/2020 Revisió del document Participants del document Nombre e-mail Jordi Alonso Llovet [email protected] Jorge Mata Diaz [email protected] Joan Salvatella Ibáñez [email protected] Escrit per: Revisat i aprovat per: Data 15/07/2020 Data 24/07/2020 Nom Jordi Alonso Llovet Nom Jorge Mata Diaz Posició Autor Posició Tutor 6 Index Abstract.............................................................................................................................2 Resum...............................................................................................................................3 Resumen...........................................................................................................................4 Agraïments........................................................................................................................5 Historial de revisió i registre d’aprovació............................................................................6 Index..................................................................................................................................7 Glossary..........................................................................................................................10 1. Introducció...................................................................................................................11 1.1. Contextualització...................................................................................................11 1.2. Objectius...............................................................................................................11 1.3. Requeriments i especificacions.............................................................................11 1.4. Mètodes I procediments........................................................................................12 1.4.1. Google Kubernetes Engine.............................................................................12 1.4.2. Flask...............................................................................................................13 1.4.3. FFmpeg..........................................................................................................13 1.4.4. Hunspell..........................................................................................................13 1.4.5. Redis..............................................................................................................13 1.4.6. Bookline Virtual Assistant...............................................................................13 1.4.7. Google Speech-to-Text...................................................................................13 1.4.8. Cloud Firestore...............................................................................................13 1.5. Pla de Treball........................................................................................................13 1.5.1. Paquets de Treball..........................................................................................14 1.5.2. Diagrama de Gantt.........................................................................................16 1.5.3. Desviacions....................................................................................................16 2. Estat de l’Art:...............................................................................................................17 2.1. Altres ChatBot.......................................................................................................17 3. Metodologia i Desenvolupament:.................................................................................19 3.1. Creació d’un Bot de Telegram...............................................................................19 3.1.1. BotFather........................................................................................................19 3.1.2. Rebre actualitzacions.....................................................................................20 3.1.3. Flask...............................................................................................................20 3.1.4. Dispatcher i Handlers.....................................................................................22 7 3.1.4.1. Text Handler.............................................................................................23 3.1.4.2. Voice Handler...........................................................................................23 3.1.4.3. Command Handler...................................................................................23 3.1.5. Obtenir una resposta......................................................................................24 3.1.6. Canvis de conversació....................................................................................26 3.2. Integració de Whatsapp........................................................................................26 3.2.1. Twilio..............................................................................................................27 3.2.2. Dispatcher i Handlers.....................................................................................27 3.3. Integració de Facebook Messenger......................................................................28 3.3.1. Token d’Accés................................................................................................28 3.3.2. Webhooks.......................................................................................................29 3.3.3. Dispatcher i Handlers.....................................................................................30
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages48 Page
-
File Size-