zum Inhalt springen

LPS - Eine Linguistische Programmiersprache

Entwicklung eine objektorientiert konzipierten linguistischen Programmiersprache zur maschinellen Sprachverarbeitung, speziell zur maschinellen Übersetzung

Projektverantwortlicher:

Prof. Dr. Jürgen Rolshoven
Sprachliche Informationsverarbeitung
Institut für Linguistik
Universität zu Köln

Wird wiederverwendet in:

Wissenstransfer

Beschreibung:

LPS ist eine objektorientiert konzipierte linguistische Programmiersprache zur maschinellen Sprachverarbeitung, speziell zur maschinellen Übersetzung.

Sie ist ein Werkzeug für Sprachwissenschaftler und verwendet daher die Notation der Linguisten. Diese Notation befähigt Computer zur maschinellen Sprachverarbeitung. Konzeptionell schöpft LPS aus zwei Quellen: Formalen Grammatiken, wie sie in den verschiedenen linguistischen Ausrichtungen verwendet werden (GB, LFG, HPSG) und Typologie. Typologische Ansätze drückt LPS objektorientiert aus. Damit steht Sprachwissenschaftlern unterschiedlicher Ausrichtung ein Werkzeug zur Verfügung, mit dessen Hilfe sie ihre linguistischen Theorien präzise ausdrücken und ihre Daten korrekt modellieren können. Theoretische Fundierung und korrekte Modellierung ermöglichen die praktische Umsetzung und Anwendung.

Die Objektorientierung von LPS setzt nicht allein typologische Ideen um, sondern ermöglicht auch eine sehr knappe und konsistente Modellierung unterschiedlicher Sprachen. Einzelsprachliche Unterschiede werden in differenten Nachfahrklassen gekapselt. Dies ermöglicht beispielsweise eine sehr einfache Umsetzung des Parameterkonzepts der klassischen Prinzipien- und Parametermodells der GB.

LPS ist somit weitgehend sprachunabhängig.

LPS trennt das linguistische Wissen, das Wissen über das sprachliche System, von dem Anwendungswissen. Das Wissen über das Sprachliche System ist in Klassen organisiert, die funktional in Paketen oder Modulen zusammengefasst werden. Im Sinne der Objektorientierung erben Klassen von Vorfahrklassen; Mehrfachvererbung ist zulässig.

Aus Klassen werden linguistische Objekte abgeleitet; diese linguistischen Objekte sind die Knoten eines Phrasenstrukturbaums. Einzelnen unabhängigen Prozessoren gleich kommunizieren diese Objekte, und erfolgreiche Kommunikation führt zur Bildung von Mutterknoten, welche die kommunizierenden Knoten als Töchter haben. Die Kommunikation erfolgt mit Hilfe von Methoden; diese Methoden sind in einer aus PROLOG-bekannten Notation formuliert. Folglich ist LPS eine deklarative Programmiersprache.

Die beschriebene linguistische Notation wird von dem LPS-Interpreter ausgeführt.

Sie steuert den LPS-Parser und den LPS-Generator. In der maschinellen Übersetzung werden der LPS-Parser und der LPS-Generator gekoppelt. Übersetzung ist ein Decodierungs-Codierungsprozeß unter Verwendung unterschiedlicher Quellen sprachlichen und außersprachlichen (persistenten) Wissens. Ziel der Decodierung einer sprachlichen Äußerung ist deren Semantik. Quellsprachlich dekodierte Bedeutung wird mit zielsprachlicher Bedeutung assoziiert und dann durch Aufbau von Phrasenstrukturbäumen zielsprachlich codiert.

Ziel des Projekts Selbstorganisierendes semantisches Wissen ist es, das Bedeutungspotential sprachlicher Zeichen durch ein selbstlernendes System zu erfassen.

Selbstorganisierendes semantisches Wissen

