So erstellen Sie Schritt für Schritt einen Chatbot in Python [Python Chatterbox Guide]
Veröffentlicht: 2020-07-27Inhaltsverzeichnis
Wie erstelle ich einen Chatbot in Python?
In den letzten Jahren sind Chatbots in Python im Technologie- und Geschäftssektor sehr beliebt geworden. Diese intelligenten Bots sind so geschickt darin, natürliche menschliche Sprachen zu imitieren und sich mit Menschen zu unterhalten, dass Unternehmen aus verschiedenen Industriezweigen sie übernehmen. Von E-Commerce-Unternehmen bis hin zu Gesundheitseinrichtungen scheint jeder dieses raffinierte Tool zu nutzen, um geschäftliche Vorteile zu erzielen . In diesem Artikel erfahren wir mehr über Chatbots mit Python und wie man Chatbots in Python erstellt.
Lernen Sie maschinelles Lernen online von den besten Universitäten der Welt – Master, Executive Post Graduate Programs und Advanced Certificate Program in ML & AI, um Ihre Karriere zu beschleunigen.
Was ist ein Chatbot?
Ein Chatbot ist eine KI-basierte Software, die entwickelt wurde, um mit Menschen in ihrer natürlichen Sprache zu interagieren. Diese Chatbots unterhalten sich normalerweise über auditive oder textuelle Methoden und können mühelos menschliche Sprachen nachahmen, um mit Menschen auf menschenähnliche Weise zu kommunizieren. Ein Chatbot ist wohl eine der besten Anwendungen für die Verarbeitung natürlicher Sprache.
Chatbots können in zwei Hauptvarianten eingeteilt werden – regelbasiert und selbstlernend.
Der regelbasierte Ansatz trainiert einen Chatbot, Fragen basierend auf einer Reihe von vordefinierten Regeln zu beantworten, nach denen er ursprünglich trainiert wurde. Diese festgelegten Regeln können entweder sehr einfach oder sehr komplex sein. Während regelbasierte Chatbots mit einfachen Anfragen recht gut umgehen können, scheitern sie in der Regel daran, kompliziertere Anfragen/Anfragen zu bearbeiten.
Wie der Name schon sagt, sind selbstlernende Bots Chatbots, die selbstständig lernen können. Diese nutzen fortschrittliche Technologien wie künstliche Intelligenz und maschinelles Lernen, um sich anhand von Instanzen und Verhaltensweisen zu trainieren. Natürlich sind diese Chatbots viel intelligenter als regelbasierte Bots. Selbstlernende Bots können weiter in zwei Kategorien unterteilt werden – Retrieval Based oder Generative.

