[en] ABSTRACT: The great advances in the Artificial Intelligence arena have fostered, among others, two fields of knowledge in the last years, such as Natural Language Processing, which focuses on studying computationally efficient methods of communication between people and machines by using natural languages and Machine Learning, which develops new techniques that allow computers to learn from patterns that were built from the know facts. As a result of these advances, a new technology known as chatbot has emerged. It uses both Natural Language Processing and Machine Learning to interact with humans in a efficient way, simulating the human behaviour. Chatbots learn while they talk, hence user experience always tends to improve. Large technology companies have developed general purpose chatbots or virtual assistants to both create a new product or integrate it in an existing one, so it can help users. These kinds of assistants can complete any user request. A few examples are Microsoft's Cortana, Apple's Siri, Amazon's Alexa or Google's Google Assistant. At a lower scale, many companies have their own specific-purpose assistant to help in different business cases such as user support, conducting bank transactions or food ordering, among others. Specifically, the goal of this project is to develop a chatbot that answers user's questions about the apps and services of the EvenBytes S.L. company, as well as manages appointments. Its development will be performed using several Google Cloud Platform services such as Dialogflow and Google Cloud Functions, and Google Calendar as the event manager. Furthermore, Google App Engine will be used to provide the client with an application to be able to tune up chatbot settings.

[es] RESUMEN: Los grandes avances en Inteligencia Artificial en los últimos años han repercutido, entre otros, en dos campos de conocimiento. Uno de ellos es el Procesamiento de Lenguaje Natural, que se centra en estudiar mecanismos eficaces computacionalmente para la comunicación entre personas y máquinas por medio de lenguajes naturales. Y otro, el Aprendizaje Automático, que desarrolla técnicas para permitir a las computadoras aprender a partir de patrones extraídos de los datos con los que se entrenan. A raíz de estos progresos, surge una tecnología conocida como chatbot, la cual utiliza tanto el Procesamiento de Lenguaje Natural como el Aprendizaje Automático. Los chatbots son sistemas capaces de mantener conversaciones con humanos de forma eficaz, y aprenden a medida que tienen estas conversaciones, por lo que la experiencia del usuario tiende a mejorar con el paso del tiempo. Grandes empresas tecnológicas han desarrollado sus propios chatbots o asistentes y, además los han integrado en otros productos para facilitar su uso o los han comercializado como un producto independiente. Algunos ejemplos de esta situación son Cortana, el asistente de Microsoft; Siri, el de Apple; Alexa el de Amazon; y Google Assistant, el de Google. A menor nivel, muchas empresas tienen su propio asistente para resolver casos de negocio como pueden ser: dar soporte a determinadas aplicaciones, llevar a cabo transacciones bancarias o hacer pedidos de comida, entre otros muchos. En concreto, este Trabajo Fin de Máster tiene como objetivo la implementación de un chatbot que sea capaz de proporcionar información sobre el catálogo de aplicaciones y servicios de la empresa EvenBytes S.L., así como de gestionar citas de manera autónoma. El desarrollo del trabajo se llevará a cabo utilizando varios servicios de Google Cloud Platform, como Dialogflow y Google Cloud Functions, integrándose además con el Calendario de Google para la gestión de eventos. También, se hará uso de Google App Engine para proporcionar al cliente una aplicación con la que poder configurar el asistente.