Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G...

26
Del A Formelle sprk og grammatikker 1. Sprk og grammatikker 1 2. Kontekstfrie frasestrukturgrammatikker 3 3. Kontekstfrie sprk 6 4. Regulre sprk og regulre uttrykk 10 5. Egenskaper ved regulre sprk (FSTN-sprk) 15 6. Chomsky-hierarkiet 18 7. Variasjoner i kontekstfrie grammatikker 19 8. Oppgaver 22 9. Litteratur 24

Transcript of Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G...

Page 1: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

Del A

Formelle spr�k og grammatikker

1. Spr�k og grammatikker 12. Kontekstfrie frasestrukturgrammatikker 33. Kontekstfrie spr�k 64. Regul¾re spr�k og regul¾re uttrykk 105. Egenskaper ved regul¾re spr�k (FSTN-spr�k) 156. Chomsky-hierarkiet 187. Variasjoner i kontekstfrie grammatikker 198. Oppgaver 229. Litteratur 24

Page 2: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.
Page 3: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-1

P� noen punkter er kapittel 4 i Gazdar og Mellish fremstilling litt knapp. Selv om altsom st�r der er korrekt, kan det v¾re vanskelig for den som leser om dette for f¿rstegang � holde klart fra hverandre de ulike begrepene som innf¿res og hvilke niv�er debefinner seg p�. Det f¿lgende er ment � gj¿re det lettere � holde en del begreper klartfra hverandre, spesielt hva vi legger i

- et spr�k, f.eks. norsk, engelsk eller Prolog,- en grammatikk, f.eks. eksempelgrammatikk 1, s 105-106 i G & M,- en klasse av grammatikker, f.eks. de kontekstfrie grammatikkene- en klasse av spr�k, f.eks de kontekstfrie spr�kene- en formalisme for � beskrive grammatikker som PATR ellerHornklausullogikk- en grammatikk+en parser, som er det vi sv¾rt ofte f�r n�r vi skrivergrammatikker i Prolog.

1. Spr�k og grammatikkerPust ut, vi skal ta det gradvis. Vi begynner med en formell beskrivelse av et spr�k.

Et (formelt) spr�k L best�r av en endelig mengde symboler A, kalt alfabetet tilL, og en mengde W av strenger over L. Strengene i W kalles de velformeteuttrykkene i spr�ket eller ordene i spr�ket.

Dette trenger litt forklaring. Vi sier ikke hva symbolene i alfabetet er. De tar vi for gitt.En streng er en endelig sekvens av symboler. Hvis alfabetet er A={a, b}, vil {a, b, aa,ab, ba, bb, aaa, É} v¾re mengden av strenger over A. Ordene i spr�ket vil da v¾re endelmengde av alle strengene over A. Vi ser at W kan v¾re uendelig (eller tom) selv omA er endelig.

Eksempel 1. La A v¾re de 29 bokstavene i det norske alfabetet. La W v¾re allenorske ord. ja er med i W, zz er en streng over A som ikke er med i W.

Eksempel 2. La A v¾re oppslagene i Tanums store rettskrivningsordbok. La W v¾realle norske setninger som kan dannes med disse ordene.

Eksempel 3. La A v¾re de 29 bokstavene i det norske alfabetet, samt mellomrom og devanlige tegnene: , . : ; ? ! . La W v¾re alle norske (skriftlige) setninger som kandannes med disse symbolene.

Vi ser at i alle tre tilfeller er alfabetet endelig. I eksempel 1 og 3 er alfabetet p� 29 og 36symboler, mens i eksempel 2 er det p� noe slikt som 300 000 symboler. Hvorvidtspr�ket i eksempel 1 er endelig, avhenger av hvordan vi betrakter ordsammensetning.Hvis vi begrenser W til oppslagene i en bestemt ordbok samt alle former av dem, blirspr�ket endelig. I eksemplene 2 og 3 er spr�kene uendelige.

Et spr�k som norsk er mye mer enn en strengemengde. Vi skiller mellom de velformeteordene som er bygd opp av bokstaver (i skrift) og setningene som er bygd opp av ord.Setninger har en intern struktur og b¾rer mening. Tar vi det talte spr�ket i betraktningmed sine lyder, er det enda mer � legge til. N�r vi bruker ordet spr�k til � snakke om en

Page 4: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-2

strengemengde, m� det betraktes som en teknisk term hvor vi like gjerne (helst?) kunnebrukt en annen term, og ikke som en p�stand om hva et spr�k er.

Et spr�ks alfabet er endelig. Det kan spesifiseres ved at vi lister opp alle elementene ialfabetet. Hvis mengden av ord er endelig, kan vi ogs� liste opp den, selv om den kanbli lang. Men hvis mengden av ord er uendelig, trenger vi andre m�ter for � spesifisereden.

En grammatikk for spr�ket ÜA, WÝ er en endelig innretning som kan liste oppalle elementene i W.

Vi har allerede sett eksempler p� grammatikker i kapittel 2 og 3 i G & M. FSTNet i Fig2.1 p� side 23 var en grammatikk for spr�ket med det endelige alfabet {a, h, ! } og denuendelige mengden av velformete uttrykk {ha!, haha!, haha!, É }. B�de endeligetilstandsnettverk (FSTN) og rekursive tilstandsnettverk (RTN) er formalismer for �spesifisere grammatikker.

Hvis G er en grammatikk lar vi L(G) betegne ordene i spr�ket generert av G,eller mao. hvis G er en grammatikk for ÜA, WÝ, er L(G) = W.

Akkurat som for spr�k er definisjonen av grammatikk en grov forenkling i forhold tilnaturlige spr�k som norsk. Men at vi trenger endelige innretninger for � spesifisereuendelige spr�ksystemer, gjelder ogs� om vi tar spr�kets fulle kompleksitet i betrakt-ning. For det f¿rste er de endelige grammatikkene n¿dvendig for spr�kforskeren somskal beskrive spr�ket. Dessuten betrakter vi spr�kbrukerne, talere og tilh¿rere, somendelige ressurser. Skal de kunne beherske et uendlig spr�k, m� de ha tilgang til eneller annen form for grammatikk. Og endelige spesifiseringer er en forutsetning for atvi skal kunne anvende endelige datamaskiner i spr�kprossering.

N�r det gjelder grammatikkens oppgave, kunne en tenkt seg alternativ.

En anerkjenner (eng.: recognizer) for et spr�k ÜA, WÝ er en endelig innretningsom til en streng w over A svarer ja hvis wÎW og nei ellers.

Fra SLI 1 vet vi at de to definisjonene ikke er ekvivalente, ihvertfall ikke hvis vi antarChurch tese. Fra en anerkjenner kan vi bygge en grammatikk: Start med en opplistingav elementene i W = {w1, w2, É,wn, É}. (W m� alltid v¾re tellbar. Hvorfor?) Fori = 1, 2, É sp¿r vi s� anerkjenneren om wi Î W. Er svaret ja, tar vi den med p� listen,er svaret nei, tar vi den ikke med p� listen. Fra en gitt grammatikk, kan vi alltid lage eninnretning som til en gitt streng w svarer ja hvis strengen er i spr�ket, men det er ikkesikkert innretningen vil svare nei dersom strengen ikke er i spr�ket. Grunnen til at vivalgte definisjonen av grammatikk over, var at vi ¿nsket den mest generelle definisjo-nen vi kan tenke oss p� en endelig innretning som bestemmer et spr�k. Grammatikker,slik vi har definert dem her, kalles defor ofte generatorer.

Page 5: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-3

