Chatbot em arquitetura de microsserviços para imputação de horas e despesas em ambiente empresarial

Data
2019-07-30
Título da revista
ISSN da revista
Título do Volume
Editora
Projetos de investigação
Unidades organizacionais
Fascículo
Resumo
No contexto empresarial, o tempo é um dos fatores mais importantes para os processos internos de uma empresa e, consequentemente, para os seus objetivos. Quando os processos de negócio internos da empresa estão otimizados, há uma maior eficiência do tempo e dos recursos humanos. Se existirem processos de negócio que não estão otimizados, como por exemplo, a imputação de horas diárias dos colaboradores, há uma grande probabilidade de ocorrerem erros e atrasos, resultando no incumprimento de prazos estipulados e num prejuízo consequente. Neste âmbito, a automatização de processos dentro de uma empresa é uma ferramenta importante, já que permite poupar tempo e recursos, potenciando o lucro da empresa. Desta forma, os chatbots podem ser uma ferramenta fundamental para simplificar e automatizar tarefas internas, prevenindo os erros humanos. Atualmente, os chatbots já são utilizados em start-ups, mas também em empresas de maior dimensão, e a tendência é que este uso aumente cada vez mais. O uso de chatbots é possível graças à evolução das tecnologias de inteligência artificial e machine learning. As arquiteturas de microsserviços são uma das primeiras a ser introduzidas, aplicadas na prática e a tornarem-se populares quando as práticas de DevOps tiveram impacto na indústria do software. Fazer a migração de arquiteturas monolíticas para arquiteturas na cloud nativas, como os microsserviços, traz várias vantagens tais como flexibilidade de adaptação às mudanças tecnológicas e a possibilidade de fazer uma migração incremental dos recursos para diferentes componentes do sistema à medida que eles são necessários. A estabilidade e escalabilidade são dois fatores que, tal como o tempo, são fundamentais para os processos internos de uma empresa. Por estas razões, uma arquitetura de microsserviços pode ser vantajosa no chatbot. Neste relatório de estágio são apresentados os conceitos de chatbots, a sua classificação e caraterísticas, um estudo comparativo entre os vários chatbots existentes, comerciais e de investigação, os conceitos de arquiteturas de microsserviços, uma comparação entre estas e as arquiteturas legadas e as tecnologias para a implementação de arquiteturas de microsserviços. É apresentada ainda a implementação de um chatbot desenvolvido em linguagem C# com recurso à Bot Framework da Microsoft, numa arquitetura de microsserviços, disponibilizados na Microsoft Azure Cloud, que permite com que os colaboradores da empresa Armis Group façam as imputações de horas de trabalho e de despesas de uma forma automática, com recurso a algoritmos de inteligência artificial e utilizando o canal do Microsoft Teams da empresa como meio de comunicação com o chatbot.
Within the business environment, time is one of the most important factors for the internal procedures within a company and, therefore, for the business goals. When these procedures are optimized there is a better time and human resources efficiency. If there are business procedures that are not optimized, such as employees allocating daily working time, there is a high probability of occurring errors and delays, resulting in failure to comply with deadlines and in a subsequent profit loss. In this respect, the automation of procedures within a company is an important tool, since it is a saver of time and resources, boosting the company’s profit. Chatbots can be a key tool to simplify and automate internal company tasks, preventing human errors. Nowadays chatbots are already used in start-ups, but also in bigger companies and its use tend to increase evermore. The use of chatbots is possible due to the evolution of artificial intelligence and machine learning technologies. Microservices architectures are one of the first to be introduced, applied and become popular when the DevOps had impact in the software industry. Migrating monolithic architectures to cloud-native architectures such as microservices brings in many advantages, for instance flexibility to adapt to the technological changes and independent resource management for different system components. Stability and scalability are two factors that like time are key to the internal procedures within a company. For these reasons, a microservices architecture can be beneficial to a chatbot. In this internship report are presented the concepts of chatbots, its classification and features, as well as a comparative research between the existing chatbots, commercial and noncommercial, the concepts of microservices architectures, a comparison between these architectures, legacy architectures and the technologies to implement microservices architectures. It is presented the implementation of a chatbot developed in C# with Microsoft Bot Framework, in a microservices architecture, deployed in the Microsoft Azure Cloud that allows Armis Group employees to allocate daily working hours and costs automatically with the use of artificial intelligence algorithms, using the company’s Microsoft Teams channel as a means of communication with the chatbot.
Descrição
Relatório de Estágio de Mestrado em Engenharia Informática
Palavras-chave
Chatbot , NLP
Citação