Natural Language Processing – Intro für das heißeste Thema in der KI-Forschung - Einführung in die Unterkategorien und Gründe für die rasante Entwicklung (Teil 2)

January 10, 2021
6 min
NLP
Credits to Devanath from pixabay.com

Wo uns Anwendungen aus dem Bereich Natural Language Processing (NLP) überall begegnen, was NLP bedeutet und in welche Unterkategorien NLP unterteilt werden kann, haben wir in diesem Artikel beschrieben. In der Fortsetzung in diesem Artikel erläutern wir die restlichen Unterkategorien von NLP und zeigen auf, warum NLP-Anwendungen in den letzten Jahren rasant besser geworden sind. Wie im ersten Teil beschrieben, lässt sich NLP in die Unterkategorien Automatic Speech Recognition, Natural Language Understanding (NLU), Natural Language Generation und Text to Speech unterteilen. Da der Bereich NLU der größte Bereich ist, enthält dieser weitere Kategorien wie Text Classification, Paraphrase Identification, Entity Linking, Summarization, Translation, Question Answering und Dialogue Systems. Dieser Beitrag knüpft bei dem Thema Translation an den vorherigen Beitrag an, wobei wir darauf hinweisen, dass es neben den von uns aufgeführten Kategorien weitere gibt. Wir erläutern jedoch die Kategorien, die aus unserer Sicht am relevantesten sind.

Natural Language Understanding - Fortsetzung

Translation

Der Bereich Translation (oder Machine Translation) befasst sich mit der automatischen Umwandlung einer natürlichen Sprache in eine andere, wobei die Bedeutung des übersetzten Textes nicht verändert wird [1]. Modelle die im Bereich Machine Translation eingesetzt werden, bezeichnet man auch als sequence-to-sequence models [2]. Bei diesen Modellen wird eine Eingangssequenz, hier ein Satz, in eine Ausgangssequenz, die Übersetzung des Satzes, überführt. Machine Translation ist eines der ältesten Probleme des NLP-Feldes und gleichzeitig eines der schwersten, da verschiedene Probleme auftauchen. Diese werden an einem Beispiel am deutlichsten, dargestellt in der folgenden Abbildung.

Übersetzung von Das Gebiet der Künstlichen Intelligenz ist momentan einer der aufregendsten Forschungsbereiche zu The field of artifiial intelligence is one of the most exciting areas of research at the moment.
Beispiel für eine Übersetzung vom Deutschen ins Englische

Der Satz wurde vom Deutschen ins Englische übersetzt, übrigens mit DeepL. Hierbei zeigen sich drei Merkmale: Zum einen, setzen sich der deutsche und englische Satz aus unterschiedlich vielen Wörtern zusammen. Während der deutsche Satz aus elf Wörtern besteht, hat die englische Übersetzung 17 Wörter. Würde man für die Übersetzung ein einfaches neuronales Netz verwenden, bestünde die Problematik darin, dass die Dimension der Ein- und Ausgänge des Netzes bekannt sein muss [3]. Da die Dimensionen bei sequence-to-sequence Modellen jedoch vorab nicht bestimmt werden können, da diese sehr stark variieren, sind einfache neuronale Netze für diese Aufgabe ungeeignet.

Die zweite Problematik besteht darin, dass sich die Syntax deutscher Sätze von der Syntax englischer Sätze unterscheidet. Aus diesem Grund können die Wörter des deutschen Satzes nicht isoliert voneinander Wort für Wort ins Englische übersetzt werden, sondern nur im Kontext des gesamten Satzes. Nur so kann ein Satz gebildet werden, welcher der englischen Syntax entspricht. Dies ist in unserem Satz beispielhaft an der Position des Wortes „momentan“ zu erkennen. Während es im deutschen Satz in der Mitte steht, ist es im englischen Satz an dessen Ende zu finden. Eine isolierte Übersetzung der einzelnen Wörter hätte hierbei zu einer fehlerhaften Syntax geführt. Ein Durchbruch hinsichtlich dieser beiden Probleme konnte 2014 durch den Einsatz der Long Short-Term Memory Architektur (LSTM) [4] für sequence-to-sequence Modelle erzielt werden [3]. Schon drei Jahre später konnten durch den Einsatz der sogenannten Transformer-Architektur erneut bessere Ergebnisse bei sequence-to-sequence Aufgaben erzielt werden [5]. Wie die LSTM und Transformer-Architektur im Detail funktionieren, erklären wir in späteren Artikeln.

