/chatbot-tensorflow

Chatbot desenvolvido em Tensorflow para responder perguntas do Stackoverflow sobre Python

Primary LanguagePythonMIT LicenseMIT

Chatbot Tensorflow

Link para o ChatBot

Como foi desenvolvido?

  • Foi realizado o pré-processamento dos textos de perguntas e respostas do Stackoverflow que se encontra no Kaggle utilizando-se de tecnicas de Processamento de Língua Natural (PLN)
  • Através da biblioteca de código aberto TensorFlow treinamos a rede neural profunda para encontrar padrões e correlações na base de dados processada
  • Salvamos o modelo treinado e criamos uma aplicação web para fazer uso desse modelo e responder a perguntas de maneira inteligente

Sobre o chatbot

  • Foi desenvolvido pelo estudantes de pós-gradução André N. Darcie e Cristiane Lemos para a diciplina de Processamento de Linguagens Naturais no curso de Ciencia de Dados - Aplicada na PUC Minas
  • O projeto é de código aberto e seu repositorio pode ser encontrado no Github nesse endereço

Precisão do chatbot

  • Treinamos apenas uma parte dos dados por questões de custo e tempo, mas o modelo pode ser treinado com o conjunto total de dados
  • A precisão do chatbot para responder as perguntas vai depender da quantidade de dados em que a rede foi treinada.

Instalação

Utilize o geranciador de pacotes pip para instalar a aplicação.

pip install -U -r requirements.txt

Execução

Para treinar ou carregar a rede neural:

Verificar a variavel "modo_treino" em que True é para treinar e salvar a rede neural e False é apenas para carregar a rede neural já salva.

python chatBotModel.py

Para executar o chatbot (Sempre com "modo_treino = False"):

set FLASK_APP=app.py
flask run

Acesse o endereço localhost para executar a aplicação.

Deploy automatizado no Heroku

Toda vez que é feita uma alteração na branch master, o deploy é realizado com as mudanças.

Para verificar os logs em caso de erro:

heroku logs --tail --app stackoverflow-python-chatbot

Contribuição

Contribuiçoes serão bem-vindas via pull requests. Tenha certeza que os teste foram feitos

License

MIT