13. Übungsblatt

Ähnliche Dokumente
Tutorium Prolog für Linguisten 12

Lösungen zum Aufgabenblatt 4 Computerlinguistische Anwendungen

Koordination in LFG und XLE

Einführung in unifikationsbasierte Grammatikformalismen

Lösungen zum Aufgabenblatt 9 Symbolisches Programmieren

Einführung in die Computerlinguistik

LFG-basierter Transfer

a) Erklären Sie, was eine SOV Sprache ist und was eine V2 Sprache ist. b) Welche Wortstellungsmuster sind eher selten in Sprachen der Welt?

Einführung Computerlinguistik. Konstituentensyntax II

Künstliche Intelligenz

Einführung in die Linguistik, Teil 4

Einführung in PROLOG 7 Kontextfreie Grammatiken

HPSG. Referat zu dem Thema Kongruenz im Englischen Von Anja Nerstheimer

Übungsaufgaben. Eine kontextfreie Grammatik lässt sich formal als Quadrupel darstellen: D : der, das N : Hund, Kaninchen V : sieht, beißt

Syntax - Das Berechnen syntaktischer Strukturen beim menschlichen Sprachverstehen (Fortsetzung)

Finite-State-Morphologie in XLE. Grammatikentwicklung, SS 2010

Einführung in die Linguistik, Teil 4

Einführung in die Computerlinguistik

Grundkurs Linguistik - Syntax

Übungsblatt 1 - Lösung

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.

Reguläre Grammatiken/Sprachen und endliche Automaten

Slot Grammar Eine Einführung

Re exivpronomen. Arbeitsblätter zum Ausdrucken von sofatutor.com

Übung 4: Weiterführende Transferaufgaben

Künstliche Intelligenz Sprachverarbeitung mit Prolog

Semantik: Semantik von Merkmalsstrukturen

1 Darstellung von Modalverben in einschlägigen Grammatiken am Beispiel von Eisenberg (1989) und Engel (1988)

Mathematik-Vorkurs für Informatiker Formale Sprachen 1

Teil II: Phrasen und Phrasenstruktur

Satz Umstrukturierung für statistisch. Anna Schiffarth Dozentin: Miriam Kaeshammer Fortgeschrittene Methoden der statistisch maschinellen Übersetzung

Syntax III. Joost Kremers WS

Einführung in die Computerlinguistik. Morphologie II

Linguistische Grundlagen 6. Semantik

1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.

Sie gab das Buch ihrer Schwester.

Die Erklärung für den Kontrast zwischen (1) und (2) liegt darin, dass das Relativpronomen auf die dritte Person festgelegt ist.

VP vs.?p. N V P N? N P N V Peter kommt nach Hause...dass Peter nach Hause kommt. Syntax V 2

Einführung Computerlinguistik. Konstituentensyntax II

Lexikalische Semantik. Was ist ein Wort? Was ist in einem Wort?

Einführung in die Sprachwissenschaft -Tutorium-

Computerlinguistik I

Mathem.Grundlagen der Computerlinguistik I, WS 2004/05, H. Leiß 1

Einführung in PROLOG IV Listen

Konstituenten, Phrasenstruktur und Feldermodell

1. Stellen Sie die Konstituentenstruktur der folgenden Sätze als Baumdiagramme dar:

Prolog 8. Kapitel: parametrisierte DCGs

Einführung in die Linguistik. Morphologie: Lösung

Semantik. Anke Himmelreich Formale Semantik. Universität Leipzig, Institut für Linguistik 1 / 47

Inhaltsverzeichnis. Abkürzungen... 9 Niveaustufentests Tipps & Tricks Auf einen Blick Auf einen Blick Inhaltsverzeichnis

Einführung in die Linguistik Butt / Eulitz / Wiemer. Syntax I

Aus: Hubert Truckenbrodt und Kathrin Eichler: Einführung in die moderne Sprachwissenschaft. Ms., ZAS Berlin und DFKI Saarbrücken, 2010.

Formale Methoden III - Tutorium

Grundbegriffe der Informatik Tutorium 33

Teil 4: Rekursion und Listen

Einführung in die Linguistik, Teil 4

