Abstract:
Chatterbot são softwares que têm a habilidade de conversar com humanos em sua linguagem
natural, devido a essa habilidade suas aplicações são as mais diversas possíveis. As principais
áreas que se beneficiam com o uso dessas aplicações são sites de e-commerce, sistema de ensino
a distância, entre outras aplicações. Muitas empresas investem em serviços de chatterbots, como
por exemplo a Microsoft com o LUIS. Até o exato momento desta pesquisa não foi encontrada
uma arquitetura padrão, ela varia muito de acordo com a engine que o programador escolheu
usar em seu chatterbot. Apesar de existirem várias, a etapa de pré-processamento é comum as
aplicações, tendo como objetivo preparar os dados para que a engine possa processa-los ou
melhorar a performance da mesma. Durante a pesquisa realizada para a execução deste trabalho
não foi encontrado um framework focado nessa etapa, cada programador, desenvolve seus
métodos de maneira individual, não havendo reuso de código. Um framework pode
proporcionar maior qualidade no resultado final da implementação, uma vez que seus métodos
todos já foram testados e validados. Para suprir essa falta, o objetivo desta pesquisa é
implementar um framework contendo os métodos mais comuns de diversas aplicações. Para
alcançar esse objetivo foi realizado uma revisão na literatura em busca de aplicações exemplos,
a implementação do framework foi realizada na linguagem Python, os métodos implementados
são baseados nos exemplos encontrados na literatura, a fim de diminuir a complexidade do uso
do framework, foi usado o padrão de projeto Facade. Além disso também foi usado a biblioteca
NLTK para auxiliar em alguns métodos. O código desenvolvido está disponível em um
repositório público, hospedado no Github, junto com a documentação de todo o projeto. Os
resultados dos testes foram satisfatórios, pois foi realizada uma comparação entre os métodos
implementados com os métodos que serviram de base, encontrados na literatura.