2. Kontekstfrie frasestrukturgrammatikkerVi skal n� se p� en annen klasse av grammatikker enn FSTN- og RTN-grammatikkene,de kontekstfrie frasestrukturgrammatikkene (CF-PSG). Vi begynner med et eksempel.

Eksempel 4.S ® NP VPVP ® V NPVP ® VNP ® Dr. ChanNP ® nursesNP ® MediCenterNP ® patientsV ® diedV ® employed

Denne eksempelgrammatikken beskriver et spr�k med alfabet A={Dr.Chan, nurses,MediCenter, patients, died, employed}. Den beskriver omtrent 40 velformete strenger(W), hvorav noen er gode engelske setninger og andre er mindre gode, som nursesdied MediCenter.

En kontekstfri frasestrukturgrammatikk (CF-PSG), kall den G, har fire deler:- Det endelige alfabetet, A. Symbolene i alfabetet kalles gjerne grunnsymboler.- En endelig mengde metasymboler, M. M og A er disjunkte, M Ç A = Æ.- Et utpekt metasymbol S, (S Î M).- En mengde produksjonregler P. Hver produksjonsregel har formen B ® b,der B er et metasymbol og b er en streng av 0 eller flere symboler. Symbol eret fellesnavn p� grunnsymboler og metasymboler, dvs p� elementene i M È A.

I eksempelet er A={Dr. Chan, nurses, MediCenter, patients, died, employed}, M={S,NP, VP, V}, S=S, og P er det vi listet opp som eksempelet. Vi vil ofte forenkle navnettil kontekstfrie grammatikker.

S� langt har vi definert hvordan en kontekstfri grammatikk skal se ut, men vi har ikkesagt noe om hvordan den skal tolkes. F¿r vi gj¿r det skal vi innf¿re noen konvensjonerfor bruk av symboler, som vi fors�vidt alt har gjort bruk av. Vi vil bruke de sm� bok-stavene a, b, c for grunnsymboler, de store bokstavene B, C for metasymboler, de sm�bokstavene s og t kan st� for begge typer symboler, bokstavene w, x, y vil bli brukt omstrenger av grunnsymboler, mens sm� greske bokstaver vil st� for strenger av vilk�rligesymboler. Det er ikke s� vanskelig � se hvordan grammatikken genererer et spr�k. Littpirkete definerer vi det slik.

Hvis a og b er sekvenser av symboler sier vi at b kan direkte avledes fra a, isymboler a Þ b, hvis a kan skrives gBd, der B er et metasymbol, B ® y er iP, og b = gyd.

Page 6: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-4

En streng w over A er et velformet uttrykk i spr�ket generert av G dersom denkan avledes (deriveres) fra S med endelig mange direkte avledningera0 Þ a1, a1 Þ a2, É, an-1 Þ an, der S = a0 og w = an.

Dette blir forst�elig med et eksempel fra grammatikken v�r:

S Þ NP VP Þ nurses VP Þ nurses V NP Þnurses V patients Þ nurses employed patients.

Det er verdt � merke seg at flere andre avledninger ville gitt samme resultat. P� trinn 2kunne vi g�tt til NP V NP i stedet for nurses VP, osv. Sluttresultatet ville blitt detsamme. Vi er interessert i en del informasjon i avledningen, hva de enkelte metasym-bolene skiftes ut med, men ikke rekkef¿lgen de skiftes ut. Den interessante informa-sjonen blir ivaretatt i treet:

6, NURSES

2, NP

7, EMPLOYED

4, V

8, PATIENTS

5, NP

3, VP

1, S

Vi kan gi en annen definisjon av tolkningen av en kontekstfri grammatikk. Gitt et tre t.

Med et lokalt tre i t forst�r vi en node som ikke er en bladnode, alle dens d¿tre,kantene mellom mora og d¿trene og ordningen mellom d¿trene.

I treet over ser vi blant annet f¿lgende lokale tr¾r

2, NP 3, VP

1, S

4, V 5, NP

3, VP

Tallene som vi har skrevet p� nodene, b�de her og i treet over, er ment som identifi-katorer. Til hver node har vi tilordnet en unik identifikator. Dette er n¿dvendig sidenflere noder kan v¾re merket med samme symbol. Vi kan derfor ikke bruke f.eks. NPtil � snakke om en node.

En frasestrukturregel B ® s1, s2, É, si tillater (eng. license) et lokalt tre medmornode n og d¿tre n1, n2, É, nj hvis og bare hvis i=j, n er merket med B ognk er merket med sk for k = 1, É, i.

Vi vil si at en kontekstfri grammatikk, G, genererer et tre t hvis og bare hvis1. Toppnoden i t er merket med S.2. Hver bladnode i t er merket med et grunnsymbol.3. Ethvert lokalt tre i t er tillatt av en av produksjonsreglene.

Page 7: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-5

Vi vil skrive T(G) for mengden av tr¾r generert av G. Vi vil kalle merkene p� blad-nodene til et tre t satt etter hverandre i riktig rekkef¿lge, for treets utkomme (eng.: theyield of the tree). Strengt tatt er disse definisjonene avhengig av presise defininisjonerav hva et tre er, av rekkef¿lgen mellom bladene, og hva vi mener med merking avnodene. Vi har her n¿yd oss med en intuitiv forst�else.

P�standGitt en kontekstfri grammatikk G med alfabet A. En streng s er avledbar fra Ghvis og bare hvis den er utkomme til et tre generert av G.

BevisskisseP�standen er rimelig opplagt. La oss likevel skissere et bevis. Anta at a0 Þ a1, a1 Þa2, É, an-1 Þ an, der S = a0 og w = an, er en avledning av w fra G. Lag en nysekvens a0', a1', a2', É, an', der

- hver ai' er en sekvens av par av et symbol og en identifikator,- a0' = ÜS, 0Ý.- hvis ai = s1 s2 É si-1 X si+1 É sk og ai+1 = s1 s2 É si-1 t1 É tj si+1 É skog ai' = s1' s2' É si-1' ÜX, nÝ si+1' É sk' s� er ai+1' = s1' s2' É si-1' Üt1, n1ÝÉ Ütj, njÝ si+1' É sk' , der n1, É nj er identifikatorer som ikke forekommer inoen am for m £ i.

Det er greit � se at en slik sekvens finnes. Det er n� rett frem � bygge et tre med identi-fikatorene som noder, der noden n f�r n1, É, nk som d¿tre i den rekkef¿lgen. Detsiste trinnet best�r i � vise at treet tilfredstiller kravene. At hvert lokalt tre er tillatt av enregel hvis og bare hvis hvert trinn i derivasjonen er lovlig, ser vi med en gang. Detsom kan v¾re litt mer pirkete, er � vise at utkomme av treet ordner symbolene i sammerekkef¿lge som w = an. Umiddelbart er det opplagt, men et helt formelt bevisforutsetter at vi har v¾rt litt mer n¿ye med � definere hvordan ordningen av bladnodenesamsvarer med ordningen av de lokale tr¾rne.

For � vise omvendingen, starter vi med et tre t i T(G) med utkomme w. Da finnes deten endelig sekvens a0, É, an, slik at

Ð hver ai er en sekvens av par av en nodeidentifikator og et symbol

Ð a0 = ÜS, n0Ý hvor n0 er toppnoden i t,

Ð forholdet mellom ai og ai+1 er slik at

Ð ai kan skrives s1 s2 É si-1 ÜX, nÝ si+1 É sk

Ð ai+1 kan skrives s1 s2 É si-1 Üt1, n1Ý É Ütj, njÝ si+1 É sk

Ð det er et lokalt tre i t med n som mornode merket med X og n1 É njsom d¿tre merket med t1, É, tj.

Ð an = Üa1, n1Ý Üa2, n2Ý ÉÜak, nkÝ der hver ni er en bladnode og w = a1 a2 Éak.

Strengt tatt m� vi vise eksistensen av en slik sekvens. Fra ai kan vi konstruere ai' ved� skifte hvert par Üs, nÝ av symbol og nodeidentifikator med symbolet s. Det er rettfrem � se at a1', É, an' gir en avledning av utkommet til t. ❏

Page 8: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-6

Selv om de to forskjellige m�tene � tolke kontekstfrie frasestrukturgrammatikker girsamme resultat, kan det v¾re hensiktsmessig � ha tilgang p� begge siden de har ulikebruksegenskaper. Tr¾rne har den fordel at de ikke bare sier noe om strenger i spr�ket,men ogs� noe om strukturen til disse strengene. Som en f¿lge av dette kan vi fra tr¾rnelese ut om en streng er flertydig, mens dette ikke kommer s� klart frem fra avled-ningene.

Eksempel 5 . La grammatikken v¾re som i eksempel 4 utvidet med

NP ® AP NPNP ® NP and NPAP ® kindAP ® bad

I denne grammatikken vil en streng som Kind nurses and patients died, v¾re flertydig.Den vil kunne tilordnes de to tr¾rne

KIND

AP

NURSES

NP

NP AND

PATIENTS

NP

NP

DIED

V

VP

S

KIND

AP

NURSES

NP AND

PATIENTS

NP

NP

NP

DIED

V

VP

S

Men strengen kan tilordnes mye mer enn to ulike derivasjoner. Ved � se p� deriva-sjonene alene, er det vanskelig � se hvorvidt to derivasjoner representerer enflertydighet eller ikke.

Definisjonen av et spr�k utfra avledning kan ofte v¾re den mest hensiktsmessige n�r vivil bevise egenskaper ved kontekstfrie grammatikker, siden avledningene er en naturligstruktur � utf¿re induksjonsbevis over. Dessuten er avledninger et egnet redskap n�r enskal diskutere parsing.

De to definisjonene er ogs� forskjellig med hensyn til egnethet for utvidelser. Avled-ningsdefinisjonen lar seg naturlig generalisere til s�kalte kontekssensitive gramma-tikker. Tredefinisjonen lar seg naturlig generalisere til unifikasjonsgrammatikker. Ogdet er en av grunnene til at vi har lagt vekt p� � innf¿re tredefinisjonen her.

3. Kontekstfrie spr�kHva har vi gjort s� langt? Vi har gitt en formell definisjon av hva vi mener med spr�kog med grammatikker. Vi har ogs� definert en bestemt klasse av grammatikker, dekontekstfrie frasestrukturgrammatikkene. Andre klasser av grammatikker er FSTN-grammatikkene og RTN-grammatikkene.

Vi kommer n� til klasser av spr�k. Et spr�k L kalles kontekstfritt hvis det finnes enCF-PSG G s.a. L = L(G). Tilsvarende kan vi kalle et spr�k et RTN-spr�k hvis det

Page 9: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-7

finnes et RTN som beskriver det og et FSTN-spr�k eller et endelig tilstands-spr�k hvisdet finnes et FSTN som beskriver det. Et spr�k kalles endelig hvis mengden av velfor-mete uttrykk i spr�ket (dvs. mengden W er endelig). Et spr�k kan godt tilh¿re flereforskjellige klasser. Legg merke til at spr�ket beskrevet av eksempel CF-PSGen ieksempel 4 er b�de RTN, FSTN og endelig. Vi har generelt at:

P�stand1) Ethvert RTN-spr�k er kontekstfritt, og omvendt er ethvert kontekstfritt spr�ket RTN-spr�k.2) Ethvert FSTN-spr�k er ogs� et RTN-spr�k og dermed kontekstfritt.3) Ethvert endelig spr�k er et FSTN-spr�k.

(3) er trivielt. (2) f¿lger av at ethvert FSTN ogs� vil v¾re et RTN. Men (1) er ikke s�opplagt. Hovedtrekkene i beviset er som f¿lger:

FRA KONTEKSTFRI GRAMMATIKK TIL RTN

Hvis ÜA, WÝ beskrives av en CF-PSG, G = ÜA, M, P, SÝ, s� lager vi et RTN, R, somf¿lger:

- Lag et subnettverk for hvert symbol i M, hovednettet er selvsagt nettet for S.

- For hver produksjonsregel B ® a, lag en vei gjennom B-nettet som svarer til denne.I eksempelgrammatikken v�r over, vil dette f.eks. gi et sub-nett for VP som ser slik ut:

VP: V

VNP

Mer presist antar vi alts� at ethvert nett har en startnode. Kall startnoden i nettet tilmetasymbolet B for B0. Til enhver regel B ® s1 s2 É sn innf¿rer vi n nye noder i B-nettet, kall dem B1, B2, É,Bn. Vi trekker en kant fra Bi-1 til Bi og merker den med sifor i = 1, É, n. S� merker vi Bn som en sluttnode. Spesielt har vi at hvis regelenB ® e forekommer, der e st�r for det tomme ordet, s� merker vi B0, startnoden, somsluttnode.

For � fullf¿re beviset, m� vi n� vise at nettverket anerkjenner n¿yaktig de strengenesom er i L(G). Det er ikke vanskelig, men det krever litt pirk. Blant annet m�tte vi gien noe mer presis beskrivelse av hva det vil si at et nettverk anerkjenner en streng enndet vi kan finne i G & M. Vi stoler derfor p� intuisjonen her og ser spesielt hvordangjennoml¿pet av et nett, f.eks. VP-nettet, svarer til et lokalt tre, mens en push-popsvarer til at vi beveger oss ned til en datternode.

Page 10: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-8

FRA RTN TIL KONTEKSTFRI GRAMMATIKK

Gitt et RTN, R som beskriver et spr�k ÜA, WÝ. For enkelhets skyld antar vi at R ikkeinneholder noen forkortelser. Vi lager en ekvivalent CF-PSG som f¿lger. A er densamme i de to. Metasymbolene M best�r av et navn for hvert subnett i R og et entydignavn for hver node som forekommer i et subnett i R, (f.eks. m� vi her referere til VP/2o.l.). Produksjonsreglene f�r vi som f¿lger.

1. For hver kant

A Ba

innf¿rer vi en produksjonsregel

A ® a B

2. For hvert nettverk B og startnode C i B innf¿rer vi en produksjon

B ® C

3. For hver sluttnode B i et hvilket som helst nettverk innf¿rer vi produksjonen

B ® e (e st�r for den tomme strengen).

Ved en konstruksjon som dette m� vi ogs� strengt tatt verifisere at de to grammatikkenebeskriver samme spr�k. Vi vil n¿ye oss med noen eksempler.

Eksempel 6 Vi skal lage et RTN for grammatikken i eksempel 5 F¿lger vi oppskriftenover, blir resultatet:

S:NP VP

NP: AP NP

NP

and NPDr.Chen

NP: nurses, MediCenter, patientsV: died, employedAP: kind, bad

VP: V

VNP

Page 11: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-9

Vi har benyttet oss av forkortelser for regler p� formen B ® a, der a ÎA, men harillustret med Dr. Chen hvordan disse kan oppfattes som kanter.

Eksempel 7

Vi starter med nettverket som ble resultatet i eksempel 6 og f¿lger algoritmen for �bygge en kontekstfri grammatikk. Den gir M = {S, S0, S1, S2, VP, VP0, VP1, VP2,VP3, NP, NP0, NP1, NP2, NP3, NP4, NP5, NP6, AP} og produksjonsreglene:

S ® S0S0 ® NP S1S1 ® VP S2S2 ® eVP ® VP0VP0 ® V VP1VP1 ® eVP0 ® V VP2VP2 ® NP VP3VP3 ® eNP ® NP0NP0 ® AP NP1NP1 ® NP NP2NP2 ® eNP0 ® NP NP3NP3 ® and NP4NP4 ® NP NP5NP5 ® eNP0 ® Dr.Chen NP6NP6 ® eNP ® nurses+ flere leksikalske regler

Som vi ser f�r vi ikke den grammatikken vi startet med. Forholdet mellom gjennoml¿pav nettverk og lokale tr¾r blir et annet i de to tilfellene. Den siste grammatikken virkernesten un¿dig kompleks. Dette er en illustrasjon av hva som sv¾rt ofte skjer n�r viskal gi generelle oppskrifter som holder i alle tilfeller. Ikke alle nett er s� pene som det ieksempelet. Siden de kan inneholde mer enn en startnode trenger vi b�de f.eks. NP ogNP0, og siden de kan inneholde l¿kker er det fint � ha navn p� nodene, som vi skal se ineste eksempel.

Page 12: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-10

Eksempel 8

F¿lgende nettverk beskriver de samme strengene som NP-nettet over.

NP:

NP

and

AP

Dr.Chen

N� trenger vi metasymboler som svarer til nodene. Algoritmen vil gi f¿lgende gram-matiske regler svarende til dette nettet:

NP ® NP0NP0 ® AP NP0NP0 ® NP NP1NP1 ® and NP0NP1 ® eNP0 ® Dr.Chen NP2NP2 ® e

I tillegg til kontekstfrie grammatikker og RTN finnes det en tredje klasse av forma-lismer som beskriver den samme klassen av spr�k, de ikke-deterministiske push-downautomatene (PDA). At disse gjenkjenner samme klassen av spr�k, vises i en rekkestandardb¿ker p� omr�det. Vi skal ikke i dette kurset g� noe inn p� PDA-er, men det ergrunn til � nevne dem, at de spiller s� stor rolle innen parsingteorien i informatikken.

Standard b¿ker om emnet, som Hopcroft og Ullman : Introduction to AutomataTheory, Languages and Computation viser en rekke egenskaper ved kontekstfrie spr�kutover de vi har nevnt. Vi skal her bare nevne en av dem. Ethvert kontekstfritt spr�kkan beskrives av en CF-PSG der hver produksjonsregel B ® a er slik at a er en ikke-tom streng, dvs a inneholder minst et symbol. Dette vil ha betydning n�r vi senerekommer til parsing. Vi skal komme tilbake til noen flere egenskaper om kontekstfriespr�k i seksjon 6, Chomsky-hierarkiet.

4. Regul¾re spr�k og regul¾re uttrykkVi har sett p� to helt forskjellige typer av grammatikker som beskriver samme klasse avspr�k: CF-PSG og RTN. Ogs� for FSTN finnes det en helt annen grammatikk-formalisme for samme spr�kklasse.

Page 13: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-11

REGUL®RE SPR�K

Vi skal se p� tre enkle operasjoner p� spr�k. Vi forutsetter at alle spr�kene har sammealfabet.

Konkatenering: Hvis L1 er et spr�k og L2 er et spr�k, s� er konkateneringen avL1 og L2, som vi skriver L1L2, alle ord xy med x i L1 og y i L2. Eksempel:L1={ab, abc}, L2={de, cde} da er L1L2={abde, abcde, abccde}.

Union: Hvis L1 er et spr�k og L2 er et spr�k, s� er unionen av L1 og L2, somvi skriver L1ÈL2, alle ord x som enten er i L1 eller i L2.Eksempel: Med L1 og L2 som over er L1ÈL2={ab, abc, de, cde}.

Kleene stjerne: Hvis L er et spr�k, s� er L* spr�ket som best�r av alle ordenesom fremkommer ved � konkatinere ord fra L null eller flere ganger. Hvis viikke ¿nsker � ha med det tomme ordet, skriver vi L+.Eksempel: L=L1. Da er L*={e, ab, abc, abab, ababc, abcab,abcabc, ababab,É}. Her er e det tomme ordet, som skrives # i G og M.

Et spr�k kalles regul¾rt hvis det er bygget opp fra endelige spr�k ved disseoperasjonene.

Eksempel 9. Et spr�k for latter. Alfabetet best�r av norske bokstaver samt : !. Vistarter med de endelige spr�kene A={ha}, B={he}, C={hi}, D={ho}, E={!}. Da vil(A*È(B*È(C*ÈD*)))E v¾re et regul¾rt spr�k. Hvilke ord er i det?

REGUL®RE UTTRYKK

Regul¾re uttrykk er en notasjon for � beskrive regul¾re spr�k. Til et gitt alfabet A kanvi definere de regul¾re uttrykkene over A og hva disse uttrykkene er ment � beskrive.

1) Æ er et regul¾rt uttrykk som betegner den tomme mengden, dvs. spr�ketover A som ikke inneholder noen ord.

2) e er et regul¾rt uttrykk som betegner {e}, dvs. spr�ket over A som best�r avn¿yaktig et ord, det tomme ordet.

3) For hvert tegn a i A er a et regul¾rt uttrykk som betegner {a}.

Hvis r og s er regul¾re uttrykk som betegner R og S henholdsvis s� er

4) rs et regul¾rt uttrykk som betegner RS

5) r+s et regul¾rt uttrykk som betegner RÈS

6) r* et regul¾rt uttrykk som betegner R*.

Page 14: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-12

Obs. r+s skrives noen steder rÚs og andre steder r|s. Ikke alle steder bruker en fetetyper i regel 3.

Det skulle v¾re greit � se at ethvert regul¾rt spr�k over A kan beskrives av et regul¾rtuttrykk og at ethvert regul¾rt uttrykk betegner et regul¾rt spr�k. For eksempel villatterspr�ket i eksempel 9 betegnes av uttrykket ((ha)*+((he)*+((hi)*+(ho)*)))! Vikan sl¿yfe paranteser der det ikke oppst�r misforst�elser. I eksempelet kan vi skrive:((ha)*+(he)*+(hi)*+(ho)*)! Vanligvis binder * tettest, s� konkatenering og til slutt+ .

Eksempel 10. La L v¾re beskrevet av (a+b)*ca(c+b)*. Da er aabacabc et ord i L fordiaaba er i (a+b)*, ca er i ca og bc er i (b+c)*. aaabbbcaabb er ikke i L fordi detkommer to a-er etter en c. aabbaca er i L fordi aabba er i (a+b)*, ca er i ca og e er i(b+c)*.

SAMMENHENGEN MELLOM REGUL®RE SPR�K OG FSTN

Som vi nevnte over, er regul¾re spr�k akkurat samme klasse av spr�k som de som blirprodusert/gjenkjent av FSTN-er. Mer formelt:

P�standa) Hvis L er et regul¾rt spr�k, s� finnes det et FSTN som gjenkjenner L.b) Hvis det finnes en FSTN som gjenkjenner L, s� er L regul¾rt.

Dette er langt fra opplagt � se. Det ble f¿rst vist av Kleene i 1956. Vi skal ikke her tamed et bevis fordi det vil virke langt og tungt. I stedet skal vi gi et eksempel i hverretning.

