Natural Language Processing (NLP): Funktionen, Aufgaben und Anwendungsbereiche

Natural Language Processing (NLP) ist eine Methode der künstlichen Intelligenz, die es Computern ermöglicht, die natürliche Sprache des Menschen zu verstehen. Anwendungsgebiete sind z.B. Chatbots, Text Mining und digitale Assistenten wie Alexa oder Siri.

Natural Language Processing ist keine leichte Aufgabe des Machine Learning, denn Sprachen und Zusammenhänge sind oft komplex und durch Mehrdeutigkeit für die Computer nicht einfach zu verstehen.

Dieser Artikel gibt eine Einführung in die Verarbeitung natürlicher Sprache und wo diese eingesetzt werden kann.

  1. Was ist Natural Language Processing? 
  2. Welche Aufgaben hat Natural Language Processing? 
  3. Was sind die Anwendungsbereiche von Natural Language Processing?
  4. Welche Tools gibt es für Natural Language Processing? 
  5. Was sind die Herausforderungen der Sprachverarbeitung? 

Das Wichtigste auf einen Blick: 

  • Natural Language Processing ist ein Zweig der künstlichen Intelligenz und beschäftigt sich mit der Analyse, dem Verständnis und der Generierung von natürlicher Sprache 
  • Zu den Funktionen zählen unter anderem die Sentiment-Analyse, Part of Speech-Tagging, Named-entity recognition und Spracherkennung  
  • Neben Natural Language Processing existieren ebenfalls die Bereiche Natural Language Understanding (NLU) und Natural Language Generation (NLG) 
  • NLP hilft Krankheiten zu identifizieren, den Kundenservice zu verbessern oder Texte zu klassifizieren
  • Zudem stellen Spam-Filter, Textverarbeitung, Text Mining, Anrufweiterleitung mittels IVR-Systeme und E-Mail-Routing weitere Aufgabengebiete von NLP dar 

Was ist Natural Language Processing?

Natural Language Processing (NLP), im deutschen Sprachgebrauch auch als Computerlinguistik oder linguistische Datenverarbeitung benannt, ist ein Zweig der künstlichen Intelligenz und des maschinellen Lernens, der sich mit der Analyse, dem Verständnis und der Generierung von Wörtern und Sätzen (natürlicher Sprache) beschäftigt. Durch Natural Language Processing können wir Menschen mit den Computern auf natürliche Weise kommunizieren, sodass diese unsere menschliche Sprache verstehen. 

Natural Language Processing (NLP) mit Google Word2Vec ermittelt Zusammenhänge in der Sprache.
Natural Language Processing mit Google Word2Vec ermittelt Zusammenhänge in der Sprache. Beispiel: König zu Königin oder Mann zu Frau. Quelle: Google Word2Vec

Natural Language Processing kann sowohl gesprochene als auch geschriebene Sprache erkennen, analysieren und den Sinn zur Weiterverarbeitung extrahieren. Dazu ist es notwendig, dass nicht lediglich einzelne Wörter, sondern vollständige Textzusammenhänge sowie Sachverhalte verstanden werden. Um diese Textbedeutungen zu erkennen, erfasst man im Vorhinein riesige Datenmengen und leitet daraus Muster anhand von Algorithmen ab. Dazu tragen vor allem Machine Learning sowie weitere Big-Data-Techniken als wichtiger Antreiber des Natural Language Processing bei.  

Zu Beginn bezog sich der Terminus des Natural Language Processing lediglich auf die Lesefähigkeit von Computersystemen. Mittlerweile werden weitere Aspekte der Linguistik beachtet. Zu den Unterkategorien von Natural Language Processing gehören Natural Language Understanding sowie Natural Language Generation. Im Folgenden werden die Unterschiede sowie Bedeutung dieser Begriffe aufgezeigt. 

Prozess eines Natural Language Processing Workflows

Damit Natural Language Processing in der Praxis gelingt, müssen vorab einzelne wichtige Schritte beachtet werden. Neben der Vorverarbeitung der Daten spielen die Feature-Erstellung, Modellierung und Evaluierung eine entscheidende Rolle. Die folgende Grafik verdeutlicht den Prozess eines Natural Language Processing Workflows:

Prozess von Natural Language Processing mit den einzelnen Schritten: Vorverarbeitung, Feature-Erstellung, Modellierung, Evaluierung und Vorhersage.
Schritte eines Natural Language Processing Workflows von der Vorverarbeitung der Daten bis zur Erstellung einer Vorhersage.

Was sind die Unterschiede zwischen NLP, NLU und NLG? 

Bild zeigt auf, dass Natural Language Understanding sowie Natural Language Generation Unterkategorien von Natural Language Processing sind
Natural Language Processing und Natural Language Generation stellen Unterkategorien von Natural Language Processing dar. Quelle: IBM

Im Rahmen von Natural Language Processing tauchen immer wieder Begriffe auf, die sich zwar ähneln, aber dennoch unterscheiden. Da sich diese Begriffe überschneiden, werden sie häufig innerhalb der Praxis verwechselt. Dennoch ist auf folgende Unterschiede bei den Begriffen zu achten: 

  • Natural Language Processing (NLP) = Verarbeitung natürlicher Sprache: 
    Im Rahmen von Natural Language Processing, der Verarbeitung von natürlicher Sprache, werden unstrukturierte Sprachdaten in ein strukturiertes Datenformat umgewandelt. Dies soll es Maschinen ermöglichen, Sprache sowie Text zu identifizieren und verstehen, um im Anschluss relevante Antworten zu generieren. 
     
  • Natural Language Unterstanding (NLU) = Verstehen natürlicher Sprache: 
    Natural Language Unterstanding befasst sich dem reinen Verständnis natürlicher Sprache. Dabei konzentriert sich NLU primär auf maschinelles Leseverständnis. Dazu werden vorwiegend Grammatik sowie Kontext analysiert, um den Sinn sowie die Bedeutsamkeit eines Satzes zu identifizieren. Mehr Informationen zu Natural Language Unterstanding finden Sie hier.
     
  • Natural Language Generation (NLG) = Erzeugung natürlicher Sprache: 
    Im Rahmen von Natural Language Generation geht es um die konkrete Erzeugung von Textbausteinen. Dies bedeutet, dass NLG sich vorwiegend mit der Konstruktion von Texten befasst. Auf Grundlage eines vorliegenden Datensatzes kann eine Maschine dabei Texte in unterschiedlichen Sprachen konstruieren. Mehr Informationen zu Natural Language Generation finden Sie hier.

Welche Aufgaben hat Natural Language Processing?

Die Analyse von menschlicher Sprache ist für Maschinen enorm herausfordernd. Texte und Sprachdaten sind voll von Mehrdeutigkeit und Unregelmäßigkeiten. Verschiedene Aufgaben von Natural Language Processing (NLP) zerlegen die menschliche Sprache in Elemente, die ein Computer verstehen. Zu den Aufgaben von Natural Language Processing gehören: 

  • Spracherkennung: Spracherkennung, befasst sich mit der Möglichkeit, aus Sprachdaten zuverlässige Textdaten herzustellen. Spracherkennung ist für eine alle Anwendungen erforderlich, die sich mit der Analyse von Sprachbefehlen beschäftigen. Dadurch, dass Menschen auf unterschiedlichste Weise kommunizieren, stellt die Spracherkennung eine große Herausforderung dar. Dabei sind vor allem Unterschiede bezüglich der Sprechart, Geschwindigkeit, Deutlichkeit oder der unterschiedlichen Betonung und Intonation sowie Akzente und falsche Grammatik zu beachten. 
     
  • Part of Speech-Tagging: Diese Funktion von Natural Language Processing wird auch grammatikalisches Tagging genannt. Dabei geht es darum, je nach Verwendung oder Kontext, bestimmte Wörter oder Textstücke richtig zu bestimmen und verstehen. Beispielsweise ist es dank Part of Speech-Tagging möglich, das Wort “make” in folgenden Sätzen unterschiedlich zu identifizieren. Einerseits kann “make” als Verb wahrgenommen werden (I can make a smoothie) und andererseits als Substantiv (What make of watch do you own).  
     
  • Named Entity Recognition (NEM): NEM befasst sich mit der Aufgabe, Wörter oder Textbausteine in unterschiedlichen Kontexten zu erkennen. Beispielsweise ist es dank NEM möglich, dass der Begriff “Köln” als Ort identifiziert wird und “Jonas” als Name.
  • Sentiment-Analyse: Durch die Sentiment-Analyse ermöglicht es, Einstellungen, Emotionen und Präferenzen innerhalb von Textpassagen zu identifizieren und zu deuten. Zudem können unterschiedliche Redeformen wie Sarkasmus oder Ironie extrahiert sowie erkannt werden. 
     
  • Maschinelle Übersetzung: Durch die Funktion der maschinellen Übersetzung, lassen sich Texte automatisch in eine andere Sprache übersetzen. Dank NLP-Algorithmen ist es möglich, umfangreiche Texte in verschiedenen Sprachen wiederzugeben. Zudem können moderne Übersetzungsprogramme erfassen in welcher Sprache die Texteingabe erfolgt, sodass daraufhin die gewünschte Übersetzung automatisch gelingt. 
     
  • Dokumentenzusammenfassung: Diese Funktion ermöglicht dem Nutzer, dass eine automatische Generierung von Zusammenfassungen großer Texte erfolgt. Vor allem in Bereichen, in denen riesige Textmengen vorliegen, ist es hilfreich, dass die Wesentlichen Erkenntnisse prägnant zusammengefasst werden. 
     
  • Speech-to-text und Text-to-Speech-Konvertierung: Im Rahmen dieser Funktion wird Natural Language Processing dazu genutzt, dass eine Umwandlung von Text in eine akustische Sprachausgabe erfolgt. Zudem kann dieser Prozess auch umgekehrt erfolgen, sodass gesprochene Sprache in einen geschriebenen Text transformiert wird.

