ChatterBot es un motor de diálogo conversacional basado en aprendizaje automático construido en Python que permite generar respuestas basadas en colecciones de conversaciones conocidas. El diseño independiente del idioma de ChatterBot le permite entrenarse para hablar cualquier idioma.
Un ejemplo de entrada típica sería algo como esto:
usuario: ¡Buenos días! ¿Cómo estás?
bot: Estoy muy bien, gracias por preguntar.
usuario: De nada.
bot: ¿Te gustan los sombreros?
Una instancia no entrenada de ChatterBot comienza sin saber cómo comunicarse. Cada vez que un usuario ingresa una declaración, la biblioteca guarda el texto que ingresó y el texto al que respondió la declaración. A medida que ChatterBot recibe más entradas, aumenta el número de respuestas que puede responder y la precisión de cada respuesta en relación con la declaración de entrada. El programa selecciona la respuesta más cercana buscando la declaración conocida más cercana que coincida con la entrada, luego devuelve la respuesta más probable a esa declaración en función de la frecuencia con la que las personas con las que se comunica el bot emiten cada respuesta.
Este paquete se puede instalar desde PyPi ejecutando:
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?")
ChatterBot viene con un módulo de utilidad de datos que se puede utilizar para entrenar bots de chat. Actualmente hay datos de formación para más de una docena de idiomas en este módulo. Se agradecerían mucho las contribuciones de datos de capacitación adicionales o datos de capacitación en otros idiomas. Eche un vistazo a los archivos de datos en el paquete chatterbot-corpus si está interesado en 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")
¡Las contribuciones al corpus son bienvenidas! Por favor haga una solicitud de extracción.
Vea la documentación de ChatterBot en Leer los documentos.
Para crear la documentación usted mismo utilizando Sphinx, ejecute:
sphinx-build -b html docs/ build/
Para ver ejemplos, consulte el directorio de ejemplos en el repositorio git de este proyecto.
También hay un proyecto Django de ejemplo que usa ChatterBot, así como un proyecto Flask de ejemplo que usa ChatterBot.
Consulte las notas de la versión para conocer los cambios https://github.com/gunthercox/ChatterBot/releases
master
, por ejemplo, cree una nueva rama my-pull-request
.ChatterBot tiene la licencia BSD de 3 cláusulas.