Kernewek and English/Contrastive Grammar

From LING073
Jump to: navigation, search


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.