Die dritte Problematik besteht darin, dass ein Wort unterschiedliche Bedeutungen haben kann (Homonym). Ein Beispiel hierfür aus unserem Satz ist das Wort „Gebiet“. Übersetzt man dieses Wort mit LEO vom Deutschen ins Englische, erhält man unter anderem die Wörter area, domain, region und territory. Bei der Übersetzung eines ganzen Satzes, muss der Kontext der einzelnen Wörter beachtet werden, in dem diese eingesetzt wird. Beispielsweise hätte in unserem Kontext die Übersetzung des Wortes „Gebiet“ mit „territory“ zu Missverständnissen und Stirnrunzeln geführt. Auch hier konnten seit 2012 durch neue Methoden große Durchbrüche erzielt werden, die dabei helfen Mehrdeutigkeiten von Wörtern aufzulösen. Ergebnisse dieser Methoden sind sogenannte Word Embeddings [6], welche wir ebenfalls in weiteren Artikeln näher beschreiben.

Question Answering

Question Answering (QA) beschreibt die Aufgabe von Computern Fragen von Menschen zu beantworten. Beispiele hierfür sind Fragen, die an Alexa oder Siri gestellt werden. Die meisten dieser Systeme fokussieren sich auf Fragen, die mit Fakten beantwortet werden können, sogenannte factoid questions [7]. Zum Beispiel Fragen wie „Wer ist die Bundeskanzlerin von Deutschland?“ oder „Wie oft ist der FC Köln deutscher Meister geworden?“. Um diese Fragen beantworten zu können, wird zwischen Information-retrieval (IR) based question answering und knowledge-based question answering unterschieden. Beim IR-Ansatz durchsuchen die QA-Systeme das Internet nach passenden Dokumenten, diese wiederum nach passenden Passagen oder Sätzen und geben diese als Antwort aus [7]. Knowledge-based systems basieren auf einer knowledge base (Ontologie), in der unterschiedlichste Fakten gesammelt sind. Diese können dann von dem QA-System verwendet werden, um Fragen zu beantworten. Ein Beispiel für eine knowledge base ist Wikidata, in der 91.778.022 (Stand 29.12.2020) Objekte gesammelt sind. Mehr zu der Thematik knowledge base könnt ihr in der Kategorie Semantic Web erfahren. Natürlich gibt es auch hybride Systeme, die sowohl den IR-, als auch den knowledge base Ansatz verwenden.

Dialogue Systems

Dialogue Systems haben zur Aufgabe mit dem Menschen in natürlicher Sprache zu kommunizieren. Im Gegensatz zu QA-Systemen, wo einzelne Fragen beantwortet werden, haben dialogue systems die Aufgabe längere Konversationen mit dem Menschen zu führen. Hierbei wird grundsätzlich zwischen task-oriented dialogue systems (TODS) und chatbots unterschieden. TODS haben zum Ziel, Menschen bei der Lösung von Aufgaben zu unterstützen, z.B. bei der Reservierung eines Restauranttisches oder beim Onlinekauf eines Buches. Dem Gebiet TODS widmen wir später weitere Artikel, da hier verschiedene Komponenten aus dem Bereich NLP zusammenkommen.

Natural Language Generation

Die vorletzte Unterkategorie von NLP wird als Natural Language Generation (NLG) bezeichnet. Die NLG-Komponente wird bspw. in QA-Systemen oder Dialogue Systems benötigt, um die interne Darstellung des Computers in eine für den Menschen verständliche Äußerung umzuwandeln [8]. Ähnlich wie beim Gebiet Machine Translation ist ein wichtiger Aspekt hierbei, die Syntax der jeweiligen Sprache korrekt darzustellen.

