ChatterBot é um mecanismo de diálogo conversacional baseado em aprendizado de máquina construído em Python que torna possível gerar respostas com base em coleções de conversas conhecidas. O design independente de idioma do ChatterBot permite que ele seja treinado para falar qualquer idioma.
Um exemplo de entrada típica seria algo assim:
usuário: Bom dia! Como vai?
bot: Estou muito bem, obrigado por perguntar.
usuário: De nada.
bot: Você gosta de chapéus?
Uma instância não treinada do ChatterBot começa sem nenhum conhecimento de como se comunicar. Cada vez que um usuário insere uma declaração, a biblioteca salva o texto inserido e o texto ao qual a declaração foi respondida. À medida que o ChatterBot recebe mais informações, o número de respostas que ele pode responder e a precisão de cada resposta em relação à instrução de entrada aumentam. O programa seleciona a resposta mais próxima procurando a declaração conhecida mais próxima que corresponda à entrada e, em seguida, retorna a resposta mais provável para essa declaração com base na frequência com que cada resposta é emitida pelas pessoas com quem o bot se comunica.
Este pacote pode ser instalado a partir do PyPi executando:
pip install chatterbot
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
chatbot = ChatBot('Ron Obvious')
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.english")
# Get a response to an input statement
chatbot.get_response("Hello, how are you today?")
O ChatterBot vem com um módulo utilitário de dados que pode ser usado para treinar bots de bate-papo. No momento existem dados de treinamento para mais de uma dúzia de idiomas neste módulo. Contribuições de dados de treinamento adicionais ou dados de treinamento em outros idiomas seriam muito apreciadas. Dê uma olhada nos arquivos de dados no pacote chatterbot-corpus se estiver interessado em contribuir.
from chatterbot.trainers import ChatterBotCorpusTrainer
# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)
# Train based on the english corpus
trainer.train("chatterbot.corpus.english")
# Train based on english greetings corpus
trainer.train("chatterbot.corpus.english.greetings")
# Train based on the english conversations corpus
trainer.train("chatterbot.corpus.english.conversations")
Contribuições do Corpus são bem-vindas! Por favor, faça uma solicitação de pull.
Veja a documentação do ChatterBot em Leia os documentos.
Para construir você mesmo a documentação usando o Sphinx, execute:
sphinx-build -b html docs/ build/
Para exemplos, consulte o diretório de exemplos no repositório git deste projeto.
Há também um exemplo de projeto Django usando ChatterBot, bem como um exemplo de projeto Flask usando ChatterBot.
Consulte as notas de versão para alterações https://github.com/gunthercox/ChatterBot/releases
master
, por exemplo, crie um novo branch my-pull-request
.ChatterBot é licenciado sob a licença BSD de 3 cláusulas.