ChatterBot ist eine auf maschinellem Lernen basierende Konversationsdialog-Engine in Python, die es ermöglicht, Antworten basierend auf Sammlungen bekannter Konversationen zu generieren. Das sprachunabhängige Design von ChatterBot ermöglicht es, ihm das Sprechen jeder Sprache beizubringen.
Ein Beispiel für eine typische Eingabe wäre etwa so:
Benutzer: Guten Morgen! Wie geht es dir?
bot: Mir geht es sehr gut, danke der Nachfrage.
Benutzer: Gern geschehen.
Bot: Magst du Hüte?
Eine ungeschulte Instanz von ChatterBot hat zunächst keine Kenntnisse darüber, wie man kommuniziert. Jedes Mal, wenn ein Benutzer eine Anweisung eingibt, speichert die Bibliothek den eingegebenen Text und den Text, auf den die Anweisung geantwortet hat. Wenn ChatterBot mehr Eingaben erhält, erhöht sich die Anzahl der Antworten, die er beantworten kann, und die Genauigkeit jeder Antwort im Verhältnis zur Eingabeanweisung. Das Programm wählt die am besten passende Antwort aus, indem es nach der am besten passenden bekannten Aussage sucht, die mit der Eingabe übereinstimmt. Anschließend gibt es die wahrscheinlichste Antwort auf diese Aussage zurück, basierend darauf, wie oft jede Antwort von den Personen ausgegeben wird, mit denen der Bot kommuniziert.
Dieses Paket kann von PyPi aus installiert werden, indem Sie Folgendes ausführen:
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 verfügt über ein Datendienstprogrammmodul, mit dem Chatbots trainiert werden können. Derzeit liegen in diesem Modul Trainingsdaten für über ein Dutzend Sprachen vor. Beiträge mit zusätzlichen Trainingsdaten oder Trainingsdaten in anderen Sprachen würden uns sehr freuen. Werfen Sie einen Blick auf die Datendateien im Paket chatterbot-corpus, wenn Sie daran interessiert sind, einen Beitrag zu leisten.
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")
Korpusbeiträge sind willkommen! Bitte stellen Sie eine Pull-Anfrage.
Sehen Sie sich die Dokumentation für ChatterBot unter „Dokumente lesen“ an.
Um die Dokumentation selbst mit Sphinx zu erstellen, führen Sie Folgendes aus:
sphinx-build -b html docs/ build/
Beispiele finden Sie im Beispielverzeichnis im Git-Repository dieses Projekts.
Es gibt auch ein Beispiel-Django-Projekt mit ChatterBot sowie ein Beispiel-Flask-Projekt mit ChatterBot.
Änderungen finden Sie in den Versionshinweisen unter https://github.com/gunthercox/ChatterBot/releases
master
vor, erstellen Sie beispielsweise einen neuen Zweig my-pull-request
.ChatterBot ist unter der BSD-3-Klausel-Lizenz lizenziert.