Kernewek and English/Contrastive Grammar
Contents
Pre Evaluation
| Metric | Value |
|---|---|
| Coverage of trimmed cor-eng.automorf over cor.tests.txt | 37.10 % (154 / 414 tokens known) |
| WER (apertium-eval-translator-line) | 92.29 % |
| PER (apertium-eval-translator-line) | 86.23 % |
| Position-independent correct words | 50 / 363 |
| Edit distance | 335 |
| Unknown words in test output | 260 / 354 (73.45 %) |
Differences to Implement
| # | Difference | Implementation |
|---|---|---|
| 1 | VSO → SVO clause reordering | S -> v NP NP { 2 _ 1 _ 3 } (and a no-op variant for the periphrastic prn a<rel> v form, which is already SV order) |
| 2 | Strip Cornish mutation tags | The n: _.gender.number output pattern omits the mutation attribute → any <mut_*> tag silently dropped on emission |
| 3 | Adjective postnominal → prenominal | NP -> det.def n adj { 1 _ 3 _ 2 } and bare n adj { 2 _ 1 } |
| 4 | Delete affirmative particle a<rel> | Dedicated REL_A -> "a"<rel> { } (consume + emit nothing) |
| 5 | Insert English indef article before bare singular N | NP -> n[number=sg] { "a"<det><ind> _ 1 } |
Code
Rule 1 — Combined NP rule (items 2, 3, 5)
NP -> det_def n adj { 1 _ 3 _ 2 }
| det_default n adj { 1 _ 3 _ 2 }
| n adj { 2 _ 1 }
| det_def n { 1 _ 2 }
| det_default n { 1 _ 2 }
| prn n { 1 _ 2 }
| n.sg { "a"@det.ind _ 1 }
| n.pl { 1 }
| n { 1 } ;
The parser tries the longest alternative first, giving:
det n adj and n adj — reorder to put the adjective before the noun (item 3).
prn n — possessive pronoun + noun. The mutation tag carried by the noun (<mut_soft>, <mut_asp>, etc.) is dropped because the n: output pattern omits the mutation attribute (item 2).
n.sg — a singular noun (no preceding determiner) is preceded by a literal a<det><ind> (item 5).
n.pl and bare n — passthrough fallbacks.
Rule 2 — Clause-order S rule (item 1)
S -> v NP NP { 2 _ 1 _ 3 }
| v NP { 2 _ 1 }
| prn v NP { 1 _ 2 _ 3 }
| prn v { 1 _ 2 }
| NP v NP { 1 _ 2 _ 3 }
| NP v { 1 _ 2 } ;
Branches 1–2 are true synthetic VSO (V SUBJ-NP (OBJ-NP)) and swap positions 1 and 2. Branches 3–6 are the Bible's dominant PRN [a<rel>] V (NP) periphrastic pattern by the time these reach the rtx, a<rel> has been replaced by an empty token in the bilingdix, so the input arrives as PRN V (NP) already in SVO order and is passed through unchanged.
PP -> pr NP { 1 _ 2 } ; S -> cnjcoo S { 1 _ 2 } ;
Post Evaluation
| Metric | Pre (passthrough) | Post (with rules) | Δ |
| Coverage of trimmed cor-eng.automorf over cor.tests.txt | 37.10 % | 37.10 % | unchanged |
| WER | 92.29 % | 91.46 % | −0.83 |
| PER | 86.23 % | 85.67 % | −0.56 |
| Position-independent correct words | 50 | 52 | +2 |
| Edit distance | 335 | 332 | −3 |
Diff PRE vs POST
< #The #Radio #be #programme #a #hour weekly *neb # *sen #music *Kernow *ha *Keltek, *ha *presentys in *Kernewek. < #Be #news in *Kernewek *ynwedh *ha #interview *traweythyek.
---
> #The #Radio is #programme #a weekly #hour *neb # *sen #music *Kernow *ha *Keltek, *ha *presentys in *Kernewek. > #news Is in *Kernewek *ynwedh *ha #interview *traweythyek.
< #Language *byw #be *Kernewek, *ha *ni # *wra *ynnia *orth *agan #student to *usya #the #resources available for *gwellhe *aga #language. *Ottomma some #idea: < #Be #group *lyverfas #new *KDL *omma. < #weekend *Kernewek #be #chance *meur # *wellhe *dha *Gernewek *kewsys.
---
> #Language *byw #be *Kernewek, *ha *ni # *wra *ynnia *orth *agan #student to *usya #the available #resources for *gwellhe *aga #language. *Ottomma some #idea: > #group Is *lyverfas #new *KDL *omma. > #weekend *Kernewek #chance is *meur # *wellhe *dha *Gernewek *kewsys.