Difference between revisions of "Kamba and English"

From LING073
Jump to: navigation, search
(→‎10 Sentences)
m (→‎MT Tests)
 
(24 intermediate revisions by 3 users not shown)
Line 11: Line 11:
  
 
==Kamba → English Evaluation==
 
==Kamba → English Evaluation==
−
* Coverage for monolingual transducer:  
+
* Coverage for monolingual transducer: 149 / 310
−
* Coverage for bilingual transducer:  
+
* Coverage for bilingual transducer: 129 / 308
  
 
===10 Sentences===
 
===10 Sentences===
 
1) '''Original Sentence:''' Ilinda yii ni yaasa.
 
1) '''Original Sentence:''' Ilinda yii ni yaasa.
  
−
'''English Translation:''' This dress is long.
+
  '''Intended English Translation:''' This dress is long.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^linda<n><cl5><sg>/dress<n><cl5><sg>$ ^a<dem><det><cl5><sg>/this<dem><det><cl5><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^asa<adj><cl5><sg>/long<adj><sint><cl5><sg>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #dress #this #be #long
  
 
2) '''Original Sentence:''' Vulana ii ni nene.
 
2) '''Original Sentence:''' Vulana ii ni nene.
  
−
'''English Translation:''' This jersey is big.
+
  '''Intended English Translation:''' This jersey is big.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^vulana<n><cl9><sg>/jersey<n><cl9><sg>$ ^a<dem><det><cl9><sg>/this<dem><det><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^nene<adj><cl9><sg>/big<adj><sint><cl9><sg>/great<adj><sint> <cl9><sg>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #jersey #this #be #big
  
 
3) '''Original Sentence:''' Muvuko uu ni munene.
 
3) '''Original Sentence:''' Muvuko uu ni munene.
  
−
'''English Translation:''' This bag is big.
+
  '''Intended English Translation:''' This bag is big.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^Vuko<n><cl3><sg>/Bag<n><cl3><sg>$ ^a<dem><det><cl1><sg>/this<dem><det><cl1><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^nene<adj><cl1><sg>/big<adj><sint><cl1><sg>/great<adj><sint> <cl1><sg>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #bag #this #be #big
  
 
4) '''Original Sentence:''' Ngovia ii ni nini.
 
4) '''Original Sentence:''' Ngovia ii ni nini.
  
−
'''English Translation:''' This hat is small.
+
  '''Intended English Translation:''' This hat is small.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^govia<n><cl9><sg>/hat<n><cl9><sg>$ ^a<dem><det><cl9><sg>/this<dem><det><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^nene<adj><cl9><sg>/big<adj><sint><cl9><sg>/great<adj><sint> <cl9><sg>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #hat #this #be #big
  
 
5) '''Original Sentence:''' Sokisi ni nguvi.
 
5) '''Original Sentence:''' Sokisi ni nguvi.
  
−
'''English Translation:''' The socks are short.
+
  '''Intended English Translation:''' The socks are short.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^sokisi<n><cl9><sg>/socks<n><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^guvi<adj><cl9><sg>/short<adj><sint> <cl9><sg>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #socks #be #short
 +
 
 +
