Chatbot mit der NLTK-Bibliothek | Chatbot in Python mit NLTK erstellen

Inhalt

Das ist das Schöne an einem Chatbot. Ein Chatbot ist eine KI-basierte Software, die auf NLP angewendet wird und mit Benutzern umgeht, um ihre spezifischen Anfragen ohne menschliches Eingreifen zu bearbeiten.

39933chatbots20feature20img-8425875

Inhaltsverzeichnis

  • Kurz über Chatbots
  • Was braucht man für Chatbots??
  • Arten von Chatbots
    • Regelbasierte Chatbots
    • Selbstlernende Chatbots
  • Chatbot mit Python
  • Chatbot mit Python und NLTK
  • Abschließende Anmerkungen

Kurze Einführung über Chatbot

Ein Chatbot ist eine intelligente Anwendung, die die menschliche Arbeit reduziert und einem Unternehmen hilft, grundlegende Kundenanfragen zu lösen. Heute, die meisten Unternehmen, Unternehmen aus verschiedenen Branchen, sie nutzen den Chatbot auf andere Weise, um ihren Kunden so schnell wie möglich zu antworten. Chatbots tragen auch dazu bei, den Website-Traffic zu erhöhen, Was ist der Hauptgrund für den Einsatz von Chatbots.

Chatbot fordert grundlegende Informationen von Kunden an, als der Name, die E-Mail-Adresse und die Anfrage. Wenn eine Abfrage einfach ist, als Produktfehler, Reservierungsfehler, brauche informationen, dann kann es ohne menschliche Verbindung automatisch gelöst werden und wenn ein Problem hoch ist, Geben Sie die Details an den menschlichen Kopf weiter und helfen Sie dem Kunden, sich leicht mit dem Manager der Organisation zu verbinden. Und die meisten Kunden mögen es, mit einem Chatbot umzugehen und mit ihm zu sprechen.

Warum brauchen wir Chatbots?

  • Kosten- und zeiteffektiv ~ Menschen können auf der Seite nicht aktiv sein. 24 Stunden des Tages, das 7 wochentags, aber Chatbots können und die Reaktionsfähigkeit von Chatbots ist viel schneller als die von Menschen.
  • Kosten der wirtschaftlichen Entwicklung ~ Mit dem Fortschritt der Technologie werden viele Tools entwickelt, die die Entwicklung und Integration von Chatbots mit geringen Investitionen erleichtern.
  • Personal ~ Heute, Chatbots können auch mit Text- oder Sprachtechnologie sprechen, So entsteht das Gefühl, dass ein Mensch von der anderen Seite spricht.
  • Marke ~ Unternehmen verändern sich mit der Technologie und der Chatbot ist einer davon. Chatbot hilft auch bei der Werbung, Branding der Produkte und Dienstleistungen der Organisation und bietet den Benutzern tägliche Updates.

Arten von Chatbots

Es gibt hauptsächlich 2 Arten von Chatbots.

1) Regelbasierte Chatbots – Wie der Name schon sagt, Es gibt bestimmte Regeln, nach denen der Chatbot arbeitet. Als Modell für maschinelles Lernen, Wir schulen Chatbots in Bezug auf Benutzerabsichten und relevante Antworten, und basierend auf diesen Absichten, der Chatbot identifiziert die Absicht und die Reaktion des neuen Benutzers darauf.

2) Selbstlernende Chatbots – Selbstlernende Bots sind sehr effizient, da sie in der Lage sind, die Absicht der Benutzer selbst zu erfassen und zu identifizieren. werden mit fortschrittlichen Machine-Learning-Tools und -Techniken erstellt, tiefes Lernen y PNL. Selbstlernende Bots werden wiederum unterteilt in 2 Unterkategorien.

  • Wiederherstellungsbasierte Chatbots: – Wiederherstellungsbasiert ist etwas ähnlich wie regelbasiert, wo vordefinierte Eingabemuster und Antworten eingebettet sind.
  • Chatbots generativos: – Es basiert auf dem gleichen Phänomen, auf dem auch die maschinelle Übersetzung basiert, nämlich der Erstellung einer rotes neuronales von Sequenz 2 Sequenzen.

Die meisten Unternehmen verwenden einen selbstlernenden Chatbot zusammen mit der Integration einiger Regeln als Hybridversion beider Methoden, Was macht den Chatbot mächtig, um jede Situation während eines Gesprächs mit einem Kunden zu bewältigen?.

Erstellen Sie mit Python eine für sich selbst

Wir haben jetzt ein immenses Verständnis der Chatbot-Theorie und ihrer zukünftigen Weiterentwicklung.. Machen wir uns die Hände schmutzig, indem wir einen einfachen regelbasierten Chatbot mit Python für uns selbst bauen.

Wir werden eine einfache GUI mit dem Python-Modul Tkinter entwerfen, mit der wir ein Textfeld und eine Schaltfläche erstellen, um die Absicht des Benutzers zu senden und, auf die aktion, Wir werden eine Funktion erstellen, in der wir die Absicht des Benutzers abgleichen und basierend auf seiner Absicht darauf reagieren. Wenn Sie das Tkinter-Modul nicht installiert haben, Installieren Sie es zuerst mit dem pip-Befehl.

