ChatterBot est un moteur de dialogue conversationnel basé sur l'apprentissage automatique et construit en Python qui permet de générer des réponses basées sur des collections de conversations connues. La conception indépendante de la langue de ChatterBot lui permet d'être formé à parler n'importe quelle langue.
Un exemple d’entrée typique ressemblerait à ceci :
utilisateur : Bonjour ! Comment allez-vous?
bot : Je vais très bien, merci d'avoir demandé.
utilisateur : De rien.
bot : Vous aimez les chapeaux ?
Une instance non entraînée de ChatterBot démarre sans savoir comment communiquer. Chaque fois qu'un utilisateur saisit une déclaration, la bibliothèque enregistre le texte qu'il a saisi et le texte auquel la déclaration répondait. À mesure que ChatterBot reçoit davantage d'entrées, le nombre de réponses auxquelles il peut répondre et l'exactitude de chaque réponse par rapport à l'instruction d'entrée augmentent. Le programme sélectionne la réponse la plus proche en recherchant l'instruction connue la plus proche qui correspond à l'entrée, puis renvoie la réponse la plus probable à cette instruction en fonction de la fréquence à laquelle chaque réponse est émise par les personnes avec lesquelles le bot communique.
Ce package peut être installé depuis PyPi en exécutant :
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 est livré avec un module utilitaire de données qui peut être utilisé pour former des chatbots. À l'heure actuelle, ce module contient des données de formation pour plus d'une douzaine de langues. Des contributions de données de formation supplémentaires ou de données de formation dans d’autres langues seraient grandement appréciées. Jetez un œil aux fichiers de données du package chatterbot-corpus si vous souhaitez contribuer.
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")
Les contributions au corpus sont les bienvenues ! Veuillez faire une pull request.
Consultez la documentation de ChatterBot sur Lire la documentation.
Pour créer vous-même la documentation à l'aide de Sphinx, exécutez :
sphinx-build -b html docs/ build/
Pour des exemples, consultez le répertoire examples dans le référentiel git de ce projet.
Il existe également un exemple de projet Django utilisant ChatterBot, ainsi qu'un exemple de projet Flask utilisant ChatterBot.
Voir les notes de version pour les modifications https://github.com/gunthercox/ChatterBot/releases
master
, par exemple créez une nouvelle branche my-pull-request
.ChatterBot est sous licence BSD à 3 clauses.