Natural Language Understanding Algorithmen im Vergleich

26.04.2022

Smarte Geräte überall – egal ob man seine Lichter über einen smarten Assistenten wie Google Home oder Amazon Alexa steuert, eine Google Suche per Sprache tätigt oder den Kontakt zu einem Unternehmen über einen Chatbot auf deren Webseite aufnimmt.

In all diesen Fällen wird die Eingabe dabei von einer Maschine entgegengenommen und weiterverarbeitet. Zur Verarbeitung dieser Spracheingabe werden Natural Language Understanding (NLU)-Modelle genutzt. Aus der Vielzahl verfügbarer Modellanbieter konnte ich im Rahmen meiner Masterarbeit bei doubleSlash einige Keyplayer vergleichen und die Kernaussagen in diesem Beitrag teilen.

Anbieterauswahl der NLU Modelle

Drei Kernanbieter für NLU-Modelle wurden ausgewählt. Diese drei Modelle zeichnen sich jeweils durch einen anderen Fokus aus:

  1. BERT von Google legt den Fokus auf eine hohe Anpassbarkeit und Flexibilität, deshalb ist das Modell auch frei herunterlad- und verwendbar.
  2. LUIS von Microsoft konzentriert sich auf die Cloud. Aus diesem Grund gehört LUIS zu den Cognitive Services und kann über ein Webinterface und eine API bedient werden.
  3. Rasa stammt vom gleichnamigen Unternehmen (in der Open Source Version). Dabei handelt es sich um eine All-in-One-Lösung, die lokal betrieben und selbst gehostet werden kann. Für den Vergleich wurde nur die Language Understanding Komponente, Rasa NLU, verwendet.

Anwendungsfall zum Vergleich der NLU Modelle

Um die Leistung der ausgewählten Modelle zu testen und zu vergleichen, wurde ein typischer Anwendungsfall gewählt: Aus einem Satz (Utterane) wird mithilfe des Modells die Hauptabsicht (Intent) ermittelt (siehe Abb. 1). Zusätzlich können noch verschiedene relevante Details und Zusatzangaben extrahiert werden (Entitäten).

 

Beispielsatz mit den verschiedenen Satzelementen
Abbildung 1: Beispielsatz mit den verschiedenen Satzelementen; Bildquelle: Eigene Darstellung

Alle drei Modelle sind bereits vorangepasst und können mittels eines anwendungsspezifischen Datensatzes nachtrainiert werden. Aufgrund mangelnder Datenverfügbarkeit in deutscher Sprache wurde ein allgemeiner englischer Datensatz genutzt. Dieser enthält für sieben Hauptabsichten insgesamt ca. 2000 Beispielsätze.

NLU Modellvergleich

Workflow der Modelle

Der Weg von den Beispielsätzen zum einsatzfähigen Modell beschreibt der Workflow, wie in Abbildung 2 dargestellt. Hier unterscheiden sich die Modelle: Dabei besteht der Hauptunterschied der Modelle in der Vorbereitung der Daten, da es für einige Standardaktionen, wie beispielsweise die Verwaltung von E-Mails bei LUIS, bereits eine vordefinierte Funktionalität gibt. Hierfür werden dementsprechend keine Daten benötigt und die Funktion kann direkt out-of-the-Box verwendet werden. Der zweite große Unterschied besteht in der Sprachverfügbarkeit. Bei BERT kann nicht einfach die Sprache eingestellt werden wie bei LUIS und Rasa, sondern es wird ein vortrainiertes Modell für die jeweilige Sprache benötigt.

Darüber hinaus muss bei BERT die Architektur des Modells angepasst werden, wenn ein neuer Intent hinzugefügt wird. Bei Rasa und LUIS wird der neue Intent lediglich zum Modell hinzugefügt. Daraufhin muss bei allen drei Modellen trainiert und getestet werden, bevor das Modell einsatzfähig ist. Beim Hinzufügen eines neuen Beispielsatzes muss bei BERT das Modell mit den Daten inklusive der neuen Utterance nachtrainiert und daraufhin getestet werden. Bei Rasa und LUIS dagegen wird die Beispiel-Utterance zum Modell hinzugefügt und das Modell wird erneut trainiert und getestet.

 

Workflow der verschiedenen Modelle
Abbildung 2: Workflow der verschiedenen Modelle; Bildquelle: Eigene Darstellung

Der Vergleich

