Opgave 2 - Unificatie-grammatica
Introductie
Gegeven is een eenvoudige unificatie-grammatica, die lijkt op het fragment zoals beschreven in de syllabus (sectie 4.4.1. en 4.4.2).
Benodigde bestanden en Hdrug
Voeg /net/aps/64/bin toe aan je PATH variabele (export PATH=$PATH:/net/aps/64/bin). Hdrug kan vervolgens gestart worden met:
hdrug -l start
De bestanden die je nodig hebt zijn: grammatica.pl, grammatica.tcl, parser.pl, pp_chart.pl, suite.pl, en start.pl. Alleen in grammatica.pl, en eventueel in suite.pl hoef je iets aan te passen. Zet alle bestanden in 1 directory.
Start Hdrug met de grammatica door
hdrug -l start
uit te voeren. Je kunt een de definitie van een regel of lexical entry bekijken via het menu Grammar/Show Lexical Entry, c.q. Grammar/Show Rule.
Parse een zin via het menu: Grammar/Parse sentence. Kies een van de voorbeelden, of type een zin in. De voorbeelden staan in suite.pl. Hier kun je eventueel zelf voorbeelden toevoegen.
Als er een volledige parse is voor een zin, zie je een boompje verschijnen.
Klikken op een knoop in een boom, levert de bijbehorende feature-structuur op (in het rechter scherm).
Bovenin zie je een (groene) knop met een cijfer 1. (Bij ambigue zinnen verschijnen hier knoppen voor iedere afleiding). Klikken met de linkermuisknop levert een menu op met keuzemogelijkheden tussen verschillende visualisaties.
Klikken met de rechtermuisknop levert de boom op, met volledige feature-structuren.
De menu-optie Grammar/Show Chart levert de een diagram met chart items op. Klikken op een knoop in de chart levert de bijbehorende feature-matrix op in het rechter window. (De chart inspecteren is vooral handig wanneer je wilt weten waarom een zin geen parse oplevert…)
Wanneer je veranderingen aanbrengt in de grammatica, kun je via het menu Reconsult/Reconsult grammar de aangepaste grammatica laden.
Opdracht
De grammatica bevat een lexical entry voor hij. Voeg lexical entries toe voor de voornaamwoorden hem, zij (enkelvoud en meervoud), ze (enkelvoud en meervoud), haar, het, hen, en hun en pas de regels zo aan dat ze een onderscheid maken tussen de verschillende vormen.
Voornaamwoorden hebben een nominatief en accusatief vorm. Nominatief vormen worden gebruikt voor het onderwerp, accusatief vormen in alle andere gevallen (het verschil tussen hen en hun mag je vergeten):
- hij loopt
- janneke ziet hem
- jip ziet het
- hem ziet jip
- zij lopen
- jip ziet hen
Zorg er voor dat je geen ongrammaticale zinnen herkent.
Voeg een regel aan de grammatica voor voorzetselgroepen (PPs). De voorzetsels in en van zijn al gedefinieerd (met categorie p). Zorg ervoor dat je de volgende zinnen kunt afleiden:
- ernie voert de duiven van bert
- de duiven van bert lachen
Zorg ervoor dat je niet kunt afleiden:
- *de duiven van bert lacht
Voeg regels en lexical entries toe voor zinnen met een meewerkend voorwerp (indirect object):
- jip geeft de bal aan janneke
- jip geeft janneke de bal
De nieuwe regels en het werkwoord geven, moeten een comp-waarde krijgen die aanduidt dat het om een werkwoord gaat dat naast een lijdend voorwerp, een meewerkend voorwerp, selecteert.
Het woordenboek is erg redundant. In sectie 4.5. van de syllabus worden macro’s geïntroduceerd. Dit is een techniek om redundantie te elimineren.
Definieer een aantal macro’s voor NP’s, zelfstandige naamwoorden, lidwoorden, en werkwoorden, die het mogelijk maken het woordenboek compacter te definieren. Pas het woordenboek vervolgens ook zo aan dat er gebruik gemaakt wordt van deze macro’s. (Je zou bijvoorbeeld macro’s voor agreement kunnen introduceren, of één macro voor iedere categorie).
Inleveren
Stuur de aangepaste grammatica naar: