ChatterBot é uma engine baseada em aprendizado de máquina através de diálogos de conversação construído em Python o que possibilita a geração de respostas baseada em coleções de conversas conhecidas. A arquitetura do ChatterBot é independente da língua, desta forma é possível treiná-lo em qualquer língua.
Read in English Leia em Português Leer en español
Um exemplo típico de entrada, será algo parecido com isso:
Usuário: Bom dia, como você esta?
Robô: Estou muito bem, obrigado por perguntar.
Usuário: De nada.
Robô: Você gosta de chapéus?
Uma instância não treinada do ChatterBot começão sem conhecimento de como se comunicar. Cada vez que o usuário entra com uma afirmação, a biblioteca salva o texto que foi inserido e o texto em que a afirmação foi respondida. Conforme o ChatterBot recebe mais entradas o número de respostas que ele pode responder e a precisão de suas respostas em relação a afirmação de entrada cresce. O programa seleciona a resposta mais precisa procurando pela resposta mais próxima que combina com a afirmação de entrada, ele então retorna a resposta mais provável para a afirmação baseada na frequência que esta resposta é emitida pelo usuário que esta se comunicando com o robô.
Este pacote pode ser instalado através de PyPi execuntando o seguinte comando:
pip install chatterbotfrom chatterbot import ChatBot
chatbot = ChatBot("Ron Obvious")
# Treino baseado no corpus em português
chatbot.train("chatterbot.corpus.Portuguese")
# Obtenha uma resposta para uma pergunta
chatbot.get_response("Olá, como você esta hoje?")ChatterBot vem com um módulo utilitário de dados que pode ser usado para treinar os robôs de chat. Neste momento existem dados de treinamento em Inglês, Espanhol e Português neste módulo. Contribuições de dados de treinamento adicionais ou dados de treinamento em outras linguagem será muito bem vinda. Dê uma olhada nos arquivos de dados em chatterbot/corpus se você estiver interesse em contribuir.
# Treino baseado no corpus em Portugues
chatbot.train("chatterbot.corpus.Portuguese")
# Treino baseado no corpus de saudações em Português
chatbot.train("chatterbot.corpus.Portuguese.greetings_pt-BR")
# Train based on the english conversations corpus
# Treino baseado no corpus de conversação em Português
chatbot.train("chatterbot.corpus.Portuguese.conversations_pt-BR")Contribuições ao Corpus são bem-vindas! Por favor faça uma pull request.
Veja a documentação para ChatterBot em Read the Docs.
Para consultar exemplos, veja o diretório de exemplos no repositório deste projeto.
Também existem exemplos em Projeto Django usando o ChatterBot, e Projeto Flask usando o ChatterBot.
Os testes nativos do ChatterBot podem ser executados usando nose.
Veja a documentação do nose para mais informações.
Veja as notas de lançamento de mudanças https://github.com/gunthercox/ChatterBot/releases