1. Abrufbasierte Chatbots
Ein abrufbasierter Chatbot funktioniert mit vordefinierten Eingabemustern und festgelegten Antworten. Sobald die Frage/das Muster eingegeben wurde, verwendet der Chatbot einen heuristischen Ansatz, um die entsprechende Antwort zu liefern. Das abrufbasierte Modell wird umfassend verwendet, um zielorientierte Chatbots mit angepassten Funktionen wie Ablauf und Ton des Bots zu entwerfen, um das Kundenerlebnis zu verbessern.
2. Generative Chatbots
Im Gegensatz zu abrufbasierten Chatbots basieren generative Chatbots nicht auf vordefinierten Antworten – sie nutzen seq2seq neuronale Netzwerke. Dies basiert auf dem Konzept der maschinellen Übersetzung, bei der der Quellcode von einer Sprache in eine andere Sprache übersetzt wird. Beim seq2seq-Ansatz wird die Eingabe in eine Ausgabe umgewandelt.
Der erste Chatbot stammt aus dem Jahr 1966, als Joseph Weizenbaum ELIZA erschuf, der in nur 200 Codezeilen die Sprache eines Psychotherapeuten imitieren konnte. Dank des schnellen technologischen Fortschritts haben wir jedoch einen langen Weg von Skript-Chatbots zu Chatbots in Python von heute zurückgelegt.
Chatbot in der heutigen Generation
Heute haben wir intelligente KI-gestützte Chatbots, die die Verarbeitung natürlicher Sprache (NLP) verwenden, um menschliche Befehle (Text und Stimme) zu verstehen und aus Erfahrungen zu lernen. Chatbots sind für Unternehmen und Marken mit aktiver Online-Präsenz (Website und Plattformen sozialer Netzwerke) zu einem festen Bestandteil der Kundeninteraktion geworden.
Chatbots, die Python verwenden, sind ein raffiniertes Tool, da sie Instant Messaging zwischen der Marke und dem Kunden erleichtern. Denken Sie an Siri von Apple, Alexa von Amazon und Cortana von Microsoft. Sind diese nicht einfach wunderbar? Sind Sie nicht schon neugierig, wie man einen Chatbot in Python erstellt?
Quelle
Im Wesentlichen ist der Chatbot, der Python verwendet, so programmiert, dass er die Informationen, die Sie ihm zur Verfügung stellen, aufnimmt und sie dann mit Hilfe komplexer KI-Algorithmen analysiert und Ihnen entweder eine schriftliche oder mündliche Antwort gibt. Da diese Bots aus Verhalten und Erfahrungen lernen können, können sie auf eine Vielzahl von Anfragen und Befehlen reagieren.
Quelle
Obwohl Chatbot in Python bereits begonnen hat, die Tech-Szene zu dominieren, prognostiziert Gartner, dass Chatbots bis 2020 fast 85 % der Kunden-Marken-Interaktionen abwickeln werden .
Angesichts der zunehmenden Popularität und Akzeptanz von Chatbots in der Branche können Sie Ihren Marktwert steigern, indem Sie lernen, wie man einen Chatbot in Python erstellt – einer der am häufigsten verwendeten Programmiersprachen der Welt.
Heute zeigen wir Ihnen, wie Sie mit der ChatterBot-Python-Bibliothek einen einfachen Chatbot in Python erstellen. Also lasst uns anfangen!
ChatterBot-Bibliothek
ChatterBot ist eine Python-Bibliothek, die darauf ausgelegt ist, automatisierte Antworten auf Benutzereingaben zu liefern. Es verwendet eine Kombination von ML- Algorithmen , um viele verschiedene Arten von Antworten zu generieren. Mit dieser Funktion können Entwickler Chatbots mit Python erstellen, die sich mit Menschen unterhalten und angemessene und relevante Antworten liefern können. Nicht nur das, die ML-Algorithmen helfen dem Bot, seine Leistung mit Erfahrung zu verbessern.
Ein weiteres herausragendes Merkmal von ChatterBot ist seine Sprachunabhängigkeit. Die Bibliothek ist so konzipiert, dass es möglich ist, Ihren Bot in mehreren Programmiersprachen zu trainieren.
Wie funktioniert ChatterBot?
Wenn ein Benutzer eine bestimmte Eingabe in den Chatbot (entwickelt auf ChatterBot) eingibt, speichert der Bot die Eingabe zusammen mit der Antwort für die zukünftige Verwendung. Diese Daten (der gesammelten Erfahrungen) ermöglichen es dem Chatbot, jedes Mal, wenn eine neue Eingabe eingegeben wird, automatisierte Antworten zu generieren.
Das Programm wählt die am besten passende Antwort aus der Aussage aus, die der Eingabe am nächsten kommt, und liefert dann eine Antwort aus der bereits bekannten Auswahl von Aussagen und Antworten. Im Laufe der Zeit, wenn der Chatbot mehr Interaktionen durchführt, verbessert sich die Genauigkeit der Antwort.
Quelle
Wie erstelle ich einen Chatbot in Python?
Wir werden Schritt für Schritt vorgehen und den Prozess zum Erstellen eines Python-Chatbots aufschlüsseln.
Um einen Chatbot in Python zu erstellen, müssen Sie alle erforderlichen Pakete importieren und die Variablen initialisieren, die Sie in Ihrem Chatbot-Projekt verwenden möchten. Denken Sie auch daran, dass Sie bei der Arbeit mit Textdaten eine Datenvorverarbeitung für Ihren Datensatz durchführen müssen, bevor Sie ein ML-Modell entwerfen.

