Uppsala universitet
Institutionen för lingvistik
Introduktion till språkteknologi HT 00

IST00: Laboration 1: Parsning med frasstrukturgrammatik

Innehåll

  1. Syfte
  2. Uppgift
  3. Reglernas syntax
  4. Lexikonet
  5. Tillvägagångssätt
  6. Redovisning

1 Syfte

Laborationen syftar till att ge en första bekantskap med parsning, en central bearbetningstyp inom språkteknologin, som bland annat används för att lösa ordklassflertydigheter. I laborationen får du tillfälle att tillämpa dina kunskaper om ordklass, fras och sats i konkret regelskrivande.

2 Uppgift

Din uppgift är att skriva en uppsättning grammatikregler för några svenska meningar och prova ut dem med datorns hjälp. Det du ska åstadkomma är en så kallad frasstrukturanalys, och till detta använder du programmet PC-PATR. PC-PATR är ett program av Stephen McConnel på Summer Institute of Linguistics (SIL) och implementerar en parsningsformalism som heter PATR-II. PATR-II kan mycket mer än det som ni kommer att använda det till i labben, så om du tittar i dokumentationen till det och inte begriper den så är det inget att förskräckas över.

Meningarna

Dessa meningar ska ni använda.

  1. Snön faller.
  2. Det snöar.
  3. Han heter Tarzan.
  4. Han beundrar Tarzan.
  5. Lustiga Lisbet var lillgammal.
  6. Andreas går på fotboll var torsdag.
  7. Var bildas i såret.
  8. Hulda lånade en bok av skolbibliotekarien.
  9. Hulda lånade en bok av Charles Dickens.
  10. Fritz läste en finurlig novell om det mänskliga dilemmat.
  11. Hon har en hund och en katt och en papegoja.

3 Reglernas syntax

Grammatiken innehåller regler som skrivs så här:

	; Toppregler
	Rule S -> NP VP

	; Nominalfraser
	Rule NP -> NN
	Rule NP -> NP_1 CN NP_2

	; Verbalfraser
	Rule VP -> VB
där -> fungerar som omskrivningssymbol. Kategorierna som står till höger kan definieras genom att stå till vänster i andra regler (NP och VP i exemplet), eller så kan de vara ordklasser som nämns i lexikonet. (NN och VB i exemplet; se längre fram!)

Observera:

4 Lexikonet

Lexikonet ligger i en egen fil. I denna labb är det ett fullformslexikon där det enda vi säger om orden är vilken ordklass de tillhör. Det ser ut så här:

	\w mormor
	\c NN

	\w gråter
	\c VB

Efter "\w" anges själva ordformen (w = word) och efter "\c" anges ordklassen (c = category). Även i denna fil kan man lägga in kommentarer efter semikolon.

I denna tabell ges den ordklassindelning du ska använda:

NN  Nomen  Prep  Prepositioner 
PM  Proprium (egennamn)  CN  Konjunktioner 
PN  Pronomen (personliga pronomen)  AB  Adverb 
AV  Adjektiv  NL  Numeral (räkneord) 
VB  Verb  BD  Bestämningsord (förenade pronomen och artiklar) 

I övrigt använder du de fraskategorier du finner motiverade för uppgiften.

5 Tillvägagångssätt

Att köra PC-PATR

PC-PATR körs som "pcpatr" i ett skal. Då får man en prompter "PC-PATR>" till vilken man kan ge särskilda kommandon till PC-PATR. Här följer ett exempel på en typisk körning där grammatiken och lexikonet ovan laddas in, varpå en kort mening parsas. Ens egen input skrivs här fetstilt.

	$ pcpatr
	PC-PATR (PATR II style unification parser)
	Version 1.2.3 (May 11, 2000), Copyright 2000 SIL
	Compiled Oct  9 2000 11:36:15
	with PC-Kimmo functions version 2.1.8 (May 11, 2000)
	    and AMPLE functions version 3.3.11 (May 11, 2000)
	Type ? for help
	PC-PATR>load grammar labb
	Loading grammar from labb.grm
	PC-PATR>load lexicon labb
	Loading lexicon from labb.lex
	    2 lexicon entries loaded from labb.lex
	PC-PATR>parse mormor gråter
	
	1:
	      S 
	   ___|____
	  NP     VP 
	   |      |
	  NN     VB 
	mormor gråter 
	
	S:
	[ cat:   S ]
	
	1 parse found
	
	PC-PATR>

Observera att PC-PATR antar att grammatikfilen har ett namn som slutar på ".grm" och lexikonfilen ett namn som slutar på ".lex". Efter att grammatiken eller lexikonet ändrats får du lov att ladda den igen. Varje gång man laddar in en grammatikfil så tas alla grammatikregler först bort, så du måste ha alla regler i samma fil. Motsvarande gäller för lexikonfiler. Det går att förkorta "load grammar" med "l g" och "load lexicon" med "l l".

Observera också parse-kommandot. Skriv inte meningen med inledande stor bokstav, och avsluta inte med punkt eller annan interpunktion. Allt sådant skulle krångla till det i onödan. Det är ju "mormor" (med litet m) som står i lexikonet, och vi har ingen särskilt hantering av interpunktion. Kommandot "parse" kan förkortas "p".

Några tips för nyblivna grammatiker

Förenkla gärna meningarna medan du testar din grammatik, istället för att bara prova med just de elva meningarna ovan. Om du får "**** Cannot parse this sentence ****" för en mening, så prova att förenkla någon del av meningen, så kanske du inser vad i meningen det är som din grammatik ännu ej klarar.

Om du t.ex. vill prova dina NP-regler kan du prova meningar där du lägger ett enkelt verb till den NP du vill prova, så att det inte tillkommer några problem i VP:n. (Dessutom blir analysträden inte lika stora, och därmed lättöverskådligare.)

När du provar ut VP-regler kan du tvärtom använda en så enkel NP som möjligt.

Ett tips för att underlätta överblicken är att hålla alla regler för en viss frastyp tillsammans i grammatikfilen.

6 Redovisning

Redovisning lämnas i form av skriftlig rapport till Per eller Leif-Jöran senast den 24 november. Om du har ett efternamn som börjar på A-K så lämna till Per och om du har ett efternamn som börjar på L-Ö så lämna till Leif-Jöran. (Detta är samma indelning som den ursprungliga indelningen i grupp 1 och grupp 2 i GD:n.)

Rapporten ska innehålla/behandla (minst) följande

  1. Grammatikreglerna och lexikonet du har skrivit
  2. Fullständiga filnamn till grammatikreglerna och lexikonet (samma versioner som de som ingår i rapporten!)
  3. Alla parseträd som genereras för meningarna ovan
  4. Dina kommentarer och/eller synpunkter på din grammatik och de analysresultat du har fått
  5. Vilka problem har du mött?
  6. Hur löste du dem?
  7. Vad har man svårt att uttrycka med frasstrukturanalys av detta slag? Ge exempel från laborationen.

Rapporten kan antingen skrivas som en ren textfil eller snyggskrivas med ordbehandlare eller liknande. Lämna in rapporten till Per/Leif-Jöran antingen i dennes postfack på institutionen, eller via mail. Om du använder mail, så skicka en ren text, Postscript eller PDF. (Men inte ett format som hör till nån viss ordbehandlare.)

Rapporten kommer att ges betyget godkänd eller underkänd.

Lycka till!

Mittkursutvärding

Fyll också i mittkursutvärderingen under labben! Glöm inte att ändra "Kurs:" överst i formuläret!


Laborationsinstruktioner skrivna i oktober/november 2000 av Per Starbäck (efter Erik Mats, Anna Sågvall Hein och Per Sandhammar)