• No se han encontrado resultados

Telegram-BOT. Gestión automatizada de clubes de pádel

N/A
N/A
Protected

Academic year: 2020

Share "Telegram-BOT. Gestión automatizada de clubes de pádel"

Copied!
118
0
0

Texto completo

(1)ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN. PROYECTO FIN DE GRADO TÍTULO: TELEGRAM-BOT: GESTIÓN AUTOMATIZADA DE CLUBES DE PÁDEL AUTOR: MARCO LAGO PRIETO TITULACIÓN: GRADO EN INGENIERÍA TELEMÁTICA TUTOR: FRANCISCO JAVIER ESTAIRE ESTAIRE DEPARTAMENTO: DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Y ELECTRÓNICA. VºBº. Miembros del Tribunal Calificador: PRESIDENTE: FRANCISCO AZNAR BALLESTA TUTOR: FRANCISCO JAVIER ESTAIRE ESTAIRE SECRETARIO: ANTONIO DA SILVA FARIÑA Fecha de lectura: Calificación: El Secretario,.

(2)

(3)

(4) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Agradecimientos Quiero agradecer a mis padres, Rosa y Paco, el esfuerzo llevado a cabo durante todos estos años para brindarnos a mi hermano y a mí la oportunidad de formarnos en aquello que hemos querido y por ayudarnos en todo lo que hemos necesitado. A mi hermano, Bruno, que de no haber sido por ti no estaría en el lugar que estoy ahora. Gracias por guiarme cuando dudaba y por decirme las cosas tal y como son. Gracias por decirme siempre la verdad, aunque no fuese lo que quisiese escuchar. Esto es tan mío como tuyo. Espero que estés orgulloso. A Patricia, gracias por permitirme fijarme en ti. Eres mi ejemplo de constancia, superación, empeño y voluntad. Gracias por confiar en mí, por apoyarme y no dejar que me desvíe, pero, sobre todo, gracias por presentarme a mi familia de Tudela. Para ellos, para Marta por soportarme tanto como tu hermana; para Laura, gracias por prestarme tu tiempo y dejarme compartir contigo tus risas. A Yolanda, por abrirme las puertas de tu casa y quererme como uno más. A Sandra y a Pedro, sois un gran motivo de alegría para todos los que os rodean. A Lara, por las tardes de juegos que me hacían no estudiar y que me rescataban en las Navidades. A Luisa y a Jesús, gracias por formar esta maravillosa familia. A mi Tata, por cuidarme durante todos estos años como a un hijo. A mis amigos, por todo lo vivido juntos. A Diego, por ser mi compañero de ruta. Gracias por estar siempre ahí. A Jaume, por compartir tus veranos conmigo. Gracias por regalarme siempre tus vacaciones. A David y a Antonio por darme la oportunidad de desarrollarme profesionalmente. A mis compañeros pasados y presentes de Telefónica. Gracias por dejarme formarme a vuestro lado. A mis “Becasmus”: Laura, Laurita, Hugo, Guille, Marta, Martita, Roberto, Sánchez, Miguel, Luis, Antoan, Ana y Miguel Ángel. Gracias por estos meses, por todos los momentos y los que nos quedan por pasar. A Dani, por tu inestimable ayuda en estos años de universidad. Gracias por hacer más divertido mi día a día. Aquí tienes a un amigo. A mis compañeros de universidad y a todos los que me ayudaron a conseguir este objetivo. Y en especial, a mi tía Pili y a mi tío Raúl. Gracias por educarnos a mi hermano y a mí e inculcarnos vuestros valores. Gracias por corregirnos y mejorarnos a base de cuadernillos de verano. Gracias por sacrificaros y preocuparos por nosotros, tanto o más que por vosotros mismos. Gracias por desear pasar tiempo con nosotros. Yo también deseo estar a vuestro lado. Somos muy afortunados por teneros. Esto es vuestro. Os quiero. Por último, agradecer a Paco Estaire la confianza depositada en mí cuando le presenté la idea de este proyecto. “Aprendí que el coraje no era la ausencia de miedo, sino el triunfo sobre él. El valiente no es el que no siente miedo, sino el que vence ese temor.” Nelson Mandela Telegram-Bot: Gestión automatizada de clubes de pádel. 1.

(5) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 2. Telegram-Bot: Gestión automatizada de clubes de pádel.

(6) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Resumen La transformación digital es el proceso por el cual las empresas evolucionan sus métodos de trabajo mediante el uso de las nuevas tecnologías, con el objetivo de obtener un aumento de sus beneficios. Con ella, las empresas buscan nuevas oportunidades de negocio, adaptándose a los usuarios en todo momento. La premisa es clara: hay que automatizar los procesos, minimizar los costes y maximizar la eficiencia. Si se hace todo esto se mejorará la comunicación con los clientes, lo que repercutirá en un incremento de la vida de la empresa. Actualmente, la inteligencia artificial, el machine learning (aprendizaje automático) y la automatización de procesos son tecnologías capaces de anticiparse y ofrecer al cliente aquello que necesita en cada momento. Los chatbots aúnan estas tecnologías con el objetivo de proporcionar una buena y personalizada experiencia al usuario. El uso de los smartphones va en aumento y es que actualmente existe un mayor número de dispositivos que habitantes hay en el mundo. Las aplicaciones de mensajería instantánea van de la mano de estos terminales móviles, y es por ello por lo que no se requiere tiempo de adaptación al uso de esta tecnología. Debido al proceso de digitalización que se está llevando a cabo en el mundo de las empresas se ha decidido desarrollar un sistema basado en el uso de chatbots cuya base sea la aplicación de mensajería instantánea Telegram. La inteligencia y la lógica del servicio correrán en la plataforma de cloud computing (computación en la nube) Amazon Web Services (AWS). El uso de tecnologías basadas en la nube proporciona una alta disponibilidad de los servicios y un aumento de la seguridad, reduciendo costes en infraestructuras y optimizando el modelo de negocio. La unión de todas estas tecnologías da como resultado un proyecto basado en la automatización de la gestión y administración de clubes de pádel mediante el uso de bots apoyados en la aplicación Telegram, cuya inteligencia reside en la nube, aportando un servicio siempre disponible. Por último, tras haber simulado diferentes escenarios se concluye que el sistema realizado cumple las expectativas marcadas, haciendo fácil y fluida la conversación usuario-bot mediante el uso del motor de procesamiento de lenguaje natural (NLP) Dialogflow. Gracias a estas tecnologías las empresas con un menor número de ingresos verán aumentada su competitividad en el mercado, reflejándose en un incremento de beneficios provocado por la satisfacción del usuario.. Palabras clave: Transformación digital; Inteligencia artificial; Machine learning; Cloud computing; Computación en la nube; Digitalización; Automatización de tareas; Telegram; Amazon Web Services; Dialogflow; NLP; Chatbots.. Telegram-Bot: Gestión automatizada de clubes de pádel. 3.

(7) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 4. Telegram-Bot: Gestión automatizada de clubes de pádel.

