Inglise keele lihtlaused
See juhend on koostatud Emily M. Benderi
kursust Grammatical
Engineering eeskujuks võttes. Ka Grammar Matrixi fail on E. Benderi
koostatud ja kasutusel tema lahkel loal.
Koostame grammatika, mis analüüsib lauseid:
The dog barks.
The dog chased the cat.
Tehniline sissejuhatus
- Käivitage LKB (juhend)
- Laadige grammar matrix: Load:CompleteGrammar:471matrix/lkb/script
- Avage redaktoris oma ümbernimetatud reeglitefail.
Tüübikirjeldused
- Grammatika kirjutamisel peab ilmselt alustama sõnaliikide
defineerimisest. Lisage reeglitefaili:
noun := head.
verb := head.
det := head.
- Nüüd on vaja defineerida leksikoni kirjete
tüübid.
noun-lex := basic-noun-lex & basic-one-arg &
[ SYNSEM.LOCAL [ CAT [ HEAD noun,
VAL [ SPR < #spr >,
COMPS < >,
SUBJ < >,
SPEC < > ]],
ARG-S < #spr > ]].
- Laadige grammatika uuesti: Load: Reload grammar.
- Vaadake noun-lex i tüübidefinitsiooni: View: Type
definition
- Vaadake noun-lex i laiendatud tüübidefinitsiooni: View:
Expanded type
- Muudke määratleja (SPR) põhja (HEAD)
definitsiooni nii, et see oleks det. Muutuja ja tunnuse konstruktsiooni
saab ühendada & abil: #spr & [ ... ]. Nurksulgudes olev
määratleja väärtus on tüüpi synsem.
- Nüüd lisage samasugused reeglid intransitiivse verbi ja
transitiivse verbi jaoks. Intransitiivne verb pärib tunnused
tüüpidest basic-verb-lex ja intransitive-lex-item.
Transitiivne verb pärib tunnused tüüpidest
basic-verb-lex & transitive-lex-item.
Vihje: intr-verb-lex := basic-verb-lex & intransitive-lex-item
& [...].
kus nurksulgudes on samasugused konstruktsioonid kui
nimisõnalgi. Määratlejaid verbidel pole, küll aga
on subjektid ja
transitiivsetel verbidel laiendid.
- Lisage determinatiivi tüüp:
tdet-lex := basic-determiner-lex &
[ SYNSEM.LOCAL [CAT [HEAD det]]].
- Taaslaadige grammatika ja vaadake, mis ütleb.
Leksikon
- Avage fail lexicon.tdl ja lisage sinna kirjed: the, dog, cat,
barks, chases.
Märgendid
- Tunnustruktuuride esitamiseks puuna saab puu tippude
märgendeid ise defineerida. Selleks avage fail labels.tdl ja
lisage sinna:
n-label := label &
[ SYNSEM.LOCAL.CAT [ HEAD noun,
VAL.SPR < synsem > ],
LABEL-NAME "N"].
- Tehke samasugused märgendid
N: HEAD noun, non-empty SPR list
NP: HEAD noun, empty SPR list
V: HEAD verb, non-empty COMPS list
VP: HEAD verb, empty COMPS list, non-empty SUBJ list
D: HEAD det,
S: HEAD verb, empty COMPS and empty SUBJ
Juurtipp
Määrake ära analüüsipuu juurtipp, selleks
kommenteerige välja reegel failist roots.tdl
Reeglid
head-subj-phrase := basic-head-subj-phrase & head-final.
mis ütleb, kuidas moodustada
konstruktsioon põhjast ja alusest nii, et põhi on
tagapool.
Lisage selle reegli deklaratsioon faili rules.tdl:
head-subj := head-subj-phrase.
Tehke samasugune reegel põhja ja
laiendite jaoks.
Ning põhja ja
määratleja jaoks.
Katsetamine
Taaslaadige grammatika
Proovige analüüsida lauset the dog barks
Proovige analüüsida lauset the dog chased the cat
Kui tuleb liiga palju analüüse, siis tuleb ilmselt reegleid
kuidagi kitsendada. Kuidas?
Testimine
Tehke nimekiri lausetest (kasutades neid 5 sõna), mida
grammatika peab suutma analüüsida.
Tehke nimekiri lausetest, mida grammatika ei tohi aktsepteerida.
Pange need nimekirjad faili test.items. Grammatiliselt mittekorrektsete
lausete ette pange *.
Kasutades LKB batch test moodulit:
määrake ära test.items kui sisend, test.out kui
väljund.
Pärast analüüsi lõppu on test.out failis
analüüsitud laused märgitud 1-ga, analüüsimata
0-ga.