Was sind die Anwendungsbereiche von Natural Language Processing?

Die Verarbeitung von natürlicher Sprache stellt eine treibende Kraft hinter künstlicher Intelligenz dar. Dadurch ergeben sich unzählige moderne Anwendungen innerhalb des Alltags. Im Folgenden finden Sie einige Beispiele, die dank Natural Language Processing möglich sind: 

Virtuelle Assistenten 

Zu den Vorreitern virtueller Assistenten gehören Siri (Apple) und Alexa (Amazon). Diese nutzen Spracherkennung, um aus gesprochener Sprache, Befehle und Wünsche herauszufiltern. Zudem spielt die Generierung natürlicher Sprache eine wesentliche Rolle im Hinblick auf entsprechende Antworten des Systems.  

Identifikation von Krankheiten 

Dank Natural Language Processing ist es möglich, dass Krankheiten in der Medizin frühzeitig erkannt werden. Auf Grundlage von elektronischen Gesundheitsdaten und der Identifizierung gesprochener Sprache eines Patienten, kann das System Mängel bei Krankheiten wie Herz-Kreislauf-Erkrankungen, Depressionen oder Schizophrenie erkennen.   

Kundenmeinungen analysieren 

Innerhalb sozialer Netzwerke kann Natural Language Processing dazu dienen, Stimmungen und Auffälligkeiten von Kunden zu erkennen. Dabei werden relevante Daten wie beispielsweise Kommentare zu einem Produkt oder Service extrahiert, um im Anschluss Informationen und Hintergründe zur Stimmung eines Kunden zu erlangen. Dadurch können Unternehmen frühzeitig agieren und Kundenabwanderungen minimieren. 

Textzusammenfassung 

Natural Language Processing wird ebenfalls dazu verwendet, riesige Datenbanken in Form von Texten zusammenzufassen. Dadurch große Textpassagen auf den wesentlichen Inhalt gekürzt werden, wodurch Zeit gespart werden kann. Dazu nutzt man semantische Schlussfolgerungen und die Generierung natürlicher Sprache (NLG), um vorliegenden Zusammenfassungen einen nützlichen Kontext zu verleihen. 

Spam-Filter

Ein Spam-Filter arbeitet auf Basis von NLP-Verfahren, somit lassen Junk-Mails ausfindig machen. Schaut man sich die einzelnen Betreffzeilen derjenigen E-Mails an, welche im Spam-Ordner gelandet sind, so ist schnell eine Ähnlichkeit festzustellen.  

Dabei werden natürlich generierte E-Mails mit typischen Wörtern aus Spam-E-Mails verglichen. So lernt das System nach und nach zwischen einer spam- und sinnvollen E-Mail zu differenzieren. 

Speech-to-Text-Konvertierung 