Text-to-speech

Bei der Unterkategorie Text-to-speech besteht die Aufgabe darin, menschliche Sprache möglichst natürlich nachzuahmen. Hierbei werden Texte, die von der NLG-Komponente erzeugt werden, in künstliche menschliche Sprache umgewandelt. Das Gebiet wird auch als speech synthesis (Sprachsynthese) bezeichnet, da es die synthetische Erzeugung von Sprache durch den Computer behandelt [9]. Das größte Problem bei Text-to-speech Systemen besteht darin, die künstliche Sprachausgabe möglichst natürlich klingen zu lassen, im Idealfall so, als würde man mit einem anderen Menschen kommunizieren.

Dies waren die Unterkategorien aus dem NLP-Bereich, auf die wir kurz eingehen wollten. Einige davon, wie TODS oder Text Classification, werden uns in späteren Artikeln wieder begegnen.

Gründe für die rasante Entwicklung von Anwendungen im Bereich des Natural Language Processing

Wie zu Beginn geschrieben, sind NLP-Anwendungen in den letzten Jahren stetig besser darin geworden, menschliche Sprache zu verarbeiten. Dies hat drei Gründe: Der erste Grund liegt in der Weiterentwicklung der Modelle, die im Bereich NLP eingesetzt werden. Um dies zu verdeutlichen haben wir den Bereich Translation dieses Artikels ausführlicher beschrieben. In diesem Abschnitt wird deutlich, dass neue Modelle im NLP-Feld entwickelt bzw. anders eingesetzt wurden, welche Sprache besser verarbeiten können. Dies sind vor allem Rekurrente Neuronale Netze, LSTMs und die Transformer Architektur - zur Verarbeitung von Sätzen - und Methoden zur Bildung von Word Embeddings - zur Repräsentation von Wörtern. Diese verschiedenen Modelle werden wir in den nächsten Artikeln Stück für Stück erläutern. Der zweite Punkt ist die immer weiter ansteigende Rechenleistung. Für das Training der Modelle werden große Rechnerkapazitäten benötigt. Dass die Leistungen moderner Computer immer besser werden, wissen wir eigentlich alle. Doch dies lässt sich auch an Zahlen belegen. Bis 2012 galt das als Moore’s Law bekannte Gesetz. Dieses besagt, dass die Anzahl an Transistoren, die in einem integrierten Schaltkreis festgelegter Größe passen, sich etwa alle 18 Monate verdoppeln. Seit 2012 verdoppelt sich die Rechenleistung jedoch alle 3,4 Monate [10]. Dieser rasante Anstieg der Rechenleistung ermöglicht sowohl das schnellere Training als auch das Training größerer Modelle, was im NLP-Bereich von großer Bedeutung ist. Dies führt zum dritten Grund für den rasanten Anstieg: Modelle, die auf immer größeren Mengen Text trainiert werden können. Moderne NLP-Modelle werden auf großen Mengen Text trainiert, um gute Word Embeddings bzw. Pretrained Language Models zu erhalten. Die Kombination aus großen Mengen verfügbaren Textes und großer Rechenleistung haben in den letzten Jahren zu sehr guten Modellen geführt.

Drei Gründe für die rasante Entwicklung von NLP-Modelle (Bessere Modelle, Mehr Rechenleistung, Größere Mengen Text)
Dre Gründe für die schnelle Weiterentwicklung von NLP-Anwendungen in den letzten Jahren

Wie das Training auf großen Mengen Text funktioniert und was für Modelle hierfür heutzutage verwendet werden, ist Bestandteil der nächsten Artikel.

Referenzen
Portrait of Blogger
Maximilian Both
<  Previous
Natural Language Processing – Intro für das heißeste Thema in der KI-Forschung - Definition des Begriffs und Einführung in die Unterkategorien (Teil 1)
Next  >
Sequence Models – eine Einführung

Kommentare