Natural Language Processing (NLP)

ontolux - Headerbild - KI Glossar, Bibliothek, gesammeltes Wissen

Natural Language Processing (NLP) - Funktionen & Anwendungsbereiche

Was ist Natural Language Processing (NLP)?

Alle Methoden, bei denen uns Maschinen unterstützen, natürlichsprachliche Textdaten zu verwerten, werden unter dem Begriff Natural Language Processing (kurz: NLP) zusammengefasst. Ziel der automatisierten Verarbeitung von natürlicher Sprache ist es, die Kommunikation zwischen Mensch und Computer idealerweise mindestens ebenso erfolgreich wie zwischen Menschen zu machen. Die zwischenmenschliche Kommunikation ist und bleibt ein Thema für sich.

Wozu dient Natural Language Processing?

2022 verkündete die UNESCO, die Analphabetenrate unter Jugendlichen weltweit sei in den letzten 50 Jahren von fast 25 Prozent auf unter 10 Prozent gesunken. Während wir diesen Trend natürlich begrüßen, steigt Sekunde für Sekunde die Menge der Daten in geschriebener und gesprochener Sprache immer weiter an. Und das auch selbst dann, wenn nur ein Bruchteil der alphabetisierten Menschen in seinem privaten und beruflichen Alltag Textdaten erzeugt. 
Der Computer als Allzweckwaffe des digitalen Zeitalters hilft uns glücklicherweise, automatisch große Datenmengen zu verarbeiten. Das betrifft auch natürlichsprachliche Textdaten. Den Effekt spüren wir überall: wir lassen uns beim Onlineshopping andere Produkte anbieten, kommunizieren mit Alexa, Siri & Co. und nutzen täglich Suchmaschinen, um Informationen zu finden.

Was sind typische Herausforderungen von Natural Language Processing (NLP)?

Wir Menschen sind in der Lage, Gesprochenes oder Geschriebenes zu verstehen, indem wir es in einen übergeordneten Zusammenhang stellen. Unsere Erfahrungen in der Welt helfen uns, Sprache zu durchdringen. Gängige NLP-Methoden dienen dazu, dem Computer den Sinn oder die Absicht hinter natürlicher Sprache ebenso verständlich zu machen, obwohl Maschinen nicht wie wir die Welt erleben. Das ist kein Problem, das bereits vollends gelöst wurde. Aber sowohl sogenannte Sprachmodelle, die mithilfe von Methoden des maschinellen Lernens menschliche Sprache nachbilden, als auch Algorithmen im Bereich NLP werden kontinuierlich verbessert.
Weitere Herausforderungen, denen sich die NLP-Forschung seit Jahren stellt, sind die  grammatikalische Vielfalt von Sprachen, die Innovativität des Menschen dabei, Sprache zu verwenden und die Tatsache, dass wir Menschen nicht nur reine Sprache zur Kommunikation verwenden. 
Ein Beispiel. Der Satz “Da haste aber mal wieder richtig leise geschlagzeugt.” wird nicht häufig geäußert, trotzdem verstehen wir Menschen was er meint, während der Computer vermutlich vor Probleme gestellt ist. Möglicherweise hat er “haste” als Verschmelzung von “hast du” schon mal gesehen. Aber die Verbform “geschlagzeugt”, die wir uns gerade ausgedacht haben, wahrscheinlich eher nicht. Menschen verstehen intuitiv, dass es hier ums Schlagzeugspielen geht. Der Computer nicht. Und die Tatsache, dass der Satz zudem Ironie beinhaltet, wird ihm auch entgehen. 
Glücklicherweise stellen solche Textdaten eher die Ausnahme dar. Der Großteil unserer Textdaten kann durch geeignete Methoden aus dem Bereich NLP für den Computer so übersetzt werden, dass wir zumindest in gewissem Grad von “semantischem Verständnis” des Computers sprechen können.

Was hat Natural Language Processing (NLP) mit KI zu tun?

