5 praxisnahe Beispiele für NLP Use Cases

Felix Plagge Blog, Data Science

Management Summary

In modernen Unternehmen fallen im Tagesgeschäft an vielen Stellen Informationen in Textform an: Je nach Businesskontext können dies Rechnungen sein, oder auch Emails, Kundeneingaben (wie Rezensionen oder Anfragen), Produktbeschreibungen, Erklärungen, FAQs sowie Bewerbungen. Diese Informationsquellen blieben bis vor kurzem weitestgehend dem Menschen vorbehalten, da das maschinelle, inhaltliche Verstehen von Text ein technologisch herausforderndes Problem darstellt.
Aufgrund jüngster Errungenschaften im Bereich Deep Learning können nun eine Reihe unterschiedlicher NLP („Natural Language Processing“) Tasks mit erstaunlicher Güte gelöst werden.
Erfahren Sie in diesem Beitrag anhand von fünf praxisnahen Beispielen, wie NLP Use Cases diverse Businessprobleme lösen und so für Effizienz und Innovation sorgen.

Inhaltsverzeichnis

Einführung

Natural Language Processing (NLP) ist zweifelslos ein Gebiet, dem in jüngster Vergangenheit besondere Aufmerksamkeit im Big Data-Umfeld zugekommen ist. So hat sich das von Google gemessene Interesse an dem Thema in den letzten drei Jahren mehr als verdoppelt. Daran ist erkennbar, dass innovative NLP-Technologien längst nicht mehr nur ein Thema für die Big Player, wie Apple, Google oder Amazon, ist. Vielmehr ist eine generelle Demokratisierung der Technologie zu beobachten. Einer der Gründe dafür ist sicherlich, dass nach einer Schätzung von IBM etwa 80% der „weltweiten Informationen“ nicht in strukturierten Datenbanken vorliegen, sondern in unstrukturierter, natürlicher Sprache. NLP wird zukünftig eine Schlüsselrolle einnehmen, wenn es darum geht, diese Informationen nutzbar zu machen. Damit wird der erfolgreiche Einsatz von NLP-Technologien zu einem der Erfolgsfaktoren für die Digitalisierung in Unternehmen werden.

Damit Sie sich ein Bild davon machen können, welche Möglichkeiten NLP heutzutage im Businesskontext öffnet, werden Ihnen im Folgenden fünf praxisnahe Anwendungsfälle vorgestellt und die dahinterstehende Lösungen erklärt.

Was ist NLP? – Ein kurzer Überblick

Als ein Forschungsthema, das bereits in den 50er Jahren Linguisten und Informatiker beschäftigte, fristete NLP im 20sten Jahrhundert auf der Anwendungsseite ein kaum sichtbares Dasein.

Der zentrale Grund dafür lag in der Verfügbarkeit der notwendigen Trainingsdaten. Zwar ist generell die Verfügbarkeit von unstrukturierten Daten, in Form von Texten, insbesondere mit dem Aufstieg des Internets exponentiell gestiegen, jedoch fehlte es weiterhin an geeigneten Daten für das Modelltraining. Dies lässt sich damit begründen, dass die frühen NLP Modelle zumeist überwacht trainiert werden mussten (sogenanntes Supervised Learning). Das Supervised Learning setzt jedoch voraus, dass Trainingsdaten mit einer dedizierten Zielvariable versehen werden müssen. Dies bedeutet, dass z.B. bei einer Textklassifikation der Textkorpus vor dem Modelltraining manuell durch Menschen annotiert werden muss.

Dies änderte sich Ende der 2010er Jahre, als eine neue Modellgeneration künstlicher neuronaler Netzwerke zu einem Paradigmenwechsel führte. Diese sogenannten „Language Models“ werden auf Grundlage riesiger Textkorpora von Facebook, Google und Co. (vor-)trainiert, indem einzelne Wörter in den Texten zufällig maskiert und im Verlauf des Trainings vorhergesagt werden. Es handelt sich dabei um das sogenannte selbstüberwachte Lernen (Self-Supervised Learning), das nicht länger eine separate Zielvariable voraussetzt. Im Zuge des Trainings erlernen diese Modelle ein kontextuelles Verständnis von Texten.

