[B. H. Partee, A. ter Meulen, R. E. Wall. Mathematical Methods in Linguistics.
Kluwer, 1990, 533-551]
Vt. ka Grammar
Formalisms, peatükk raamatus Survey
of the State of the Art in Human Language Technology.
Loomulikud keeled kuuluvad Chomsky hierarhias kontekstivabade (KV) ja kontekstisidusate (KS) vahele, nad on pigem KV kui KS. Loomulike keelte süntaksist on enamus käsitletav KVG-ga ja aspektid, mis põhjustavad keele kuulumist KS-sse, on isoleeritud ja harvad.
Need asjaolud innustasid tegelema nn. pehmelt KS keeltega
(mildly context sensitive, Aravind Joshi).
Reegel NP -> Art Adj N kannab
- domineerimisinfot: NP osad on Art, Adj, N
- eelnevusinfot: Art eelneb Adj-le, Adj eelneb N-le
Reeglid jaotatakse 2 klassi: D ja P
Näide.
G=(T',N',D,P,S),
kus
eelterminaalide hulk T' = {Adj, N, V, Adv};
mitteterminaalide hulk N' = {S, VP, NP};
domineerimisreeglite hulk D = {S -> NP, VP; NP -> Adj, N; NP -> N; VP
->V, Adv; VP -> V};
eelnevusreeglite hulk P = {Adj < N, V < Adv};
lähtesümbol S;
leksikon {väike:Adj, tubli:Adj, Mari:N, Jüri:N, laulab:V, kirjutab:V,
hästi:Adv}.
Genereerib/analüüsib nt lauseid väike Mari kirjutab hästi ja
kirjutab Mari
(mitte aga *Mari väike hästi kirjutab)
Sobib vaba sõnajärjega keelte puhul.
Näide. Indekseeritud grammatika G=(T,N,I,P,S),
kus T={a,b,c}, N={S,T,A,B,C}, I={i,j} - indeksite hulk, P={S
-> T[j], T-> T[i], T -> ABC,
A[i] -> aA, B[i] -> bB, C[i] -> cC, A[j] -> , B[j] -> , C[j]
-> t; },
genereerib keele {anbncn
| n³ 0}.
Indeksite roll: loendada, et a, b ja
c esinemisi oleks võrdne arv.
Oletatakse, et
loomulikud keeled on genereeritavad indekseeritud grammatikatega.
Erinevalt siiani vaadeldud grammatikatest ei genereeri puuühendamisgrammatika lauseid sümbolistringide ümberkirjutamise teel, vaid alustab lõpliku hulga lähtepuudega, mida saab laiendada, sisestades vastava(te)sse positsiooni(desse) ühe nn. abipuu lõplikust hulgast.
G=(I,A), kus I - lähtepuude lõplik hulk ja A - abipuude lõplik hulk. Lähtepuudeks on puud, mille juureks on lähtesümbol ja kõik lehed on terminaalsed. Abipuude lehed on samuti terminaalsed, välja arvatud üks mitteterminaal, mis ühtib juurega. G poolt genereeritud puude hulk saadakse suvalisest lähtepuust, paigutades sellesse (võib-olla 0 korda) puid hulgast A. Keel L(G) - terminaalstringide hulk G poolt genereeritud puudes.
Iga KVG jaoks on rangelt ekvivalentne puuühendamisgrammatika (mis genereerib täpselt samad stringid samade puustruktuuridega). On aga puuühendamisgrammatikaid, mille jaoks ei leidu rangelt ekvivalentset KVG-d.
Puuühendamisgrammatikatega genereeritavad keeled on nõrgalt
ekvivalentsed piiratud klassi indekseeritud keeltega (mis genereeritakse
selliste IG-te poolt, kus reeglitel on piirang indeksjärjendite pärimise
ja nendega manipuleerimise suhtes: reegli paremal poolel võib olla ainult
üks mitteterminaalne alluv). See piirang teeb nad vähe huvitavaks loomulike
keelte korral, kuna sidesõnade konstruktsioonid nõuavad mitme alluvaga
indeksijärjendite pärimist.
Põhjagrammatika on nelik (N,T,S,P), kus P on produktsioonide hulk kujul A-> a või A -> f(a1...an); A on mitteterminaal, a ja ai on kas mitteterminaal või peaga string (i=1,...,n), f on kas konkatenatsiooni või lahutamise operatsioon.
Põhjagrammatikatega genereeritavad keeled sisalduvad
puulaiendamisgrammatikatega
genereeritavate keelte hulgas (1986). Vastupidine sisaldumine ei ole tõestatud
tehniliste raskuste tõttu, mis esinevad 'põhjaga tühistringi' kasutamisel.
See viis (A. Joshi) modifitseeritud põhjagrammatikate defineerimiseni, mis
on genereerimisvõime poolest (tõenäoliselt, pole tõestatud) nõrgalt
ekvivalentsed
puulaiendamisgrammatikatega. Modifitseeritud põhjagrammatikas on
stringidel
põhja asemel märgitud positsioon sümbolite vahel, kust stringi saab
lõhestada
ja temasse teist stringi asetada. Grammatikas on 3 operatsiooni:
kaks konkatenatsiooni
ja üks lahutamine.
Põhiidee: leksikaalsed üksused võivad olla vastavusse seatud mitte ainult baaskategooriatele (N, V), vaid ka komplekssetele kategooriatele: S/VP - "S, kus puudub VP", VP/(NP/S) jne. Kategooriate järjendeid võib redutseerida teatavat liiki koondamisreegliga ("cancellation" rule) kujul A/B B => A. See tähendab, et kui x on kategooriast A/B ja y on kategooriast B, siis jada xy on kategooriast A. Tavaliselt lisatakse ka tagurpidi koondamisreegel ("backward cancellation" rule): B A\B => A. Näiteks Mary on kategooriast S/VP ja sleeps kategooriast VP, siis Mary sleeps on kategooriast S. Kui often on kategooriast VP/VP, siis jada Mary often sleeps saab redutseerida kategooriaks S järgmiste sammudega:
S/VP VP/VP VP => S/VP VP => S
Mary often sleeps Mary often sleeps Mary often sleeps
Formaalselt: VA - lõplik kategooriasümbolite alfabeet. Kõigi kategooriasümbolite hulk C esitatakse järgmiselt:
Defineerime kategooriajärjendite paaridel binaarse relatsiooni => "redutseerib ühe sammuga":
a X/Y Y b => aXb
a Y X\Y b => aXb
(a,b - kategooriate lõplikud järjendid; X,Y kategooriad hulgast C).
Relatsioon *=> (redutseerib 0 või enama sammuga)
Grammatika G genereerib stringi parajasti siis, kui eksisteerib kategooriate järjend C1...Cn nii, et F(wi) = Ci iga i=1,...,n korral ja C1...Cn*=>S.
Taandamisreeglid:
1) X/Y Y => X
2) Y X\Y => X
Näide.
VT = {Mari, Jüri, armastab, seisab}, VA = {S,
NP,
VP, N, V}, funktsioon F:
Mari N, NP, S/VP
Jüri N, NP, S/VP
armastab V, VP, S\NP, VP/NP
seisab V, VP, S\NP
Lause analüüs: sõnadele rakendatakse funktsiooni F ja püütakse saadud kategooriate järjendit (järjendeid) taandada kategooriaks S.
Praegu uuritakse intensiivselt KG matemaatilisi omadusi.