FAQs ChatBot
Eine automatische Antwort zu bekommen ist magisch!! es ist die echte KI (erinnern Sie sich an den Turing-Test?)
Bei diesem Projekt handelt es sich um ein einfaches Frage-Antwort-basiertes Chatbot-Framework (atomare Abfrage). Verwendet Ähnlichkeit basierend auf verschiedenen Vektorisierern, um die passende Frage zu finden und antwortet dann mit der entsprechenden Antwort.
Anwendungsbereich:
- Große Nachfrage, sich um alltägliche Fragen zu kümmern
- Skalen (Hebelwirkung, Automatisierung, passiv)
- Nicht viel Arbeit im umgangssprachlichen Chatbot (der Menschlichkeit dienen)
Hinweise:
- Dieser Chatbot basiert zunächst auf der Kategorieklassifizierung und dann auf der Ähnlichkeit innerhalb der ausgewählten Kategorie.
- Anders als das beliebte Open-Source-Chatbot-Framework Rasa, bei dem NLU auf Absichten und Entitäten basiert, während das Dialogmanagement auf Sequenz-/LSTM-Vorhersage basiert.
- Vom Konzept her ähnelt es dem QnA Maker von Microsoft. Der große Unterschied besteht jedoch darin, dass Ihre Modelle lokal wären, wenn Sie die gesamte Github-Codebasis vollständig erfassen würden. Nichts auf dem Server. Also bessere Sicherheit, insbesondere für Chatbots mit sensiblen Daten wie HR oder Finanzen.
Copyright (C) 2019 Yogesh H. Kulkarni
Zu erledigen
- Implementieren Sie die Satzeinbettung über HuggingFace oder Spacy
- Erstellen Sie eine vollständige FAQ-Chatbot-Plattform mit umschaltbaren Einbettungen
- [Neu] LangChain + Vector Db wie GPT-Index oder Pinecone (Cloud) können zur Durchführung von FAQs verwendet werden
So funktioniert es:
- Sie stellen FAQs in Form einer CSV-Datei (durch Kommas getrennte Datei) mit Frage-Antwort-Klasse in jeder Zeile bereit (z. B. „Was ist der GST-Satz für Zahnpasta?,12,Satz“).
- Fragen werden vektorisiert und zusammen mit dem Klassifikatormodell [X=Vektor(Frage), y=Klasse] zum Abgleich bereitgehalten.
- Sobald eine Benutzeranfrage eingeht, wird ihre „Klasse“ mithilfe des Klassifikatormodells vorhergesagt und innerhalb der Klasse wird die vektorisierte Anfrage mit vorhandenen vektorisierten Fragen abgeglichen.
- Die Antwort, die am ähnlichsten ist, wird dem Benutzer angezeigt.
Skripte:
- app.py: Mit Flask erstellte Chatbot-Benutzeroberfläche unter Verwendung von templates/*.html
- bankfaqs.py: Chatbot-Kernlogik sowie Wissensdatenbank.
Sonstige Daten:
- FAQs: CSV-Dateien mit Fragen und Antworten
- statisch und Vorlagen: Flask-UI-bezogene Dateien
Ausführen:
- Führen Sie app.py aus
- Öffnen Sie http://127.0.0.1:8080/ im Browser
- Beginnen Sie mit dem Chatten
Abhängigkeiten:
- Benötigt Python 3.6, Numpy, Scipy, Sklearn
Referenzen
- Bhavani Ravis Event-Bot-Code, Youtube-Video
- Banking-FAQ-Bot-Code
Haftungsausschluss:
- Der Autor ([email protected]) übernimmt keine Garantie für die Ergebnisse des Programms. Es ist einfach ein lustiges Drehbuch. Es müssen noch viele Verbesserungen vorgenommen werden. Verlassen Sie sich also überhaupt nicht darauf.