Vorteil dieses Vorgehens ist, dass ein- und dasselbe Modell mit Hilfe des erlernten kontextuellen Verständnisses für eine Vielzahl unterschiedlicher Downstream-Tasks (z.B. Textklassifizierung, Sentiment Analysis, Named Entity Recognition) nachjustiert werden kann. Dieser Vorgang wird als Transfer Learning bezeichnet. In der Praxis lassen sich diese vortrainierten Modelle herunterladen, sodass nur die Feinjustierung für die spezifische Anwendung durch zusätzliche Daten selbst gemacht werden muss. Folglich lassen sich mittlerweile mit wenig Entwicklungsaufwand performante NLP-Anwendungen entwickeln.

Um mehr über Language Models (insbesondere die sogenannten Transformer Modelle wie „BERT“, bzw. „roBERTa“, u.ä.) sowie Trends und Hemmnisse im Bereich NLP zu erfahren, lesen Sie hier den Beitrag zum Thema NLP-Trends von unserem Kollegen Dominique Lade.

Die 5 Use Cases


Textklassifizierung im Rekrutierungsprozess

Ein medizinisches Forschungsinstitut möchte seinen Rekrutierungsprozess von Studienteilnehmer*innen effizienter gestalten.

Für das Testen eines neuen Medikaments werden unterschiedliche, untereinander abhängige Anforderungen an die infrage kommende Personen gestellt (z.B. Alter, allg. Gesundheitszustand, Vorhandensein/Abwesenheit von Vorerkrankungen, Medikationen, genetische Dispositionen etc.). Das Prüfen all dieser Anforderungen ist mit einem großen Zeitaufwand verbunden. Üblicherweise dauert das Sichten und Beurteilen relevanter Informationen etwa eine Stunde pro potenziellen Studienteilnehmenden. Hauptgrund dafür ist, dass die klinischen Notizen Informationen über Patienten enthalten, die über strukturierte Daten wie Laborwerte und Medikamente hinausgehen: Auch unstrukturierter Informationen sind in den medizinischen Berichten, Arztbriefen, und Entlassungsberichten o.ä. in Textform zu finden. Insbesondere das Auswerten letzterer Daten bedarf viel Lesezeit und ist daher mit großem Aufwand verbunden. Um den Prozess zu beschleunigen, entwickelt das Forschungsinstitut ein Machine Learning Modell, das eine Vorauswahl von vielversprechenden Kandidaten trifft, sodass die Experten*innen lediglich die vorgeschlagene Personengruppe validieren müssen.

Die NLP Lösung

Aus methodischer Sicht handelt es sich bei diesem Problem um eine sogenannte Textklassifikation. Dabei wird basierend auf einem Text, eine Prognose für eine zuvor definierte Zielvariable erstellt. Um das Modell zu trainieren, ist es – wie im Supervised Learning üblich – notwendig, die Daten, in diesem Fall also die Arztdokumente, mit der Zielvariable zu annotieren. Da es hier ein Klassifikationsproblem zu lösen gilt (geeignete oder ungeeignete Studienteilnehmer*in), beurteilen die Experten*innen für einige Personen im Pool die Eignung für die Studie manuell. Ist eine Person geeignet, wird sie mit einer Eins gekennzeichnet (=positiver Fall), ansonsten mit einer Null (=negativer Fall). Anhand dieser Trainingsbeispiele kann das Modell nun Zusammenhänge zwischen den medizinischen Dokumenten der Personen und ihrer Eignung lernen.

Um der Komplexität des Problems Herr zu werden, wird ein entsprechend komplexes Modell namens ClinicalBERT verwendet. Dabei handelt es sich um ein Language Modell, das auf BERT (Bidirectional Encoder Representations from Transformers) basiert, und zusätzlich auf einem Datensatz von klinischen Texten trainiert wurde. Somit ist ClinicalBERT in der Lage, sogenannte Repräsentationen von sämtlichen medizinischen Dokumentationen für jede Person zu generieren. In einem letzten Schritt wird das neuronale Netzwerk von ClinicalBERT durch eine taskspezifische Komponente ergänzt. In diesem Fall handelt es sich um eine binäre Klassifikation: Zu jeder Person soll eine Eignungswahrscheinlichkeit ausgegeben werden. Durch einen entsprechenden linearen Layer wird die hochdimensionale Textdokumentation schlussendlich in eine einzige Zahl, die Eignungswahrscheinlichkeit, überführt. In einem Gradientenverfahren lernt das Modell nun anhand der Trainingsbeispiele die Eignungswahrscheinlichkeiten.