Fra Regul¾rt uttrykk til FSTN. Vi begynner med et eksempel for hvordan vi kankomme fra et regul¾rt uttrykk til et FSTN. La oss ta eksempelet

(((abc)+d*)((ce)*a)*)

F¿lgende sekvens illustrerer hvordan vi kan omforme uttrykk til et FSTN ved � g�utenfra og innover:

Page 15: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-13

(((abc)+d*)((ce)*a)*)

((abc)+d*) ((ce)*a)*

0 1

0 12

(abc)((ce)*a)

0 12

d*3

# #

0 12

3

# ## #

d

4

5 6

a

bc

(ce)*a

7

0 12

3

# ## #

d

4

5 6

a

bc

a

7

8

9

#

# c

e

Eksempelet illustrerer alle trinnene i en generell algoritme, og det skulle medutgangspunkt i eksempelet v¾re mulig � omforme et vilk�rlig regul¾rt uttrykk til etFSTN. Det er viktig for at oppskriften skal bli s�pass enkel at vi kan bruke et FSTNsom er ikke-deterministisk og inneholder hoppekanter.

Page 16: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-14

Fra FSTN til regul¾rt uttrykk. Vi har allerede sett p� latter-maskinen. Vi ser n�p� den mer avanserte English1 (G & M, s 29). Alfabetet vil n� v¾re alle de engelskeordene som st�r under en av kategoriene.

1 2 3 4 5

6789

NP

DET N BV ADV

#

DET

MOD

ADJ

MOD

N

#CONJ

CONJ

DET

ADJ

Vi aksepterer forkortelser slik at f.eks. DET er en forkortelse for a+the+her. Det skullev¾re mulig � se hvordan f¿lgende uttrykk beskriver spr�ket uten de to kantene merketmed CONJ:

((DET N)+NP) BV (ADV +e)((((DET MOD* ADJ)+ DET) N)+(MOD* ADJ))

Hva gj¿r vi med de to CONJ kantene ?

F¿rst den fra 9 til 4. Den sier at vi kan legge til CONJ og s� alt som kommer etter BVs� mange ganger vi vil. Alts� f�r uttrykket formen:

((DET N)+NP) BV (ADV +e)((((DET MOD* ADJ)+ DET) N)+(MOD* ADJ))(CONJ (ADV +e)((((DET MOD* ADJ)+ DET) N)+(MOD* ADJ)))*

(Husk at stjerne betyr ingen eller flere ganger).

Vi kan gj¿re tilsvarende for den andre CONJ-en. Vi ser at fra tilstand 9 kan vi entenf¿lge CONJ til tilstand 4 og veien tilbake til tilstand 9 eller vi kan f¿lge CONJ til tilstand1 og veien tilbake til 9. Vi f�r da hele uttrykket

((DET N)+NP) BV (ADV +e)((((DET MOD* ADJ)+ DET) N)+(MOD* ADJ))(CONJ ((ADV +e)((((DET MOD* ADJ)+ DET) )+(MOD* ADJ)))+

(((DET N)+NP) BV (ADV +e)((((DET MOD* ADJ)+ DET) N)+(MOD* ADJ))))*

Dette skulle gi en id� om fremgangsm�ten. Det viser ogs� at det regul¾re uttrykketnoen ganger kan bli sv¾rt langt. (Og kanskje ogs� at notasjonen ikke er den mest leser-vennlige n�r uttrykkene blir lange). Men dette eksempelet vil kanskje ikke v¾re nok til� se en generell fremgangsm�te. Nettverkene kan bli mer komplisert enn i eksempelet,spesielt hvis det blir st¿rre og mindre l¿kker som blander seg i hverandre. For detgenerelle tilfellet viser vi til standardb¿ker om emnet.

Page 17: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-15

5. Egenskaper ved regul¾re spr�k (FSTN-spr�k)PENE EGENSKAPER VED REGUL®RE SPR�K

Regul¾re spr�k har et par egenskaper som gj¿r dem spesielt ãpeneÓ. Hvis L og M er tospr�k over det samme alfabetet A, s� er L Ç M, kalt snittet av L og M, det spr�ket sominneholder n¿yaktig de ordene som er i b�de L og M, og komplementet til L, som viskriver A* Ð L, alle ordene vi kan danne over A som ikke er i L.

P�standHvis L er et regul¾rt spr�k, s� er komplementet til L et regul¾rt spr�k.

For � vise dette kan vi ta et deterministisk FSTN, F, som aksepterer L.

Vi legger til en tilstand D og kaller resultatet for G.

For enhver tilstand T i G gj¿r vi som f¿lger:

For hvert symbol a i A hvor det ikke g�r noen kant ut fra T merket med a, leggervi til en kant fra T til D merket med a.

Det nye FSTN-et, kall det H, vil ogs� gjenkjenne L og det vil v¾re deterministisk.Dessuten vil det v¾re fullstendig spesifisert: fra enhver tilstand vil det for hvert symbolg� ut en og bare en kant.

S� danner vi et nytt FSTN, J, ved � snu rundt p� hvilke tilstander som er aksepterendeog hvilke som ikke er det i H. Da vil J gjenkjenne komplementet til G.

P�standHvis L og M er regul¾re, s� er snittet av L og M regul¾rt.

L Ç M = (L« È M«)« (der L« er komplementet til L ) ved deMorgans lov. Det er ogs�mulig � konstruere mer direkte et FSTN for L Ç M fra et nettverk for L og et for M.

Den siste lovmessigheten kan brukes til � vise at et spr�k L ikke er regul¾rt. Ofte er detenklere � sjekke om L Ç M er regul¾rt, der M er et spr�k vi vet er regul¾rt.

SVAKHETER VED ENDELIGE TILSTANDSTEKNIKKER

Endelige tilstands-teknikker (automater, transisjonsnettverk, transducere) dukker opp iflere ulike sammenhenger i informatikk og andre vitenskaper. Det er en formalismemed flere pene egenskaper. Ikke minst kan den implementeres sv¾rt effektivt. Forspr�kgjenkjenning har den effektive implementasjonen sammenheng med at ethvertFSTN er ekvivalent til et deterministisk FSTN.

Men endelige tilstandsteknikker har ogs� svakheter. F¿rst og fremst er de formeltsvake i den forstand at det er mange fenomener som ikke kan beskrives med dem. Deter mange spr�k som ikke er regul¾re. De fleste er enige om at naturlige spr�k ikke erregul¾re.

Page 18: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-16

Vi skal se p� det formelle spr�ket anbn. Det vil si spr�ket med alfabet {a, b} hvor etord er i spr�ket hvis det best�r at et vilk�rlig antall a-er etterfulgt av like mange b-er.Hvorfor er ikke det regul¾rt?

Anta at M er en deterministisk FSA som anerkjenner dette spr�ket. Da har M et visstantall tilstander, la oss si k. Hvis M leser en sekvens av m a-er for en m st¿rre enn k,s� m� det finnes to forskjellige tall i og j og en tilstand t slik at M er i tilstand t b�de etter� ha lest i mange a-er og etter � ha lest j mange a-er. Da vil maskinen ogs� v¾re isamme tilstand etter � ha lest de to ordene aibi og ajbi. Alts� m� den enten anerkjennebegge eller forkaste begge. Alts� anerkjenner den ikke spr�ket anbn.

