Events
Transformers in Aktion - Anwendung von Transformer-Modellen zum Verständnis von Kundeninteraktionen
Dr. Tae-Gil Noh von OMQ erklärt die Probleme und Herausforderungen, die überwunden werden müssen, um modernste Transformer Modelle wie BERT und GPT, im Kundenservice einzusetzen.
Im Januar 2020 hat unser Kollege Dr. Tae-Gil Noh vom OMQ-Entwicklungsteam einen Vortrag bei unserem AI for Business Meetup in Berlin gehalten. Dabei ging es um Transformer-Modelle im Kundenservice.
In diesem Artikel wollen wir diesen Vortrag zusammenfassen und einen Einblick darüber geben, welche Art von Technologie wir nutzen und was wir bis jetzt für Erfahrungen mit Transformer-Modellen gemacht haben.
Natural Language Understanding (NLU)
Die wichtigste Aufgabe der NLU besteht darin herauszufinden, ob ein bestimmter Anfragetext einem Eintrag in der zentralen Wissensdatenbank zugeordnet werden kann. Es handelt sich also um einen Text-zu-Text-Vergleich und eine Entscheidung, die im Anschluss getroffen wird.
Ein Beispiel dafür ist, dass: “Ich will mein Geld zurück” im E-Commerce-Kontext mit “Rückerstattung” übereinstimmt, was die Maschine erkennen sollte. Allerdings ist es bei diesem Prozess auch wichtig, dass festgestellt wird, wenn gewisse Begriffe und Anfragen nicht miteinander übereinstimmen. Diese Aufgaben bilden das Zentrum dieser Engine und somit des gesamten Textvergleichs.
Drei Repräsentationen, die OMQ zur Zeit nutzt, sind die folgenden:
Klassisches Suchmodell
Das klassische Suchmodell wird nicht trainiert. Es arbeitet mit lemmatisierten Tokens und trifft Entscheidungen mit einem klassischen IR-Rating-Score.
Dabei arbeitet es so: Der Input Satz “Gestern haben wir zwei Hunde gesehen, die parallel im Park gelaufen sind” wird folgendermaßen tokenisiert: [Gestern, haben, wir, zwei, Hunde, gesehen, die, parallel, im, Park, gelaufen, sind.]. Nach der Lemmatisierung und der Beseitigung von nicht-nützlichen Wörtern, wird aus dem Satz: [gestern, zwei, Hunde, sehen, parallel, Park, laufen.]. Wörter wie “sehen”, “laufen” und “Hund” werden dabei für die Suche in ihre Ausgangsform gebracht.
Shallow Neural Network Model
Die Engine konvertiert Text in einen Darstellungsraum, vergleicht dann zwei Darstellungen und entscheidet schließlich, ob die Bedeutung semantisch äquivalent ist oder nicht. Intern gibt es mehrere Darstellungen. Wir arbeiten mit einem oberflächlichen neuronalen Netzmodell, das wir als WordVector-basiertes Modell und Kompositionsmodell trainiert und schließlich in einem gemeinsamen Modell kombiniert haben. Es gibt vortrainierte Unterwortvektoren, wobei das Fine-Tuning dieses gemeinsamen Modells auf Domänendaten basiert und sowohl selbstlernend als auch unter Aufsicht funktioniert.
Die Darstellung lernt mit einem einzigen Vektor innerhalb des Konzeptraums. Scheint es sich bei einer Anfrage um dasselbe Thema zu handeln, welches auch in der Wissensdatenbank vorkommt, wird an diesem Punkt die Ähnlichkeitsmetrik verwendet, um zu entscheiden, ob dies tatsächlich der Fall ist oder nicht.
Deep Neural Network Model
Bei diesem Modell handelt es sich um ein etwas tieferes bzw. größeres neuronales Netzwerkmodell, bei dem Transformers verwendet werden. Vortrainierte Transformers werden auf die Domaindaten abgestimmt und arbeiten sowohl unsupervised als auch supervised. Die Ausgabe ist nicht ein einzelner Vektor, sondern eine Folge von Vektoren, die die vollständige syntaktische und semantische Information des Textes enthält. Letztendlich trifft ein Task Layer eine Entscheidung.
Transformers: DAS Modell für NLP
2019 war der Wendepunkt für neuronale Netzwerkmodelle. Zuvor waren die Modelle zu schwach und konnten nicht alle Daten erfassen, die ihnen gegeben wurden. Sind genügend Daten gegeben, erkennt das Modell nun ihre Bedeutung und reproduziert diese.
Natural Language Processing Engines sind Transformer-Modelle. Unter anderem basieren Google BERT und Facebook XLM auf demselben Neural Network Mechanismus, welcher in diesem Fall der Self-Attention-Mechanismus ist.
OMQ führt nach und nach Transformer-basierte Modelle in seine Produkte ein. Die folgenden 5 Aspekte haben wir während unserer Arbeit an diesen Modellen gelernt:
1. Hohe Berechnungskosten sind kein Hindernis
Ein häufiges Vorurteil gegenüber Transformer-Modellen ist, dass sie zu langsam sein könnten. Tatsächlich sind diese Modelle berüchtigt für ihre schweren Berechnungen. Allerdings nimmt das Training jedes Modells mit so vielen Parametern und so vielen Daten immer zwangsläufig viel Zeit in Anspruch. Es wird auch nichts von Grund auf neu trainiert. Die Wahl eines vortrainierten Modells erfordert Fine-Tuning, welches aber nicht unbedingt kostspielig sein muss.
Kritischer ist dagegen die Inferenzzeit. Durch sie steht und fällt die CPU (= Central Processing Unit). Man muss in der Lage sein, die CPU zu skalieren. Durch die Skalierung kann eine zeitnahe Inferenz mit vertretbarem Rechenaufwand erreicht werden.
2. Fine-Tuning: schnelles Lernen/langsames Lernen
Eine Möglichkeit, sich die Wirkung des Fine-Tunings an vortrainierten Modellen vorzustellen, ist der “Kraft-Multiplikator”. Vorstellen kann man sich diesen so, als würde man alleine einen Gegenstand schieben, aber die Hilfe von einer Kraft bekommen, wodurch man letztendlich mit der Kraft von zehn Leuten schiebt. Wenn das Modell vortrainiert ist und bereits thematische Bezüge, Paraphrasen und einfache Argumentationen kennt, muss also nur ein Beispiel gegeben werden, weil es in der Lage ist, dieses schnell zu verallgemeinern.
Allerdings funktioniert nicht jede Art von Verallgemeinerung auf diese Weise. Meistens basieren die Transformer-Modelle auf Sprachmodellen und kennen im Allgemeinen noch keine Negationen und Voraussetzungen. Daher ist die Verallgemeinerung in diesen Fällen langsamer. Wenn die Voraussetzungen für die Lösung einer Anfrage noch nicht vortrainiert sind, wird immer noch eine große Menge an Daten benötigt.
3. Self-Supervised Training sollte in die Domain einbezogen werden
Die Standardschritte bei der Verwendung von vortrainierten Transformer sind folgende:
- Schritt 1: Wählen Sie einen ausreichend vortrainierten Transformer aus
- Schritt 2: Trainieren Sie Ihren Domain-Text mit self-supervised Aufgaben weiter
- Schritt 3: Fine-Tuning der Aufgabendaten
Die self-supervised Task des Pre-Trainings lässt sich leicht aus einem unbeschrifteten Korpus generieren. Dieser kann z.B. ein verdecktes Wort oder den nächsten Satz vorhersagen. Domaindaten haben jedoch noch mehr zu bieten. Auch wenn die Webskalierung sehr gut ist, gibt es Dinge, die nur durch den Domain-Text aufgegriffen werden können.
4. Mehrsprachige Transformers sind von Vorteil
Mehrsprachige Transformers sind Transformer-Modelle, die in mehreren Sprachen vortrainiert sind und daher die Fähigkeit haben, mehrsprachige Darstellungen zu erstellen. Bei der Verteilung von Daten über Sprachen hinweg schneiden mehrsprachige Transformer sehr gut ab.
Allerdings sind nicht alle Sprachpaare gleich. Während Englisch, Französisch und Deutsch recht gut funktionieren, gestaltet sich der Vorgang bei Sprachen wie Koreanisch oder Chinesisch als relativ schwierig. Zudem muss die Vokabulargröße beachtet werden, denn für einige Sprachen gibt es nur ein begrenztes Vokabular. Dadurch funktioniert das Modell in diesen Fällen nicht optimal.
5. Datenaufbereitung ist wichtig (wie immer)
Transformers haben die Fähigkeit, über Syntax und Semantik hinweg zu verallgemeinern. Gibt man ihnen dabei aber gibt die Chance zu schummeln, dann tun sie das auch und bleiben bei einfachsten Erklärungen stecken.
Außerdem kann eine unbeabsichtigte Verzerrung in das System gelangen, insbesondere wenn die Datenmenge klein ist. Transformers können gut mit verschiedenen Problemen, wie z.B. Überanpassung und Vergessen, umgehen. Schwachstellen können ebenfalls schneller gefunden werden. Zur Lösung der Probleme muss eine gut konzipierte Trainingsdatenaufbereitung gegeben sein.
Die neue Darstellung: Verbesserungen
Das neue Modell geht besser mit der Satzstruktur um. Stellt der Kunde die Anfrage: “Ich möchte ein 2. Fotobuch in meinen Warenkorb legen”, weiß das Modell, dass mit “in meinen Warenkorb legen” bedeutet “bestellen”. Ein weiteres Beispiel dafür ist die Frage: “Kann ich mein letztes Fotobuch noch einmal drucken lassen?”, die die KI mit der Frage “Wie kann ich eine Nachbestellung machen?” verknüpft.
Die neue Darstellung handhabt Nuancen und den sprachübergreifenden Abgleich besser. Das System kann daher bei Anfragen sprachübergreifende Übereinstimmungen melden. Wenn es eine englische Anfrage gibt, die lautet: “How to unlock previously purchased downloads?”, bei welcher es z.B. 14 niederländische Anfragen gibt, die dem Ergebnis zu entsprechen scheinen, wird das System dies melden.
Zusammenfassung
Vortrainierte Transformer-Modelle können mit fast jedem sprachlichen Phänomen umgehen, wenn ihnen genügend Daten zur Verfügung stehen. Das Pre-Training funktioniert dabei wie ein Kraft-Multiplikator, welcher eine kleine Datenmenge dazu bringt, besser zu funktionieren, was jedoch mit Vorsicht zu betrachten ist. Das Transformer-Modell ist zudem in der Lage, eine Vielzahl von Ausdrücken in natürlicher Sprache wiederzugeben.
OMQ führt diese Modelle derzeit für ausgewählte Kunden und Dienstleistungen ein. Unser Ziel ist es, die neuesten Fortschritte in der NLP-Forschung auf den Markt zu bringen, und wir möchten diesen Prozess mit euch teilen. In unserem OMQ Magazine gibt es Texte über die Kundenservice Automatisierung und unser System, sowie über Use Cases und Interviews mit Experten. Auch die NLP Forschung wird dadurch greifbar. Wir freuen uns, Sie auf dem Laufenden zu halten! :)
Hier geht es zu den Folien der Präsentation: PDF - Transformers in Action