Weitere Anwendungsszenarien von Textklassifikation

Textklassifikation findet häufig in der Form von Sentiment Analysis statt. Dabei geht es darum, Texte in vordefinierte Gefühlskategorien (z.B. negativ/positiv) einzuordnen. Diese Informationen sind insbesondere in der Finanzwelt oder beim Social Media Monitoring wichtig. Darüber hinaus kann Textklassifikation in verschiedenen Kontexten verwendet werden, in denen es darum geht, Dokumente nach ihrem Typ zu sortieren (z.B. Rechnungen, Briefe, Mahnungen…).

Named Entity Recognition zur Verbesserung der Usability einer Nachrichtenseite

Ein Verlagshaus bietet seinen Leser*innen auf einer Nachrichtenseite eine Vielzahl von Artikeln über diverse Themen an. Im Zuge von Optimierungsmaßnahmen möchte man ein besseres Recommender-System implementieren, sodass zu jedem Artikel weitere passende (ergänzende oder ähnliche) Artikel vorgeschlagen werden. Außerdem möchte man die Suchfunktion auf der Landingpage verbessern, damit der Kunde oder die Kundin schnell den Artikel findet, der gesucht ist.
Um für diese Zwecke eine gute Datengrundlage zu schaffen, entscheidet sich der Verlag dazu, mit Named Entity Recognition den Texten automatisierte Tags zuzuordnen, anhand derer sowohl das Recommender-System als auch die Suchfunktion verbessert werden können. Nach erfolgreicher Implementierung wird auf deutlich mehr vorgeschlagene Artikel geklickt und die Suchfunktion ist wesentlich komfortabler geworden. Im Resultat verbringen die Leser*innen signifikant mehr Zeit auf der Seite.

Die NLP Lösung

Um das Problem zu lösen, ist es wichtig, die Funktionsweise von NER zu verstehen:

Bei NER geht es darum, Worte oder ganze Satzglieder inhaltlichen Kategorien zuzuordnen. So kann man „Peter“ beispielsweise als Person identifizieren, „Frankfurt am Main“ ist ein Ort und „24.12.2020“ ist eine Zeitangabe. Offensichtlich gibt es aber auch deutlich kompliziertere Fälle. Dazu vergleichen Sie die folgenden Satzpaare:

  1. „Früher spazierte Emma im Park immer an der schönen Bank aus Holz vorbei.“   (Bank = Sitzbank)
  2. „Gestern eilte sie noch zur Bank, um das nötige Bargeld abzuheben.“ (Bank = Geldinstitut)

Für den Menschen ist vollkommen offensichtlich, dass das Wort „Bank“ in den beiden Sätzen eine jeweils andere Bedeutungen hat. Diese scheinbar einfache Unterscheidung ist für den Computer allerdings alles andere als trivial. Ein Entity Recognition Modell könnte die beiden Sätze wie folgt kennzeichnen:

  1. „[Früher] (Zeitangabe) spazierte [Emma] (Person) im Park immer an der schönen [Bank] (Sitzgelegenheit) aus Holz vorbei.“
  2. „[Gestern] (Zeitangabe) eilte [sie] (Person/Pronomen) noch zur [Bank] (Geldinstitut), um das nötige Bargeld abzuheben.“  

In der Vergangenheit hätte man zur Lösung des obigen NER-Problems zu regelbasierten Algorithmen gegriffen, doch auch hier setzt sich der Machine Learning Ansatz durch:

Das vorliegende Multiclass-Klassifizierungsproblem der Entitätsbestimmung wird erneut mithilfe des BERT-Modells angegangen. Zusätzlich wird das Modell auf einem annotierten Datensatz trainiert, in dem die Entitäten manuell identifiziert sind. Die umfangreichste öffentlich zugängliche Datenbank in englischer Sprache ist die Groningen Meaning Bank (GMB). Nach erfolgreichem Training ist das Modell in der Lage, aus dem Kontext, der sich aus dem Satz ergibt, auch bisher unbekannte Wörter korrekt zu bestimmen. So erkennt das Modell, dass nach Präpositionen wie „in, bei, nach…“ ein Ort folgt, aber auch komplexere Kontexte werden in Bezug auf die Entitätsbestimmung herangezogen.

