Göm menyn

729G09 Språkvetenskaplig databehandling

Laboration 3, VT 2014


 

Laboration 3: Frasstrukturgrammatik

Syfte

Syftet med denna laboration är att ge övning i att modellera syntaktisk struktur med frasstrukturgrammatik för ett litet fragment av svenska. Specifikt kommer ni att skapa regler för enkla huvudsatser och bisatser, och olika varianter av nominalfraser, verbfraser och andra fraser i svenska.

Datorn används här som ett redskap för att kontrollera att de grammatiska regler ni skriver fungerar tillsammans som ni har tänkt. Systemet som används heter parse.pl och körs från kommandoraden. Systemet tar en eller flera meningar som indata och levererar noll, en eller flera frasstrukturträd som utdata, beroende på hur många analyser som grammatiken genererar. Mer detaljer om parsern finns här.

Förberedelser

  • Läs kurslitteraturen om frasstrukturgrammatik:
    • Elementa i Generativ Grammatik, särskilt kapitlen 4-7
    • Föreläsningsanteckningar från föreläsning 5 (frasstrukturgrammatik) och lektion 3.

Genomförande

Skapa en arbetskatalog och kopiera filerna i katalogen ~729G09/www-pub/vt14/Lab3/ till denna:

>cp ~729G09/www-pub/vt14/Lab3/* .

Du ska nu ha fyra stycken filer:

  • parse.pl
  • parseThisOne.pl
  • grammatik
  • testmeningar

Du gör parsern exekverbar genom att ställa dig i arbetskatalogen och skriva:

> chmod u+x parse.pl
> chmod u+x parseThisOne.pl

Du kan testa att det fungerar genom att skriva:

  • > parse.pl grammatik testmeningar 1-2
  • > parseThisOne.pl grammatik 'tony skrattade'

Grammatikfilen

I filen grammatik finns en uppsättning frasstrukturregler och ett lexikon som ser ut på följande sätt:


 

# Regler

S -> NP VP
NP -> DT NN
NP -> PN
VP -> IV
VP -> TV NP

# Lexikon

DT: {en, ett, ingen, inget}
PN: {tony, tanja}
NN: {bil, cykel, bilen, cykeln}
IV: {skrattade, försvann}
TV: {har, ser}


Grammatiken är skriven på liknande sätt som i boken Elementa i generativ grammatik. Du kan dock inte använda parenteserna (, ), {, } för att ange optionalitet eller alternativ i regler. Den enda symbolen förutom kategorisymbolerna som kan förekomma i reglerna är således omskrivningssymbolen '->'.

I lexikonet listas alla ord av en viss ordklass som en mängd. Ordklassymbolen följs av ett kolon (:) och ett mellanslag och mängden omsluts med parentestecknen { }. Orden i mängden ska separeras med ett kommatecken (,).

Rader som börjar med #-tecknet är kommentarer och läses inte av parsern.

I den givna grammatiken används kategorisymbolerna med följande tänkta tolkningar:

S   huvudsats
NP   nominalfras
VP   verbfras
DT   artikel (determinerare)
PN   egennamn (eng. Proper Name)
NN   substantiv (nomen)
IV   intransitivt verb
TV   transitivt verb

För att lösa uppgifterna behöver du definiera flera kategorier. Kategorierna kan svara mot vanliga ordklasser och fraskategorier men också mot underindelningar som behövs för att knyta ord till vissa kontexter och utesluta dem från andra kontexter där de inte kan förekomma. För att underlätta läsningen av trädstrukturerna är det lämpligt att de innehåller två tecken.

Utdata från parsern

Parsern ger upplysning om hur många analyser den genererat för varje mening i indata. Analyserna visas i form av frasstrukturträd i följande format, här för meningen 'tony har ingen bil':

S{
--NP{
----PN[tony]
----}
--VP{
----TV[har]
----NP{
------DT[ingen]
------NN[bil]
------}
----}
--}

Här säger alltså trädet att meningen (S) består av en nominalfras (NP) och en verbfras (VP). Den senare består av ett transitivt verb (TV) och en nominalfras (NP) etc.

 

 

Uppgifter

Uppgift 1

Skriv regler och lexikon så att de grammatiska satserna nedan accepteras och analyseras korrekt. De ogrammatiska, som är märkta med en asterisk (*) ska slås ut, dvs. grammatiken ska inte kunna generera meningen som en ordsekvens av kategorin 'S'.

Grammatiska satser

  1. tony vill köpa en ny soffa
  2. han ber tanja att köra honom
  3. de tar bilen till det nya köpcentret
  4. tony hittar en soffa som är ganska billig
  5. den har ett blommigt mönster
  6. tony tycker att soffan med det blommiga mönstret är snygg
  7. tanja tycker inte att den är snygg
  8. hon säger att den inte passar till hans tapeter
  9. tony köper soffan trots tanjas protester
  10. han köper också en bok om inredning och några ljus
  11. tony är glad men tanja surar
  12. tanja säger att hon tror att tony kommer ångra att han köpte soffan
  13. hans framtid med tanja är inte ljus

Ogrammatiska satser

  1. *tony köper
  2. *tanja vill köper soffan
  3. *tony surar soffan
  4. *de köra till köpcentret
  5. *han köper soffan inte
  6. *tanja säger att

Rekommenderat arbetssätt

En möjlighet är att utvidga regler och lexikon med vad som behövs för varje ny mening. Ett mer systematiskt sätt är att identifiera fraser av olika typer från alla meningar och börja med de enklaste typerna:

  • adjektivfras,
  • nominalfras,
  • prepositionsfras
  • verbfras

innan ni går vidare till att analysera satser av olika slag. Om man skriver in t.ex. en nominalfras som argument till parseThisOne.pl kommer parsern att visa en analys för den, om grammatiken tillåter det.

Parsern är ett hjälpmedel, men inte nödvändig för att lösa uppgiften. Rita gärna upp den struktur du tycker att en sats eller fras ska ha, innan du använder parsern. Var också uppmärksam på strukturen hos de träd som genereras. Bara för att ett träd genereras behöver det ju inte vara en korrekt syntaktisk analys. Ni bör få med alla rimliga syntaktiska tolkningar av meningarna, men det är möjligt att det sker till priset av en eller annan mindre rimlig analys. Vid alla fall när er grammatik ger mer än en analys ska ni kommentera detta i er redovisning, beskriva skillnaden och diskutera om alla analyser är korrekta. Obs! Tänk på att det är skillnad mellan syntaktiskt rimliga tolkningar och semantiskt rimliga tolkningar.

Uppgift 2

Kompaktera dina regler med hjälp av optionalitets- och alternativsymboler, dvs () resp. { }, så som beskrivs i Elementa i Generativ Grammatik, kapitel 7. Denna uppgift måste du lösa på papper. Exempel på reduktioner du kan göra är:

  • Om en bestämning (B) till ett huvud (H) kan reglerna
    • HP -> B H, och
    • HP -> H,
    slås ihop till HP -> (B) H
  • Om två bestämningar (AB, CB) inte båda kan förekomma tillsammans, men stå i samma position relativt till ett huvud (H), som i reglerna
    • HP -> H AB
    • HP -> H CB
    kan dessa regler slås ihop till HP -> H {AB,CB}

För en liknande uppgift (med facit), se övning 1 och 2 i avsnitt 7.3 sid 59 i Elementa i generativ grammatik.

Uppgift 3 (VG-uppgift)

De regler ni har skrivit hanterar förmodligen inte kongruensböjningen i svenska nominalfraser på ett bra sätt. De kan acceptera både en ny soffa och *en ny bord. Adjektiven ska även kongruensböjas då de står predikativt (t.ex. soffan är ny - sofforna är nya - *soffan är nya, eller soffan måste vara röd - *soffan får inte vara gula). Ge någon principiell lösning på hur ni skulle lösa problemet med att få med ovanstående utökningar till grammatiken. Ni behöver inte skriva en fullständig grammatik, men visa genom exempel på nya regler och kategorier, dvs. vilken typ av information som måste finnas med i lexikon och grammatik för att ovanstående utvidgningar ska fungera.

För godkänt

För att få godkänt ska följande villkor vara uppfyllda:

  • Följande meningar skall få exakt en analys som S: 1,2,4,5,7,11,12. Mening 3 måste ha två analyser. Övriga meningar kan ha en eller flera analyser.
  • Alla syntaktiskt rimliga analyser av en mening ska vara med. Diskutera om alla även är semantiskt rimliga, enligt pkt 3 under Redovisning.
  • Ingen av de ogrammatiska meningarna 1-6 ska få någon analys som kategori S
  • Ord och fraser får inte vara uppenbart felkategoriserade.
  • Alla frasregler, utom samordningar, bör ha ett huvud av en kategori som är giltig för den frastypen.

För betyget VG

För betyget VG krävs även att VG-uppgiften är löst och lösningen redovisad med utförlig diskussion.

Redovisning

Redovisningen består av följande punkter:

  1. Er grammatik (regler och lexikon).
  2. Anteckna antalet analyser ni får med er grammatik för varje grammatisk mening 1-13 respektive de ogrammatiska 1-6. Redovisa med en lista som innehåller meningens nummer, meningen själv och antalet analyser.
  3. För de meningar som får mer än en analys redovisar ni de olika frasstrukturträden och hur de kan tolkas. Om ni anser någon analys vara inkorrekt, motiverar ni varför den är det och varför ni ändå måste få med den.
  4. För betyget VG ska ni även lämna in en lösning till Uppgift 3.
  5. Skicka lösningarna per epost till Lars med en ämnesrubrik som anger labgrupp och att det gäller Lab3-729G09. Uppgift 1 redovisas i en textfil (.txt). Uppgift 2 och 3 kan alternativt redovisas på papper eller med utskrifter. I så fall lägger ni lösningarna i ett labomslag signerat av alla i gruppen och sedan alltihop i IN-korgen för 729G09 som står på ett skåp i norra tvärkorridoren hus E övervåningen.

För laborationens deadline, se sidan med deadlines.


Sidansvarig: Lars Ahrenberg
Senast uppdaterad: 2014-05-15