(8) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Abstract Digital transformation is the process by which companies evolve their working methods through the use of new technologies, with the aim of obtaining an increase in their profits. With it, companies seek new business opportunities, adapting to users at all times. The premise is clear: it is necessary to automate processes, minimize costs and maximize efficiency. Doing all this will improve communication with customers, which will result in an increase in the life of the company. Currently, artificial intelligence, machine learning and process automation are technologies capable of anticipating and offering customers what they need. Chatbots combine these technologies with the aim of providing a good and personalized user experience. The use of smartphones is increasing and nowadays there are a greater number of devices than inhabitants in the world. Instant messaging applications go hand in hand with these mobile terminals, that’s why no time is required to adapt to the use of this technology. Due to the process of digitization that is being carried out, the business world has decided to develop a system based on the use of chatbots whose basis is the application of instant messaging Telegram. The intelligence and logic of the service will run on the cloud computing platform Amazon Web Services (AWS). The use of cloud-based technologies provides high service availability and increased security, reducing infrastructure costs and optimizing the business model. The union of all these technologies results in a project based on the automation of the management and administration of paddle clubs through the use of bots supported by the Telegram application, whose intelligence resides in the cloud, providing a service that is always available. Finally, after simulating different scenarios, it is concluded that the system meets the expectations set, making user-bot conversation easy and fluid through the use of the natural language processing engine (NLP) Dialogflow. Thanks to these technologies, companies with a lower number of revenues will see their competitiveness in the market improve, reflected in an increase in profits caused by user satisfaction.. Keywords: Digital transformation; Artificial intelligence; Machine learning; Cloud computing; Cloud computing; Cloud computing; Digitalization; Task automation; Telegram; Amazon Web Services; Dialogflow; NLP; Chatbots.. Telegram-Bot: Gestión automatizada de clubes de pádel. 5.

(9) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 6. Telegram-Bot: Gestión automatizada de clubes de pádel.

(10) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Lista de acrónimos. AWS. Amazon Web Services. NLP. Procesamiento de lenguaje natural. TIC's. Nuevas Tecnologías de la Comunicación. M-Commerce. Mobile Commerce. FEP. Federación Española de Pádel. CEOE. Confederación Española de Organizaciones Empresariales. Pymes. Pequeñas y medianas empresas. Fundéu. Fundación del Español Urgente. API. Appication Programming Interface. SDK. Kits de Desarrollo Software. VoIP. Voice over IP. JSON. JavaScript Object Notation. NIST. National Institute of Standards and Technology. AZ. Availability Zone. CPD. Centro de Procesamiento de Datos. IaaS. Infrastructure as a Service. PaaS. Platform as a Service. SaaS. Software as a Service. IAM. Identity and Access Management. GCP. Google Cloud Platform. UPM. Universidad Politécnica de Madrid. Telegram-Bot: Gestión automatizada de clubes de pádel. 7.

(11) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 8. Telegram-Bot: Gestión automatizada de clubes de pádel.

(12) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Contenido 1.. 2.. 3.. Introducción ....................................................................................................................................................... 17 1.1. Guía del lector ............................................................................................................................................ 17. 1.2. Marco general............................................................................................................................................. 17. 1.3. Motivación del proyecto ........................................................................................................................ 19. 1.4. Objetivos ...................................................................................................................................................... 19. 1.5. Antecedentes .............................................................................................................................................. 20. 1.6. Contexto del proyecto ............................................................................................................................. 23. 1.6.1. Telegram.............................................................................................................................................. 23. 1.6.2. Dialogflow ........................................................................................................................................... 25. 1.6.3. JSON ....................................................................................................................................................... 26. 1.6.4. Amazon Web Services .................................................................................................................... 27. 1.6.5. Python .................................................................................................................................................. 30. 1.6.6. MySQL................................................................................................................................................... 30. 1.6.7. Intérprete de comandos Ubuntu ................................................................................................ 30. Análisis.................................................................................................................................................................. 31 2.1. ¿Por qué Telegram? ................................................................................................................................. 31. 2.2. ¿Por qué Dialogflow? ............................................................................................................................... 31. 2.3. ¿Por qué Amazon Web Services? ........................................................................................................ 31. Propuesta ............................................................................................................................................................. 33 3.1. Telegram: Creación del Bot ................................................................................................................... 34. 3.2. Dialogflow: Creación del agente.......................................................................................................... 39. 3.2.1. Ejemplo de uso: Decir_Hora ......................................................................................................... 45. 3.2.2. Agente SetBot .................................................................................................................................... 50. 3.3. 4.. Amazon Web Services: Donde reside la lógica .............................................................................. 77. 3.3.1. AWS: Creación de la cuenta.......................................................................................................... 77. 3.3.2. AWS IAM: Mecanismo de seguridad ......................................................................................... 81. 3.3.3. Amazon RDS: El origen de los datos ......................................................................................... 85. 3.3.4. AWS Lambda: La inteligencia del servicio.............................................................................. 89. 3.3.5. API Gateway: El punto de acceso ............................................................................................... 90. 3.4. Dialogflow: Uso de fulfillment ............................................................................................................. 92. 3.5. MySQL: Modelo entidad-relación ....................................................................................................... 93. 3.6. JSON: Extracción de los datos .............................................................................................................. 95. Resultados ........................................................................................................................................................... 96 4.1. Iniciar diálogo ............................................................................................................................................ 96. Telegram-Bot: Gestión automatizada de clubes de pádel. 9.

(13) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 4.2. Consulta de pistas ..................................................................................................................................... 97. 4.3. Precios........................................................................................................................................................... 98. 4.4. Servicios del club ...................................................................................................................................... 98. 4.5. Consultar existencia de reservas ........................................................................................................ 99. 4.6. Alquilar pista ........................................................................................................................................... 100. 4.7. Consultar disponibilidad..................................................................................................................... 100. 4.8. Consultar reservas de usuario .......................................................................................................... 101. 4.9. Cancelar una reserva ............................................................................................................................ 102. 4.10. Consultar otros usuarios y sus reservas ................................................................................... 102. 5.. Conclusiones .................................................................................................................................................... 103. 6.. Trabajos futuros ............................................................................................................................................. 103. 7.. Bibliografía ....................................................................................................................................................... 105. ANEXOS ....................................................................................................................................................................... 107 Anexo A – Manual de usuario ........................................................................................................................ 107 Anexo B – Ejemplo de archivo JSON ............................................................................................................ 111 Anexo C – Fichero de configuración MySQL............................................................................................. 113 Anexo D – Valoración económica ................................................................................................................. 115. 10. Telegram-Bot: Gestión automatizada de clubes de pádel.