Hva har dette med naturlige spr�k � gj¿re? Det er blitt argumentert at anti-missile-missile, anti-anti-missile-missile-missile, anti-anti-anti-missile-missile-missile-missile,É er engelske ord mens f.eks anti-anti-anti-missile-missile-missile ikke er det. Spr�ket(anti)nmissile(missile)n er ikke regul¾rt. Alts� er heller ikke Engelsk ord-dannelse detsiden (anti)nmissile(missile)n = <engelsk ord> Ç (anti)*missile(missile)* og(anti)*missile(missile)* er regul¾rt.

Det er vanligere � ta eksempler p� at setningsdannelse ikke er et regul¾rt spr�k. Allesetninger p� formen

Jon som s� Anne som s� Kari som s� Petter som ÉÉs� �se spiste en kake,

kan beskrives av et regul¾rt uttrykk. Hvilket? Hvis vi derimot flytter rundt p� subjektog objekt f�r vi uttrykket

Jon som Anne som Kari som Petter ÉÉs� s� s� spiste en kake.

(Jeg har sett bort fra tegnsetting). Dette kan beskrives ved NAVN(som NAVN)n(s�)n

spiste en kake, som er lik NAVN(som NAVN)*(s�)* spiste en kake Ç <norskesetninger>, der NAVN er en endelig disjunksjon, f.eks. Jon+Anne+Kari+Petter.

KONTEKSTFRIE GRAMMATIKKER FOR FSTN-SPR�K

Vi har alts� at ethvert FSTN-spr�k er kontekstfritt, men ikke omvendt. Hvis denkontekstfrie grammatikken har en spesiell form, s� kan vi se at spr�ket beskrevet av denogs� er FSTN.

Hvis ÜA, WÝ kan beskrives av en CF-PSG der alle produksjonsreglene har en avformene (i) eller (ii) s� er ÜA, WÝ et FSTN spr�k.

i) C ® a B, der C og B er metasymboler og a er en streng av grunnsymboler.

ii) C ® a, med C og a som i (i)

For � vise dette lager vi et FSTN som f¿lger:

La det v¾re en node for hvert metasymbol, samt en ekstra node, F (for final).

Page 19: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-17

La S v¾re startnode og F v¾re sluttnode.

For hver regel p� formen C ® a B, innf¿r en kant fra node C til B merket meda

For hver regel p� formen C ® a, innf¿r en kant fra node C til node F merketmed a.

Strengt tatt vil ikke dette gi oss et ordentelig FSTN. I regelen A ® a B kan a v¾re ensekvens med mere enn et grunnsymbol, f.eks. 3 stykker, a=b1b2b3, og tilsvarende i A® a. I s�fall har vi merket en kant med en sekvens av grunnsymboler i stedet for bareet. Men vi kan enkelt omforme den til en skikkelig FSTN ved � innf¿re nye noder ogkanter, ved at

A B

b1b2b3

omformes til

A Bb1 b2 b3

Strengt tatt m� vi som i tidligere bevis sjekke at nettverket beskriver n¿yaktig sammespr�k som den kontekstfrie grammatikk. Men som vanlig utelater vi den biten.

Omvendt har vi ogs� at ethvert FSTN-spr�k kan beskrives av en CF-PSG av dennevnte typen. For � vise dette, beh¿ver vi bare � sjekke den metoden vi tidligere bruktefor � uttrykke et RTN som en CF-PSG. Hvis RTNet er et FSTN, dvs. det best�r avbare et nett og alle kantene er merket med grunnsymboler (eller forkortelser forgrunnsymboler), vil den resulterende grammatikken ha den ¿nskede formen.

En CF-PSG beskriver ogs� et FSTN-spr�k hvis alle reglene er p� en av formene (ii) og

(iii) C ® B a, der C og B er metasymboler og a er en streng avgrunnsymboler.

Og ethvert FSTN-spr�k kan beskrives av en grammatikk p� denne formen. Detteoverlater vi til leseren � vise.

Vi b¿r kanskje komme med en liten advarsel her. Egenskapen over gir oss ingenmetode til � avgj¿re om et gitt kontekstfritt spr�k, L, er et FSTN-spr�k. Hvis L = L(G)og G er en grammatikk som ikke har noen av egenskapene over, s� kan det v¾re at detfinnes en annen grammatikk, G', med en av egenskapene slik at L = L(G'). Men detfinnes faktisk ingen effektiv metode som til en gitt CF-PSG avgj¿r om spr�ketbeskrevet av den er FSTN eller ikke. Dette er et eksempel p� sp¿rsm�l om kontekstfriegrammatikker som er uavgj¿rbare. Det er flere slike sp¿rsm�l, som er sv¾rt enkle �formulere, som faktisk viser seg uavgj¿rbare.

Page 20: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-18

6. Chomsky-hierarkietVi har s� langt studert to klasser av uendelig spr�k, de kontekstfrie spr�kene og deregul¾re spr�kene, og sett p� sammenhenger mellom dem. Spesielt har vi sett at alleregul¾re spr�k er kontekstfrie, men at det finnes kontekstfrie spr�k som ikke erregul¾re. Vi har ogs� sett at det finnes konstruksjoner i naturlige spr�k som tyder p� atnaturlige spr�k ikke er regul¾re. Hvordan er det s� med de kontekstfrie spr�kene? Eralle spr�k kontekstfrie? Hvis ikke, er det grunn til � tro at de naturlige spr�kene erkontekstfrie?

Et av de viktigste hjelpemidlene n�r vi vil avgj¿re om et spr�k er kontekstfritt eller ikke,er det s�kalte pumping-lemmaet for kontekstrfrie spr�k. Vi skal ikke her utforme det idetalj eller vise det. Grovt sett sier det at for ethvert kontekstfritt spr�k s� vil ÒlangeÓstrenger ha en viss regularitet. Det vil v¾re par av strenger a, b som er slik at hvis aer i spr�ket, s� er ogs� b med i spr�ket. (Hva som teller som ÒlangeÓ vil avhenge avspr�ket). Dette lemmaet kan vi s� f.eks. bruke til � vise at for ethvert kontekstfritt spr�ks� vil det finnes en eller annen n (dvs. spesifikasjonen av ÒlangÓ) slik at hvis anbncn er ispr�ket s� vil det ogs� finnes en streng som ikke er p� formen ambmcm for noen m,som er i spr�ket, alts� kan ikke spr�ket anbncn v¾re kontekstfritt.

En annen egenskap ved de kontekstfrie spr�kene, som kan hjelpe til � vise at et spr�kikke er kontekstfritt, er snittegenskapen. Hvis L1 er et regul¾rt spr�k og L2 er kon-tekstfritt, s� vil L1 Ç L2 v¾re kontekstfritt. Men, som vi skal se i en oppgave, er ikkedet at L1 og L2 begge er kontekstfrie tilstrekkelig til � sikre at L1 Ç L2 er kontekstfritt.

Vi har sett p� de kontekstfrie spr�kene, endelige tilstandsspr�k og endelige spr�k. Vihar ogs� sett at det finnes spr�k som ikke er kontekstfrie. For de spr�kene som ikke erendelige kan vi tegne f¿lgende bilde.

Rekursivt opptellbare mengder(type 0)

(Kontekstsensitive spr�k(type 1))

Kontekstfrie spr�k(type 2)

Endelige tilstandsspr�k= regul¾re spr�k

(type 3)

Endelige tilstands automata(FSA)

Ikke-deterministike Pushdown automata

(PDA)

Turing maskiner

a a b a b cn n n n n n