Hier hilft Tokenisierung bei Textdaten – es hilft, den großen Textdatensatz in kleinere, lesbare Teile (wie Wörter) zu fragmentieren. Sobald dies erledigt ist, können Sie sich auch für eine Lemmatisierung entscheiden, die ein Wort in seine Lemmaform umwandelt. Dann erstellt es eine Pickle-Datei zum Speichern der Python-Objekte, die zum Vorhersagen der Antworten des Bots verwendet werden.
Ein weiterer wichtiger Teil des Chatbot-Entwicklungsprozesses ist die Erstellung der Trainings- und Testdatensätze.
Nachdem wir nun die Grundlagen der Chatbot-Entwicklung in Python behandelt haben, tauchen wir tiefer in den eigentlichen Prozess ein!
1. Bereiten Sie die Abhängigkeiten vor
Der erste Schritt beim Erstellen eines Chatbots in Python mit der ChatterBot-Bibliothek besteht darin, die Bibliothek in Ihrem System zu installieren. Am besten erstellen und verwenden Sie für die Installation eine neue virtuelle Python-Umgebung. Dazu müssen Sie diesen Befehl in Ihrem Python-Terminal schreiben und ausführen:
Sie können die neueste Entwicklungsversion von ChatterBot auch direkt von GitHub installieren. Dazu müssen Sie den folgenden Befehl schreiben und ausführen:
pip install git+git://github.com/gunthercox/ChatterBot.git@master
Wenn Sie den Befehl aktualisieren möchten, können Sie dies auch tun:
Nachdem Ihr Setup nun fertig ist, können wir mit dem nächsten Schritt fortfahren, um einen Chatbot mit Python zu erstellen.
2. Klassen importieren
Das Importieren von Klassen ist der zweite Schritt im Python-Chatbot-Erstellungsprozess. Alles, was Sie tun müssen, ist, zwei Klassen zu importieren – ChatBot von chatterbot und ListTrainer von chatterbot.trainers. Dazu können Sie den folgenden Befehl ausführen:
3. Erstellen und trainieren Sie den Chatbot
Dies ist der dritte Schritt zum Erstellen eines Chatbots in Python. Der von Ihnen erstellte Chatbot ist eine Instanz der Klasse „ChatBot“. Nachdem Sie eine neue ChatterBot-Instanz erstellt haben, können Sie den Bot trainieren, um seine Leistung zu verbessern. Das Training stellt sicher, dass der Bot über genügend Wissen verfügt, um mit spezifischen Antworten auf bestimmte Eingaben zu beginnen. Sie müssen nun folgenden Befehl ausführen:
Hier repräsentiert das Argument (das dem Parameternamen entspricht) den Namen Ihres Python-Chatbots. Wenn Sie die Lernfähigkeit des Bots nach dem Training deaktivieren möchten, können Sie den Befehl „read_only=True“ einfügen. Der Befehl „logic_adapters“ bezeichnet die Liste der Adapter, die zum Trainieren des Chatbots verwendet werden.
Während „chatterbot.logic.MathematicalEvaluation“ dem Bot hilft, mathematische Probleme zu lösen, hilft ihm „chatterbot.logic.BestMatch“, die beste Übereinstimmung aus der Liste der bereits bereitgestellten Antworten auszuwählen.
Da Sie eine Liste mit Antworten bereitstellen müssen, können Sie dies tun, indem Sie die Listen mit Zeichenfolgen angeben, die später zum Trainieren Ihres Python-Chatbots verwendet werden können, und um die beste Übereinstimmung für jede Abfrage zu finden. Hier ist ein Beispiel für Antworten, die Sie Ihrem Chatbot mit Python beim Lernen beibringen können:
Sie können den Bot auch erstellen und trainieren, indem Sie eine Instanz von „ListTrainer“ schreiben und ihn mit einer Liste von Zeichenfolgen wie folgt versorgen:
Jetzt ist Ihr Python-Chatbot bereit zu kommunizieren.
4. Kommunizieren Sie mit dem Python-Chatbot
Um mit Ihrem Python-Chatbot zu interagieren, können Sie die Funktion .get_response() verwenden. So sollte es bei der Kommunikation aussehen:
Es ist jedoch wichtig zu verstehen, dass der Chatbot, der Python verwendet, möglicherweise nicht alle Ihre Fragen beantworten kann. Da sein Wissen und Training noch sehr begrenzt ist, müssen Sie ihm Zeit geben und mehr Trainingsdaten bereitstellen, um es weiter zu trainieren.
5. Trainieren Sie Ihren Python-Chatbot mit einem Datenkorpus
In diesem letzten Schritt zur Erstellung eines Chatbots in Python können Sie einen vorhandenen Datenkorpus verwenden, um Ihren Python-Chatbot noch weiter zu trainieren. Hier ist ein Beispiel dafür, wie Sie Ihren Python-Chatbot mit einem Datenkorpus trainieren, der vom Bot selbst bereitgestellt wird:

Code-Snippet-Quelle
Das Gute daran ist, dass ChatterBot diese Funktionalität in vielen verschiedenen Sprachen anbietet. Sie können also auch eine Teilmenge eines Korpus in einer von Ihnen bevorzugten Sprache angeben. So erstellen wir Chatbots in Python.
Fazit
Was wir hier gezeigt haben, ist nur eine von vielen Möglichkeiten, wie man einen Chatbot in Python erstellt. Sie können auch NLTK verwenden, eine weitere einfallsreiche Python-Bibliothek, um einen Python-Chatbot zu erstellen. Und obwohl das, was Sie hier gelernt haben, ein sehr einfacher Chatbot in Python ist, der kaum kognitive Fähigkeiten hat, sollte es ausreichen, um Ihnen zu helfen, die Anatomie von Chatbots zu verstehen.
Sobald Sie das Design eines Chatbots mit Python vollständig verstanden haben, können Sie damit experimentieren, indem Sie verschiedene Tools und Befehle verwenden, um es noch intelligenter zu machen.
Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich auch das Executive PG-Programm für maschinelles Lernen von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben, IIIT, bietet -B Alumni-Status, mehr als 5 praktische Schlusssteinprojekte und Arbeitsunterstützung bei Top-Unternehmen.
Was ist ein Chatbot?
Ein Chatbot ist eine KI-basierte Software, die sich mit Menschen in ihrer eigenen Sprache unterhalten kann. Diese Chatbots verbinden sich oft über Audio- oder schriftliche Mittel mit Menschen und können leicht menschliche Sprachen nachahmen, um mit ihnen auf menschenähnliche Weise zu sprechen. Der regelbasierte Ansatz lehrt einen Chatbot, Anfragen basierend auf einer Reihe von vordefinierten Regeln zu beantworten, die ihm bei seiner ersten Erstellung beigebracht wurden. Diese vorgegebenen Regeln können einfach oder komplex sein. Selbstlernende Bots sind, wie der Name schon sagt, Bots, die selbstständig trainieren können. Diese nutzen modernste Technologien wie künstliche Intelligenz und maschinelles Lernen, um aus Beispielen und Verhaltensweisen zu lernen.
Welche Fähigkeiten brauche ich, um einen Chatbot zu bauen?
Entwickler von Chatbots müssen über vielfältige Fähigkeiten verfügen. Sie müssen über ein gründliches Verständnis von Plattformen und Programmiersprachen verfügen, um effizient an der Chatbot-Entwicklung arbeiten zu können. Entwickler von Chatbots sollten sich mit Lernalgorithmen, künstlicher Intelligenz und Verarbeitung natürlicher Sprache auskennen. Mehrsprachiger Hintergrund mit Programmiererfahrung in Sprachen wie Java, PHP, Python, Ruby und anderen. Die Programmierer müssen mit den Plattformen vertraut sein, um die Qualität des Chatbots zu verbessern.
Was ist ein regelbasierter Chatbot?
Anstatt KI zu verwenden, verwendet ein regelbasierter Bot einen baumartigen Fluss, um Gäste bei ihren Fragen zu unterstützen. Dies zeigt an, dass der Bot den Gast durch eine Reihe von Folgefragen führt, um zur richtigen Lösung zu gelangen. Sie haben die vollständige Kontrolle über den Dialog, da die Strukturen und Antworten alle vordefiniert sind. Warum sollten Sie also einen Chatbot mit Regeln verwenden? Kleinere Zahlen und einfache Anfragen, wie die Reservierung eines Tisches in einem Restaurant oder die Abfrage von Öffnungszeiten, sind ideal für regelbasierte Chatbots.