Nane Kratzke

Thesis:

Entwicklung eines Microservice für das Part of Speech-Tagging

Published: 15 Jan 2024 (latest update: 15 Jan 2024)
Type: Bachelor (B. Sc.)
State: ongoing
Study: Informatik
Language: Deutsch
Author: Khaled Dowah
Company: myLab

Unter Part-of-speech-Tagging (POS-Tagging) versteht man im Natural Language Processing (NLP) die Zuordnung von Wörtern und Satzzeichen eines Textes zu Wortarten (englisch part of speech). Dabei wird die Definition und Kontext (z. B. angrenzende Adjektive oder Nomen) des Wortes berücksichtigt.

POS-Tagging ist sprachabhängig. Pro Sprache können ein oder mehrere Tagsets existieren. Für das Deutsche wird oft das Stuttgart-Tübingen-Tagset (STTS) verwendet.

“Der Satz Petra liest einen langen Roman.” wird mit STTS bspw. wie folgt getaggt:

> Petra/NE liest/VVFIN einen/ART langen/ADJA Roman/NN ./$.

Hinter jedem Wort bzw. Satzzeichen steht das Tag nach einem Schrägstrich. Um das Wort in einem gegebenen Kontext richtig zu taggen, muss man es von den Formen des gleich lautenden Verbs unterscheiden; diese würden mit VVINF (für den Infinitiv) bzw. VVFIN (für die finite Form) getaggt.

Es gibt mittlerweile eine Vielzahl an Open Source NLP-Bibliotheken die POS-Tagging für unterschiedliche Sprachen anbieten. Bspw.:

  • Spacy
  • NLTK
  • OpenNLP
  • und mehr

Diese werden häufig in Form von Programmbibliotheken (oft Python) zur Verfügung gestellt und müssen somit programmatisch genutzt werden. Oft ist dabei die Sprachbindung ein Problem, insbesondere wenn POS-Funktionalitäten in Komponenten erforderlich werden, die nicht in Python implementiert wurden. Ziel dieser Arbeit ist es, derartige Bibliotheken webbasiert mittels einer REST-API in Form eines Microservice bereitzustellen.

  • Das Resultat eines POS-Tagging eines Textes soll satzweise in Form eines JSON-Datenformats erfolgen.
  • Die Integration des Service soll am Beispiel eines Sprachanalyse-Dashboards demonstriert werden. Das Sprachanalyse-Dashboard soll eine POS-Tagging-Anzeige, Häufigkeitsanalyse von Wortarten sowie Entitäten-Erkennung umfassen, sowie ggf. eine Sentiment-Analyse, Lesbarkeitsindex und Schlüsselwort-Analyse. Die Beispielapplikation ist Gegenstand der Arbeit.
  • Die Lösung soll in Kubernetes automatisiert deploybar sein. Eine entsprechende Infrastruktur wird im Rahmen der Abschlussarbeit bereitgestellt werden. Die Implementierung ist vorzugsweise mittels Python vorzunehmen.

Im Sinne des Open Source Gedankens sollte die Autor:in anstreben, die Lösung als Open Source Projekt im Anschluss der Arbeit der Allgemeinheit zur Verfügung zu stellen und über die Abschlussarbeit hinaus als Open Source Produkt fortzuführen.