pip install tkinter
aus tkinter-Import *
Wurzel = Tk()
root.titel("Chatbot")
def senden():
    senden = "Du -> "+e.bekommen()
    txt.insert(ENDE, "n"+senden)
    user = e.get().untere()
    Wenn(Benutzer == "Hallo"):
        txt.insert(ENDE, "n" + "Bot-> Hi")
    elif(Benutzer == "Hi" oder Benutzer == "Dies" oder Benutzer == "hiiii"):
        txt.insert(ENDE, "n" + "Bot-> Hallo")
    elif(e.bekommen() == "wie gehts"):
        txt.insert(ENDE, "n" + "Bot-> fein! Und Sie")
    elif(Benutzer == "fein" oder Benutzer == "ich bin gut" oder Benutzer == "Mir geht es gut"):
        txt.insert(ENDE, "n" + "Bot-> Groß! Womit kann ich Ihnen behilflich sein.")
    anders:
        txt.insert(ENDE, "n" + "Bot-> Es tut uns leid! Ich habe dich nicht verstanden")
    e.löschen(0, ENDE)
txt = Text(Wurzel)
txt.grid(Reihe=0, Spalte=0, Spaltenspanne=2)
e = Eintrag(Wurzel, Breite = 100)
e.grid(Reihe=1, Spalte=0)
senden = Schaltfläche(Wurzel, text="Senden", Befehl=senden).Netz(Reihe=1, Spalte=1)
root.mainloop()

Erläuterung – Zuerst haben wir ein leeres Fenster erstellt, danach, Wir erstellen ein Textfeld mit der Eingabemethode und ein Schaltflächen-Widget, das beim Aktivieren der Anrufe, Funktion senden und, Im Gegenzug, die Antwort vom Chatbot erhalten. Wir haben eine einfache If-else-Kontrollanweisung verwendet, um einen einfachen regelbasierten Chatbot zu erstellen. Und Sie können mit dem Chatbot interagieren, indem Sie die Anwendung über die Benutzeroberfläche ausführen, und Sie können das Ergebnis wie unten gezeigt sehen.

76583simple20chatbot-3621175

Chatbot-Implementierung mit der Python NLTK-Bibliothek

NLTK steht für Natural Language Toolkit für den Umgang mit NLP-Anwendungen und der Chatbot ist einer davon. Wir werden jetzt unsere regelbasierten Chatbots mithilfe der NLTK-Bibliothek weiterentwickeln. Installieren Sie zuerst die NLTK-Bibliothek, bevor Sie mit dem pip-Befehl arbeiten.

pip install nltk

Als erstes importieren Sie die Bibliothek und die Klassen, die wir verwenden müssen.

nltk importieren
aus nltk.chat.util Chat importieren, Reflexionen
  • Plaudern – Der Chat ist eine Klasse, die eine vollständige Logik enthält, um die Textdaten, die der Chatbot empfängt, zu verarbeiten und nützliche Informationen daraus zu finden.
  • Reflexionen – Ein weiterer Import, den wir durchgeführt haben, sind Reflexionen, Dies ist ein Wörterbuch, das die grundlegende Eingabe und die entsprechenden Ausgaben enthält. Sie können auch Ihr eigenes Wörterbuch mit mehr gewünschten Antworten erstellen. Wenn Sie Reflexionen drucken, ist es ungefähr so ​​​​.
Reflexionen = {
  "ich bin"       : "Sie sind",
  "ich war"      : "Du warst",
  "ich"          : "Sie",
  "ich bin"        : "Sie sind",
  "ich würde"        : "du würdest",
  "ich habe"       : "Sie haben",
  "ich werde"       : "Du wirst",
  "mein"         : "Ihre",
  "Sie sind"    : "ich bin",
  "Du warst"   : "ich war",
  "du hast"     : "Ich habe",
  "du wirst"     : "ich werde",
  "Ihre"       : "mein",
  "dein"      : "Bergwerk",
  "Sie"        : "mich",
  "mich"         : "Sie"
}

Beginnen wir mit dem Aufbau der Logik für den NLTK-Chatbot.

Nach dem Importieren der Bibliotheken, Zuerst müssen wir Regeln erstellen. Die unten gezeigten Codezeilen erstellen ein einfaches Regelwerk. die erste Zeile beschreibt die Benutzereingaben, die wir als Roh-String-Eingabe genommen haben und die nächste Zeile ist unsere Chatbot-Antwort. Sie können diese Paare entsprechend den gewünschten Fragen und Antworten ändern.