(14) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Ilustraciones Ilustración 1. Evolución Licencias Jugador/a últimos años. [4] ............................................................... 18 Ilustración 2. Uso del smartphone [7]................................................................................................................ 21 Ilustración 3. Aplicaciones de mensajería según el número de usuarios mensuales activos a nivel mundial en 2018 [8] .................................................................................................................................................. 21 Ilustración 4. Expectativa de las tecnologías emergentes, 2018 [9] ...................................................... 22 Ilustración 5. Diagrama de funcionamiento de Dialogflow [14] .............................................................. 26 Ilustración 6. Esquema de región y zona de disponibilidad de AWS [17] ........................................... 28 Ilustración 7. Mapa de la infraestructura global de AWS [17] .................................................................. 28 Ilustración 8. Gartner - Magic Quadrant de Infraestructuras Cloud como Servicio, 2018 ............ 32 Ilustración 9. Forrest - Análisis de las Plataformas de Servicios Cloud, 2018.................................... 33 Ilustración 10. Vista inicial de chats de Telegram. ........................................................................................ 34 Ilustración 11. Búsqueda de "@BotFather". .................................................................................................... 34 Ilustración 12. ¿Qué puede hacer “@BotFather”? ......................................................................................... 35 Ilustración 13. Ejecución del comando "/start". ............................................................................................ 35 Ilustración 14. Comandos de "@BotFather". ................................................................................................... 36 Ilustración 15. Ejecución del comando "/newbot". ...................................................................................... 37 Ilustración 16. Cambio de imagen mediante "/setuserpic". ...................................................................... 38 Ilustración 17. Búsqueda del bot creado........................................................................................................... 38 Ilustración 18. Arranque del bot creado. .......................................................................................................... 39 Ilustración 19. Ejecución del comando "/start" sobre el bot creado. .................................................... 39 Ilustración 20. Página de inicio de Dialogflow ................................................................................................ 40 Ilustración 21. Registro en Dialogflow............................................................................................................... 40 Ilustración 22. Elección de cuenta Google ........................................................................................................ 40 Ilustración 23. Creación del agente ..................................................................................................................... 41 Ilustración 24. Configuración inicial del Agente ............................................................................................ 42 Ilustración 25. Configuración del Agente con imagen ................................................................................. 43 Ilustración 26. Página de edición de un Intent ............................................................................................... 44 Ilustración 27. Pantalla de trabajo de Dialogflow.......................................................................................... 45 Ilustración 28. Página de edición de un nuevo Intent .................................................................................. 45 Ilustración 29. Intent “Decir_Hora” ..................................................................................................................... 47 Ilustración 30. Entrenamiento I de “Decir_Hora” .......................................................................................... 48 Ilustración 31. Entrenamiento II de “Decir_Hora”......................................................................................... 48 Ilustración 32. Entrenamiento III de “Decir_Hora” ....................................................................................... 49 Ilustración 33. Diagrama de actividad para el Intent "Decir_Hora" ....................................................... 49 Telegram-Bot: Gestión automatizada de clubes de pádel. 11.

(15) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Ilustración 34. JSON generado al ejecutar "Decir_Hora" ............................................................................. 50 Ilustración 35. Integración de Dialogflow con Telegram............................................................................ 51 Ilustración 36. Inserción del token del Bot en Dialogflow ......................................................................... 51 Ilustración 37. Activación de Fulfillment y Webhook .................................................................................. 52 Ilustración 38. Intent "Alquilar_Pista" ............................................................................................................... 53 Ilustración 39. Vista de usuario: Diagrama de secuencia "Alquilar_Pista" .......................................... 55 Ilustración 40. Intent "Cancelar_Reserva" ........................................................................................................ 56 Ilustración 41. Vista de usuario: Diagrama de secuencia "Cancelar_Reserva" .................................. 57 Ilustración 42. Datos requeridos "Existe_Reserva" ...................................................................................... 57 Ilustración 43. Intent "Existe_Reserva" ............................................................................................................. 58 Ilustración 44. Vista de usuario: Diagrama de secuencia "Existe_Reserva" ........................................ 59 Ilustración 45. Intent "Info_Contacto"................................................................................................................ 60 Ilustración 46. Vista de usuario: Diagrama de secuencia "Info_Contacto" .......................................... 61 Ilustración 47. Intent "Mis_Reservas" ................................................................................................................ 62 Ilustración 48. Vista de usuario: Diagrama de secuencia "Mis_Reservas" ........................................... 63 Ilustración 49. Intent "Mostrar_Usuarios" ....................................................................................................... 64 Ilustración 50. Vista de usuario: Diagrama de secuencia "Mostrar_Usuarios" .................................. 65 Ilustración 51. Intent "Num_Pistas" .................................................................................................................... 66 Ilustración 52. Vista de usuario: Diagrama de secuencia "Num_Pistas" ............................................... 67 Ilustración 53. Intent "Opciones_Bot" ................................................................................................................ 68 Ilustración 54. Vista de usuario: Diagrama de secuencia "Opciones_Bot" ........................................... 69 Ilustración 55. Intent "Pistas_Libres" ................................................................................................................. 70 Ilustración 56. Vista de usuario: Diagrama de secuencia "Pistas_Libres" ............................................ 71 Ilustración 57. Intent "Precios_Pista" ................................................................................................................. 72 Ilustración 58. Vista de usuario: Diagrama de secuencia "Precios_Pista"............................................ 73 Ilustración 59. Intent "Servicios_Club" .............................................................................................................. 74 Ilustración 60. Vista de usuario: Diagrama de secuencia "Servicios_Club" ......................................... 75 Ilustración 61. Intent "Sus_Reservas" ................................................................................................................ 76 Ilustración 62. Vista de usuario: Diagrama de secuencia “Sus_Reservas” ........................................... 77 Ilustración 63. Página principal de la consola AWS ...................................................................................... 78 Ilustración 64. Página de registro de AWS ....................................................................................................... 78 Ilustración 65. Creación de cuenta AWS como usuario de la UPM ......................................................... 79 Ilustración 66. Ingreso en la consola AWS ....................................................................................................... 79 Ilustración 67. Paleta de servicos de AWS........................................................................................................ 80 Ilustración 68. Elección de la región AWS ........................................................................................................ 81 Ilustración 69. Panel principal del servicio IAM ............................................................................................ 81 12. Telegram-Bot: Gestión automatizada de clubes de pádel.

