Hauptregion der Seite anspringen

Strukturiertes Praktikum im Sommersemester 2021

Aktuelle Hinweise: Aufgrund der Pandemie und der damit verbundenen Einschränkungen in der Lehre wird das Praktikum mindestens bis Pfingsten als Online-Veranstaltung stattfinden. Bitte tragen Sie sich zeitnah in den Opal-Kurs ein, damit wir Sie per E-Mail erreichen können.

Überblick

In der Vorlesung Formale Systeme wurden kontextfreie Grammatiken als Modell zur Beschreibung formaler Sprachen eingeführt. Ziel dieses Praktikums ist die Anwendung kontextfreier Grammatiken in der natürlichen Sprachverarbeitung. Dazu werden wir aus Trainingsdaten eine Grammatik für die englische Sprache induzieren und einen Parser implementieren, der mithilfe dieser Grammatik Eingabesätze in ihre syntaktische Struktur zerlegt. Weiterhin werden wir verschiedene Methoden zur Verbesserung der Genauigkeit und der Laufzeit des Parsers untersuchen. Am Ende werden die genauesten und schnellsten Parser der Praktikumsteilnehmer in einem Wettbewerb gekürt.

Das Praktikum bietet eine Möglichkeit, die in den Vorlesungen Maschinelles Übersetzen natürlicher Sprachen und Parsing von natürlichen Sprachen vermittelten Konzepte am praktischen Beispiel zu vertiefen.

Organisation

Es gibt keine Einschreibung. Der Ablaufplan enthält alle relevanten Informationen:

  • Einbringungsmöglichkeiten des Praktikums und Voraussetzungen,
  • Teilaufgaben und deren Aufgabenstellungen,
  • Termine der Tutorien und Abgabetermine der Teilaufgaben sowie
  • die Dokumentation der erwarteten Kommandozeilenschnittstelle.

Es gibt einige verbindliche Tutorien, zu denen die Teilaufgaben des Praktikums vorgestellt werden. Die BigBlueButton-Links werden rechtzeitig per E-Mail an alle Eingeschriebenen bekanntgegeben. Die Einführungsveranstaltung findet am 19. April 2021 statt. Weitere Termine entnehmen Sie bitte dem Ablaufplan.

Materialien

An dieser Stelle werden Ihnen die Folien der Tutorien und weitere für das Praktikum benötigte Daten zur Verfügung gestellt. Der Zugriff auf die verlinkten Ressourcen ist ausschließlich im Netz der TU Dresden möglich. Informationen zur Verwendung von VPN finden Sie hier.

Folien der Tutorien

Korpora

Als Trainings- und Testkorpus dienen annotierte Sätze des Wall Street Journals aus der Penn Treebank. Diese werden hier in aufbereiteter Form zur Verfügung gestellt. Bitte beachten Sie, dass die Lizenz der TU Dresden über die Nutzung der Penn Treebank Sie nicht zur Weitergabe dieser Daten berechtigt.

Die Daten sind wie folgt unterteilt:

training.mrg
Trainingskorpus (annotierte Sätze) für die Grammatinduktion.
grammar.rules, grammar.lexicon, grammar.words
Beispielgrammatik (binarisiert) für den Parser.
testsentences
Beispielsätze (i.e., Testkorpus) für den Parser.
gold.mrg
Gold-Parsebäume = annotierte Sätze des Testkorpus (nicht binarisiert, können also nicht zur Parser-Ausgabe passen!).
gold_b.mrg
Binarisierte Gold-Parsebäume.

Evaluation des Parsers (F1-Score)

Die vom Parser ausgegebenen Bäume stimmen im Normalfall nicht mit den Goldbäumen überein. Die Güte des Parsers wird daher über den F1-Score bestimmt, der z.B. mit discodop bestimmt werden kann:

discodop eval --fmt=bracket <DATEI MIT GOLDBÄUMEN> <DATEI MIT PARSEBÄUMEN>

Arbeitsumgebung

Die Strukturierung der Implementierung und die Wahl der verwendeten Tools ist Ihnen freigestellt. Es gelten lediglich die folgenden Anforderungen, um ein automatisches Testen zu ermöglichen.

  • Das Arbeitsverzeichnis enthält auf oberster Ebene eine Datei namens Makefile. Diese enthält ein Target, das eine ausführbare Datei pcfg_tool erstellt. Eine weitergehende Einführung in Make gibt es z.B. hier.
  • Das Programm pcfg_tool enthält die Lösungen zu allen Teilaufgaben. Einzelne Funktionen werden über Subkommandos aufgerufen (wie bei git). Ist eine Funktion nicht implementiert, soll das Programm mit dem Statuscode 22 beendet werden. Alles weitere zur Kommandozeilenschnittstelle steht im Ablaufplan.
  • Keine Datei auf der obersten Ebene des Arbeitsverzeichnisses beginnt mit .eval_.

Sie können selbst überprüfen, ob Ihre Implementierung die Spezifikationen hinsichtlich Ein- und Ausgabeformat erfüllt. Dazu entpacken Sie die folgende Testsuite in Ihr Arbeitsverzeichnis und rufen make -f tests.mk auf. Bitte stellen Sie vor Einreichung einer Teillösung sicher, dass diese Tests erfolgreich durchlaufen. Hinweis: die Tests überprüfen nicht die Korrektheit der Implementierung.

Kontakt

  • Prof. Dr.-Ing. habil. Dr. h.c./Univ. Szeged
    Heiko Vogler
    Tel.: +49 (0) 351 463-38232
  • Dipl.-Inf. Richard Mörbitz
    Tel.: +49 (0) 351 463-38487
Stand: 21.06.2021 15:24 Uhr