1950 beschrieb der geniale englische Mathematiker Alan Turing in der Zeitschrift Mind den später nach ihm benannten Test. Der Turing-Test ist ein Gedankenspiel, das im Grunde genommen das Ein/Ausgabeverhalten einer Maschine dann als intelligent beschreibt, wenn einem menschlichen Mitspieler nicht auffällt, daß der Spielpartner kein Mensch ist. Der Turing-Test ist durch Weizenbaum und durch Searle kritisch untersucht worden. Weizenbaum karikierte ihn durch sein Programm Eliza; Eliza simuliert durch bloßes Pattern-Matching einen Dialog zwischen Mensch und Maschine mit teilweise erstaunlichen Resultaten.

Der kalifornische Philosoph und Sprachwissenschaftler John Searle ersann das Gedankenexperiment des Chinesischen Zimmers, dessen Bewohner nur Englisch spricht, Karten mit chinesischen Schriftzeichen und eine englischsprachige Anleitung zur deren Kombinatorik besitzt. Wird nun eine chinesische Frage als Folge von Karten in das Zimmer geschickt, so kann der Bewohner des Zimmers diese Frage mit Hilfe der Karten und der Anleitung beantworten und nach außen den Eindruck erwecken, er könne Chinesisch und habe die Frage tatsächlich verstanden. Searle vergleicht das Verhalten des Bewohners mit regelbasierten sprach- und wissensverarbeitenden Systemen, die rein syntaktisch ohne auf Bedeutung Bezug zu nehmen operieren und mitunter in ihren Ergebnissen Anforderungen etwa des Turing-Tests genügen können.

Die Unzulänglichkeit regelbasierter Systeme zeigt sich auch praktisch im Umgang mit digitalen Texten, deren Umfang in den letzten Jahren enorm zugenommen hat.

Verfahren des Mustervergleichs (Pattern Matching) oder der rein syntaktischen Verarbeitung vermögen diese Texte nicht hinreichend zu erschließen. Auszeichnungswerkzeuge, die beispielsweise im Semantic Web zum Einsatz kommen, haben einige Nachteile: Die von einem menschlichen Bearbeiter vorzunehmende Auszeichnung ('Mark up') ist aufwendig. Angesichts der quantitativen Anforderungen ist es außerordentlich schwierig, die Auszeichnungen konsistent zu halten. Schließlich fixiert der Bearbeiter eine Bedeutung auch dann, wenn es mehrere gibt. Die Beziehung zwischen der Ausdrucksseite eines sprachlichen Zeichens und seinem Inhalt wird nicht allein normiert, sondern auch verengt. Das Bedeutungspotential sprachlicher Ausdrücke wird damit nicht erfaßt. Die Flexibilität, Anpaßbarkeit und somit Ökonomie menschlicher Sprache beruht jedoch auf dem Bedeutungspotential der sprachlichen Zeichen.

Ziel des Projekts Selbstorganisierendes semantisches Wissen ist es, das Bedeutungspotential sprachlicher Zeichen durch ein selbstlernendes System zu erfassen. In der inzwischen abgeschlossenen ersten Projektphase galt es zunächst eine technische Infrastruktur, entsprechend des im Projektantrag formulierten Projektziels, bereitzustellen. Dazu zählte u.a. der Aufbau eines mehrsprachigen Korpus linguistischer Rohdaten und eines Systems, das eine Evaluierung unterschiedlicher Algorithmen und Algorithmenketten zur Extraktion semantisch verwertbarer Merkmale auf Grundlage des Korpus bzw. ausgewählter Korpusauschnitte erlaubt.

Die Sprachliche Informationsverarbeitung nimmt hinsichtlich des verfolgten Projektziels eine kritische und doch pragmatische Sichtweise auf bereits existierende Ansätze und Untersuchungen zur automatischen Extraktion semantischer Merkmale aus linguistischen Daten ein.

Pragmatisch ist die gezielte Verwendung bereits untersuchter Heuristiken, wobei deren Ursprung nicht allein linguistisch motiviert sein muss, sondern zugleich allgemeinere Perspektiven der Mathematik und der Informatik in die Untersuchungen miteinbezogen werden. Vor einer softwaretechnologischen Implementierung bestimmter Algorithmen werden diese jeweils hinsichtlich ihrer linguistischen Relevanz und Nutzbarkeit in Relation zum Projektziel evaluiert. Oftmals ergeben sich daraus bereits in der Analysephase eventuell notwendige Extensionen oder Modifizierungen der Basisalgorithmen.