Logische Programmierung & Deduktive Datenbanken Klausur

DCG II. Heute: DCGs mit extra Argumenten. DCGs mit Agreementmerkmalen. Parsebäume. Extra Tests. Programmierkurs Prolog p.1

Grundlagen der LFG. 2. Analysieren Sie jeweils einen der Sätze in (1) und (2), d.h., zeigen Sie, wie die C- und die F-Strukturen aussehen sollten.

Die aussagenlogische Sprache

Transformationsgrammatik der 60er/70er. Kl. HS, CLI, Liebigstr. Sommmersemester 2006

Von Subjekten, Sätzen und Subjektsätzen

Bindungs-Theorie. Bindungs-Theorie. R-Ausdrücke. Anapher. Pronomen. Antezedens

Einführung in die Semantik, 8. Sitzung Typentheorie, F deutsch

Zur Struktur der Verbalphrase

Prolog Kurze Einführung (I) KI-Programmierung und Wissensrepräsentation (KPWR) Grammatikregeln in Prolog. Prolog Kurze Einführung (II)

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Tutorium Prolog für Linguisten 8

Grundlagen der Informatik Vorlesungsskript

Motivation. Formale Grundlagen der Informatik 1 Kapitel 14 Aussagenlogik Syntax & Semantik. Motivation. Motivation

Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002

Syntax und Phonologie: Prosodische Phrasen

Ziele und Herausforderungen

Gliederung. Natürlichsprachliche Systeme I. Merkmalsbasierte Grammatiken. Merkmalsbasierte Grammatiken. Merkmalsbasierte Grammatiken mit NLTK

Seminar über mathematische Logik Der Repräsentationssatz

Jahresschlusstest 2018

Kontextfreie Sprachen

Funktionale-Grammatik

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?

4. 4. Algorithmen und Datenstrukturen in deskriptiven Programmiersprachen

Vollständige Induktion

Spezielle Themen der KI NLP. Parsing

(10) x 1[FRAU(x 1) RENNT(x 1)] Keine Frau rennt.

Alphabet, formale Sprache

Transkript:

Prolog für Linguisten 13. Übungsblatt 12.2.2011 Dieses Übungsblatt ist verpflichtend und wird benotet (48 Punkte + 8 Zusatzpunkte ). Achte besonders auf die Funktionalität des Programms mit verschiedenen Anfragen, aufschlussreiche Kommentare und gute Lesbarkeit. Auch unvollständige Lösungen oder Ansätze können Punkte bringen. Du darfst in allen Aufgaben member/2 und append/3 verwenden, darüber hinaus jedoch keine eingebauten Prädikate (außer das ist explizit erlaubt). Abgabe bitte als eine einzige Prolog-Quelldatei ohne Syntaxfehler, die von Prolog ohne Warnung eingelesen wird, per Email an prolog@there-exists.de Abgabeschluss: Dienstag, 22. Februar 2011 um 23:59 Uhr. 1 Wishtree-otation (3 Punkte) otiere den folgenden Baum als Term im Wishtree-Format: S P VP the man RelS whistling V tunes P pianos 2 erminiererkongruenz Im Bezug auf englische DPn lassen sich Kongruenzrelationen auf zwei Ebenen unterscheiden: 1. DP-interne Kongruenz zwischen erminierer und omen, und zwar im Merkmal numerus: this giraffe ( und stehen im Singular) * this giraffes ( steht im Singular, im Plural) * these giraffe ( steht im Plural, im Singular) 2. Kongruenz auf Satzebene zwischen Subjekt und Verb, ebenfalls im Merkmal numerus (auch im Merkmal person, aber das soll im Folgenden nicht wichtig sein): this giraffe sleeps (Subjekt und Verb stehen im Singular) * this giraffe sleep (Subjekt steht im Singular, Verb im Plural) these giraffes sleep (Subjekt und Verb stehen im Plural) * these giraffes sleeps (Subjekt steht im Plural, Verb im Singular) 1