Die Modelle wurden nach unterschiedlichen Kriterien bewertet. Dazu gehören insbesondere:

  • Pre-built-Funktionalität: Grad der direkten Nutzbarkeit, ohne weitere Modifikationen
  • Erweiterbarkeit: Hinzufügen einer weiteren Hauptabsicht
  • Integrierbarkeit: bereitgestellte Schnittstellen und integrierte Funktionen
  • Wartbarkeit: kleinere Änderungen am Modell, wie das Hinzufügen weiterer Beispielsätze
  • Workflow: der oben dargestellte Ablauf bei der Verwendung der Modelle

In der folgenden Tabelle reicht die Bewertungsskala der Kriterien von ⊕ -> “durchschnittlich“ bis ⊕⊕⊕ -> „sehr gut“

Modell Hardwareanforderungen Pre-built Funktionalität Erweiterbarkeit Integrierbarkeit Wartbarkeit Programmiersprachen Unterstützte Sprachen
BERT ⊕⊕⊕ ⊕⊕⊕ ⊕⊕
LUIS ⊕⊕⊕ ⊕⊕⊕ ⊕⊕⊕ ⊕⊕⊕ ⊕⊕⊕ ⊕⊕ ⊕⊕
Rasa ⊕⊕* ⊕⊕ ⊕⊕⊕ ⊕⊕* ⊕⊕⊕ ⊕⊕

*abhängig vom verwendeten Modell (Free vs. Enterprise)

Die Tabelle zeigt, dass alle Modelle unterschiedliche Stärken und Schwächen besitzen. Allerdings stellt LUIS unter Betrachtung der Kriterien das beste Komplettpaket dar, da es eine umfangreiche Ausstattung mitbringt. Darauf folgt Rasa mit einer ähnlichen Ausstattung, nur müssen hier einige zusätzliche Hürden genommen werden, z.B. das Deployment des Bots oder das aufwendige Verwalten der Dateistruktur. Den höchsten Aufwand erfordert BERT, da hier vor allem  die höheren Anforderungen an die Hardware und den Nutzenden zu Tragen kommen.

Performance Kennzahlen der NLU Modelle

Für die Leistungsbeurteilung der Modelle wurden alle Modelle mit verschieden großen Teildatensätzen trainiert und getestet. Die Ergebnisse sind in Abbildung 3 dargestellt. Die unterschiedlichen Modelle zeigen auf Datensätzen adäquater Größe ähnlich gute Ergebnisse. Bei sehr kleinen Datensätzen fällt Google BERT dagegen stark ab, während die anderen Modelle nur leichte Einbrüche zeigen.

Leistung der Modelle
Abbildung 3: Leistung der Modelle; Bildquelle: Eigene Darstellung

Fehleranfälligkeit der NLU Modelle

Um die Fehleranfälligkeit zu überprüfen, wurde ein Teil der Testdaten angepasst und mit einem oder mehreren der folgenden Fehler versehen:

  1. Buchstabendreher (Liebe->Leibe).
  2. doppelte Buchstaben (Liebe -> Liiebe).
  3. fehlende Buchstaben (Liebe->Lieb).

Die folgende Darstellung zeigt die jeweilige Modellperformance mit fehlerbehafteten Testdaten, sowie in verblassten Farben als Benchmark die Modellperformance mit dem fehlerfreien Datensatz. Rasa kann die Fehler am besten verkraften, dicht gefolgt von LUIS. BERT bildet knapp das Schlusslicht, wobei die Leistung, speziell bei einem kleinen Teildatensatz, sehr stark abfällt.

Leistung der Modelle mit fehlerbehafteten Testdaten
Abbildung 4: Leistung der Modelle mit fehlerbehafteten Testdaten; Bildquelle: Eigene Darstellung

 

Fazit

Abschließend lässt sich festhalten, dass alle drei untersuchten Modelle ihre spezifischen Stärken und Schwächen haben:

  • BERT: Liefert sehr gute Performance beim Datensatz ohne Fehler bei einer großen Menge von Trainingsdaten; schlechte Leistung, wenn wenig Trainingsdaten vorhanden sind.
  • LUIS: Funktioniert gut, wenn ein gängiger Anwendungsfall implementiert werden soll, da hier die Wahrscheinlichkeit groß ist, dass dieser von LUIS ohne Trainingsdaten bereitgestellt werden kann; schlecht, wenn keine stabile Internetverbindung vorhanden ist, da diese zwingend benötigt wird.
  • Rasa: Ist das Modell mit der geringsten Fehleranfälligkeit, umständliche Verwaltung der Dateistruktur (bei Rasa Open Source).

 

Mehr zu Advanced Analytics erfahren

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*