Zudem kann Speech-to-Test-Konvertierung im Alltag dienen, Mailbox-Aufzeichnungen durch verpasste Telefonanrufe so zu konvertieren, dass diese als Textnachricht an Ihr E-Mail-Postfach weitergeleitet werden. Dies hat vor allem den enormen Vorteil, dass Mitarbeiter nicht zeitabhängig agieren müssen und trotzdem wichtige Nachrichten erhalten, auch wenn sie telefonisch eingehen.  

Aber auch wenn Sie die integrierte Suchleiste einer Website nutzen, werden verschiedene NLP-Methoden für Suche, Themenmodellierung oder Content-Kategorisierung genutzt.  

Textverarbeitung im Kundenservice 

Im Bereich einer Anfrage eines Kunden kann ein Natural Language Processing System dabei helfen, das Anliegen sowie die Stimmung (Sentiment Analyse) des Kunden zu erkennen. Dadurch können je nach Bedarf, verschiedene Entscheidungen abgeleitet werden wie beispielsweise:  

  • Bei Standardanfragen mit einem schnell zu lösenden Problem kommuniziert der Kunde weiterhin mit der Maschine bzw. dem Computer. Dies hat den Zweck, dass der Kunde schnell eine Antwort erhält und das Unternehmen kostbare Ressourcen wie Mitarbeiter anderweitig einsetzen kann.  
  • Handelt es sich jedoch um eine komplexe Fragestellung, leitet das System die Anfrage an einen Mitarbeiter weiter. Dieser gewährleistet dem Kunden im weiteren Verlauf eine persönliche und individuelle Bearbeitung des Problems.   

Zusätzlich lassen sich Telefonanrufe für Verfahren des Natural Language Processing nutzen. Dabei transkribiert ein System die vorliegenden Audiodateien und generiert einen Text. Im Anschluss analysiert ein Algorithmus diesen vorliegenden Text und klassifiziert Telefonate nach Themen.   

Durch diese Klassifikation kann das Unternehmen dem Kunden verschiedenen Lösungen für unterschiedliche Probleme anbieten, wodurch eine starke Kundenzentrierung entsteht.

Textklassifikation von E-Mails 

Bei vielen Unternehmen führt die Masse an Informationen im Bereich des E-Mail-Verkehrs zu Problemen. Durch Natural Language Processing sind Unternehmen jedoch in der Lage, E-Mails so zu klassifizieren, dass das Unternehmen einen besseren Überblick erhält.   

NLP-Technologien sind in der Lage, verschiedene E-Mails zu scannen und im weiteren Verlauf die Dringlichkeit dieser E-Mail zu bestimmen. Somit erhalten E-Mails mit einer hohen Dringlichkeit eine besondere Priorität und werden zügig an Mitarbeiter des Kundenservice weitergeleitet.   

Das System scannt dabei vorwiegend Wörter wie “Antwort”, “bestätigen”, “dringend” und lernt aus diesem Prozess dringliche E-Mails von weniger dringlichen zu unterscheiden. Unterschiedliche Anliegen wie beispielsweise Kündigung, Adressänderung oder Reklamation lassen sich differenzieren. 

Zum Thema Textklassifikation haben wir hier einen Beitrag geschrieben.

Anrufweiterleitung mit IVR-Systemen 

Sie haben bestimmt schon einmal bei einem Kundensupport anrufen und mussten ein bestimmtes Wort sagen, um an eine jeweilige Abteilung weitergeleitet zu werden. Dabei haben Sie höchstwahrscheinlich mit einem Interactive Voice Response-System gesprochen, welches ihr Anliegen verarbeitet hat. Diese IVR-Technologien erkennen gesprochene Sprache und wandeln diese Phrasen zu Textbausteinen um.  

Dadurch, dass der Kunde im Vorhinein eine bestimmte Auswahl seines Anliegens bestimmen kann, muss er sich nicht zuerst eine Reihe folgender Optionen anhören, aus diesen er dann wählen kann.  

Denn, IVR-Systeme agieren mit einem schnellen lösungsorientierten Ansatz, der den Kunden direkt nach seinem konkreten Problem fragt.   

Riesige Unternehmen wie American Airlines konnten dadurch enorme Potentiale innerhalb des Kundenservices ausnutzen. So ließ sich durch die Überarbeitung ihres bereits bestehenden IVR-Systems die Anzahl an eingehenden Kundenanrufen um 5% steigern und zugleich Kosten in Höhe von mehreren Millionen Euro sparen. 

E-Mail-Routing – am Beispiel Uber 

Um dem Kunden die bestmögliche End-to-End Erfahrung zu bieten, hat sich Uber es zum Ziel gesetzt, den Kundensupport einfacher und zugänglicher zu gestalten. Dazu nutzt Uber fünf verschiedene Kommunikationskanäle, um die riesige Anzahl an Kontaktanfragen zu bearbeiten. Bei täglich Hunderttausenden von Anfragen aus rund 400 Städten weltweit stellt dies eine erhebliche Herausforderung für das Unternehmen dar.   

Doch um dieser Herausforderung gerecht zu werden, hat Uber ein eignes System dafür entwickelt: COTA. COTA ist ein Akronym, welches sich aus den Begriffen Customer Obsession Ticket Assistant zusammensetzt. Es stellt ein Tool dar, was maschinelles Lernen und Natural Language Processing-Techniken für Verbesserung des Kundensupports einsetzt. 

Bild beschreibt den Ablauf innerhalb der NLP-Pipeline von COTA.
NLP-Pipeline. Quelle: Uber

COTA ermöglicht dem Unternehmen eine schnelle und effiziente Problemlösung von Kundenanfragen, wodurch mehr als 90% der eingehenden Anfragen automatisch bearbeitet werden können. Dies hilft vor allem Kundendienstmitarbeitern, die Geschwindigkeit und Genauigkeit ihrer Arbeit zu verbessern. Letztlich profitiert dabei der Kunde durch eine verbesserte Kundenerfahrung. 

Welche Tools gibt es für Natural Language Processing?

Für die Verarbeitung von Sprache gibt es einige Tools und Anwendungen, die dabei helfen. Im Folgenden erfahren Sie, welche gängigen Tools und Methoden es im Bereich Natural Language Processing gibt. 

Python und Natural Language Toolkit (NLTK) 

Die bekannte Programmiersprache Python bietet unzählige Werkzeuge zur Bewältigung von NLP-spezifischen Aufgaben. Einige davon sind im Natural Language Toolkit (NLTK) zu finden. Dies stellt eine Open-Source Sammlung von Programmen, Bibliotheken und weiteren Ressourcen zur Erstellung von NLP-Programmen dar.  

Das Natural Language Processing Toolkit enthält einige Werkzeuge zur Bewältigung der vorhin aufgeführten Funktionen sowie Anwendungsgebiete. Zudem gibt es Bibliotheken für Teilaufgaben wie Wortsegmentierung, Satzparsing oder Stemming und Lemantisierung zum Verständnis eines Textes.  

Statistisches NLP, maschinelles Lernen und Deep Learning 

Zu den ersten NLP-Anwendungen gehörten handkodierte, regelbasierte Systeme. Diese konnten zwar bestimmte Aufgaben erfüllen, waren jedoch für ein breites Aufgabenspektrum nicht zu gebrauchen.  

Statistisches NLP kombiniert Computeralgorithmen mit maschinellem Lernen sowie Deep Learning Modellen, um Text- sowie Sprachdaten automatisch zu extrahieren sowie zu klassifizieren und im Anschluss den Elementen mit einer statistischen Wahrscheinlichkeit eine mögliche Bedeutung zuzuweisen. 

Mittlerweile bieten Deep-Learning Modelle die Möglichkeit, NLP-Systeme zu kreieren, welche während des Prozesses eigenständig lernen. Dadurch können diese Systeme im Laufe der Zeit immer präzisere Lösungen entwickeln. 

Was sind die Herausforderungen der Sprachverarbeitung?

Natural Language Processing ist kein leichtes Problem der künstlichen Intelligenz, dies liegt vor allem in der Natur der menschlichen Sprache, die sehr komplex ist.  

Es gibt viele Regeln und Zusammenhänge, die es den Computern schwer machen, diese zu verstehen und richtig zu interpretieren. Als Beispiel ist hier Sarkasmus genannt, ein Problem was extrem schwer für den Computer zu verstehen ist.  

Natürlich gibt es auf der anderen Seite auch viele sehr einfache Aufgaben, beispielsweise Wörter oder das Erkennen von Plural, die ein Computer erlernen kann.  

Zum Verstehen von natürlicher Sprache, muss der Computer sowohl Wörter als auch die Konzepte und Regeln dahinter verstehen. Für uns Menschen ist dies häufig sehr einfach, aber für Natural Language Processing ist das die große Herausforderung. 

Demnach ergeben sich vorwiegend in den folgenden Bereichen Herausforderungen:

Modell  

Häufig ist es in der Praxis anspruchsvoll, die Qualität der Modellergebnisse zu beurteilen. Beispielsweise ist das Deuten der Klassifizierung von Emotionen weitaus einfacher als die Beurteilung von Zusammenfassungen. Daher ist es gerade in der Anfangsphase eines Projekts wichtig ein Gütemaß zu bestimmen. Dieses sollte zum einen praktisch umsetzbar sein und zum anderen das zu lösende Problem widerspiegeln.  

Zudem sollten Fragen rund um die Modellperformance geklärt sein. Beispielsweise hat ein Modell, welches in großen Zeitintervallen Ergebnisse berechnet andere Eigenschaften als ein Modell, welches innerhalb von Zehntelsekunden Anfragen beantworten muss.  

Daten  

Vortrainierte Modelle (Transfer Learning) besitzen die Eigenschaft, dass diese oftmals in verschiedenen Aufgaben gut performen. Dies führt oft dazu, dass diese Modelle zwar gute aber keine herausragenden Erkenntnisse liefern. Je ne nach Business Case sollte daher eine konkrete Feinabstimmung des Modells erfolgen, sodass optimale auf das Problem bezogen Ergebnisse generiert werden können.  

Zur Feinabstimmung gehören zwei Dimensionen. Einerseits muss man das Modell auf Spracheinheiten anpassen. Vokabular, Slang oder der Dialekt spielen dabei eine entscheidende Rolle. Je nach Branche können diese Bereiche stark voneinander abweichen.   

Andererseits sollte man das Modell neben einer Feinabstimmung zusätzlich konkret auf das vorliegende Businessproblem abstimmen. Zur Klassifizierung von Emotionen muss ein Modell anders arbeiten, als wenn es. zur Übersetzung von Texten genutzt wird.   

Rechenleistung  

Vor allem die stetige Verbesserung von Rechenleistung hat zum Vormarsch von künstlicher Intelligenz geführt. Dennoch bieten vortrainierte Modelle die Möglichkeit, dass nur noch ein Bruchteil eigener Rechenleistung erbracht werden muss.   

Lediglich wird Computerleistung im Rahmen der Datenverarbeitung benötigt, was einen Bruchteil der Rechenleistung eines gesamten Trainings ausmacht. Und obwohl sich der Aufwand durch vortrainierte Modelle minimieren lässt, sollte ein Computer eine gewisse Rechenleistung aufbringen können. Deswegen wird in der Praxis meist auf Cloudcomputing zurückgegriffen. Die Kosten für Cloudcomputing werden in der Regel minutengenau abgerechnet, wonach sich ein Standard-Rechenzentrum aufgrund der Kosten meist nicht lohnt.   

In Abgrenzung zum Natural Language Processing steht das Konzept des Large Language Models, welches im Bereich des Deep Learnings einzuordnen ist.

Fazit  

Mittlerweile gehört es zur Realität, dass Mensch und Maschine miteinander kommunizieren. Aufgrund der immer größer werdenden Rechenleistungen und der Vielzahl an Daten, wird das Handeln von Natural Language Processing-Technologien immer besser.   

Wie die verschiedenen Beispiele zeigen, dient Natural Language Processing vorwiegend zur besseren Interaktion mit dem Kunden. Dabei zeichnen sich NLP-Systeme dadurch aus, dass diese zu jeder Zeit verfügbar sind und sich beliebig skalieren lassen.  

Wenn Sie weitere Fragen zu der praktischen Anwendung von NLP haben, dann kontaktieren Sie mich gerne.

Ihr Kontakt: Vinzent Wuttke

Unternehmen sitzen auf einem ungenutzten Berg von Kundendaten. Wir von datasolut entwickeln KI, die Ihr Marketing optimiert. Damit Sie dem richtigen Kunden zur richtigen Zeit das richtige Angebot machen können.

Auch interessant für Sie