Weitere Anwendungsszenarien von NER:

NER ist als klassische Information Retrieval-Task für viele andere NER-Tasks, wie zum Beispiel Chatbots und Frage-Antwort Systeme, zentral. Darüber hinaus wird NER häufig zur Textkatalogisierung verwendet, bei der der Typ des Textes anhand von stichhaltigen, erkannten Entitäten bestimmt wird.

Ein Chatbot für ein Fernbusunternehmen

Ein Fernbusunternehmen möchte seine Erreichbarkeit erhöhen und darum die Kommunikationswege mit dem Kunden ausbauen. Neben seiner Homepage und seiner App möchte das Unternehmen einen dritten Weg zum Kunden, nämlich einen Whatsapp-Chatbot, anbieten. Die Zielvorstellung ist, dass man in der Konversation mit dem Chatbot gewisse Aktionen wie das Suchen, Buchen und Stornieren von Fahrten ausführen kann. Außerdem soll mit dem Chatbot ein zuverlässiger Weg geschaffen werden, die Fahrgäste über Verspätungen zu informieren.

Mit der Einführung des Chatbots können nicht nur bestehende Fahrgäste leichter erreicht werden, sondern auch Kontakt zu neuen Kunden*innen aufgebaut werden, die noch keine App installiert haben.

Die NLP Lösung

Abhängig von den Anforderungen, die an den Chatbot gestellten werden, wählt man zwischen verschiedenen Chatbot Architekturen aus.

Über die Jahre sind im Wesentlichen vier Chatbot-Paradigmen erprobt worden: In einer ersten Generation wurde die Anfrage auf bekannte Muster geprüft und entsprechend angepasste vorgefertigte Antworten ausgegeben („pattern matching“). Etwas ausgefeilter ist das sogenannte „grounding“, bei der durch Named Entity Recognition (s.o.) aus Wissensbibliotheken (z.B. Wikipedia) extrahierte Informationen in einem Netzwerk organisiert werden. Ein solches Netzwerk hat den Vorteil, dass nicht nur eingetragenes Wissen abgerufen werden kann, sondern, dass auch nicht registriertes Wissen durch die Netzwerkstruktur inferiert werden kann. Beim „searching“ werden direkt Fragen-Antwortpaare aus dem Konversationsverlauf (oder aus davor registrierten Logs) zum Suchen einer passenden Antwort herangezogen. Die Anwendung von Machine Learning Modellen ist der bewährteste Ansatz, um dynamisch passende Antworten zu generieren („generative models“).

Um einen modernen Chatbot mit klar eingrenzbaren Kompetenzen für das Fernbusunternehmen zu implementieren, empfiehlt es sich, auf bestehende Frameworks wie Google Dialogflow zurückzugreifen. Hierbei handelt es sich um eine Plattform, mit der sich Chatbots konfigurieren lassen, die die Elemente aller zuvor gennannten Chatbot-Paradigmen besitzen. Dazu übergibt man Parameter wie Intends, Entitäten und Actions.

Ein Intend („Benutzerabsicht“) ist beispielsweise die Fahrplanauskunft. Indem man verschiedene Beispielphrasen („Wie komme ich am … von … nach … “, „Wann fährt der nächste Bus von … nach …“) an ein Language Model übergibt, gelingt es dem Chatbot auch ungesehene Inputsätze dem richtigen Intend zuzuordnen (vgl. Textklassifikation).

Weiterhin werden die verschiedenen Reiseorte und Zeitangaben als Entitäten definiert. Wird nun vom Chatbot ein Intend mit passenden Entitäten erfasst (vgl. NER), dann kann eine Action, in diesem Fall eine Datenbankabfrage, ausgelöst werden. Schlussendlich wird eine Intend-Answer mit den relevanten Informationen ausgegeben, die an sämtliche vom Benutzer angegebene Informationen im Chatverlauf angepasst ist („stateful“).