Die kritische Perspektive äußerst sich darin, Heuristiken nicht nur für sich selbst, sondern insbesondere prozessorientiert, d.h. in Kombination mit anderen Heuristiken zu untersuchen. Das in der ersten Projektphase implementierte System SEMALD (System zur Evaluierung Multipler Algorithmen auf Linguistischen Daten) stellt dafür verschiedene Softwarebausteine zur Verfügung, die jeweils bestimmte Algorithmen implementieren. Dazu gehören z.B. verschiedene Verfahren des "Pattern Matching", Komponenten zum Mapping syntaktischer Eigenschaften auf numerische Werte und Varianten neuronaler Netze (z.B. Self Organizing Maps). Diese Bausteine können dann flexibel zu verschiedenen Prozessketten kombiniert werden. SEMALD kann somit auch als ein "Konkurrenzsystem" verwendet werden, bei dem sich die Qualität der Ergebnisse durch die Auswahl des besten Outputs wettstreitender Prozessketten ergibt.
Ziel des Projekts Selbstorganisierendes semantisches Wissen ist es, das Bedeutungspotential sprachlicher Zeichen durch ein selbstlernendes System zu erfassen.

Selbstorganisierendes semantisches Wissen

1950 beschrieb der geniale englische Mathematiker Alan Turing in der Zeitschrift Mind den später nach ihm benannten Test. Der Turing-Test ist ein Gedankenspiel, das im Grunde genommen das Ein/Ausgabeverhalten einer Maschine dann als intelligent beschreibt, wenn einem menschlichen Mitspieler nicht auffällt, daß der Spielpartner kein Mensch ist. Der Turing-Test ist durch Weizenbaum und durch Searle kritisch untersucht worden. Weizenbaum karikierte ihn durch sein Programm Eliza; Eliza simuliert durch bloßes Pattern-Matching einen Dialog zwischen Mensch und Maschine mit teilweise erstaunlichen Resultaten.

Der kalifornische Philosoph und Sprachwissenschaftler John Searle ersann das Gedankenexperiment des Chinesischen Zimmers, dessen Bewohner nur Englisch spricht, Karten mit chinesischen Schriftzeichen und eine englischsprachige Anleitung zur deren Kombinatorik besitzt. Wird nun eine chinesische Frage als Folge von Karten in das Zimmer geschickt, so kann der Bewohner des Zimmers diese Frage mit Hilfe der Karten und der Anleitung beantworten und nach außen den Eindruck erwecken, er könne Chinesisch und habe die Frage tatsächlich verstanden. Searle vergleicht das Verhalten des Bewohners mit regelbasierten sprach- und wissensverarbeitenden Systemen, die rein syntaktisch ohne auf Bedeutung Bezug zu nehmen operieren und mitunter in ihren Ergebnissen Anforderungen etwa des Turing-Tests genügen können.

Die Unzulänglichkeit regelbasierter Systeme zeigt sich auch praktisch im Umgang mit digitalen Texten, deren Umfang in den letzten Jahren enorm zugenommen hat.

Verfahren des Mustervergleichs (Pattern Matching) oder der rein syntaktischen Verarbeitung vermögen diese Texte nicht hinreichend zu erschließen. Auszeichnungswerkzeuge, die beispielsweise im Semantic Web zum Einsatz kommen, haben einige Nachteile: Die von einem menschlichen Bearbeiter vorzunehmende Auszeichnung ('Mark up') ist aufwendig. Angesichts der quantitativen Anforderungen ist es außerordentlich schwierig, die Auszeichnungen konsistent zu halten. Schließlich fixiert der Bearbeiter eine Bedeutung auch dann, wenn es mehrere gibt. Die Beziehung zwischen der Ausdrucksseite eines sprachlichen Zeichens und seinem Inhalt wird nicht allein normiert, sondern auch verengt. Das Bedeutungspotential sprachlicher Ausdrücke wird damit nicht erfaßt. Die Flexibilität, Anpaßbarkeit und somit Ökonomie menschlicher Sprache beruht jedoch auf dem Bedeutungspotential der sprachlichen Zeichen.

Ziel des Projekts Selbstorganisierendes semantisches Wissen ist es, das Bedeutungspotential sprachlicher Zeichen durch ein selbstlernendes System zu erfassen. In der inzwischen abgeschlossenen ersten Projektphase galt es zunächst eine technische Infrastruktur, entsprechend des im Projektantrag formulierten Projektziels, bereitzustellen. Dazu zählte u.a. der Aufbau eines mehrsprachigen Korpus linguistischer Rohdaten und eines Systems, das eine Evaluierung unterschiedlicher Algorithmen und Algorithmenketten zur Extraktion semantisch verwertbarer Merkmale auf Grundlage des Korpus bzw. ausgewählter Korpusauschnitte erlaubt.

Die Sprachliche Informationsverarbeitung nimmt hinsichtlich des verfolgten Projektziels eine kritische und doch pragmatische Sichtweise auf bereits existierende Ansätze und Untersuchungen zur automatischen Extraktion semantischer Merkmale aus linguistischen Daten ein.

Pragmatisch ist die gezielte Verwendung bereits untersuchter Heuristiken, wobei deren Ursprung nicht allein linguistisch motiviert sein muss, sondern zugleich allgemeinere Perspektiven der Mathematik und der Informatik in die Untersuchungen miteinbezogen werden. Vor einer softwaretechnologischen Implementierung bestimmter Algorithmen werden diese jeweils hinsichtlich ihrer linguistischen Relevanz und Nutzbarkeit in Relation zum Projektziel evaluiert. Oftmals ergeben sich daraus bereits in der Analysephase eventuell notwendige Extensionen oder Modifizierungen der Basisalgorithmen.

Die kritische Perspektive äußerst sich darin, Heuristiken nicht nur für sich selbst, sondern insbesondere prozessorientiert, d.h. in Kombination mit anderen Heuristiken zu untersuchen. Das in der ersten Projektphase implementierte System SEMALD (System zur Evaluierung Multipler Algorithmen auf Linguistischen Daten) stellt dafür verschiedene Softwarebausteine zur Verfügung, die jeweils bestimmte Algorithmen implementieren. Dazu gehören z.B. verschiedene Verfahren des "Pattern Matching", Komponenten zum Mapping syntaktischer Eigenschaften auf numerische Werte und Varianten neuronaler Netze (z.B. Self Organizing Maps). Diese Bausteine können dann flexibel zu verschiedenen Prozessketten kombiniert werden. SEMALD kann somit auch als ein "Konkurrenzsystem" verwendet werden, bei dem sich die Qualität der Ergebnisse durch die Auswahl des besten Outputs wettstreitender Prozessketten ergibt.

Maalr ist ein Open-Source-Framework zur kollaborativen Erstellung von Online-Wörterbüchern. Lexika und Wörterbücher sind ein zentraler Bestandteil des WWW und gehören nach wie vor zu den meistfrequentierten Angeboten. Viele der bestehenden Wörterbücher bieten Möglichkeiten zur Interaktion. Neben dem Austausch der Nutzer untereinander können oftmals auch vorhandene Einträge kommentiert, Anwendungsbeispiele hinzugefügt, oder aber fehlende Einträge ergänzt werden.

Letztgenannte Funktion steht im Mittelpunkt des Projektes, dessen Ziel es ist ein Open-Source-Framework bereitzustellen, das den kollaborativen Aufbau von lexikalischen Ressourcen durch die Nutzer selbst ermöglicht. Maalr zielt dabei speziell auf kleinere Wörterbuchprojekte, etwa für Kleinsprachen, Dialekte oder auch historische Varietäten, für die keine oder nur wenige Daten vorliegen.