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 chatterbot
from 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 usar o ChatterBot na wiki do projeto.
Para consultar exemplos, veja o diretório de exemplos no repositório deste projeto.
Também existem exemplos em Projeto Django usando o ChatterBot.
Criou algo legal usando o ChatterBot? Por favor adicione a sua criação na lista de projetos usando o ChatterBot na Wiki.
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