Das NLTK lässt beim Schreiben von Dependenzgrammatiken lediglich die Beschreibung der Abhängigkeiten zwischen Wörtern zu. Dadurch werden Dependenzgrammatiken leicht redundant. Betrachten Sie das folgende Beispiel, das Ihnen vom letzten Übungsblatt bekannt vorkommen dürfte:
In [1]:
from nltk import DependencyGrammar
from nltk.parse import ProjectiveDependencyParser
grammar = DependencyGrammar.fromstring("""
'gibt' -> 'Mann' | 'Frau' | 'Buch'
'schenkt' -> 'Mann' | 'Frau' | 'Buch'
'Mann' -> 'der'
'Frau' -> 'der' | 'die'
'Buch' -> 'das'
""")
parser = ProjectiveDependencyParser(grammar)
sent = "der Mann gibt der Frau das Buch".split()
for tree in parser.parse(sent):
tree.pretty_print(unicodelines=True)
Erweitern Sie die Grammatik um die Verben und Adjektive aus Aufgabe 2 und 3 von Übungsblatt 4:
In [ ]:
test_sentence = "die kluge schöne Frau kennt das dicke Buch".split()