Das Zentrum Data Science/ Künstliche Intelligenz bei Davidson Consulting befindet sich gerade in vollem Aufschwung.

Seine Aufgabe besteht darin, sowohl den internen Anforderungen (unser intelligentes Intranet DUTLER) als auch denen unserer Kunden aus verschiedensten Branchen (Finanzwesen, Telekommunikation, Energie usw.) gerecht zu werden. Daher ist es selbstverständlich, dass wir uns für Chatbots interessieren.

Feststellung: Die Standard-Bots auf dem Markt liefern je nach den vorab gespeicherten Daten in einer festen Baumstruktur, die im Vorfeld im Backoffice erstellt wird, sowohl Fragen als auch Antworten. Dies erweist sich in einer zielgerichteten und geschlossenen Umgebung als nützlich und interessant. Aber in einem sich ständig wandelnden Umfeld mit regelmäßigen Änderungen bezüglich des Bot-Produkts oder -Dienstes verursacht dieser Ansatz nicht unerhebliche Personalkosten (permanente Aktualisierungen).

Die durch unsere Datenwissenschaftler hervorgebrachte Innovation besteht demnach darin, die einfachen, festen Entscheidungsregeln zu überschreiten, um einen generativen Algorithmus einzuführen, der selbst Antworten auf Fragen erstellen kann, und zwar Wort für Wort. Der Chatbot generiert in der Regel eine stabile Antwort auf mehrere mögliche Formulierungen einer selben Frage, die von den Nutzern gestellt wird. Er ist außerdem zu 80 % generisch und auf verschiedene Kontexte übertragbar.

Dafür verwenden wir die „Deep Learning“-Methoden und genauer gesagt wiederkehrende Neuronennetze.  Ein besonderes wiederkehrendes Netzwerk ist das „Sequence to sequence“, das 2017 zum ersten Mal erschien und für das wir uns entschieden haben. Wie man in der Abbildung weiter unten sehen kann, setzt es sich aus einem Netzwerk-„Paar“ zusammen: einem Codiersystem, um die Frage zu „verstehen“, und einem Decodiersystem, um die Antwort Wort für Wort zu generieren.

Wir stützen uns vorab auf Verarbeitungsmethoden der natürlichen Sprache oder Natural Language Processing (NLP) und im Nachhinein auf API REST, um aktuelle Informationen über externe Dienste zu erhalten (die in die Antwort einzufügen sind). Daraus ergibt sich folgende Architektur:

Vor dem Training starten wir eine Phase der Datenerhöhung am Eingang des Algorithmus, um das Modell so gut wie möglich an die Schreibstile der Nutzer anzupassen und es dazu zu bringen, den Sinn einer Frage zu erfassen, egal wie sie gestellt wird. Zu dieser Erhöhungsphase kommt auch eine Reinigungsphase (oder Data Preprocessing). Wir entfernen Sonderzeichen, nutzen eine Word2vec-Darstellung zur Reduzierung der Dimensionalität, erkennen das Vorhandensein regelmäßiger besonderer Ausdrücke, die Informationen über den verbundenen Nutzer entsprechen usw. Das Training des Netzwerks findet danach mithilfe der „Back Propagation“-Methode statt, bei der es sich um eine kostspielige Aufgabe in Sachen Berechnungen handelt und die uns in unserer Entscheidung bestärkt hat, die GPU-Leistung für die Durchführung zu nutzen. Es erfolgt in mehreren Schritten:

Natürlich bewerten wir unser Modell, bevor wir es zum Einsatz bringen. Wir testen seine Speicherkapazität für Informationen, die aus den Trainingsdaten stammen (vs. proportional zum Training Loss weiter unten), sowie seine Kapazität, auf Fragen zu antworten, die während des Trainings nicht bearbeitet wurden (vs. proportional zum Validation Loss weiter unten). Je weiter wir im Training fortschreiten (Anzahl der „Epochen“), desto weiter reduzieren sich diese Fehler und ihre Konvergenz zu einem Minimum ist ein Indikator für die Funktionsweise des Trainings und die Kapazität des Modells, sich auszubreiten.

Wenn das Training unseres Chatbots abgeschlossen ist, kann er sich ausbreiten und auf Fragen antworten, die nicht unbedingt in der Trainingsbasis vorkommen. Der Chatbot erhält die gestellte Frage, führt die Vorverarbeitung (Preprocessing) durch und generiert die Antwort Wort für Wort (ohne Entscheidungsbaum: das ist die wichtigste Innovation!). Die generierte Antwort ist ein Antwort-„Template“, das häufig mit Informationen aus dem Post Parsing von externen Diensten (API Rest) vervollständigt wird. Dieses „Template“ ist semantisch gesehen vollständig, aber es fehlen Elemente, die zum Beispiel mit der Geolokalisierung, Finanzbeträgen usw. zusammenhängen können.

Der Chatbot entscheidet über die Suche-Tools, um die Antworten, die er liefert, zu vervollständigen (er kann nicht nur sprechen „wie ein Großer“, sondern auch mit anderen Anwendungen Beziehungen pflegen 🙂 ).

Wir bieten Ihnen einen Überblick über die ersten Ergebnisse von „DAVE“, unserem Chatbot. Diese beruhen auf verschiedenen Szenarien, die seine Anpassungsfähigkeit an mehrere Kontexte unter Beweis stellen. Im folgenden Video wird das Ergebnis der Generierung des Antwort-„Template“ durch ein trainiertes Netzwerk ohne Hilfe der REST API gezeigt. Der vorliegende Kontext ist die Anfrage nach Informationen zu Bewegungen auf einem Bankkonto und die Patterns xxxtarifxxx und xxxlibelléxxx geben an, dass das Modell diese Informationen mithilfe von externen Diensten suchen muss.

Und nun die vollständige Generierung mit der API, die eine Verbindung mit einem simulierten Dienst intern herstellt.

Unser Motor kann auch einen Geolokalisierungskontext bearbeiten, insbesondere von Bankfilialen in der Nähe einer Adresse. Dabei versteht er alle Fragen zur Geolokalisierung einer Filiale und generiert Antworten mithilfe der API Google Maps.

Was geschieht, wenn die Adresse nicht präzise genug ist? Unser Modell ist intelligent genug, um nach Einzelheiten zu fragen und sie in seiner Analyse zu berücksichtigen.

Durch die UX / UI von Colorz und seinen künstlerischen Leitern erhalten Sie den Besten unter den Chatbots.

Nächster Schritt: Einführung der Spracherkennung. Bis bald zur 2. Folge der Abenteuer mit „DAVE“

 

Nous
rejoindre
DAVIDSON Level Up
0
Connecting
Please wait...
Send a message

Sorry, we aren't online at the moment. Leave a message.

Your name
* Email
* Describe your issue
Login now

Need more help? Save time by starting your support request online.

Your name
* Email
* Describe your issue
We're online!
Feedback

Help us help you better! Feel free to leave us any additional feedback.

How do you rate our support?