Weitere Anwendungsszenarien von Chatbots:

Es gibt vielfältige Einsatzmöglichkeiten im Kundenservice – je nach Komplexität des Szenarios von der automatischen Vorbereitung (z.B. Sortierung) eines Kundenauftrags hin zur kompletten Abwicklung einer Kundenerfahrung.

Ein Question-Answering-System als Voice Assistant für technische Fragen zum Automobil

 Ein Automobilhersteller stellt fest, dass viele seiner Kunden*innen nicht gut mit den Handbüchern, die den Autos beiliegt, zurechtkommt. Häufig wird zu lange nach der relevanten Information gesucht oder sie wird gar nicht gefunden. Daher wird beschlossen, ergänzend zum statischen Handbuch auch einen Voice Assistant anzubieten, der auf technische Fragen präzise Antworten gibt. Zukünftig können die Fahrer*innen bequem mit ihrer Mittelkonsole sprechen, wenn sie ihr Fahrzeug warten wollen oder technische Auskunft wünschen.

Die NLP Lösung

Mit Frage-Antwort-Systemen wird sich schon seit Jahrzehnten auseinandergesetzt wird, stehen sie doch in gewisser Hinsicht an der Vorfront der künstlichen Intelligenz. Ein Frage-Antwort-System, das unter Berücksichtigung aller vorliegenden Daten immer eine korrekte Antwort fände, könnte man auch als „General AI“ bezeichnen. Eine Hauptschwierigkeit auf dem Weg zur General AI ist, dass das Gebiet, über das das System informiert sein muss, unbegrenzt ist. Demgegenüber liefern Frage-Antwort-Systeme gute Ergebnisse, wenn das Gebiet klar eingegrenzt ist, wie es beim Automobilassistenten der Fall ist. Grundsätzlich gilt: Je spezifischer das Gebiet, desto bessere Ergebnisse können erwartet werden.

Für die Implementierung des Frage-Antwort-Systems werden strukturierte Daten, wie technische Spezifikationen der Komponenten und Kennzahlen des Modells, aber auch unstrukturierte Daten, wie Handlungsanweisungen, aus dem Handbuch herangezogen. Sämtliche Daten werden in einem Vorbereitungsschritt mithilfe anderer NLP-Techniken (Klassifikation, NER) in Frage-Antwort-Form gebracht. Diese Daten werden einer Version von BERT übergeben, die bereits auf einem großen Frage-Antwort-Datensatz („SQuAD“) vortrainiert wurde. Das Modell ist damit in der Lage, souverän bereits eingespeiste Fragen zu beantworten, aber auch „educated guesses“ für ungesehene Fragen abzugeben.

Weitere Anwendungsszenarien von Frage-Antwort-Systemen:

Mithilfe von Frage-Antwort-Systemen können unternehmensinterne Suchmaschinen um Funktionalitäten erweitert werden. Im E-Commerce können auf Basis von Artikelbeschreibungen und Rezensionen automatisiert Antworten auf Sachfragen gegeben werden.

Automatische Textzusammenfassungen (Textgenerierung) von Schadensbeschreibungen für eine Sachversicherung

Eine Versicherung möchte die Effizienz ihrer Schadensregulierungsabteilung erhöhen. Es wurde festgestellt, dass es bei einigen Schadensreklamationen vom Kunden zu internen Zuständigkeitskonflikten kommt. Grund dafür ist, dass diese Schäden von Kund*innen zumeist über mehrere Seiten beschrieben werden und so eine erhöhte Einarbeitungszeit benötigt wird, um beurteilen zu können, ob man den Fall bearbeiten soll. So passiert es häufig, dass eine Schadensbeschreibung komplett gelesen werden muss, um zu verstehen, dass man den Schaden selbst nicht zu bearbeiten hat. Nun soll ein System Abhilfe schaffen, das automatisierte Zusammenfassungen generiert. Die Sachbearbeiter*innen können in Folge der Implementierung nun deutlich schneller über die Zuständigkeit entscheiden.

Die NLP Lösung