� kalle spr�kklassene for type 0, type 1, osv. g�r tilbake til Chomsky, 1959. Bildetkalles gjerne for Chomsky-hierarkiet og er standard i formell spr�kteori/automatateori.Turing-maskiner er den sterkeste foresl�tte formalismen for � gi en regel for � liste opp

Page 21: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-19

W fra A i spr�ket ÜA, WÝ. Fra Church tese vil det ikke finnes noen sterkere forma-lismer overhodet.

Kontekstsensitive grammatikker er tatt med for � gj¿re bildet fullstendig. De har spilten sv¾rt liten rolle, ganske enkelt fordi det er en lite hensiktsmessig m�te � skrivegrammatikker p�. Vi vil ikke si mer om dem her, eller om hva slags maskintype detilsvarer.

Det har v¾rt mye diskusjon siden Chomsky p� midten av 50-tallet om

- (1) er naturlige spr�k kontekstfrie?

- (2) hvis de ikke er det, hva er da den svakeste grammatikktypen som ertilstrekkelig til � beskrive dem?

Vi vil se p� noen av argumentene til det f¿rste punktet p� forelesningen. Spesielt vil vise p� konstruksjoner fra sveitser-tysk. Siden midten av 80-tallet, da disse f¿rst blediskutert, er de blitt st�ende som den klareste kandidaten til en spr�klig konstruksjonsom ikke kan beskrives med kontekstfrie grammatikker. Et svar til det siste punktet vilkunne utsi noe generelt om naturlige spr�k og universelle egenskaper ved dem.

Vi skal ikke se s� mye p� sp¿rsm�l (2). Vi skal innf¿re formalismer for � skrivegrammatikker som gir oss mer enn det vi trenger, PATR og DCG formalismene, og sehvordan vi i disse kan skrive grammatikker for spr�k som anbncn. Vi vil ikke se p� detsom et stort problem at disse f¿rer oss for langt i retning av full Turing-maskin styrke iforhold til hva som strengt tatt er n¿dvendig for � beskrive naturlige spr�k. Toegenskaper er viktigere enn den formelle styrken:

- (3) For det f¿rste, hvor deskriptivt adekvate de er, hvor lett det er � skrivegrammatikker i formalismene.

- (4) Og for det andre, hvor velegnet de er til automatisk behandling,gjenkjenning og parsing av en maskin.

Og selv om vi hadde valgt en formelt mer restriktiv formalisme, ville dette gitt enbegrenset gevinst mot m�let � klassifisere alle naturlige spr�k. Det er klart at selv defleste kontekstfrie spr�k Ñ eller regul¾re spr�k for den slags skyld Ñ tilsvarer ikkenaturlige spr�k. Bare hvis en restriksjon p� den formelle styrken samtidig f¿rte til engevinst p� et av punktene (3) eller (4), ville den gi en reell gevinst i � si noe omegenskaper felles for alle naturlige spr�k.

7. Variasjoner i konteksfrie grammatikkerNOEN ALTERNATIV

Vi har definert de kontekstfrie spr�kene og de kontekstfrie grammatikkene. Det finnesflere ulike mulige notasjoner for � skrive slike grammatikker og mindre varianter avdefinisjonen av grammatikkene som likevel gir samme klasse av spr�k. Vi skal se p�noen eksempler.

Page 22: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-20

For det f¿rste vil vi kalle en regel leksikalsk hvis den har formen

B ® a

der B er et metasymbol og a et grunnsymbol. Ofte skilles de leksikalske reglene ut oggis en enklere form. De 6 siste reglene i grammatikken i eksempel 4 er leksikalske. vikunne i stedet skrevet dem som et leksikon p� formen:

NP: Dr. Chan, nurses, MediCenter, patients

V: died, employed

Dette ville ikke forandret noe p� tolkningen av grammatikken.

En annen variant er � tillate optionalitet i regelene ved bruk av parenteser. Med dettekan vi sl� sammen de to reglene:

NP ® DET NNP ® N

til

NP ® (DET) N

Dette gir oss en mer kompakt notasjon for grammatikker, men det endrer ikke p� hvasom kan uttrykkes. En grammatikk G med optionalitet i reglene kan oversettes direktetil en grammatikk G' uten optionalitet slik at ikke bare L(G) = L(G'), men ogs� T(G) =T(G'). Ja til og med mengden av mulige derivasjoner vil bli den samme for G som forG ' .

KLEENE-STJERNE

Vi skal n� se p� en litt st¿rre endring. Vi har sett at CF-PSG og RTN er to grammatik-klasser som definerer samme klassen av spr�k, de kontekstfrie spr�kene. Av de togrammatikktypene vil vi bruke CF-PSG fortrinnsvis. Den gir mest innsikt i fenome-nene, spesielt gjennom bruken av tr¾r. RTN-er har en fordel imidlertid, i det iterasjonkan utrykkes umiddelbart. Et uttrykk som

en stor gammel hvit bil

vil naturlig fanges inn av et nettverk som

AD

NDET

Mens vi i CF-PSG m� ta til takke med tr¾r og regler som svarer til:

Page 23: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-21

EN

DET

STOR

AD

GAMMEL

AD

HVIT

AD

BIL

N

N

N

N

NP

Mange vil imidlertid hevde at det naturlige strukturen for setningen heller er noe sliktsom.

EN

DET

STOR

AD

GAMMEL

AD

HVIT

AD

BIL

N

N

NP

Dette kan vi beskrive med hva vi vil kalle CF-PSG* (kontekstfrie frasestruktur-grammatikker med Kleene-stjerne). Den er som en CF-PSG, men i h¿yresiden av enregel tillater vi ikke bare en sekvens av symboler, vi tillater en sekvens av objekter, derhvert objekt er enten et symbol eller et symbol fulgt av en stjerne. Dermed vil regelen:

NÕ ® AD* N

kunne gi oss treet over.

Med denne utvidelsen f�r vi alts� flere tr¾r enn f¿r, men klassen av spr�k som blirbeskrevet med denne grammatikken er stadig de kontekstfrie. Ekvivalensen mellomspr�k beskrevet av CF-PSG*-grammatikker og RTN-er kan vises omtrent somekvivalensen mellom CF-PSG og RTN-er: La stjernemerkete uttrykk representeres medl¿kker. Dermed vil vi ha at til enhver CF-PSG* G finnes en CF-PSG G' slik at L(G) =L(G'). Men vi kan ikke i alminnelighet forlange at T(G') skal v¾re lik T(G).

En liten parentes. I tidlige arbeider gikk Chomsky inn for en flat struktur a la den viantydet i det siste treet. Ikke minst gjaldt det for koordinering. I senere arbeider (GB)har han lagt vekt p� at alle tr¾r er bin¾re og har mer helt i retning av det f¿rste treet. ILFG har en g�tt inn for det flatere treet og tillater Kleene stjerne i frasestrukturreglene itillegg til optionalitet.

NOTASJONSMESSIGE VARIASJONER

Andre variasjoner g�r p� hvordan reglene skrives, symbolbruk osv. Et alternativ tilm�ten vi har skrevet kontekstfrie grammatikker p� her, finner en i det som kallesBachus-Naur form (BNF) som er popul¾r innenfor data-litteraturen.

Page 24: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-22

Et annet alternativ finner vi i PATR-formatet, side 105-106 i l¾reboka. Vi ser atproduksjonsreglene er skrevet omtrent som vi har gjort her, mens de leksikalskereglene er gitt en spesiell form. Til � begynne med vil PATR bare v¾re ennotasjonsmessig variant for � skrive CF-PSG-er. Etterhvert, n�r vi kommer lengre ut iboka, vil vi se at PATR-notasjonen ogs� kan utvides til � skrive ikke-kontekstfriegrammatikker. I utganspunktet er alts� PATR en formalisme for � beskrive ulike typerav grammatikker. Vi kan ogs� oppfatte PATR-grammatikkene som en egen klasse avgrammatikker alle de grammatikkene som kan beskrives med en PATR-grammatikk.De kontekstfrie grammatikkene skrevet i PATR blir da en undermengde av alle PATR-grammatikkene, de grammatikkene hvor

- produksjonsreglene ikke inneholder noen ligninger, bortsett fra de implisittekategoriligningene. Mao. enhver produksjonsregel kan skrives p� formen

A ® B1 B2 ÉBn som er det samme som

X ® Y1 Y2 ÉYn ÜX catÝ = AÜY1 catÝ = B1ÜY2 catÝ = B2

ÉÜYn catÝ = Bn

- de leksikalske reglene ikke inneholder flere ligninger enn en enkelt for kategorisom har en atom¾r verdi, f.eks.

Word girl ÜcatÝ = N

En siste notasjonsmessige variant f�r vi ved � skrive den kontekstfrie grammatikkensom en samling av logiske formler. Dette skal vi se p� i neste del. Ogs� med logikkkan det uttrykkes mer enn de kontekstfrie grammatikkene. De kontekstfrie gramma-tikkene vil v¾re en undergruppe av hva vi kan uttrykke i f¿rste ordens logikk.

8. OppgaverOppgave 1I teksten i seksjon 5 p�st�r vi at

Jon som s� Anne som s� Kari som s� Petter som ÉÉs� �se spiste en kake,

kan beskrives av en endelige tilstandsgrammatikk. Lag en CF-PSG for et lite fragmentav norsk som

- er tilstrekkelig til � generere slike setninger- har en slik form at vi kan vite at fragmentet er et endelig tilstandsspr�k.

Oppgave 2Pr¿v � lage en CF-PSG for det spr�ket som er beskrevet av RTNet p� side 69 i G&M.

a) Pr¿v f¿rst � f¿lge oppskriften gitt i seksjon 3.

