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

  1. 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.

  2. 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
  3. 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.

  4. 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: