Generation-Heavy Hybrid Machine Translation
Abstract
The state of the art techniques in Machine Translation (MT) require large amounts of symmetric resources from source and target languages. This is true regardless of whether the approach is Transfer or Interlingua, Symbolic or Statistical. Symmetry within these approaches is necessary to ensure quality, robustness and retargetability. In reality, such symmetry, whether it is in terms of structural transfer lexicons, interlingual dictionaries or parallel corpora, is a major bottleneck in developing any MT system. This dissertation presents an approach to MT that addresses the lack of symmetry by exploiting symbolic and statistical target language resources in source-poor/target-rich language pairs. This approach is called Generation-Heavy Hybrid Machine Translation (GHMT). Expected source language resources include a syntactic parser and a simple one-to-many translation dictionary. No transfer rules or complex interlingual representations are used. Rich target language symbolic resources are used to overgenerate multiple structural variations from a target-glossed syntactic dependency representation of source language sentences. Statistical target-language resource are then used to select amongst the overgenerated translations. The source-target asymmetry of systems developed in this approach makes them more easily retargetable to new source languages.
Figures & tables
| (DEFINE-WORD :DEF_WORD "jog" :CLASS "51.3.2.a.ii" :THETA_ROLES "_th,src(),goal()" :WN_SENSE (01315785 01297547) :LANGUAGE ENGLISH :LCS (event go loc (* thing 2) ((* path from 3) loc (thing 2) (position at loc (thing 2) (thing 4))) ((* path to 5) loc (thing 2) (position at loc (thing 2) (thing 6))) (manner jog+ingly 26)) :VAR_SPEC ((3 :optional) (5 :optional))) (DEFINE-WORD :DEF_WORD "to" :LANGUAGE ENGLISH :LCS (path to loc (thing 2) (position in loc (thing 2) (* thing 6)))) |
| # | Thematic Role | Definition |
|---|---|---|
| 0 | no thematic role assigned | |
| 1 | AG | agent |
| 2 | TH ,EXP ,INFO | theme or experiencer or information |
| 3 | SRC() | source preposition |
| 4 | SRC | source |
| 5 | GOAL(), PRED() | goal or pred preposition |
| 26.3 Verbs of Preparing (event cause (* thing 1) (event go ident (* thing 2) (path toward ident (thing 2) (position at ident (thing 2) (property run+ed 9)))) ((* for 17) poss (head) (* thing 18))) Example: John ran the store for Mary. Other verbs: bake boil cook fix grill iron mix prepare roast roll wash … |
|---|
| 47.5.1.b Swarm Verbs (Locational) (event act loc (* thing 2) ((* position [at] 10) loc (thing 2) (thing 11)) (manner run+ingly 26)) Example: The dogs run in the forest. Other verbs: bustle crawl creep swarm swim teem … |
| 51.3.2.a.i Run Verbs - (Locational,Theme only) (event go loc (* thing 2) ((* path from 3) loc (thing 2) (position [at] loc (thing 2) (thing 4))) ((* path to 5) loc (thing 2) (position [at] loc (thing 2) (thing 6))) (manner run+ingly 26)) Example: The horse ran into the field from the barn. Other verbs: climb crawl fly jog jump leap race swim walk … |
| Divergence | Spanish | English | Occurrence |
|---|---|---|---|
| Categorial | X tener hambre (X have hunger ) | X be hungry | 98% |
| Conflational | X dar puñaladas a Z (X give stabs to Z) | X stab Z | 83% |
| Structural | X entrar en Y (X enter in Y) | X enter Y | 35% |
| Head Swapping | X cruzar Y nadando (X cross Y swimming ) | X swim across Y | 8% |
| Thematic | X gustar a Y (X please to Y) | Y like X | 6% |
| 1 | The entire content of the original text have been translated into an easily readable form. |
|---|---|
| 2 | The entire content of the original text have been faithfully reproduced and is easily understood in the translation, but minor post-editing is required. |
| 3 | The translation is generally faithful to the original, but some reorganization of the word-order is required. |
| 4 | The translation is generally faithful to the original, but there are errors in the relationships between phrases, tenses, singular/plural, position of adverbs, etc. post-editing requires structural transformations. |
| 5 | The structure and content of the original work are not well preserved in translation, with potions of the original text incorrectly translated or referents of words and phrases incorrect. |
| 6 | The structure and content of the original are poorly translated. Phrases and clauses are missing but valid sentence structure is achieved. |
| 7 | The translation reflects neither the structure nor the content of the original text. Valid sentence structure is not achieved because of missing subjects, predicates, etc. |
| 1 | The sentence has a clear meaning, with no possibility of misunderstanding. Appropriate grammar, terminology, and sentence structure are employed, and post-editing is not necessary. |
|---|---|
| 2 | The meaning of the sentence is clear, but there are slight problems in the sentence structure, grammar, or terminology. Post-editing would easily be accomplished by human hand. |
| 3 | The overall meaning can be grasped, but there are small ambiguities due to grammar or terminology. Post-editing would best be done with reference to the original work. |
| 4 | The quality of the translation is poor, and there are many problems of grammar and terminology. Some understanding of the sentence can be inferred after a lengthy study of the translation, but it would be better to undertake the translation anew by human translator than to post-edit the machine translation. |
| 5 | No understanding of the contents of the translated sentence is possible. Human translation is required. |
| Divergence Type | LCS-based MT | Divergence Operations |
|---|---|---|
| Categorial | SL and TL lexical entries with shared primitives | categorial variation |
| Conflational | SL and TL lexical entries shared substructures | conflation |
| Inflational | SL and TL lexical entries shared substructures | Inflation |
| Structural | SL and TL lexical entries with argument-position markings | case variation |
| Head-swapping | TL lexical entries marked for predicate reversal w.r.t SL predicates | inflation followed by conflation |
| Thematic | TL lexical entries marked for argument reversal w.r.t. SL arguments | case variation |
| Feature | Definition | Values | Parts of Speech |
|---|---|---|---|
| :WORD | Source language word | <STRING> | |
| :SURFACE | Target language phrase translation | <STRING> | |
| :MOD-CC | Coordinated Modifier | <NODE> | |
| :GEN | Gender | (F|M|N) | N , V , PN |
| :NUM | Number | (SG|PL) | N , V |
| :PER | Person | (1|2|3) | N , V |
| abandonar V abandon/desert/forsake/leave/quit abandonar V cede/give_in/give_up/give_way/relinquish/yield cesión N abandonment abandonado AJ forlorn/abandoned/abandonee abandonamiento N indulgence abandonar V forsake/abandon/desert/leave/quit/relinquish/shutter/surrender/give_way/succumb abandono N renunciation/dereliction/failing abdicación N abandonment/job/task aflojar V abandon_ship/abate/loose/loosen/relax/slack/slacken/unfasten/untie/sink deber V owe/should::AUX/must::AUX/have_to::AUX dejar V lets/assume/bequeath/desert/lay/abandon/allow/let/permit/leave desamparado AJ abandonee/helpless desamparar V forsake/abandon descontar V depreciate/reduce/abandon_ship/cash_up/derate descuidar V abandon/neglect expedir V abandon/abdicate/draw_up/give_up/send/dispatch/leave/register renunciar V abjure/give_up/abandon/renounce/waive/relinquish/surrender tense:impf FEAT tense:past tense:pret FEAT tense:past ico OTHERWISE ent ción OTHERWISE ly/ely/ally ía$ OTHERWISE y á OTHERWISE a é OTHERWISE e í OTHERWISE i ó OTHERWISE o ú OTHERWISE u ñ OTHERWISE gn/n |
| Thematic Role | Definition |
|---|---|
| AG | agent |
| INSTR | instrument |
| TH | theme |
| EXP | experiencer |
| INFO | information |
| PRED | predicate |
| RESTRUCTURE (parent) returns list-of-dependencies initialize restructuredParents = NIL #Check for restructuring conditions if (parent.POS equal V and parent.words.POS includes AUX or AV and exist (child in parent.children) such-that child.synRel equal :obj and child.POS equal V) #Restructure then foreach pos in parent.words.POS newParent = replicate parent newParent.words = subset of parent.words with pos newParent.POS = pos if pos equal V then add newParent to restructuredParents else swap newParent and newParent.child combine arguments of newParent and newParent.child add newParent.child to restructuredParents return restructuredParents |
| THEMATIC-LINKING (synRels, thetaGrid) returns linkSets #Create link netweork initialize linkNetwork = NIL foreach synRel in synRels foreach thetaRole in thetaGrid if (synRel-thetaRole in SynThematicLinkingMap) then add synRel-thetaRole to linkNetwork #Extract all possible link sets linkSets = enumerate link sets in linkNetwork foreach linkSet in linkSets linkSet.score = score(linkSet) if (linkSet contains unpaired obligatory thetaRoles) then remove linkSet from linkSets #Rank and Select return all linkSets with maximum score |
| NN-CONFLATION-VARIANTS (parent) returns list-of-dependencies initialize conflatedParents = NIL foreach child in parent.children # Check for conflatability if (exist(child’ = VerbCatVar(child.word)) and child’.lcsPrim equal parent.word.lcsPrim and child’.thetaGrid equal (parent.word.thetaGrid - child.thetaRole)) # Apply conflation then newParent = replicate(parent) remove child from newParent.children newParent.word = child’ add newParent to conflatedParents return conflatedParents |
| NR-CONFLATION-VARIANTS (parent) returns list-of-dependencies initialize conflatedParents = NIL foreach child in parent.children # Check for conflatability if (exist(confVerb = VerbCatVar(child.synRel)) and confVerb.lcsPrim equal parent.word.lcsPrim and parent.word.thetaGrid is-subset-of confVerb.thetaGrid and confVerb.thetaGrid.obligatory is-subset-of parent.word.thetaGrid # Apply conflation then newParent = replicate(parent) newParent.children.child.synRel = * newParent.word = confVerb add newParent to conflatedParents return conflatedParents |
| NN-INFLATION-VARIANTS (parent) returns list-of-dependencies initialize inflatedParents = NIL # Check for inflatability if (exist(parent’ = NounCatVar(parent.word) or AdjectiveCatVar(parent.word)) and exist(infVerb) such-that infVerb is-member-of LightVerbs and infVerb.lcsPrim equal parent.word.lcsPrim and exist(thetarole) such-that infVerb.thetaGrid equal (parent.word.thetaGrid + thetaRole)) # Apply inflation then newParent = replicate(parent) newParent.word = infVerb add parent’ to newParent.children in relation thetarole add newParent to inflatedParents return inflatedParents |
| NR-INFLATION-VARIANTS (parent) returns list-of-dependencies initialize inflatedParents = NIL # Check for inflatability if (exist(newSynRel = PrepositionCatVar(parent.word)) and exist(infVerb) such-that infVerb is-member-of LightVerbs and infVerb.lcsPrim equal parent.word.lcsPrim and infVerb.thetaGrid equal parent.word.thetaGrid) # Apply inflation then foreach child in parent.children if child.thetaRole is-member-of newSynRel.thetaRoles then newParent = replicate(parent) newParent.word = infVerb newParent.children.child.synRel = newSynRel add newParent to inflatedParents return inflatedParents |
| DEPENDENCY-PRUNE (parent) returns pruned-parent SCORE-WORDS parent prunedParent = SELECT-WORDS parent return prunedParent SCORE-WORDS (parent) calculates scores and preferences foreach child in parent.children SCORE-WORDS child foreach parentWord in parent.words parentWord.score = 0 foreach child in parent.children select childWord from child.words such-that maximize (bigram(parentWord,childWord) + childWord.score) set prefer(parentWord,childWord) = true parentWord.score = parentWord.score + bigram(parentWord,childWord) + childWord.score SELECT-WORDS (parent) returns pruned-parent select parentWord from parent.words such-that maximize parent.word.score parent.words = parentWord foreach child in parent.children SELECT-CHILD-WORDS (parentWord,child) return parent SELECT-CHILD-WORDS (parentWord,child) returns pruned-child select childWord from child.words such-that prefer(parentWord,childWord) foreach grandChild in child.children SELECT-CHILD-WORDS (childWord,grandChild) return child |
| :Rule %XP (== ((pos @pos)) ?? (&eq pos V) -> (do %VP (&VP-mod-order @this)) ?? (&eq pos AX) -> (@inst) ?? (&eq pos Num) -> (do %NumP (&Num-mod-order @this)) ?? (&eq pos AJ) -> (do %AP (&AP-mod-order @this)) ?? (&eq pos N) -> (do %NP (&NP-mod-order @this)) ?? (&eq pos P) -> (do %PP (&PP-mod-order @this)) ?? (&eq pos PX) -> ((&PX-realize @inst) @mod) ?? (&eq pos *) -> (do %*P (&order-unknown @this)) ?? (&eq $pos X) -> () -> ((&score @this) @inst)) |
| :Recast &NP-MOD-order (@this <? (:mod-post / (:MOD)) (&eq @that.pos P) <? (:mod-num / (:MOD)) (&eq @that.pos NUM) <? (:mod-predet / (:MOD)) (&is-predet @that.inst) <? (:mod-postdet / (:MOD)) (&is-postdet @that.inst) <? (:mod-det / (:MOD)) (&is-det @that.inst) <? (:mod-int / (:MOD)) (&is-int @that.inst) <? (:mod-age / (:MOD)) (&in @that.inst mod-age) <? (:mod-color-2 / (:MOD)) (&in @that.inst color-2) <? (:mod-color-1 / (:MOD)) (&in @that.inst color-1) <? (:mod-color / (:MOD)) (&in @that.inst color) <? (:mod-part / (:MOD)) (&in @that.inst mod-part) <? (:mod-prov / (:MOD)) (&in @that.inst mod-prov ) <? (:mod-denom / (:MOD)) (&in @that.inst $mod-denom) <? (:mod-adj / (:MOD)) (&eq @that.pos AJ) <? (:mod-sub / (:MOD)) (&eq @that.pos V) << (:mod-noun / (:MOD))) |
| :Rule %NP (== ((num @num) (inst (&surface-format @inst)) (morpheme (&if (&and (&eq @num PL) (&neq inst "*empty*")) +plural +singular))) -> (@mod-px-1 @CC @mod-predet ((x / (&article num)) ++ (:cond (&null mod-det ++ (:cond (&neq num PL))) @mod-postdet (@mod-num ++ ^NOdet) (@mod-int ++ ^NOdet) (@mod-adj ++ ^NOdet) (@mod-age ++ ^NOdet) (@mod-color-1 ++ ^NOdet) (@mod-color-2 ++ ^NOdet) (@mod-color ++ ^NOdet) (@mod-part ++ ^NOdet) (@mod-prov ++ ^NOdet) (@mod-noun ++ ^NOdet) (@mod-denom ++ ^NOdet) (&if (&eq @ABBR +) (&ABBR-realize inst) (& morpheme)) @mod-post @mod-sub @mod-CC @mod-px+1)) |
| top -> OR.18 OR.18 1 -> OR.17 OR.18 1 -> SEQ.9 OR.17 1 -> SEQ.16 OR.17 1 -> SEQ.15 SEQ.16 1 -> WRD.13 WRD.4 WRD.5 WRD.14 SEQ.15 1 -> OR.12 WRD.13 WRD.4 WRD.5 WRD.14 WRD.14 1 -> "breaded" WRD.13 1 -> "bilberry" OR.12 1 -> WRD.11 OR.12 1 -> WRD.10 OR.12 1 -> WRD.2 WRD.11 1 -> "an" WRD.10 1 -> "a" SEQ.9 1 -> WRD.2 WRD.3 WRD.4 WRD.5 OR.8 OR.8 1 -> WRD.7 OR.8 1 -> WRD.6 WRD.7 1 -> "butterred" WRD.6 1 -> "buttered" WRD.5 1 -> "be" WRD.4 1 -> "should" WRD.3 1 -> "bread" WRD.2 1 -> "the" |
| Parameter | Values | Definition |
|---|---|---|
| thematicLinking | T|nil | Apply Thematic Linking; if set to nil , no expansion takes place |
| retainOriginal | T|nil | Retain a copy of the original SynDep in the output of structural expansion |
| restructuring | T|nil | Run the restructuring module |
| structural- Expansion | T|nil | Run structural expansion; |
| maxConflation | <NUM> | Maximum number of structural expansions generated by conflation. |
| maxRConflation | <NUM> | Maximum number of structural expansions generated by relation conflation. |
| UN | FBIS | Bible | |
|---|---|---|---|
| Size (sentences) | 2,000 | 2,000 | 1,000 |
| Sentence Length (words) | 15.39 | 19.27 | 16.38 |
| UN | FBIS | Bible | |
|---|---|---|---|
| SYST | 24.66 +/- 1.09 | 20.39 +/- 0.70 | 13.52 +/- 0.8 |
| IBM4 | 24.78 +/- 1.21 | 11.76 +/- 0.55 | 4.71 +/- 0.66 |
| MTDR | 18.01 +/- 1.00 | 10.42 +/- 0.57 | 7.29 +/- 0.83 |
| GIST | 8.17 +/- 0.81 | 3.40 +/- 0.61 | 2.40 +/- 0.50 |
| UN | UN-Morph | |
| SYST | 21.53 | 43.35 |
| IBM4 | 25.05 | 45.66 |
| MTDR | 14.91 | 37.20 |
| GIST | 5.66 | 29.29 |
| FBIS | FBIS-Morph | |
| SYST | 22.82 | 47.25 |
| UN | UN-Morph | UN-Morph-WordNet | |
| IBM4 | 60.83 | 76.56 | 79.36 (+2.80) |
| SYST | 61.98 | 77.83 | 81.44 (+3.61) |
| GIST | 33.16 | 61.41 | 67.41 (+6.00) |
| MTDR | 54.60 | 72.70 | 76.05 (+3.35) |
| FBIS | FBIS-Morph | FBIS-Morph-WordNet | |
| IBM4 | 45.66 | 62.26 | 66.62 (+4.36) |
| UN | FBIS | Bible | |
|---|---|---|---|
| English | 1.37 | 2.07 | 2.14 |
| Spanish | 1.49 | 2.10 | 2.23 |
| GIST | 1.72 | 2.25 | 2.08 |
| IBM4 | 1.31 | 1.61 | 1.33 |
| SYST | 1.56 | 2.11 | 2.05 |
| MTDR | 1.46 | 2.08 | 2.20 |
| UN | FBIS | Bible | |
|---|---|---|---|
| English | 70.07% | 75.84% | 76.17% |
| Spanish | 31.54% | 36.19% | 34.53% |
| GIST | 41.86% | 41.78% | 41.83% |
| IBM4 | 55.73% | 54.04% | 51.13% |
| SYST | 69.23% | 72.99% | 77.56% |
| MTDR | 70.55% | 68.75% | 75.91% |
| UN | FBIS | Bible | |
|---|---|---|---|
| MTDR | 18.01 +/- 1.00 | 10.42 +/- 0.55 | 7.29 +/- 0.83 |
| DEPG | 17.87 +/- 1.02 | 10.87 +/- 0.54 | 7.33 +/- 0.88 |
| Incorrect | Possible | Correct | |
|---|---|---|---|
| IBM4 | 13 (32.5%) | 14 (35%) | 13 (32.5%) |
| MTDR | 11 (27.5%) | 16 (40%) | 13 (32.5%) |
| Bleu Score | Time (sec) | |
|---|---|---|
| with Structural N-grams | 18.01 +/- 1.00 | 14,155 |
| without Structural N-grams | 17.94 +/- 1.04 | 34,908 |
| 5 | contents of original sentence conveyed (might need minor corrections) |
|---|---|
| 4 | contents of original sentence conveyed BUT errors in word order |
| 3 | contents of original sentence generally conveyed BUT errors in relationship between phrases, tense, singular/plural, etc. |
| 2 | contents of original sentence not adequately conveyed, portions of original sentence incorrectly translated, missing modifiers |
| 1 | contents of original sentence not conveyed, missing verbs, subjects, objects, phrases or clauses |
| 5 | clear meaning, good grammar, terminology and sentence structure |
|---|---|
| 4 | clear meaning BUT bad grammar, bad terminology or bad sentence structure |
| 3 | meaning graspable BUT ambiguities due to bad grammar, bad terminology or bad sentence structure |
| 2 | meaning unclear BUT inferable |
| 1 | meaning absolutely unclear |
Machine Translation
Machine translation develops computational methods for converting text, speech, and visual content between languages while preserving meaning and purpose.
See all 267 papers