6) '''Original Sentence:''' Na syaatu ii ni nzau.
 +
 
 +
  '''Intended English Translation:''' But these shoes are new.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^na<cnjcoo>/but<cnjcoo>/and<cnjcoo>$ ^aatu<n><cl8><pl>/shoes<n><cl8><pl>$ ^a<dem><det><cl9><sg>/this<dem><det><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^*nzaũ/*nzaũ$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' but #shoes #this #be *nzaũ
 +
 
 +
7) '''Original Sentence:''' Mbui, Ngiti na Ng’ombe mai anyanyae anene.
 +
 
 +
  '''Intended English Translation:''' Dog, and Cow were great friends.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^bũi<n><cl9><sg>/goat<n><cl9><sg>$^,<cm>/,<cm>$ ^giti<n><cl9><sg>/dog<n><cl9><sg>$ ^na<cnjcoo>/but<cnjcoo>/and<cnjcoo>$ ^G’ombe<n><cl9><sg>/Cow<n><cl9><sg>$ ^*mai/*mai$ ^nyanya<n><cl2><pl>/friend<n><cl2><pl>$ ^nene<adj><cl2><pl>/big<adj><sint><cl2><pl>/great<adj><sint> <cl2><pl>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #goat, #dog but #Cow *mai #friend #big
 +
 
 +
8) '''Original Sentence:''' Muthenyia umwe maendie kyalo na ngali.
 +
 
 +
  '''Intended English Translation:''' One day they went on a journey in a taxi.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^thenya<n><cl3><sg>/day<n><cl3><sg>$ ^mwe<num><cl3><sg>/one<num><cl3><sg>$ ^*maendi/*maendi$ ^alo<n><cl7><sg>/journey<n><cl7><sg>$ ^na<cnjcoo>/but<cnjcoo>/and<cnjcoo>$ ^gali<n><cl9><sg>/taxi<n><cl9><sg>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #day #one *maendi #journey but #taxi
 +
 
 +
9) '''Original Sentence:''' Mavika kwisho wa kyaloi, ndeleva amea maive tikiti.
 +
 
 +
  '''Intended English Translation:''' When they reached the end of their
 +
  journey, the driver asked them to pay their fares.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^Vik<vblex><perf><p3><pl>/Go<vblex><perf><p3><pl>$ ^*kwisho/*kwisho$ ^wa<pr>/of<pr>$ ^alo<n><cl7><sg>/journey<n><cl7><sg>$^,<cm>/,<cm>$ ^deleva<n><cl9><sg>/driver<n><cl9><sg>$ ^*amea/*amea$ ^*maive/*maive$ ^tikiti<n><cl9><sg>/fare<n><cl9><sg>$^.<sent>/.<sent>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #Go *kwisho of #journey, #driver *amea *maive #fare.
 +
 
 +
10) '''Original Sentence:''' Ng’ombe aiva tikiti wake
 +
 
 +
  '''Intended English Translation:''' Cow paid her fare.
 +
 
 +
  '''The output of your xyz-abc-biltrans (lexical transfer) mode:''' ^g’ombe<n><cl9><sg>/cow<n><cl9><sg>$ ^*aiva/*aiva$ ^tikiti<n><cl9><sg>/fare<n><cl9><sg>$ ^ake<prn>/her<prn>$^.<sent>/.<sent>$
 +
 
 +
  '''The output of your xyz-abc (full translation) mode:''' #cow *aiva #fare #her
 +
 
 +
==Additions==
 +
 
 +
1. Additional Stems: added 87 noun stems and 38 adjective stems!
 +
 
 +
2. Expanded morphology: implemented noun prefix morphology for classes 10/11, 12/13, 14/6, and 15/6. Then added adjective prefix morphology as well for those (which follows the same patterns mostly that noun prefixes do, but there are some classes with variations, so we still had to do them separately instead of using the same set of prefixes for both.
 +
 
 +
3. More twol rules: added 6 more to deal with producing the right forms for the added noun classes above.
 +
 
 +
=Final Evaluation=
 +
 
 +
'''Updated Transducer Precision:''' 99.71182%
 +
 
 +
'''Updated Transducer Recall:'''  44.81865%
 +
 
 +
'''Totals:''' 364 forms, 346 tp, 1 fp, 0 tn, 426 fn
 +
 
 +
  '''kam.corpus.large.txt'''
 +
  Coverage: ~0.44848334981866139136
 +
  Number of words: 116K
 +
 
 +
'''Transducer Stems Entries'''
 +
 
 +
Total Lexicon Entries: 350
 +
 
 +
Counts for individual lexicons:
 +
 
 +
Punctuation: 22
 +
 
 +
Preposition: 3
 +
 
 +
CoorConj: 1
 +
 
 +
Interjection: 2
 +
 
 +
Anthroponym: 1
 +
 
 +
Adverb: 4
 +
 
 +
Pronoun: 1
 +
 
 +
ClassPrefix: 18
 +
 
 +
NounStem: 128
 +
 
 +
PossessedSuffix: 2
 +
 
 +
PossessivePrnPrefix: 4
 +
 
 +
PossessivePrnStem: 6
 +
 
 +
AdjClassPrefix: 18
 +
 
 +
AdjectiveStem: 47
 +
 
 +
NumAdjPrefix: 3
 +
 
 +
NumeralAdjStem: 1
 +
 
 +
DemPrefix: 10
 +
 
 +
DemonstrativeStem: 3
 +
 
 +
PresentContinuousCircumfix: 1
 +
 
 +
SubjectPrefix: 9
 +
 
 +
TenseSign: 5
 +
 
 +
VerbRoot: 14
 +
 
 +
PerfectPrefix: 1
 +
 
 +
PerfectSubjectPrefix: 6
 +
 
 +
PerfectSuffix: 2
 +
 
 +
PositiveRecentPastCircumfix: 1
 +
 
 +
NRPSubjectPrefix: 6
 +
 
 +
NegativeRecentPastSuffix: 1
 +
 
 +
PositiveImmediatePastPrefix: 1
 +
 
 +
PositiveImmediatePastSuffix: 1
 +
 
 +
FUTSubjectPrefix: 6
 +
 
 +
Suffix: 1
 +
 
 +
CopPrefix: 6
 +
 
 +
CTensePrefix: 3
 +
 
 +
CopRoot: 1
 +
 
 +
Numeral: 10
 +
 
 +
All anonymous lexicons: 1
 +
 
 +
===MT Tests===
  
−
6)
+
'''On kam.longer.txt:'''
  
−
7)
+
'''WER:''' 106.89%
  
−
8)
+
'''PER:''' 98.10%
  
−
9)  
+
'''33/1792 (2%)''' words translated correctly (because most of the words we would be able to translate just translate into hashed ones since the tag mismatch/mostly extra kamba tags issue hasn't been fixed. For reference, the % of non-starred words is 18%)
  
−
10)
+
'''Trimmed coverage:'''
  
 +
kam.longer.txt: 29.63% of 1792 tokens
  
 +
kam.corpus.large.txt: 27.75% of 22,965 tokens
  
 
[[Category:Sp23_TranslationPairs]] [[Category:Kamba]] [[Category:English]]
 
[[Category:Sp23_TranslationPairs]] [[Category:Kamba]] [[Category:English]]

Latest revision as of 00:39, 12 May 2023

Resources for Machine Translation between Kamba and English

External Resources

Kamba Transducer: https://github.swarthmore.edu/Ling073-sp23/ling073-kam

English Transducer: https://github.swarthmore.edu/Ling073-sp23/ling073-eng

Kamba → English Parallel Corpus: https://github.swarthmore.edu/Ling073-sp23/ling073-kam-eng-corpus/tree/main

Kamba --> English Translation Pair: https://github.swarthmore.edu/Ling073-sp23/ling073-kam-eng

Kamba → English Evaluation

  • Coverage for monolingual transducer: 149 / 310
  • Coverage for bilingual transducer: 129 / 308

10 Sentences

1) Original Sentence: Ilinda yii ni yaasa.

  Intended English Translation: This dress is long.
  
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^linda<n><cl5><sg>/dress<n><cl5><sg>$ ^a<dem><det><cl5><sg>/this<dem><det><cl5><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^asa<adj><cl5><sg>/long<adj><sint><cl5><sg>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #dress #this #be #long 

2) Original Sentence: Vulana ii ni nene.

  Intended English Translation: This jersey is big.
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^vulana<n><cl9><sg>/jersey<n><cl9><sg>$ ^a<dem><det><cl9><sg>/this<dem><det><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^nene<adj><cl9><sg>/big<adj><sint><cl9><sg>/great<adj><sint> <cl9><sg>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #jersey #this #be #big

3) Original Sentence: Muvuko uu ni munene.

  Intended English Translation: This bag is big.
  
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^Vuko<n><cl3><sg>/Bag<n><cl3><sg>$ ^a<dem><det><cl1><sg>/this<dem><det><cl1><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^nene<adj><cl1><sg>/big<adj><sint><cl1><sg>/great<adj><sint> <cl1><sg>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #bag #this #be #big

4) Original Sentence: Ngovia ii ni nini.

  Intended English Translation: This hat is small.
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^govia<n><cl9><sg>/hat<n><cl9><sg>$ ^a<dem><det><cl9><sg>/this<dem><det><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^nene<adj><cl9><sg>/big<adj><sint><cl9><sg>/great<adj><sint> <cl9><sg>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #hat #this #be #big

5) Original Sentence: Sokisi ni nguvi.

  Intended English Translation: The socks are short.
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^sokisi<n><cl9><sg>/socks<n><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^guvi<adj><cl9><sg>/short<adj><sint> <cl9><sg>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #socks #be #short

6) Original Sentence: Na syaatu ii ni nzau.

  Intended English Translation: But these shoes are new.
  
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^na<cnjcoo>/but<cnjcoo>/and<cnjcoo>$ ^aatu<n><cl8><pl>/shoes<n><cl8><pl>$ ^a<dem><det><cl9><sg>/this<dem><det><cl9><sg>$ ^ĩ<vbser><prc>/be<vbser><prc>$ ^*nzaũ/*nzaũ$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: but #shoes #this #be *nzaũ

7) Original Sentence: Mbui, Ngiti na Ng’ombe mai anyanyae anene.

  Intended English Translation: Dog, and Cow were great friends.
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^bũi<n><cl9><sg>/goat<n><cl9><sg>$^,<cm>/,<cm>$ ^giti<n><cl9><sg>/dog<n><cl9><sg>$ ^na<cnjcoo>/but<cnjcoo>/and<cnjcoo>$ ^G’ombe<n><cl9><sg>/Cow<n><cl9><sg>$ ^*mai/*mai$ ^nyanya<n><cl2><pl>/friend<n><cl2><pl>$ ^nene<adj><cl2><pl>/big<adj><sint><cl2><pl>/great<adj><sint> <cl2><pl>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #goat, #dog but #Cow *mai #friend #big

8) Original Sentence: Muthenyia umwe maendie kyalo na ngali.

  Intended English Translation: One day they went on a journey in a taxi.
  
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^thenya<n><cl3><sg>/day<n><cl3><sg>$ ^mwe<num><cl3><sg>/one<num><cl3><sg>$ ^*maendi/*maendi$ ^alo<n><cl7><sg>/journey<n><cl7><sg>$ ^na<cnjcoo>/but<cnjcoo>/and<cnjcoo>$ ^gali<n><cl9><sg>/taxi<n><cl9><sg>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #day #one *maendi #journey but #taxi

9) Original Sentence: Mavika kwisho wa kyaloi, ndeleva amea maive tikiti.

  Intended English Translation: When they reached the end of their 
  journey, the driver asked them to pay their fares.
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^Vik<vblex><perf><p3><pl>/Go<vblex><perf><p3><pl>$ ^*kwisho/*kwisho$ ^wa<pr>/of<pr>$ ^alo<n><cl7><sg>/journey<n><cl7><sg>$^,<cm>/,<cm>$ ^deleva<n><cl9><sg>/driver<n><cl9><sg>$ ^*amea/*amea$ ^*maive/*maive$ ^tikiti<n><cl9><sg>/fare<n><cl9><sg>$^.<sent>/.<sent>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #Go *kwisho of #journey, #driver *amea *maive #fare.

10) Original Sentence: Ng’ombe aiva tikiti wake

  Intended English Translation: Cow paid her fare.
  The output of your xyz-abc-biltrans (lexical transfer) mode: ^g’ombe<n><cl9><sg>/cow<n><cl9><sg>$ ^*aiva/*aiva$ ^tikiti<n><cl9><sg>/fare<n><cl9><sg>$ ^ake<prn>/her<prn>$^.<sent>/.<sent>$
  The output of your xyz-abc (full translation) mode: #cow *aiva #fare #her

Additions

1. Additional Stems: added 87 noun stems and 38 adjective stems!

2. Expanded morphology: implemented noun prefix morphology for classes 10/11, 12/13, 14/6, and 15/6. Then added adjective prefix morphology as well for those (which follows the same patterns mostly that noun prefixes do, but there are some classes with variations, so we still had to do them separately instead of using the same set of prefixes for both.

3. More twol rules: added 6 more to deal with producing the right forms for the added noun classes above.

Final Evaluation

Updated Transducer Precision: 99.71182%

Updated Transducer Recall: 44.81865%

Totals: 364 forms, 346 tp, 1 fp, 0 tn, 426 fn

  kam.corpus.large.txt
  Coverage: ~0.44848334981866139136
  Number of words: 116K

Transducer Stems Entries

Total Lexicon Entries: 350

Counts for individual lexicons:

Punctuation: 22

Preposition: 3

CoorConj: 1

Interjection: 2

Anthroponym: 1

Adverb: 4

Pronoun: 1

ClassPrefix: 18

NounStem: 128

PossessedSuffix: 2

PossessivePrnPrefix: 4

PossessivePrnStem: 6

AdjClassPrefix: 18

AdjectiveStem: 47

NumAdjPrefix: 3

NumeralAdjStem: 1

DemPrefix: 10

DemonstrativeStem: 3

PresentContinuousCircumfix: 1

SubjectPrefix: 9

TenseSign: 5

VerbRoot: 14

PerfectPrefix: 1

PerfectSubjectPrefix: 6

PerfectSuffix: 2

PositiveRecentPastCircumfix: 1

NRPSubjectPrefix: 6

NegativeRecentPastSuffix: 1

PositiveImmediatePastPrefix: 1

PositiveImmediatePastSuffix: 1

FUTSubjectPrefix: 6

Suffix: 1

CopPrefix: 6

CTensePrefix: 3

CopRoot: 1

Numeral: 10

All anonymous lexicons: 1

MT Tests

On kam.longer.txt:

WER: 106.89%

PER: 98.10%

33/1792 (2%) words translated correctly (because most of the words we would be able to translate just translate into hashed ones since the tag mismatch/mostly extra kamba tags issue hasn't been fixed. For reference, the % of non-starred words is 18%)

Trimmed coverage:

kam.longer.txt: 29.63% of 1792 tokens

kam.corpus.large.txt: 27.75% of 22,965 tokens