(16) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Ilustración 70. Vista de creación de usuario en IAM .................................................................................... 82 Ilustración 71. Detalles de usuario IAM ............................................................................................................ 82 Ilustración 72. Establecer permisos usuario IAM.......................................................................................... 83 Ilustración 73. Añadir etiquetas al usuario IAM ............................................................................................ 84 Ilustración 74. Panel de revisión de usuario IAM .......................................................................................... 84 Ilustración 75. Crear nueva base de datos RDS .............................................................................................. 85 Ilustración 76. Elección del tipo de base de datos RDS ............................................................................... 85 Ilustración 77. Configuración de la base de datos RDS ............................................................................... 86 Ilustración 78. Configuración avanzada de la base de datos RDS ........................................................... 87 Ilustración 79. Detalles de la instancia de base de datos RDS .................................................................. 88 Ilustración 80. Panel de edición de grupos de seguridad AWS ................................................................ 88 Ilustración 81. Edición del tráfico de entrada AWS ...................................................................................... 89 Ilustración 82. Creación de una nueva función Lambda ............................................................................. 89 Ilustración 83. Configuración del apartado "Handler and Role" de AWS Lambda ........................... 90 Ilustración 84. Pantalla de edición de AWS Lambda .................................................................................... 90 Ilustración 85. Espacio de creación de una nueva API ................................................................................ 91 Ilustración 86. Creación de nuevo recurso....................................................................................................... 91 Ilustración 87. Implementación de la API......................................................................................................... 92 Ilustración 88. Punto de acceso API Gateway ................................................................................................. 92 Ilustración 89. Conexión Dialogflow - AWS ..................................................................................................... 93 Ilustración 90. Activación de "Fulfillment" en cada Intent ........................................................................ 93 Ilustración 91. Modelo entidad-relación MySQL ........................................................................................... 94 Ilustración 92. Inicio de diálogo ........................................................................................................................... 97 Ilustración 93. Consulta de pistas ........................................................................................................................ 97 Ilustración 94. Consulta de precios ..................................................................................................................... 98 Ilustración 95. Consulta de servicios .................................................................................................................. 98 Ilustración 96. Información de contacto ........................................................................................................... 99 Ilustración 97. Consulta de existencia de reservas ....................................................................................... 99 Ilustración 98. Solicitud de alquilar pista ...................................................................................................... 100 Ilustración 99. Consulta de disponibilidad.................................................................................................... 101 Ilustración 100. Consultar reservas de usuario .......................................................................................... 101 Ilustración 101. Cancelación de reserva ........................................................................................................ 102 Ilustración 102. Consulta de usuarios y reservas de otro ....................................................................... 102 Ilustración 103. Registro en Telegram ........................................................................................................... 107 Ilustración 104. Inserción del código de verificación ............................................................................... 108 Ilustración 105. Vista de la aplicación web de Telegram ........................................................................ 108 Telegram-Bot: Gestión automatizada de clubes de pádel. 13.

(17) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Ilustración 106. Comienzo de diálogo con el Bot ........................................................................................ 109 Ilustración 107. Tareas que puede desempeñar el Bot ............................................................................ 109. 14. Telegram-Bot: Gestión automatizada de clubes de pádel.

(18) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Tablas Tabla 1. Comparación WhastApp – Telegram [13] ....................................................................................... 24 Tabla 2. Visión global del proyecto ..................................................................................................................... 33 Tabla 3. “Decir_Hora”: Frases de entrenamiento ........................................................................................... 46 Tabla 4. “Decir_Hora”: Action and parameters ............................................................................................... 46 Tabla 5. “Decir_Hora”: Respuestas ...................................................................................................................... 47 Tabla 6. Intents del Agente ..................................................................................................................................... 52 Tabla 7. Datos requeridos "Alquilar_Pista" ...................................................................................................... 52 Tabla 8. "Alquilar_Pista": Frases de entrenamiento ..................................................................................... 54 Tabla 9. "Alquilar_Pista": Action and parameters ......................................................................................... 54 Tabla 10. Datos requeridos "Cancelar_Reserva" ............................................................................................ 55 Tabla 11. "Cancelar_Reserva": Frases de entrenamiento ........................................................................... 57 Tabla 12. "Cancelar_Reserva": Action and parameters ............................................................................... 57 Tabla 13. "Existe_Reserva": Frases de entrenamiento ................................................................................ 59 Tabla 14. "Existe_Reserva": Action and parameters .................................................................................... 59 Tabla 15. "Info_Contacto": Frases de entrenamiento ................................................................................... 61 Tabla 16. "Mis_Reservas": Frases de entrenamiento ................................................................................... 61 Tabla 17. "Mostrar_Usuarios": Frases de entrenamiento ........................................................................... 65 Tabla 18. "Num_Pistas": Frases de entrenamiento ....................................................................................... 67 Tabla 19. "Opciones_Bot": Frases de entrenamiento ................................................................................... 67 Tabla 20. Datos requeridos “Pistas_Libres” ..................................................................................................... 69 Tabla 21. "Pistas_Libres": Frases de entrenamiento .................................................................................... 71 Tabla 22. "Pistas_Libres": Action and parameters ........................................................................................ 71 Tabla 23. "Precios_Pista": Frases de entrenamiento .................................................................................... 73 Tabla 24. "Servicios_Club": Frases de entrenamiento ................................................................................. 73 Tabla 25. Datos requeridos "Sus_Reservas" .................................................................................................... 75 Tabla 26. "Sus_Reservas": Frases de entrenamiento ................................................................................... 75 Tabla 27. "Sus_Reservas": Action and parameters ........................................................................................ 75 Tabla 28. Valoración económica del proyecto ............................................................................................. 115. Telegram-Bot: Gestión automatizada de clubes de pádel. 15.

(19) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 16. Telegram-Bot: Gestión automatizada de clubes de pádel.

(20) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 1. Introducción 1.1 Guía del lector Este documento está formado por ocho puntos fundamentales. El primero de ellos, la introducción, la cual trata de sumergir al lector en el estado actual del campo en el que se ubica el proyecto. En este apartado se pretende proporcionar una visión clara de cada una de las tecnologías que se van a abordar en futuros puntos. Hablará, por tanto, de las aplicaciones de mensajería instantánea, de la inteligencia artificial, de los motores de procesamiento de lenguaje natural y de las plataformas de servicios en la nube; todo ello acompañado de su posicionamiento en el mercado. Posteriormente, se analizará cada una de las tecnologías utilizadas exponiendo la razón de su uso. El siguiente punto tratará de mostrar los pasos que se han seguido en cada una de las tecnologías para la correcta elaboración del proyecto. Seguidamente, se expondrán mediante ejemplos los resultados obtenidos tras haber desarrollado debidamente la solución. La arquitectura propuesta queda reflejada en la Tabla 2. A continuación, llegará el turno de las conclusiones que se han sacado una vez realizado el proyecto, así como de los posibles trabajos futuros que ofrecerían una mejora del servicio expuesto. Tras ello, se darán a conocer las fuentes utilizadas para la elaboración de este documento. Por último, se adjuntan unos anexos con el objetivo de clarificar posibles dudas que hayan podido surgir, a la vez que mostrar los desarrollos y el balance económico del proyecto.. 1.2 Marco general Los consumidores han cambiado y su relación con las empresas también. Buscan rapidez e inmediatez, personalización en los servicios que la empresa les ofrece, y por ello es necesario reorientar la estrategia de negocio, venta y fidelización. Para realizar este cambio las empresas deben incorporar la tecnología a la hora de relacionarse con el cliente, evolucionando la forma de trabajar hacia la movilidad, garantizando la total disponibilidad de los servicios. Esta fórmula de cambio es conocida como “Transformación Digital”. La Transformación Digital se puede definir como el proceso de adaptación que realiza una empresa con el fin de aumentar sus ingresos gracias al uso de las nuevas tecnologías. Este proceso de transformación debe ser adecuado al ritmo de la empresa y adoptarlo no le debe suponer ninguna penalización en su negocio. Por tanto, será imprescindible realizar un modelo de implantación lo más ágil y rápido posible, de forma que sea totalmente transparente para la empresa y para sus clientes. La sociedad actual se encuentra inmersa en la llamada Sociedad de la Información. La llegada de los smartphones y otras Nuevas Tecnologías de la Comunicación (TIC’s) han provocado una revolución digital cuyos efectos se han visto reflejados en la vida cotidiana, ofreciendo innumerables posibilidades. [1]. Telegram-Bot: Gestión automatizada de clubes de pádel. 17.