Grundsätzlich kann man beim Probelm der Textzusammenfassung zwischen zwei verschiedenen Ansätzen differenzieren: Bei der Extraction werden aus dem Inputtext die wichtigsten Sätze identifiziert, die dann im einfachsten Fall als Zusammenfassung verwendet werden. Dem gegenüber steht die Abstraction, bei der ein Text durch ein Modell in einen neu generierten Zusammenfassungstext überführt wird. Der zweite Ansatz ist deutlich komplexer, da hier Paraphrasierung, Generalisierung oder das Einbeziehen von weiterführendem Wissen möglich ist. Daher birgt dieser Ansatz auch ein größeres Potenzial, sinnvolle Zusammenfassungen generieren zu können, ist allerdings auch fehleranfälliger. Moderne Algorithmen zur Textzusammenfassung verfolgen den zweiten Ansatz, oder aber eine Kombination aus beiden Ansätzen.

Zur Lösung des Versicherungs-Use-Cases wird ein sogenanntes Sequence-to-Sequence-Modell verwendet, welches einer Wortsequenz (der Schadensbeschreibung) einer anderen Wortsequenz (der Zusammenfassung) zuordnet. Hierbei handelt es sich üblicherweise um ein rekurrentes neuronales Netzwerk (RNN), das auf Grundlage von Textzusammenfassungs-Paaren trainiert wird. Der Trainingsprozess ist so gestaltet, dass die Wahrscheinlichkeit für das nächste Wort abhängig von den letzten Worten (und zusätzlich einem „inner state“ des Modells), modelliert wird. Gleichsam schreibt das Modell effektiv die Zusammenfassung „von links nach rechts“, indem sukzessiv das nächste Wort vorhergesagt wird. Ein alternativer Ansatz sieht vor, den Input vom Language Model BERT numerisch encodieren zu lassen und auf Basis dieser Zahlenrepräsentation einen GPT-Decoder den Text autoregressiv zusammenfassen zu lassen. Mithilfe von Modellparametern kann in beiden Fällen angepasst werden, wie lang die Zusammenfassung etwa sein soll.

Weitere Anwendungsszenarien von Sprachgenerierung:

Ein solches Szenario ist an vielen Stellen denkbar: Das automatisierte Schreiben von Berichten, die Generierung von Texten auf der Grundlage der Analyse von Einzelhandelsverkaufsdaten, die Zusammenfassung von elektronischen Krankenakten oder die Erstellung von textlichen Wettervorhersagen aus Wetterdaten sind denkbare Anwendungen. Darüber hinaus kommt es auch bei anderen NLP Anwendungsfällen wie Chatbots und Q&A-Systemen zur Sprachgenerierung.

Ausblick

Vielleicht haben Sie beim Durchlesen dieser Anwendungsbeispiele von Textklassifikation, Chatbots, Frage-Antwort-Systemen, NER und Textzusammenfassungen den Eindruck gewonnen, dass es auch in Ihrem Unternehmen viele Prozesse gibt, die sich mit NLP-Lösungen beschleunigen ließen.

Tatsächlich ist NLP nicht nur ein spannendes Forschungsfeld, sondern auch eine Technologie, deren Anwendbarkeit im Businessumfeld stetig wächst.

NLP wird in Zukunft nicht nur ein Fundament einer datengetriebenen Unternehmenskultur werden, sondern birgt schon jetzt durch direkte Anwendung ein riesiges Innovationspotenzial, in das es sich zu investieren lohnt.

Bei STATWORX haben wir bereits jahrelange Erfahrung in der Entwicklung von maßgeschneiderten NLP-Lösungen. Hier finden die zwei unserer Case Studies zum Thema NLP: Social Media Recruiting mit NLP & Supplier Recommendation Tool. Wir stehen Ihnen gerne für eine individuelle Beratung zu diesem und vielen weiteren Themen zur Verfügung.

Über den Autor
Felix Plagge

Felix Plagge

As a data scientist at STATWORX I am always keen on finding relevant structure in data. Also, I'm passionate about the mathematical fundament of machine learning algorithms.

ABOUT US


STATWORX
is a consulting company for data science, statistics, machine learning and artificial intelligence located in Frankfurt, Zurich and Vienna. Sign up for our NEWSLETTER and receive reads and treats from the world of data science and AI. If you have questions or suggestions, please write us an e-mail addressed to blog(at)statworx.com.