Bei den meisten nicht-koordinierten DPen stimmen die Kongruenzmerkmale auf diesen beiden Ebenen überein. Um jedoch auch koordinierte DPn wie this giraffe and elephant erfassen zu können, ist es nötig, seperate Kongruenzmerkmale für jede Ebene anzunehmen. Einige Analysen 1 gehen von einer Unterscheidung in concord- und index-merkmale aus: concord-merkmale sind zuständig für die --Kongruenz. Jeder erminierer fordert einen bestimmten concord-num-wert. Jedes omen besitzt einen von seiner Flexion abhängigen concord-num-wert: giraffe den Wert sg, giraffes hingegen pl. Ein erminierer kongruiert mit einer koordinierten ominalphrase in concord-num, wenn er mit jedem der omen in concord-num kongruiert: this giraffe and elephant * this giraffe and elephants / * this giraffes and elephant these giraffes and elephants * these giraffe and elephants / * these giraffes and elephant index-num ist intuitiv in etwa als der natürliche umerus einer Phrase zu verstehen. Koordinierte Pn referieren üblicherweise auf mehrere Individuen. Sie haben als indexnum also den Wert pl. index-num ist relevant für die Kongruenz auf Satzebene. Jedes omen ist für das Merkmal index-num spezifiziert (im ormalfall weicht dieser Wert nicht vom concord-num-wert ab). Jedes Verb fordert einen bestimmten index-num- Wert seines Subjekts: sleeps fordert sg, sleep hingegen pl. Ein Verb kongruiert mit seinem Subjekt in index-num, wenn beide denselben Wert für dieses Merkmal besitzen: Aufgabe: this elephant sleeps / * sleep this giraffe and elephant sleep / * sleeps a) (14 Punkte) Modelliere die oben beschriebenen Kongruenzrelationen mit einer Prolog- DCG. Schreibe dazu bitte Regeln für S, VP (nur intransitive Verben, nur Present Simple!), DP, nicht-koordinierte P und koordinierte P (aus genau zwei koordinierten omen, Verallgemeinerung auf beliebig viele omen erst in Teil c) der Aufgabe). Es genügt, wenn du num-kongruenz modellierst! pers-kongruenz kannst du außen vor lassen. imm bitte folgende DP- und P-Strukturen an: DP DP P P this elephant this giraffe Conj and elephant Das Lexikon soll folgende Wortformen umfassen: the, my, this, these, giraffe, elephant, giraffes, elephants, sleep, sleeps und and. Die Grammatik soll die oben als ungrammatisch markierten Phrasen ebenfalls als ungrammatisch beurteilen und die als wohlgeformt markierten Phrasen akzeptieren. 1 z. B. King & Dalrymple (2004) 2

Beispielanfragen:?- dp(_,[this,giraffe,and,elephant],[]).?- dp(_,[this,giraffe,and,elephants],[]). false.?- s([this,giraffe,and,elephant,sleep],[]).?- s([this,giraffe,and,elephant,sleeps],[]). false. b) (4 Punkte) Füge Informationen über die syntaktische Struktur hinzu, indem du den ichtterminalen und Terminalen jeweils ein zusätzliches Argument gibst, das den jeweiligen Baum enthält. Die Bäume sollen im Wishtree-Format vorliegen, sodass folgende Anfrage eine Visualisierung mit Showtree (hier die Linux/Mac-Variante) liefert.?- s(baum,[my,giraffe,and,elephant,sleep],[]), showtree([baum]). s / \ dp vp / \ det np v / \ my n conj n sleep giraffe and elephant Baum = s/[dp/[det/[-my], np/[n/[-giraffe], conj/[-and], n/[-elephant]]], vp/[v/[-sleep]]]. c) (Bonusaufgabe: 6 Zusatzpunkte) Kannst du deine Grammatik so erweitern, dass die P nicht mehr nur aus zwei koordinierten omen bestehen kann, sondern aus beliebig vielen? Falls ja, tu das. Sollte Prolog hingegen bei irgendeiner Anfrage in eine Endlosrekursion geraten, erkläre, woran das liegt.?- s(_, [the,giraffe,and,elephant,and,elephant,sleep],[]). 3