(21) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. España es el país más conectado de Europa y el segundo del mundo, sólo por detrás de Estados Unidos. El 19% de los usuarios utiliza 5 o más dispositivos conectados. Por otro lado, España es el 5º país del mundo en comercio móvil o Mobile Commerce (M-Commerce), 6 de cada 10 personas compran vía móvil, comprando 3 veces más desde aplicaciones móviles que desde navegadores de internet. Tal es el punto de uso que 3 de cada 10 usuarios consulta el móvil cada 10 minutos y 1 de cada 2 mira el móvil en los 5 primeros minutos tras levantarse. [2] En cuanto al pádel, España cuenta con el mayor número de torneos del circuito profesional del mundo. [3] En los últimos años la Federación Española de Pádel (FEP) ha recogido un gran aumento en el número de licencias federativas, como puede verse en la Ilustración 1, y un importante incremento de clubes federados, cuya suma asciende a 1.086 clubes en toda España. [4]. Ilustración 1. Evolución Licencias Jugador/a últimos años. [4]. Los clubes de pádel, como cualquier otro negocio, tienen como objetivo generar ingresos y obtener beneficios. Teniendo como eje principal del cambio al usuario, se debe pensar en cuidar al cliente y ofrecerle un servicio diferencial basado en la mejora de la organización y cuyo objetivo es una gestión eficiente de los servicios que ofrece el club, evolucionando hacia un nuevo modelo de negocio. Es por ello por lo que mediante el uso de un Bot se pretende renovar el actual modelo de gestión con el cuentan los clubes de pádel y así iniciar un proceso de transformación digital en la empresa. La tecnología bot (aféresis de la palabra robot) hace referencia a un programa informático que, de forma autónoma, es capaz de realizar tareas concretas. El Bot, apoyado en la aplicación de mensajería Telegram, ofrecerá un servicio de gestión de clubes de pádel de forma automatizada. Será el encargado de realizar las tareas cotidianas que presenta la administración de estas sociedades deportivas, agilizando procesos de manera eficaz y sencilla. Telegram se encargará de la correcta comunicación entre el usuario y el Bot de forma que el lenguaje de comunicación sea lo más natural posible. Gracias a Dialogflow, integrador de machine learning (aprendizaje automático), se dotará al Bot de una capa de inteligencia artificial con el fin de conseguir fluidez comunicativa y eficacia en sus acciones.. 18. Telegram-Bot: Gestión automatizada de clubes de pádel.

(22) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. La inteligencia del negocio estará alojada en la plataforma de servicios en la nube Amazon Web Services (AWS). Gracias al uso de entornos cloud (en la nube) se proporciona a los clubes de pádel un servicio en alta disponibilidad, personalizado y seguro, ofreciendo la posibilidad de aumento y escalabilidad para cualquier nuevo servicio que se desee ofertar. Trabajar en la nube garantiza la integridad de los datos y la lógica de negocio, lo que hace mejorar la productividad y eficiencia. Además, este modelo permite obtener importantes ahorros tanto en hardware como en software, ofreciendo un modelo de pago por uso. Se prestará en consecuencia un servicio rápido, eficaz y sencillo tanto para los clubes de pádel como para los usuarios finales, los jugadores y jugadoras de dicho espacio. Pensado para tecnologías móviles como son los smartphones, se realizará mediante el uso de un Bot fundado en Telegram y dotando a este de inteligencia gracias al agente virtual inteligente Dialogflow, alojando las capacidades del servicio en la nube de AWS.. 1.3 Motivación del proyecto Como jugador regular de pádel tengo la suerte de conocer los grandes beneficios que este deporte ofrece, tanto en salud como en el ámbito de las relaciones sociales. Administrar y gestionar un club de pádel no es tarea sencilla. Los usuarios de estos centros deportivos utilizan distintas vías de comunicación con los mismos como redes sociales, llamadas telefónicas, correos electrónicos, trámites in situ, etc. Por tanto, unificar la forma de comunicación con la administración del club dotará de un servicio diferenciado reflejándose en la satisfacción del usuario final, llevando al club hacia un proceso de transformación digital.. 1.4 Objetivos El propósito general de este proyecto es la realización un servicio multiplataforma que ayude a los clubes de pádel a digitalizarse y ser más competitivos, mediante una gestión automatizada de los mismos. El proyecto consistirá en la creación de un Bot, desarrollado en el lenguaje de programación Python, apoyado en la aplicación de mensajería Telegram por la que los usuarios interactuarán con el Bot, y viceversa. A su vez, el Bot estará conectado a un integrador de machine learning (aprendizaje automático) llamado Dialogflow. Mediante un continuo entrenamiento el Bot dispondrá de una capa extra de inteligencia artificial. Por otro lado, el desarrollo y despliegue de la infraestructura para llevar a cabo el proyecto residirá en la plataforma de servicios de nube AWS, sin necesidad de tener ningún equipo físico para proporcionar el correcto servicio. De entre los servicios cloud (en la nube) que AWS nos proporciona se usarán bases de datos MySQL para almacenar todos los datos necesarios para ofrecer los servicios a los clientes. El mantenimiento y la gestión de la base de datos, del tipo MySQL, se realizará mediante la ventana de comandos Ubuntu y las sentencias “mysql” necesarias. Con todo lo anterior, los usuarios del club de pádel podrán comunicarse con el Bot a través de Telegram mediante un lenguaje natural y, de este modo, contar con todos los servicios que el club nos ofrece, en movilidad y desde cualquier dispositivo. Telegram-Bot: Gestión automatizada de clubes de pádel. 19.