Semantisches Verständnis deutet schon an, in welchem Bereich wir uns mit NLP bewegen: Künstliche Intelligenz (KI). Der Begriff KI meint zunächst erst einmal allgemein die Fähigkeit eines Systems, eigenständig Probleme zu verstehen und zu lösen. Dabei kann das System selbstständig lernen, Probleme zu lösen (Machine Learning) oder auf existierendes Wissen und Regeln zurückgreifen (Expertensysteme). Ein Teilgebiet der KI ist wiederum NLP, also die Anwendung von Techniken und Methoden der maschinellen Sprachverarbeitung mit dem Ziel, Sprache für den Computer verständlich zu machen.
Im Zuge dessen werden verschiedene Disziplinen miteinander verknüpft: Kerngebiete sind dabei die Informatik, die Linguistik und die Statistik. Je nachdem, wie NLP konkret angewendet wird, spielt aber auch Wissen aus anderen spezifischen Domänen eine wichtige Rolle, wie z.B. Produkteigenschaften im Bereich E-Commerce.

Worauf basieren Natural Language Processing-Anwendungen?

Um erfolgreiche NLP-Anwendungen zu bauen, die die Kommunikation zwischen Mensch und Maschine vereinfachen, werden die betreffenden Textdaten in der Regel zunächst bereinigt und vorverarbeitet. Welche konkreten Maßnahmen dafür notwendig sind, ist sowohl von den Daten abhängig, als auch davon, zu welchem Zweck sie schlussendlich genutzt werden sollen. 
Konkret müssen vorliegende Textdaten bspw. meist tokenisiert werden. Darunter versteht man das Aufbrechen eines Textes in einzelne Einheiten (sog. Token), wie z.B. einzelne Wörter. Ganz einfach ist da zum Beispiel denkbar, an Leerzeichen zu trennen, um einzelne Token zu erhalten. Aber was passiert dann mit Einheiten wie z.B. New York? Tokenisierung ist eine häufig genutzte Datenvorverabeitungsmaßnahme im Bereich NLP, bei der allerdings Vor- und Nachteile verschiedener Tokenisierungsmethoden je nach Ziel gegeneinander abgewogen werden müssen. 
Mitunter ist es aber relevant, den Text nicht nur in einzelne Token zu strukturieren, sondern zusätzliche Informationen über die einzelnen Token zu erhalten. Wird in einem Text das Wort “Seine” genutzt, kann es von Interesse sein, ob es sich hier um den Fluss in Frankreich handelt oder einfach nur ein Possessivpronomen wie in Phrasen, z.B. “Seine Häuser”. Um solch eine Unterscheidung machen zu können, werden häufig sog. Part-Of-Speech-Tagger (POS) angewandt. Diese ordnen jedem Token seine Wortart zu.
Als dritte wichtige Maßnahme möchten wir an dieser Stelle die Lemmatisierung vorstellen: für uns Menschen ist es eher unwichtig, ob in einem Text die konkrete Wortform “gut” oder “besser” verwendet wird. Wir verstehen, um welches Objekt es an dieser Stelle geht, da wir gelernt haben, verschiedene Formen eines Wortes seiner lexikalischen Bedeutung zuzuordnen. Dem Computer muss dieses Wissen erst beigebracht werden. Für ihn ist der reine Unterschied auf der Zeichenebene zwischen “gut” und “besser” sogar viel größer als etwa zwischen “gut” und “Hut”. Bei der sogenannten Lemmatisierung wird der Maschine nun beigebracht, “gut” und “besser” als zwei Ausprägungen eines Lemmas, d.h. einer Wortbedeutung, zu verstehen. 
Neben diesen drei Maßnahmen der Datenvorverarbeitung im Bereich NLP werden weitere Maßnahmen angewandt. Ihnen allen ist gemein, dass sie die Grundlage für die Entwicklung konkreter NLP-Anwendungen legen, die unseren Alltag vereinfachen.

Welche Natural Language Processing (NLP)-Anwendungen und Beispiele gibt es in der Praxis?