3 Arithmetische Ausdrücke a) (8 Punkte) Schreibe eine Grammatik, die einfache arithmetische Ausdrücke aus Zahlen zwischen 0 und 9, den Klammern ( und ) sowie den Operatoren +, -, * und / erkennt. Wichtig: Jeder arithmetische Ausdruck muss von Klammern umschlossen werden! Die normale Operatorpräzedenz 2 ( Punkt- vor Strichrechnung ) lassen wir hier außen vor. Beispiele: (1+2) und ((3*4)-5) Für die Grammatik sind diese Ausdrücke dann natürlich in Listenform zu bringen. Weiterhin müssen die Klammern in Hochkommata eingeschlossen werden, damit keine Syntaxfehler entstehen: [ (,1,+,2, ) ] und [ (, (,3,*,4, ),-,5, ) ]. enne deine syntaktische Kategorie für arithmetische Ausdrücke bitte arith_expr.?- arith_expr([ (, (, 3, *, 4, ), -, 5, ) ], []). Tipps: Schreibe nicht sofort eine Prolog-DCG, sondern überlege dir erst einmal in Ruhe, wie sich die Menge aller arithmetischen Formeln definieren lässt (Stichwort: induktive Definition). Wie kann nun diese Definition in eine Grammatik umgesetzt werden? Was sind die Terminale? Schau dir auch noch einmal die Grammatik für aussagenlogische Formeln aus dem letzten Tutorium an. b) (5 Punkte) Erweitere die Grammatik so, dass sie die arithmetischen Ausdrücke auch auswerten kann. Erweitere dazu die DCG um eine Argumentstelle für den Wert des jeweiligen Ausdrucks. Die Berechnung erfolgt bottom-up, d. h. zuerst werden die Terminale ausgewertet, danach die direkt aus den Terminalen zusammengesetzten Ausdrücke, danach wiederum die nächstgrößeren Ausdrücke und so weiter. Du brauchst, um Prolog rechnen zu lassen, das eingebaute Prädikat is/2.?- arith_expr(wert, [ (, (, 3, *, 4, ), -, 5, ) ], []). Wert = 7. c) (Zusatzaufgabe: 2 Punkte) Warum ist es hier so wichtig, dass die Ausdrücke geklammert sind? Was passiert, wenn du die Klammern weglässt? Warum? 4 Übersetzen auf Bäumen (14 Punkte) Schreibe ein Prädikat uebersetzer/2, das einfache deutsche ebensätze (ganz naiv) in englische ebensätze übersetzen kann. Dabei ist uns neben dem Lexikon als einziger Unterschied die Wortstellung wichtig: Betrachten wir nur pronominale Subjekte und Objekte, ergibt sich im Deutschen immer eine SOV-Stellung: dass ich ihn sehe. Im Englischen ist es hingegen SVO: that I see him. Der zu übersetzende Satz soll als Baumterm im Wishtree-Format im ersten Argument gegeben sein, das zweite Argument soll Prolog dann mit einem Wishtree-Baum instantiieren. 2 vgl. http://de.wikipedia.org/wiki/operatorrangfolge 4

?- uebersetzer(cp/[c/[-weil],s/[np/[pron/[-ich]],vp/[np/[pron/[-ihn]],v/[-sehe]]]], Engl). Engl = cp/[c/[-because], s/[np/[pron/[-i]], vp/[v/[-see], np/[pron/[-him]]]]]. Die Regeln, mit denen die Bäume erzeugt werden konnten, sind: CP C S, S P VP, P Pron, VP P V bzw. VP V P. Das Lexikon sollte mindestens folgende Wortpaare umfassen: Deutsch ich sehe kenne ihn dich dass weil Englisch i see know him you that because Am einfachsten ist es wahrscheinlich, für jede Grammatikregel und jeden Lexikoneintrag eine Klausel zu schreiben. Abhängig davon, welche Kategorien Mutter und Tochter des jeweils betrachteten Baumes haben, kommt dann die passende Klausel zum Einsatz. Das Prädikat funktioniert rekursiv. Es zerlegt den Baum, den es als Argument erhält, in seine Bestandteile, übersetzt diese ins Englische und fügt sie in der richtigen Reihenfolge wieder zusammen. Referenzen Tracy Holloway King & Mary Dalrymple: erminer agreement and noun conjunction. Journal of Linguistics, 40 (2004), 69-104. 5