(23) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 1.5 Antecedentes Según el informe “Radiografía de la Pyme 2018” [5] realizado por la compañía Sage, en colaboración con la Confederación Española de Organizaciones Empresariales (CEOE), sólo el 19% de las pequeñas y medianas empresas (pymes) y el 14% de los autónomos y micropymes cuentan con un programa de digitalización establecido. Las principales inversiones en digitalización fueron en conectividad, seguridad y servicios cloud (en la nube), donde en estos últimos las pymes invierten un 31% y los autónomos y micropymes un 25%. Tal y como muestra el estudio, la tecnología aporta a la empresa un ahorro de tiempo y dinero, aumentando el posicionamiento en el mercado y mejorando la relación con los clientes, motor principal de la economía de cualquier empresa. Alojar los servicios en la nube proporciona una mayor productividad y eficiencia de los procesos, dotando a los servicios de una mayor flexibilidad y escalabilidad a la hora de realizar cambios, todo ello mediante un modelo de pago por uso. Actualmente gobiernos como el de Aragón están impulsando la transformación digital de las pequeñas y medianas empresas ofreciendo planes de digitalización como el “Plan D” o la “Estrategia Aragón Industria 4.0”. De esta manera se pretende fomentar las oportunidades de negocio a nivel global centrándose en el posicionamiento en la red, en la formación en aspectos tecnológicos y en introducir a las pymes en el uso de big data, cloud computing (computación en la nube), fabricación mediante impresión 3D o robótica colaborativa, entre otros. [6] Los smartphones se han convertido en la principal puerta de entrada a Internet, y es que según el informe “Sociedad Digital en España 2017” realizado por Fundación Telefónica ya existen más líneas móviles que habitantes en el planeta, el 85% de los españoles son usuarios de Internet, más de 4.000 millones de personas acceden a servicios de banda ancha móvil a nivel mundial, el 83,4% de los hogares en España están conectados a Internet, la cobertura 4G se encuentra disponible en el 94% de los hogares españoles, dos tercios de los europeos entre 16 y 54 años son usuarios frecuentes del comercio electrónico y el 84,6% de los individuos ha utilizado Internet en los últimos tres meses durante 2017. [7] El informe [7] revela como el 86% de los jóvenes poseen un smartphone y su principal uso, en un 81,7%, es para mensajería instantánea y un 77,5% para redes sociales. Apuntan, además, a que el 50% de los jóvenes consumirán de entre el 90 y el 100% de su tiempo en red haciendo uso del terminal, bautizando este hecho como mobile first (el móvil primero).. 20. Telegram-Bot: Gestión automatizada de clubes de pádel.

(24) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Ilustración 2. Uso del smartphone [7]. Como puede verse en la Ilustración 2, las aplicaciones de mensajería ocupan el mayor porcentaje de uso de los smartphones. WhatsApp ya ha superado los 1.500 millones de usuarios activos, dato de crecimiento importante, al igual que Telegram, que ha conseguido alcanzar los 200 millones de usuarios, centrando su gran público en el uso de chatbots. La Ilustración 3 muestra el número de usuarios mensuales activos de las distintas aplicaciones de mensajería a nivel mundial en 2018. La conclusión es clara, WhatsApp se sitúa muy por encima del resto de aplicaciones de mensajería instantánea. Se debe aclarar que las diferencias existentes entre cada una de las aplicaciones son relativas, ya que por ejemplo QQ Mobile cosecha un número de usuarios activos de 783 millones, la mayoría de ellos situados en China, país con mayor número de habitantes del mundo; al igual que sucede con la aplicación de mensajería WeChat, con 1.000 millones de usuarios activos. Por ello, la elección de qué aplicación usar está condicionada por el entorno en el que se encuentra el usuario.. Ilustración 3. Aplicaciones de mensajería según el número de usuarios mensuales activos a nivel mundial en 2018 [8]. Telegram-Bot: Gestión automatizada de clubes de pádel. 21.

(25) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Por otro lado, la firma de analistas Gartner sitúa a la Inteligencia Artificial en la cabeza de las tecnologías emergentes con mayores expectativas, como puede verse en la Ilustración 4.. Ilustración 4. Expectativa de las tecnologías emergentes, 2018 [9]. Dentro de la Inteligencia Artificial una de las soluciones más sencillas pueden ser los chatbots, enfocados a mejorar la calidad del servicio al cliente para así aumentar las ventas. La generación nombrada como millennial, término que define la Fundación del Español Urgente (Fundéu BBVA) como las personas nacidas en las dos últimas décadas del siglo veinte [10], opta por el uso de redes sociales y aplicaciones de mensajería instantánea. Es por ello que el uso de los chatbots juegan un papel fundamental dentro de la captación de clientes por parte de las empresas, con el objetivo de acercarse al cliente y ofrecer un servicio que se adapte a él. De esta manera las empresas pueden atender de manera cómoda las consultas y peticiones que realicen los clientes y ofrecer productos y servicios de forma automatizada, obtimizando así los recursos de la empresa. El estudio realizado por la firma Retale sobre el uso de chatbots en la sociedad, reflejado en la publicación [11] de AmericaEconomica.com, señala que el 58% de los millennials han usado chatbots como tipo de comunicación, y el 70% afirma que la experiencia fue positiva. Este informe señala que el 86% de los encuestados creen que las marcas deberían incluir este tipo de soluciones tecnológicas y el 67% reconoce que compraría a través de estos asistentes. Y es por todo lo anterior por lo que el Gobierno, las comunidades autónomas y las empresas están apostando por la transformación técnológica como uno de los principales motores económicos de los próximos años ya que tal y como muestra el informe realizado por Advice Strategic Consultants, pudiéndose ver en [12], la economía española podría llevar la tasa de crecimiento hasta el 5% si las empresas adoptasen procesos de digitalización, acompañado de una educación y formación adecuada al proceso de cambio. 22. Telegram-Bot: Gestión automatizada de clubes de pádel.

(26) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 1.6 Contexto del proyecto A continuación, se presenta de manera introductoria cada una de las tecnologías en las que se basa el proyecto. 1.6.1 Telegram Creada por los hermanos Nikolai y Pavel Durov, y en continuo desarrollo desde el año 2013, Telegram es una aplicación de mensajería multidispositivo, rápida y confiable gracias al uso del protocolo MTProto. Telegram ofrece un servicio de mensajería basado en la nube con una sincronización constante. Esto hace que el cambio de dispositivo no suponga la pérdida de conversaciones y documentos. Ofrece una singularidad importante para desarrolladores y es que es open-source, es decir, cuenta con una API (Appication Programming Interface) abierta. Además, su API para bots proporciona una plataforma donde integrar infinidad de servicios. Telegram es completamente gratuita, no requiere de cuotas de subscripción y no presenta anuncios. Presta servicios de mensajería bidireccional, llamadas y mensajes de voz, envío de documentos… En este último es donde reside una de sus diferencias principales con otras aplicaciones de mensajería. Telegram permite un tamaño de envío de archivos de 1,5 Gb con independencia de la naturaleza que sea. Telegram cuenta actualmente con 200 millones de usuarios activos, casi ocho veces menor al número de usuarios con los que cuenta WhatsApp. Si bien es cierto que el número de usuarios que pueden usar el servicio afecta de forma directa a los clientes que se pueden beneficiar del mismo y por ende, puede repercutir en los ingresos que pueda generar la empresa, no es el único dato a analizar a la hora de elegir la aplicación en la que residirá la interfaz de comunicación con el cliente. Por ello, se presenta la Tabla 1 con el fin de comparar el “gigante” de las aplicaciones de mensajería instantánea con Telegram.. Telegram-Bot: Gestión automatizada de clubes de pádel. 23.