Berührungspunkte mit NLP haben wir alle in unserem Alltag immer wieder, sowohl in der Freizeit als auch im Beruf, häufig ohne uns dessen bewusst zu sein. Wir zeigen das an einem beispielhaften Tagesablauf: 
“Alexa Wecker aus” – so lautet mein erster Satz morgens, als mich mein digitaler Sprachassistent viel zu früh weckt. Sofort verstummt der Wecker, da meine Worte dank NLP erfolgreich von meinem Sprachassistenten verarbeitet wurden.
Anschließend nehme ich mein Smartphone zur Hand und checke als erstes meine E-Mails. Wie so oft wurde mir auch Spam in meine Inbox gespült. Mein Spamfilter nutzt glücklicherweise NLP und kann mir so den größten Quatsch herausfiltern, sodass ich ihn nicht mal sehen muss. 
Währenddessen bekomme ich eine neue Nachricht über einen Messenger. Ich möchte antworten, vertippe mich aber manchmal und freue mich darüber, dass mir das Verfassen der Antwort durch geeignete Wortvorschläge beim Tippen vereinfacht wird. Diese beiden Features Autokorrektur und Autosuggest basieren auf NLP. Mein Gesprächspartner kommt aus Spanien und ich überlege mir, dass er sich sicher freut, wenn ich ihm auch einen Satz auf Spanisch schreibe. Allerdings bin ich selbst nicht ganz sicher, wie die Übersetzung richtig lautet, also lasse ich mir im Internet eine Übersetzung meines deutschen Satzes ins Spanische anzeigen. Auch bei automatischen Übersetzungen ist NLP im Spiel.
Nun möchte ich erst einmal wissen, was in der Welt als letztes passiert ist und öffne eine Nachrichtenseite im Internet. Da ich mich leider überhaupt nicht für Sport interessiere, sondern nur für aktuelle Meldungen aus der internationalen Politik, klicke ich auf einen Link, der mir einen Themenseite genau zu diesem Thema anbietet. Was mir gar nicht bewusst ist: diese Themenseite wurde nicht von menschlichen Redakteuren zusammengestellt, sondern automatisch erstellt. Dafür wurden die redaktionellen Beiträge mithilfe von NLP zunächst nach Ressorts klassifiziert und anschließend auch automatisch kuratiert. Sowohl die Textklassifikation als auch die automatische Erstellung von Themenseiten zählen zu typischen Anwendungen von NLP. 
Als Bonus sind die wichtigsten News auf der Themenseite kurz zusammengefasst. Und ja: selbst solche automatischen Zusammenfassungen werden heutzutage zunehmend von Maschinen verfasst. Im unteren Bereich der Themenseite werden mir darüber hinaus weitere verwandte Beiträge empfohlen – solche Empfehlungssysteme basieren ebenso auf NLP.
Ein Beitrag über die Wahlen in Italien erinnert mich daran, mich endlich um meinen nächsten Sommerurlaub zu kümmern. Schnell suche ich im Internet nach geeigneten Ferienwohnungen auf Sardinien und gelange zu einer Buchungsseite. Allerdings ist das Angebot viel zu groß und ich versuche es mit einer konkreten Suche “FeWo Sardinien Frühstück inkl”. Sofort werden mir passende Angebote präsentiert. Bei der Verarbeitung meiner Suchanfrage kam wiederum NLP zum Einsatz. Durch Filter grenze ich die Angebote weiter an. Einen Filter, ob Frühstück angeboten wird, gibt es leider nicht. Trotzdem werden mir nur solche Ferienwohnungen angezeigt, die auch ein Frühstück anbieten, da NLP eingesetzt wurde, um automatisch aus den Beschreibungstexten Eigenschaften der Angebote zu extrahieren und dies als zusätzliche Informationen für die Suche bereitzustellen. Auch diese sogenannte semantische Verschlagwortung ist ein Anwendungsfall von NLP. Eine spezielle Form der semantischen Verschlagwortung beruht auf sogenannter Named Entity Recognition und insbesondere Entity Linking. Dabei werden nicht nur Informationen aus Texten extrahiert, sondern auch einer konkreten sog. Entität in einer Wissensbasis zugeordnet. Unabhängig davon, ob in der Beschreibung der Ferienwohnung also von “französischem” oder “einfachem” Frühstück die Rede ist, verweisen beide Begrifflichkeiten auf die gleiche Entität und ich könnte bei einer konkreten Suche nach einer speziellen Art des Frühstücks fündig werden.
Um mich endgültig zu entscheiden, welche Ferienwohnung ich buche, werfe ich einen Blick auf die Rezensionen. Um alle Rezensionen zu lesen, fehlt mir leider die Zeit. Glücklicherweise hilft mir auch hier eine NLP-Anwendung weiter: über die Rezensionen wurde eine Sentiment-Analyse durchgeführt. Das heißt, ein Computer hat die große Menge an Rezensionen automatisch analysiert und fasst für mich zusammen, mit welchen wichtigen Stichpunkten andere Nutzer die verschiedenen Angebote in den Bereichen Lage, Sauberkeit und Ausstattung bewerten.
Ich entscheide mich, klicke mir einen Urlaub zusammen und freue mich, dass NLP mir so eine große Hilfe im Alltag ist.

