Nada

Laboration 2:
Syntax och parsning

Laboration onsdag 11 september 2002, 13-15

Ola Knutsson

Syfte
Syftet med laborationen är att förstå hur ord och fraser kan kännas igen med hjälp av regler skrivna i Granskas regelspråk genom att experimentera med egna regler.
Uppgift
Uppgiften är att skriva regler som beskriver en rad språkliga konstruktioner och och testa dem på en längre text.
Material
Beskrivning av Granskas regelspråk, Granskas regelspråk (uppdaterad 2001-03-08, finns i kursbunten), exempelregler, demotext, fil med testexempel, testtext.
Hjälp
Om du behöver ytterligare hjälp; skicka e-post till knutsson@nada.kth.se
Redovisning
Redovisa genom att skicka dina lösningar till knutsson@nada.kth.se

Datormiljö

Laborationen kommer att genomföras med webbversionen av Granska. På webbsidan kan du skriva egna regler som antingen körs självständigt eller tillsammans med Granskas regler. Kryssa ur rutan "använd Granskas regler också" eftersom du enbart skall köra dina egna regler i den här laborationen. Här finns två exempelregeler

Deluppgift 1: Testa Granska

För att bekanta dig med reglerna och Granska ska du testköra programmet med två exempelregler. Testa reglerna genom att skriva in några olika enkla meningar. Pröva också reglerna på sidan du just nu läser. Därefter kan du testa på texten kontroll.txt för att se hur det blir. Undersök resultatet och fundera över hur exempelreglerna kan utvidgas för att detektera längre fraser.

 

Allmän instruktion till deluppgifterna nedan

Formulera regler som beskriver de konstruktioner som omtalas i deluppgifterna nedan. Reglerna ska vara så generella som möjligt utan att ge upphov till för många falska alarm. Det går oftast inte att beskriva konstruktionerna fullständigt med reglerna. Pröva reglerna mot filen med felexempel som heter testmeningar.txt. Skriv gärna in egna exempel.

När du är klar ska du testa regler på texten kontroll.txt med din regelsamling. Se på resultatet och formulera om reglerna om det behövs.

Varje deluppgift ska redovisas med:

Deluppgift 2: Nominalfraser (NP)

Nominalfrasen är en viktig beståndsdel i språket. I den här uppgiften skall du skirva en eller flera regler som känner igen några enkla nominalfraser, till exempel: bilen, en bil, en stor bil, en stor Ford. Din uppgift blir att skriva regler som detekterar nominalfraserna i följande meningar (reglerna behöver inte klara några andra fall):

Exempel:
1. Jag tycker inte om bilen.
2. Hon hade köpt en bil.
3. Lasse hade sålt en stor bil.
4. Hon körde en stor Ford.

Deluppgift 3: Verbkedjor

Verbkedjan består av en sekvens av verb. Verbkedjan spelar en central roll i satsen och är därför viktig att identifiera. Skriver regler som detekterar verb och verbkedjor i följande meningar.

Exempel:
1. Han skulle vilja sluta röka nu.
2. Han har inte rökt sen igår.
3. Han måste sluta nu.

Deluppgift 4: Nominalfraser med attribut

Nominalfraser tar ofta olika former av attribut. Det finns både framförställda attribut och efterställda attribut. Skriver regler som känner igen följande nominalfraser med attribut.

Exempel:
1. Jag har glömt mitt andra namn.
2. Han röstade som mannen på gatan.

Deluppgift 5: Satsigenkänning, S --> NP VP

I denna uppgift skall du skriva några regler som där det är möjligt återanvänder dina gamla regler och känner igen hela satser.

Exempel:
1. Mannen skulle sova.
2. Mannen på gatan kör en stor Ford.
3. Kvinnan hade glömt sitt andra namn.

Extrauppgift

Formulera dina regler så att de endast upptäcker korrekta fraser och satser (exempel ovan). Det vill säga följande skall kännas igen: Mannen hade köpt en bil. Men inte Mannen hade köpt en bilen.
Sidansvarig: Ola Knutsson <knutsson@nada.kth.se>
Senast ändrad 10 september 2002
Tekniskt stöd: <webmaster@nada.kth.se>