Programmierprojekt "What (the hell) is wrong: Ein Quiz für Sprachlerner"

BearbeiterIn: Klenner, Clematide, Peric

Betreuer: Selbstbetreuung

Manfred Klenner, Simon Clematide & Bojan Peric.
What (the hell) is wrong? An approach to semi-automatic construction of self correction tests.
In Proceedings of the Workshop on NLP for Educational Resources. In conjuction with RANLP07, 2007.

Einführung

Zu wissen, welche Fehler man macht, ist besser, als immer nur zu hören, dass man welche macht. Didaktisch interpretiert heisst das: Lass den (Sprach-)Lerner seine eigenen Fehler finden (anstatt ihm nur die richtige Lösung zu zeigen). Im PP geht es um ein solches Szenario. Ausgehend von 500 Sätzen von (asiatischen) Deutschlernern soll ein Tool entwickelt werden, das zu einem gegebenen (falschen oder richtigen) Satz eine Anzahl (z.B. vier) Fehlermeldungen generiert, wobei die falschen täuschend echt sein sollen.
Beispiel (noch nicht optimal):

Satz: Sie hat ihn ihrer Haus eingeladen.

  1. Ein Nomen in diesem Satz verlangt eine andere Präposition
  2. Die Kongruenz innerhalb einer Phrase wird missachtet (Person, Kasus, Numerus oder Genus), oder ein Nomen hat das falsche Genus
  3. Ein Partikel oder Adjektiv steht am falschen Ort
  4. Dieser Satz ist richtig
Die richtige Antwort ist 2. Der richtige Satz lautet: Sie hat ihn in ihr Haus eingeladen.
Das Problem ist hier, dass die anderen vermeintlichen Fehlermeldungen schlecht sind. In 1) wird von einer anderen Präposition gesprochen, in dem Satz hat es aber keine Präposition, vielmehr fehlt eine. In 3) ist es ähnlich. Es gibt kein Adjektiv bzw. Partikel. Ausserdem gibt es 2 Fehler, aber nur einer wird in den Fehlermeldungen aufgegriffen.
Die Auswahl einer guten Fehlermeldung erfordert grammatische Information, z.B. Part of Speech Tags oder auch grammatischen Funktionen etc. Wenn man die POS Tags des Beispielsatzes kennt, kann Meldung 3) ausgeschlossen werden, da man dann weiss, dass im Satz kein Adjektiv vorkommt.
Obige Ausgabe stammt von einen Prototyp-System, dass aus einer Seminararbeit entstanden ist. Der Fokus lag auf der Entwicklung einer Fehlerklassifikation, nicht auf der Auswahl von Fehlermeldungen. Dies war mit den zur Verfügung stehenden Daten nicht möglich, ist aber nun Kern dieses PPs.

Ziel und Zweck

Ziel ist ein Programm, um aus einem Satzkorpus mit fehlerhaften Sätzen ein webtaugliches Quiz zu generieren (Erzeugung eines bestimmten Formats, die Abbildung ins CLab-Quizformat ist schon da, vgl.Beispiel-Quiz (Tokenisierung)) Der Fokus liegt auf der automatischen Auswahl der Fehlermeldungen zu einem gegebenen Satz, wobei von einem Parse des (manuell korrigierten) Satzes (Prologrepräsentation) ausgegangen werden kann. Morphologische Daten sind ebenfalls vorhanden. Die Fehlerklasse (i.e. diejenige Meldung, die richtig ist) ist im Moment vorkodiert.

Arbeitsschritte

  1. Die Fehlerklassifikation umfasst 40 Fehlermeldungen. Für diese müssen die Abhängigkeiten (was muss im Fehlersatz gegeben sein, damit die Meldung sinnvoll ist) ermittelt werden
  2. Parseresultate und Fehlermeldungstypologie muss verdrahtet werden. Dazu bedarf es eines Prologprogrammes, das
    1. zufällig einen Satz auswählt und
    2. passende Fehlermeldungen aussucht
  3. Erzeugung des Quiz' (Ausgabe der Fehlermeldungen in einem einfachen Datenformat)

Anforderung/Kenntnisse

Prolog.

Literatur/ Links: