# Gibt es Möglichkeiten Deutsche Sätze zu parsen ?



## Fab (16. Mai 2005)

Hallo,

Ich möchte deutsche Sätze einlesen und automatisch in XML (eigentlich in RDF) umwandeln. Mir fehlt ein Algorithmus (Ich nehm auch gerne ein ganzes Framework   ), der mir die Sätze in Subjekt, Prädikat und Objekt zerlegt. Er muss nicht besonders gut sein und alles erkennen. Mir würde es reichen, wenn ich einfache Sätze a la "A ist B und C" in die Tripel "A" "ist" "B" und "A" "ist" "C" zerlegen könnte.

Vielleicht kennt sich ja jemand damit aus und kann mir einen Tipp geben, wo ich sowas finden kann. Danke!


----------



## 0xdeadbeef (18. Mai 2005)

Mir sind keine (frei verfügbaren) Java-Klassen zum syntaktischen Parsen der deutschen Sprache bekannt. Was nichts heißt, aber Dir muß klar sein, daß das eine sehr komplexe Geschichte ist und u.a. eine riesige Datenbank mit Worten, Silben, Redewendungen usw. benötigt.

Am besten wäre es, Du definierst eine möglichst einfache und klare formale Syntax ( "A = B && B = C" usw.). Nicht umsonst haben Programmiersprachen eine ebensolche Syntax, weil alles andere wegen Mehrdeutigkeiten usw. schwierig zu parsen ist. Wenn natürlich "ist" und "und" geschützte Schlüsselworte sind, kannst Du auch die benutzen. Du mußt nur ganz klar definieren, welchen Aufbau Deine "Sprache" hat, welche Elemente Schlüsselworte sind, in welchem Kontext sie stehen dürfen usw.

Es gibt sogar Parsergeneratoren, die aus einer solchen Syntaxbeschreibung (Grammatik) alle nötigen Java-Klassen erzeugen, die nötig sind, um einen Syntaxbaum aufzubauen. z.B. hier: http://www.cs.princeton.edu/~appel/modern/java/CUP/
Siehe auch hier:
http://java-source.net/open-source/parser-generators

Von einem Syntaxbaum ist dann der Weg nicht mehr sehr weit zu einer XML-Ausgabe. Allerdings ist die Formulierung einer Grammatik auch nicht ganz ohne und erfordert einige Einarbeitung.

Bei einer sehr einfachen Grammatik lohnt sich IMHO aber der Einsatz von Parsergeneratoren nicht. Da ist dann eher Handarbeit sinnvoll.


----------



## Fab (18. Mai 2005)

Also ich plane die Entwicklung eines Programms (als Projekt oder Diplomarbeit), dass Informationen automatisch einlesen kann. Exakter ich überlege, wie man Metadaten (als RDF) einfach eingeben kann. Ein komplett fertiger Parser wäre dafür natürlich ideal   

Eine eigene Grammtik zu schreiben stelle ich mir für normale deutsche Sätze als zu aufwändig vor. Zur Not ginge das auch, wäre aber unschön. Von Linguistik habe ich auch nicht viel Ahnung.

Sooo schwer kann das doch eigentlich nicht sein, dass das noch niemand ausprogrammiert hat und zur freien Verügung stellt.


----------

