6.1. NLP als Methode zur „Semantisierung“ von Text#

6.1.1. Was ist NLP und warum benutzen wir es?#

Für den Computer ist ein Text eine Liste von Zeichen, die nicht aus semantischen Einheiten wie z.B. Wörtern oder Sätzen besteht. Sobald die Operationalisierung einer Forschungsfrage von diesen semantischen Einheiten ausgeht, z.B. auf der Häufigkeit eines Wortes aufbaut, ist es sinnvoll, Methoden des Natural Language Processing (NLP) anzuwenden, um den Text mit zusätzlichen linguistischen Informationen anzureichern.
NLP ist ein interdisziplinäres Feld, das an der Schnittstelle von Linguistik und Informatik angesiedelt ist und verschiedene Methoden (regelbasiert, statistisch, maschinelles Lernen) zur automatischen Verarbeitung natürlicher Sprache umfasst. Diese reichen von der Aufteilung eines Textes in Wörter (Tokenisierung) über die Analyse von Emotionen in Texten (Emotion / Sentiment Analysis) bis hin zu der Erstellung von Chatbots (Dialogue Systems).

6.1.2. Verwendete NLP-Methoden#

Ein Phänomen wie die Spanische Grippe kann in einem Textkorpus untersucht werden, indem das Phänomen durch eine Sammlung von Wörtern im Sinne eines semantischen Feldes umrissen wird. Für diese Wörter kann dann die Häufigkeit berechnet und über die Zeit analysiert werden. Dafür muss das Korpus zuerst mittels Tokenisierung in Worte, sogenannte Token, aufgeteilt werden. Verschiedene Wortformen (z.B. Krankenhäuser, Krankenhauses) sollen bei der Analyse mittels Lemmatisierung auf dasselbe Wort (hier: Krankenhaus) zurückgeführt werden, sodass die berechneten Häufigkeiten besser zu interpretieren sind.

Beispiel

Ursprünglicher Satz: „Die Grippe wütet weiter.“
In tokenisierter und lemmatisierter Form:

Token

Lemma

Die

die

Grippe

Grippe

wütet

wüten

weiter

weiter

.

.

6.1.3. NLP mit Python#

nltk und spaCy#

In Programmiersprachen gibt es Bibliotheken, die Methoden, z.B. zur Textverarbeitung, bündeln. Die Bibliotheken können installiert, in den Programmcode geladen und dann angewendet werden. Für Python gibt es verschiedene Bibliotheken, mit denen die Verarbeitung von Texten mittels NLP möglich ist. Am weitesten verbreitet sind die Bibliotheken spaCy und nltk, die in Tabelle Vergleich von spaCy und nltk verglichen werden.

Table 6.1 Vergleich von spaCy und nltk#

Bibliothek

Vorteile

Nachteile

spaCy

  • kurze Verarbeitungsdauer
  • leichte Benutzbarkeit durch komplette Pipeline
  • Visualisierungsmöglichkeiten

  • Weniger flexibel in der Anpassung an spezielle Anwendungsfälle

nltk

  • flexibel in der Anpassung an spezielle Anwendungsfälle
  • Transparenz einzelner Schritte in einer Pipeline

  • Längere Verarbeitungsdauer
  • Höhere Einstiegshürde

NLP mit spaCy#

Da die Vorverarbeitung der Texte keinerlei spezialisierter NLP-Methoden bedarf und aufgrund der leichten Benutzbarkeit und der Geschwindigkeit verwenden wir spaCy für die Tokenisierung und Lemmatisierung des Textkorpus. spaCy stellt unterschiedliche Methoden für die Vorverarbeitung bereit, die meisten basieren auf maschinellem Lernen. Da die Vorverarbeitung sprachabhängig ist, stellt spaCy für die unterstützten Sprachen (über 20) verschiedene Analyse-Modelle zur Verfügung. Eine Übersicht über die von spaCy unterstützten Sprachen gibt es hier. Die zur Verfügung gestellten Modelle unterscheiden sich in der Geschwindigkeit und in der Genauigkeit der Annotation. Da wir auf einem verhältnismäßig großen Korpus operieren und sich die Leistung der Modelle für die Tokenisierung gar nicht und für die Lemmatisierung nur wenig (0.02%) unterscheidet, verwenden wir ein Modell, das auf Geschwindigkeit ausgelegt ist (de_core_news_sm).

Leistung von spaCy auf unserem Korpus

Die Modelle in spaCy sind auf zeitgenössische Zeitungs- und Medientexte ausgelegt, die eine hohe Qualität haben. Historische Sprachverwendung sowie vor allem eine geringe Datenqualität führen zu einer deutlich geringeren Annotationsleistung.

6.1.4. Zusammenfassung und nächste Schritte#

Die NLP-Methoden, die für die Vorverarbeitung von Texten notwendig sind, wurden erklärt. spaCy wurde als Bibliothek festgelegt, mit der die Methoden auf die Textdaten angewendet werden. Im nächsten Schritt werden die Texte, die als txt-Dateien vorliegen, mittels spaCy annotiert und die Annotationen werden in Tabellen (csv-Dateien) gespeichert.

6.1.5. Mögliche Fragen für das Assessment#

  • Welche der folgenden Methoden wird benutzt, um einen Text in Wörter aufzuteilen: Lemmatisierung, Tokenisierung, PoS-Tagging?

  • Ist die Anwendung von NLP-Methoden notwendig, um aus einem Bild einen Text zu extrahieren?

  • Was ist die lemmatisierte Form von „ärmer“?