(27) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. WHATSAPP ARQUITECTURA. TELEGRAM. Basado en servidores. Un único dispositivo Basado en la nube. Varios dispoitivos. Android, iOS, Firefox OS, Web, Windows, Mac, Linux Protocolo propio MTProto, extremo a Extremo a extremo basado en Signal, usado CIFRADO extremo en chat secretos. Servidor-cliente en todas las comunicaciones en el resto Fotos, vídeo, música, ubicación, clips de Fotos, vídeo, música, ubicación, contactos y ENVÍOS voz, clips de vídeo, contactos y cualquier documentos, clips de voz archivo de hasta 1,5 GB 200 en grupos normales, 100.000 en CHATS DE GRUPO Hasta 256 personas supergrupos BOTS Aún no de forma generalizada Sí STICKERS Aún no Sí VIDEOLLAMADAS Sí No LLAMADAS Sí Sí WIDGETS Sí No, solo accesos a conversaciones TEMAS No Sí Automáticamente desde los contactos del AÑADIR CONTACTOS Es posible añadir por nombre de usuario teléfono Se puede limitar la descarga y borrar caché USO DE ALMACENAMIENTO No configurable dede la propia aplicación COPIA DE SEGURIDAD En Google Drive No necesaria HISTORIAS Sí No PLATAFORMAS. Android, iOS, BlackBerry, Nokia, Web, Windows, Mac. Tabla 1. Comparación WhastApp – Telegram [13]. A la vista de los resultados obtenidos en la Tabla 1 con la comparación de una y otra aplicación de mensajería, Telegram es el mejor candidato para desarrollar bots. Su principal ventaja es que su API para desarrolladores es abierta y está perfectamente documentada. La arquitectura que ofrece, a diferencia de otras aplicaciones de mensajería, es multiplataforma, garantizando la integridad de sus conversaciones en cualquier dispositivo, contando en todo momento con los documentos o ficheros que hayan sido descargados gracias a que está basado en la nube. Además, Telegram utiliza una infraestructura descentralizada y se basa en algoritmos de proximidad a la hora de elegir el servidor de comunicaciones en el que correrá la conversación. Todo ello hace que sea altamente segura frente a fallos en sus servidores ofreciendo un servicio en alta disponibilidad, cuyas comunicaciones viajan por canales encriptados. [13] BotFather En primer lugar, un bot es una herramienta o máquina en la cual corre un programa y toma los datos de entrada de un usuario con el fin de producir una respuesta automática en base a ella. Los bots más famosos son capaces de conversar con humanos mediante el uso de Procesadores de Lenguaje Natural (NLP), pero no es un requisito indispensable que su fin sea ése. BotFather es el bot creado por los desarrolladores de la aplicación de mensajería instantánea Telegram para que los usuarios de ésta puedan implementar y registrar nuevos bots.. 24. Telegram-Bot: Gestión automatizada de clubes de pádel.

(28) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. TelegramBotApi Telegram facilita, mediante su API open-source, el desarrollo de bots. Al ser abierta cualquier usuario puede acceder ella y es actualizada regularmente, adaptándose a las necesidades de los usuarios y desarrolladores. La API está disponible en la mayoría de los lenguajes de programación lo que favorece su uso en ámbitos de aprendizaje con desarrolladores menos experimentados. TelegramBotApi proporciona al desarrollador un token o identificador único del bot dentro de los servidores de Telegram. Esta API presta toda la información necesaria para poder desarrollar bots: informa del usuario que está utilizando el bot mediante el nick o apodo con el que el usuario se ha registrado en la aplicación, facilita el identificador del chat mediante el cual el usuario se comunica con el bot, identifica el idioma que el usuario ha seleccionado a la hora de iniciar la aplicación, extrae información de los mensajes… Por otro lado, la inteligencia de los bots es desarrollada, en parte, mediante sus handlers y webhooks. Un handler es un filtro que le dota al bot la capacidad de responder al usuario en función de unos parámetros extraídos del mensaje que este le ha enviado. Por ejemplo, si un usuario envía un mensaje de saludo como puede ser “Hola”, el bot analizará dicho mensaje y si está programado para ello será capaz de contestar con una réplica a ese saludo, ya sea “Buenos días” u otro mensaje. Un webhook permiten al bot recibir peticiones HTTP POST cuya información esté estructurada en formato JSON. Las peticiones HTTP serán enviadas a la dirección url que tenga configurado el bot en su webhook. De esta manera el bot será capaz de analizar datos externos a la plataforma de Telegram. [13] 1.6.2 Dialogflow Dialogflow es la herramienta de Google para crear chatbots, pensada para interacciones hombrecomputadora. Esta API, basada en inteligencia artificial, permite a los usuarios la facilidad de interactuar con aplicaciones y/o tecnologías de forma natural mediante texto o voz. Una de sus mayores ventajas es la compatibilidad con asistentes domóticos y aplicaciones de mensajería instantánea donde realizará el procesamiento del lenguaje. Gracias a su flexibilidad Dialogflow cuenta con un alto prestigio dentro del sector de los asistentes virtuales. Facilita enormemente el diseño personalizado de asistentes por parte de desarrolladores hacia terceros, gracias al conjunto de Kits de Desarrollo Software (SDK) para los distintos sistemas operativos de los diferentes dispositivos inteligentes. [14] Mediante su API REST, Dialogflow es capaz de reconocer la voz, comprender el lenguaje natural y contar con una alta capacidad conversacional. Dispone de múltiples integradores para las diferentes aplicaciones de mensajería instantánea como Facebook Messenger, Telegram, LINE o aplicaciones VoIP (Voice over IP) como Skype. Otra ventaja es que presta una solución multilenguaje, disponible en 14 idiomas. En una primera aproximación a la herramienta, Dialogflow se basa en los siguientes conceptos:. Telegram-Bot: Gestión automatizada de clubes de pádel. 25.

