Erfahrungen beim Grammar Engineering

Dozent: Martin Volk

Übersicht

Ziel der Vorlesung ist die Beschreibung der Schwierigkeiten bei der Erstellung einer Syntaxanalyse-Komponente für ein praktisch einsetzbares NLP-System. Dies wird illustriert an dem z.Zt. an der Universität Zürich entwickelten UIS-System.

Motivation

Grammar writing is much more difficult than rule writing. The intricate interrelations of the individual rules of a grammar make grammar writing a complex and error-prone process, much like computer programming. (Friedman "Computational Testing of Linguistic Models in Syntax and Semantics"; 1989)

... the concern was raised that none of the improvements in the actual formalisms such as powerful type systems and additional data types have brought the systems any closer to exploitation in industrial strength systems and that moreover efficient processing models might even have become less likely through this development. (Uszkoreit 1993)


Beschreibung eines aktuellen Projekts

Ziel des Projekts

Ein Frage-Antwort System, das es erlaubt, (eingeschränkte) natürlich-sprachliche Fragen zu stellen, die vom System natürlich-sprachlich beantwortet werden.

Anwendungsbereich

Informationen zur Universität Zürich (zunächst Themen der Studentenverwaltung (Immatrikulation, Exmatrikulation, Studienfachwechsel) und Fragen zu den Veranstaltungen (Was findet wann und wo statt?)

Der Projekt-Plan zeigt eine Übersicht über die geplanten Komponenten.

Ziel der Syntax-Komponente:

Vorgehen bei der Erstellung der Syntax-Komponente:

Probleme bei diesem Vorgehen:


Probleme für NLP-Systeme

Thesen von R. Seiffert

[Seiffert 1992] stellt unter dem Titel "How could a good system for practical NLP look like" folgende Thesen auf:

  1. Auf der Suche nach Eleganz haben wir die Kontrolle aus den Augen verloren.
  2. Eine schleche Spezifikation kann nicht effizient verarbeitet werden.
  3. Deklarative Spezifikationen führen nicht automatisch zu reversiblen Prozessen.
  4. Es gibt keinen universellen, eleganten, effizienten Formalismus, der alle Probleme in NLP lösen kann.
  5. Die Entwicklung grosser Grammatiken erfordert ausgefeilte, verlässliche und gut dokumentierte Werkzeuge, die das Grammar Engineering im Team unterstützen.

Thesen von K. Jensen (Coling 88)

Why Computational Grammarians can be skeptical about existing linguistic theories

  1. NLP arbeitet mit grossen Datenmengen, linguistische Theorien beschäftigen sich mit kleinen Datenmengen.
  2. Natürliche Sprachdaten enthalten viele störende Einzelheiten, die von ling. Theorien nicht beachtet werden (z.B. Interpunktion, Datum- und Massangaben).
  3. NLP muss alle und nicht nur die vermeintlich 'grammatischen' Konstruktionen einer Sprache behandeln können.
  4. NLP ist eher am Abdeckungsgrad einer Grammatik interessiert, während ling. Theorien eher an Vollständigkeit orientiert sind.

Thesen von D. Roesner (Coling 88)

Why implementors of practical NLP systems cannot wait for linguistic theories

  1. Viele Probleme, die in ling. Theorien intensiv behandelt werden, kommen in natürlichen Sprachdaten nur selten vor.
  2. Einige Probleme, die in ling. Theorien nur marginal behandelt werden, stellen grosse Anforderungen an NLP (z.B. komplexe NPs).
  3. Ling. Theorien werden oft nur sehr speziell auf eine Sprache zugeschnitten und lassen sich nur schwer auf eine andere Sprache übertragen.
  4. NLP-Systeme müssen auf Benutzerfreundlichkeit Rücksicht nehmen (z.B. Umlaute korrekt behandeln).
  5. NLP-Systeme müssen mit unbekannten Wörtern zurechtkommen.
  6. Ling. Theorien betrachten vor allem Sprachanalyse. Für die Sprachgenerierung wird viel extralinguistisches Wissen benötigt.

Thesen von J. Tsujii (Coling 88)

Reasons why I do not care for grammar formalisms

  1. Das schwierigste Problem für NLP ist die effiziente Behandlung von Mehrdeutigkeiten. Ling. Theorien haben darauf keine Antwort.
  2. Eine elegante ling. Theorie führt nicht notwendigerweise zu einem elganten und effizienten NLP-System. Eine ling. Theorie wird oft dadurch elegant, dass sie die Komplexität auf eine andere Ebene verschiebt.

Thesen von U. Hahn

Forschungsstrategien und Erkenntnisinteressen in der anwendungsorientierten automatischen Sprachverarbeitung

[Hahn 92] unterscheidet:

Charakterisierende Merkmale von ingenieurorientierter CL:

Definitionen

Linguistic Engineering

Unter Linguistic Engineering verstehen wir in Analogie zum Software Engineering das systematische Vorgehen bei der Entwicklung und Wartung von NLP-Software nach ingenieurwissenschaftlichen, technologischen und linguistischen Gesichtspunkten. Wir betrachten Linguistic Engineering als eine spezielle Art des Software Engineering, die sich auszeichnet durch das Anwendungsgebiet "natürliche Sprache". Anders formuliert: Software Engineering angewendet auf natürliche Sprache ist Linguistic Engineering.

Grammar Engineering

Grammar Engineering ist ein Modul im Linguistic Engineering Prozess. Linguistic Engineering und Grammar Engineering teilen die Orientierung an ingenieurmässigen Methoden und Prinzipien. Grammar Engineering setzt ein, wenn im Linguistic Engineering der zu erfassende Teilbereich der natürlichen Sprache festgelegt wird. Es unterstützt die Erfassung und Gruppierung der zu behandelnden Phänomene und begleitet die Erstellung der linguistischen Syntax bis zur Fertigstellung des Grammatikmoduls, das dann in das Gesamtsystem integriert wird.

Warum ist es so schwierig, natürliche Sprache zu formalisieren?


Testen einer Grammatikkomponente

muss auf mehreren Ebenen geschehen

  1. Sind genau die Sätze, die als grammatisch erkannt werden sollten als solche erkannt worden?
  2. Wurden jedem grammatischen Satz genau die erwarteten Strukturen zugewiesen?
  3. Wurden in jeder Struktur genau die erwarteten Merkmalstrukturen bei den entsprechenden Konstituenten berechnet?
  4. Zusätzlich: Wurden alle Grammatikregeln mindestens einmal genutzt? (vollständige Regelausnutzung)

Wie kann effizientes und systematisches Testen einer Grammatikkomponente organisiert werden?

Mein Vorschlag ([Volk 95]): Einsatz einer Testsatzsammlung

Eine Testsatzsammlung ist eine Kollektion von

Dabei gelten die folgenden Bedingungen:

  1. Die Wörter der Sätze und Non-Sätze stammen aus einem kontrollierten Vokabular.
  2. Sätze und Non-Sätze sind im Hinblick auf ihre grammatikalischen Eigenschaften annotiert. D.h., jedem Satz werden Merkmale zugewiesen, die seine Eigenschaften beschreiben.
  3. Die Sätze unterscheiden sich paarweise in mindestens einem Merkmal. Gleiches gilt für die Non-Sätze.
  4. Ein Non-Satz stimmt bis auf ein Merkmal mit einem in der TSS enthaltenen Satz überein. In diesem besonderen Merkmal verletzt der Non-Satz die Grammatikalität.

Vorteile von Testsatzsammlungen gegenüber Korpora

Probleme bei Testsatzsammlungen

Werkzeuge für die Grammatikentwicklung

Editor-Programme
Konsistenzprüfer
z.B. Test auf Transitivität in LP-Regeln
Tracer
erlauben das Beobachten des Einsatzes der Grammatikregeln
Testsatzsammlung
übersichtliche Verwaltung der Testsätze und Testergebnisse

Zusammenfassung


Martin Volk <volk@ifi.unizh.ch> Date of last modification:
URL dieser Seite: http://www.ifi.unizh.ch