Page 25: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-23

b) En slik grammatikk blir sv¾rt klumpete fordi vi f¿lger en algoritme som skal virke ialle tilfeller. Skriv i stedet en ÒnaturligÓ grammatikk som svarer til RTN-et. Skriv b�deen ren CF-PSG og en CF-PSG*, dvs. en som bruker Kleene-stjerne (seksjon 7). Tegnderetter tr¾r for setningen

A man who sees the woman who hits a mouse sings.

i de to grammatikkene. Obs. setningen er flertydig i RTNet og b¿r ogs� v¾re det igrammatikkene dine (selv om noen vil bestride at den er det p� engelsk).

Oppgave 3a) I l¾reboka for SLI 3 er syntaksen til Prolog beskrevet med RTN. Skriv en CF-PSGfor Prolog. Du kan g� utfra at du har gitt endelig mange grunntermer av hver type,ogs� variable. (Vi tillater alts� ikke uendelig mange ulike variable).

b) Hvis vi bare tillater grunntermer, ikke komplekse termer, blir Prolog et endeligtilstandsspr�k. Vis hvorfor og forklar hvorfor komplekse termer leder til at spr�ketikke er et endelig tilstands-spr�k.

Oppgave 4Pr¿v � lage CF-PSG for de f¿lgende spr�kene. (Punktene c-e er ikke helt lette).

a) A = {a, b}, W = {anb2n }.

b) A = {a, b, c}, W = {aibjck | der i+j=k}

c) A = {a, b, c}, W = {aibjck | i¹j eller j¹k}.

d) MIX-2: A = {a, b}, W er alle de ordene som inneholder n¿yaktig like mange a-er ogb-er i en vilk�rlig rekkef¿lge.

e) A = {a, b}, W er alle ordene over A som ikke har formen wwR, der wR er wreversert (dvs. lest baklengs).

f) A = {a, b}, W er alle ordene over A som ikke har formen ww.

Oppgave 5a) Vis at hvis L1 og L2 begge er kontekstfrie s� er L1 È L2 kontekstfritt.b) Vis at hvis L1 og L2 begge er kontekstfrie s� er L1L2 kontekstfritt.

Oppgave 6a) Vis at snittet av to kontekstfrie spr�k ikke alltid er kontekstfritt ved � vise at anbncn

er snittet av to kontekstfrie spr�k.

b) Vis at anbncndnenfn er snittet av to kontekstfrie spr�k.

Oppgave 7a) Vis ved et eksempel at komplementet til et kontekstfritt spr�k ikke beh¿ver � v¾rekontekstfritt.

b) Gi eksempler p� kontekstfrie spr�k, L1 og L2, slik at ingen av dem er regul¾re ogL1 er komplementet til L2.

Page 26: Del A Formelle spr„k og grammatikkerfolk.uio.no/jtl/Sli360/Komp/DelA.pdf · 1999-09-06 · Hvis G er en grammatikk lar vi L(G) betegne ordene i spr„ket generert av G, eller mao.

A-24

9. LitteraturFremstillingen her har v¾rt sv¾rt kortfattet. For en som ¿nsker � g� videre finnes detnok av litteratur � ta fatt i.

Chomsky, N., 1956, Three models of the description of language. I.R.E. Trans. onInformation Theory 2, 113-124.

Chomsky, N., 1959, On Certain Formal Properties of grammars, Information andControl 1, 137-167.

Begge er gjenopptrykt i Luce, Bush, Galanter,1965, Readings in Math. Psych.

I den f¿rste innf¿res kontekstfrie grammatikker og sammenliknes med FSTN- ogtransformasjonelle grammatikker. I den andre innf¿res Chomsky hierarkiet. Dette erklassiske originalverk p� feltet. For henvisninger til andre originale bidrag sebibliografiene i b¿kene under.

Hopcroft, J.E. og J.D. Ullman, 1979, Introduction to Automata Theory, Languagesand Computation.

Stadig det ubestridte referanseverk p� omr�det. Fremstillingen legger vekt p� � v¾rekorrekt mer enn � v¾re leservennlig. Den kan derfor falle tung som f¿rste innnf¿ring.Det anbefales � kanskje starte med noe annet, men denne er uvurderlig for en som vilarbeide seri¿st med disse problemstillingene.

Lewis, H.R. og C.H. Papadimitriou, 1981, Elements of the theory of computation.

Denne har ettterhvert tatt over internasjonalt som standard l¾rebok i formell spr�kteoriog automatateori, s¾rlig i informatikkstudiet. Den forener leservennlighet medkorrekthet, men g�r ikke like langt som Hopcroft og Ullman.

Partee, B.H., A. ter Meulen og R.E. Wall, 1990, Mathematical Methods in Linguistics.

Inneholder en del p� dr¿ye 100 sider om ÒLanguages, Grammars and AutomataÓ. Erberegnet p� lingvister og forenkler i forhold til b¿kene over, bl.a. ved ikke � ta med allebevis. Undertegnete er imidlertid ikke helt forn¿yd med forenklingene. Det brukessv¾rt formelle definisjoner, som i Hopcroft og Ullman, mens det blir mer sparsomtmed motivasjon. Noen steder taes det med halve bevis, mens et godt eksempel villesagt mer.

Grune, D. og C.J.H. Jacobs, 1990, Parsing Techniques, a practical guide.

Her ligger hovedvekten p� parsing, et felt som s� langt har manglet et standardverk.Men boka innholder ogs� introduksjon til formelle spr�k.