(29) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. • • • •. Agentes: cada asistente creado y entrenado en habilidades específicas. Entidades: las palabras o conceptos claves que se extraen del mensaje del usuario resumen la intención de este. Intenciones: es lo que facilita al software definir una respuesta acorde a la conversación propuesta por el usuario. Acciones: pasos que sigue la aplicación en función de los datos que introduzca el usuario.. Dialogflow permite realizar la lógica de la conversación en la propia herramienta mediante el concepto fullfillment o basar esa lógica en las peticiones a webhooks, ya mencionado en el apartado TelegramBotApi. Una visión general del funcionamiento de Dialogflow es la mostrada en la Ilustración 5.. Ilustración 5. Diagrama de funcionamiento de Dialogflow [14]. En el momento que un usuario se conecta a un chatbot mediante cualquier aplicación y envía un mensaje, este se envía a la herramienta Dialogflow que será la encargada de analizar el mensaje gracias a la tecnología de reconocimiento de lenguaje natural. Al extraer los parámetros necesarios e identificar qué es lo que le solicita el usuario determinará qué hacer. En este momento, si Dialogflow cuenta con toda la información necesaria enviará la respuesta al usuario a través de la aplicación de mensajería que haya utilizado. En caso de necesitar datos externos, Dialogflow conectará con el servicio externo que los proporciona y será este quien complete la respuesta, devuelta a Dialogflow, la cual se hará llegar al usuario mediante la plataforma de mensajería utilizada. Como conclusión, Dialogflow es el intermediario entre la solicitud del usuario y la respuesta que este espera, gracias a la toma de decisiones mediante la tecnología de machine learning (aprendizaje automático) y el reconocimiento de lenguaje natural. 1.6.3 JSON JavaScript Object Notation (JSON) es un formato de simple entendimiento para el intercambio de datos. Es un formato de texto independiente de cualquier familia de lenguajes (C, Java, Python…). La estructura de datos que usa JSON es universal y está construida por una colección de pares nombre-valor y una lista ordenada de valores. [15] Esta cualidad hace que sea uno de los formatos de texto idóneos para el intercambio de datos. 26. Telegram-Bot: Gestión automatizada de clubes de pádel.

(30) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. 1.6.4 Amazon Web Services La idea de un sistema informático como servicio fue muy popular a fines de la década del 60, pero esta idea se desvaneció hacia mediados de los 70 cuando quedó patente que el hardware, software y las tecnologías de telecomunicación simplemente no estaban preparadas. Sin embargo, desde el 2000, la idea reapareció gracias a que las comunicaciones y tecnologías necesarias estaban maduras para trasladar este concepto a la realidad. El National Institute of Standards and Technology (NIST) define el cloud computing (computación en la nube) de la siguiente manera: “Cloud computing es un modelo para habilitar el acceso a un conjunto de servicios computacionales (por ejemplo: redes, servidores, almacenamiento, aplicaciones y servicios) de manera conveniente y por demanda, que pueden ser rápidamente aprovisionados y liberados con un esfuerzo administrativo y una interacción con el proveedor de servicio mínimos” [16] La computación en la nube, informática en la nube o cloud computing, es un paradigma que permite ofrecer servicios de computación a través de Internet. Sus características principales son: • • • • • • •. Servicio bajo demanda. Infraestructura subyacente compartida. Ubicuidad. Alta escalabilidad. Pago por uso. Sin desembolso inicial caro de capital. Capacidad ilimitada.. Por ello, en el contexto tecnológico actual, el cloud computing (computación en la nube) es el paradigma adecuado para el desarrollo de sistemas elásticos y escalables donde la capacidad de cómputo y almacenamiento pueda variar enormemente sin que esto suponga problemas estructurales. Amazon Web Services (AWS) es una colección de servicios de computación en la nube con la misión de posibilitar a desarrolladores y empresas la construcción de aplicaciones sofisticadas y escalables. [17] Es una de las primeras compañías nacidas por y para Internet cuyo objetivo inicial fue el comercio de libros por Internet, llegando a ser el referente mundial de cloud computing (computación en la nube) en la actualidad. La infraestructura de la nube de AWS está compuesta de regiones y zonas de disponibilidad (AZ). Una región es un área geográfica y cada región está compuesta de 2 (o más) zonas de disponibilidad. Una zona de disponibilidad es simplemente un centro de datos (CPD). A su vez, las zonas de disponibilidad constan de uno o varios centros de datos discretos, cada uno de ellos con alimentación redundante, redes y conectividad, que se alojan en instalaciones independientes. Estas zonas de disponibilidad ofrecen la capacidad de trabajar con bases de datos y aplicaciones de producción con una disponibilidad, tolerancia a fallos y escalabilidad mayor que la que ofrecería un único centro de datos. [17]. Telegram-Bot: Gestión automatizada de clubes de pádel. 27.

(31) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Ilustración 6. Esquema de región y zona de disponibilidad de AWS [17]. AWS se distribuye en 60 zonas de disponibilidad en 20 regiones geográficas de todo el mundo. Próximamente Amazon ha anunciado la incorporación de 12 zonas de disponibilidad y 4 regiones a la infraestructura global de AWS. [17]. Ilustración 7. Mapa de la infraestructura global de AWS [17]. 28. Telegram-Bot: Gestión automatizada de clubes de pádel.

(32) ETSIS de Telecomunicación Campus Sur UPM Marco Lago Prieto. Cada una de las zonas de disponibilidad está conectada por una red troncal (BackBone). Las zonas de disponibilidad de una misma región están conectadas entre sí por redes de fibra óptica rápidas y privadas, lo que permite diseñar aplicaciones con facilidad que conmuten por error entre las zonas de disponibilidad sin interrupciones. Los servicios cloud (en la nube) de AWS se dividen en tres tipos de informática en la nube: •. Infraestructura como servicio (IaaS). Conceptualmente la infraestructura como servicio ofrece recursos de computo, almacenamiento y comunicaciones. El cliente se desentiende del mantenimiento y operación del hardware subyacente.. •. Plataforma como servicio (PaaS). La plataforma como servicio ofrece una plataforma operativa lista para ser utilizada. Las plataformas pueden ser de todo tipo, desde servidores de aplicaciones a bases de datos. Permitiéndole al cliente desentenderse de la administración y mantenimiento de la plataforma en sí.. •. Software como servicio (SaaS). El software como servicio ofrece la utilización del software sin más. Es el servicio de valor más alto dentro de los servicios provistos por los proveedores cloud (en la nube).. Amazon Web Services pone a disposición de los desarrolladores y empresas sus servicios mediante las siguientes herramientas: •. AWS Management Console. [18] Es un portal único desde el que se pueden realizar todas las operaciones de gestión y supervisión (desde implementar nuevas aplicaciones hasta supervisar el estado de una aplicación).. •. AWS Marketplace. [19] Tienda en línea para la compra de software preconfigurado que se ejecuta en AWS, facturándose sólo por lo que use, ya sea por hora o por mes.. •. Simple Monthly Calculator. [20] Herramienta para poder realizar una estimación del coste mensual asociado al uso esperado de los servicios. AWS Lambda. Dentro de los servicios de computación se encuentra el servicio AWS Lambda, encargado de ejecutar el código programado en su función. Lambda soporta diferentes lenguajes de programación, como Python o Java. AWS Lambda es un contenedor que se levanta en la infraestructura de AWS y permite ejecutar el código que se ha definido en una función con el fin de dotar de inteligencia a un sistema de negocio. [17] El servicio se ofrece en la modalidad pago por uso, por lo que sólo se paga por el tiempo de computación que se consume, sin necesidad de aprovisionar ni administrar servidores. API Gateway Servicio utilizado para crear, implementar y gestionar API. Proporciona una puerta delantera, mediante la creación de API REST, para que las aplicaciones obtengan acceso a datos, lógica de Telegram-Bot: Gestión automatizada de clubes de pádel. 29.

Referencias

Documento similar