Welche Technologien kommen beim Natural Language Processing (NLP) zum Einsatz ?

Bei der Forschung und Entwicklung im Bereich NLP wird häufig auf Python gesetzt. Zahlreiche Bibliotheken für NLP werden für Python angeboten, sodass einfache NLP-Anwendungen nur wenige Zeilen Code brauchen, um eine grundlegend funktionierende NLP-Anwendung zu erstellen. 
Zu diesen Bibliotheken gehören das Natural Language Toolkit (NLTK), Gensim und insbesondere spaCy. Von der Vorbereitung der Textdaten mithilfe von Part-of-Speech-Tagging (POS) über Tokenisierung bis hin zum Einsatz von trainierten Sprachmodellen decken sie verschiedene Komplexitätslevel im Bereich NLP ab.
Um selbst Sprachmodelle trainieren, finetunen und in den produktiven Einsatz bringen zu können, werden insbesondere scikit-learn, TensorFlow, Keras und Pytorch verwendet.
Zum State-of-the-Art der vortrainierten großen Sprachmodelle gehören derzeit GPT-3BERT und darauf aufbauend viele andere Modelle (wie z.B. RoBERTa und DistilBERT) sowie T5. Bei ontolux kommt aber beispielsweise auch Flair zum Einsatz.
Zum Thema neuronale Netze für NLP-Anwendungen haben wir in unserem Blog einen weiterführenden Artikel.

Mehr Informationen zu NLP-Frameworks

Aufbauend auf Sprachmodellen, Libraries und viel Eigenentwicklung wird NLP sowohl von der Forschungscommunity als auch von kommerzieller Seite kontinuierlich vorangetrieben. Einen vergleichenden Überblick über Anbieter für NLP, insbesondere deutscher Textdaten haben wir an anderer Stelle in unserem Whitepaper “Deutschsprachige NLP-Framworks unter der Lupe” bereits erstellt.

Für weitere Einblicke in aktuelle Trends und Entwicklungen im Bereich NLP sei an dieser Stelle abschließend auf unseren monatlichen Beitrag “KI & Forschung” verwiesen.

Autorin

Cornelia Werk

Cornelia Werk ist bei der Neofonie als Consultant für die Bereiche Data Science und NLP verantwortlich. Als Schnittstelle zwischen unseren Kunden und Entwicklern erarbeitet sie individuelle Lösungen rund um Künstliche Intelligenz. Sie ist studierte Linguistin und hat bereits als Data Analystin fundierte Erfahrungen in den Bereichen intelligente Datenanalyse, KI und Qualitätsmanagement sammeln können.