Paare = [
    [
        R"Ich heisse (.*)",
        ["Hallo %1, Wie geht es dir heute ?",]
    ],
    [
        R"Hi|Hey|Hallo",
        ["Hallo", "Sie da",]
    ], 
    [
        R"wie heissen Sie ?",
        ["Ich bin ein von DataPeaker erstellter Bot. du kannst mich verrückt nennen!",]
    ],
    [
        R"wie gehts ?",
        ["Mir geht es gut. Wie geht es dir? ?",]
    ],
    [
        R"Verzeihung (.*)",
        ["Es ist in Ordnung","Es ist in Ordnung, egal",]
    ],
    [
        R"Mir geht's gut",
        ["Schön das zu hören, Womit kann ich Ihnen behilflich sein?",]
    ],
    [
        R"ich bin (.*) Gutes tun",
        ["Schön das zu hören","Womit kann ich Ihnen behilflich sein?:)",]
    ],
    [
        R"(.*) Alter?",
        ["Ich bin ein Computerprogramm, Alter. Ernsthaft, du fragst mich das??",]
    ],
    [
        R"was (.*) wollen ?",
        ["Mach mir ein Angebot, das ich nicht ablehnen kann",]
    ],
    [
        R"(.*) erstellt ?",
        ["Raghav hat mich mit Pythons NLTK-Bibliothek erstellt ","streng geheim ;)",]
    ],
    [
        R"(.*) (Lage|Stadt) ?",
        ['Indore, Madhya Pradesh',]
    ],
    [
        R"wie ist das wetter in (.*)?",
        ["Wetter in %1 ist wie immer toll","Zu heißer Mann hier in %1","Zu kalt, Mann hier in %1","Noch nie davon gehört %1"]
    ],
    [
        R"ich arbeite in (.*)?",
        ["%1 ist ein tolles Unternehmen, Ich habe davon gehört. Aber sie sind in diesen Tagen in großen Verlusten.",]
    ],
    [
        R"(.*)es regnet (.*)",
        ["Kein Regen seit letzter Woche hier in %2","Verdammt, es regnet zu viel hier in %2"]
    ],
    [
        R"wie (.*) Gesundheit(.*)",
        ["Ich bin ein Computerprogramm, also bin ich immer gesund ",]
    ],
    [
        R"(.*) (Sport|Spiel) ?",
        ["Ich bin ein großer Fußballfan",]
    ],
    [
        R"Wer (.*) Sportler ?",
        ["Chaotisch","Ronaldo","Roony"]
    ],
    [
        R"Wer (.*) (Filmstar|Schauspieler)?",
        ["Brad Pitt"]
    ],
    [
        R"Ich suche Online-Anleitungen und Kurse zum Erlernen von Data Science, Kannst du empfehlen?",
        ["Crazy_Tech hat viele tolle Artikel mit Erklärungen zu jedem Schritt zusammen mit Code, du kannst erkunden"]
    ],
    [
        R"Verlassen",
        ["BBye pass auf dich auf. Seh dich später :) ","Es war schön, mit Ihnen zu sprechen. Seh dich später :)"]
    ],
]

Nach dem Erstellen von Regelpaaren, Wir werden eine Funktion definieren, um den Chat-Prozess zu starten. Die Funktion ist ganz einfach, Begrüßen Sie zuerst den Benutzer und bitten Sie um Hilfe. Und die Konversation beginnt von hier aus, indem Sie eine Chat-Klasse aufrufen und ihnen Paare und Reflexionen übergeben.

def chat():
    drucken("Hi! Ich bin ein Chatbot, der von DataPeaker für Ihren Service erstellt wurde")
    Katze = Katze(Paare, Reflexionen)
    chat.converse()
#das Gespräch einleiten
wenn __name__ == "__hauptsächlich__":
    Plaudern()

Wir haben einen erstaunlichen regelbasierten Chatbot erstellt, indem wir nur die Python-Bibliothek und NLTK verwenden. das nltk.chat arbeitet mit verschiedenen Regex-Mustern, die in der Benutzerabsicht vorhanden sind, und, entsprechend ihr, Präsentieren Sie die Ausgabe einem Benutzer. Lassen Sie uns die App ausführen und mit Ihrem erstellten Chatbot chatten.

43199nltk_chatbot-1602273

Abschließende Anmerkungen

Chatbots sind die führende Anwendung für die Verarbeitung natürlicher Sprache und können heute einfach erstellt und in verschiedene Websites und Social-Media-Websites integriert werden.. Heute, Die meisten Chatbots werden mit Tools wie Dialogflow erstellt, GESCHMACK, etc. Dies war eine kurze Einführung in Chatbots, um ein Verständnis dafür zu vermitteln, wie sich Unternehmen mithilfe von Data Science und künstlicher Intelligenz transformieren..

Vielen Dank, dass Sie den Artikel bis zum Ende verfolgt haben.. Wenn Sie eine Frage haben, poste es im Kommentarbereich unten. Wenn dir der Artikel gefällt, Lesen Sie auch meine anderen Artikel über diesen Link.

Über den Autor

Raghav Agrawal

Ich studiere Informatik. Ich mag Data Science und Big Data sehr. Ich liebe es, mit Daten zu arbeiten und neue Technologien zu lernen. Bitte, melde dich gerne bei mir Linkedin.

Die in diesem Artikel gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.

Datenlautsprecher