Prüfen ob es ein deutscher Satz ist

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
audacity363
User
Beiträge: 83
Registriert: Dienstag 6. August 2013, 18:59

Guten Morgen,

rein aus Interesse würde mich Interessieren ob es ein Modul gibt, welches prüft ob ein String ein grammatikalisch richtiger Satz ist bzw, wie man das ganze angehen würde, wenn man so etwas selber schreiben will.
Meine erste Idee ist eine sqlite Datenbank welche jegliche deutschen Wörtern und einem Tag (Subjekt, Prädikat, Objekt) besteht und dann den String durchgeht und nach der Grammatik prüft. Das währe aber verdammt Fehleranfällig und würde auch nur mit einfachen Sätzen funktionieren.
nezzcarth
User
Beiträge: 1634
Registriert: Samstag 16. April 2011, 12:47

Ich denke, am ehesten wirst du da noch bei NLTK fündig; im Detail habe ich mich damit auch noch nicht befasst, aber da dürftest du den Werkzeugkasten finden, mit dem man sowas angehen kann.

Die praktische Implementierung dessen ist eine Frage für Computerlinguisten und andere, die sich mit der Verarbeitung natürlicher Sprache befassen. Innerhalb dieser Disziplin gibt es eine große Zahl von Modellen, die dazu dienen, sowas zu implementieren (Um nur ein paar zu nennen: LFG, HPSG, Fluid Construction Grammar, Tree-Adjoining Grammar). Bestehende Applikationen greifen sich üblicherweise so ein formalisierbares Grammatikmodell, und versuchen das für eine konkrete Sprache umzusetzen.

Theoretisch gesehen - da kenne ich mich besser aus - ist das eine Fragestellung, für die es keine allgemeine Lösung gibt. Neben den genannten gibt es in der Linguistik noch zig andere Modelle, die alle versuchen, Sätze zu beschreiben, bzw. vorherzusagen, was ein valider Satz in Sprache X ist, und was nicht. Viele davon beanspruchen, "das richtige" zu sein, aber keines ist problemlos und konnte sich wirklich als Standard etablieren. In der Allgemeinheit am bekannsten dürften die generativen Theorien sein, die sich auf Noam Chomsky beziehen (einige der oben genannten davon tun das auch, aber ich meine explizit seine; Government & Binding und das minimalistische Programm sind die aktuell am verbreitetsten Varianten dessen). Phrasenstrukturgrammatiken, die für diese Theorien die Grundlage bilden, kennen vielleicht sogar manche aus ihrem Informatik Studium; im Prinzip wird da in der Basisvariante versucht, Satzstrukturen mit formalen Grammatiken in Form von Generierungsregeln nach dem Muster
S -> NP VP (-> Ein Satz besteht auf einer Nominalphrase und einer Verbalphrase; Phrasen sind in dem Kontext komplexere Einheiten, die sich im Rahmen bestimmter Tests (Ersetzung, Verschiebung etc). als Ganzes verhalten))
NP -> DET N ( -> Eine Nominalphrase besteht aus einem Determinierer (~Artikel) und einem Nomen)
VP -> V NP
usw.
darzustellen.
Tatsächlich kann man damit schon einiges machen, aber das ist bei weitem nicht erschöpfend.

Dein Vorschlag kann nicht funktionieren, weil Subjekt Prädikat und Objekt keine Kategorien sind, die bestimmte Wörter irgendwie an sich haben, sondern syntaktische Funktionen eines Satzes, die bestimmte Wörter übernehmen können. Außerdem hätte man da eine Vorstellung von 'Grammatik', die nur Syntax, also die Kombination von Wörtern und ihre Beziehungen untereinander betrifft. Von erwähntem Chomsky gibt es das berühmte Beispiel: Colorless green Ideas sleep furiously -- der Satz ist syntaktisch valide, aber semantisch unsinnig; ist das nun ein grammatischer Satz, oder nicht? Entsprechend nehmen moderne Theorien verschiedene Ebenen an, die miteinander interagieren.
audacity363
User
Beiträge: 83
Registriert: Dienstag 6. August 2013, 18:59

Okey Danke für die ausführliche Antwort. Da es einfach ist habe ich so oder so nicht gedacht aber... wow, dass es dazu eine ganze Wissenschaft gibt, hätte ich nicht gedacht.
Wieder etwas gelernt.
Antworten