Apertium bilingual data for Finnish–German machine translation
This is a visualisation of some rules in apertium transfer.
These are the categories Apertium is using in order to chunk, re-order and transfer lexemes.
| Category | Items |
|---|---|
| desomalieren2np | somalieren <vblex.*> |
| deadp2np | de <pr.*> |
| dest2np | st. <abbr> |
| soviele2np | so viele <det.*> |
| ex2np | ex <adv> |
| nochein2np | noch ein <det.*> |
| directionlich_pr | östlich <pr.*> südlich <pr.*> |
| um | um <cnjsub> um <pr.*> um <pr.acc> |
| seit | seit <pr.*> seit <pr.dat> seit <cnjsub> |
| bevor | bevor <preadv> |
| an | an <pr.*> an <pr.dat> |
| dem | der <det.def.*> |
| ab | ab <adv> ab <pr.*> |
| bis | bis <cnjsub> bis <pr.*> |
| gegen | gegen <pr.*> gegen <pr.acc> |
| uhr | Uhr <n.*> uhr <n.*> |
| über | über <pr.*> über <adv> |
| nach | nach <pr.*> nach <adv> nach <pprep.*> |
| hinweg | hinweg <adv> |
| leben | Leben <n.nt.*> leben <n.nt.*> |
| gekommen | kommen <vblex.pp> |
| monat | Januar <n.*> Februar <n.*> März <n.*> April <n.*> Mai <np.*> mai <n.*> Juni <n.*> Juli <n.*> August <n.*> September <n.*> Oktober <n.*> November <n.*> Dezember <n.*> januar <n.*> februar <n.*> märz <n.*> april <n.*> mai <np.*> juni <n.*> juli <n.*> august <n.*> september <n.*> oktober <n.*> november <n.*> dezember <n.*> |
| zeitwort | Jahr <n.*> Jahrzehnt <n.*> jahr <n.*> jahrzehnt <n.*> |
| informationwort | Angabe <n.*> Ansicht <n.*> angabe <n.*> ansicht <n.*> |
| weder_cc | weder <cnjcoo> |
| noch_cc | noch <cnjcoo> noch <adv> |
| werden | werden <vaux.*> werden <vblex.*> |
| als | als <adv> als <cnjadv> |
| wie | wie <adv> wie <adv.itg> |
| gehen | gehen <vblex.pri.p2.pl> gehen <vblex.pri.p3.sg> gehen <vblex.prs.p3.sg> |
| es | es <prn.pers.p3.nt.sg.*> prpers <prn.*.p3.nt.sg.*> |
| kein | kein <det.ind.*> |
| daynumber | <num.ord> |
| noun | <n.*> <np.*> |
| abbr | <abbr> <n.abbr> |
| cmp | <n.cmp> <n.cmp.*> <n.*.cmp> <n.*.cmp.*> <atp.cmp> <atp.*.cmp> |
| prn | <prn.*> |
| prnpers | <prn.pers.*> |
| prndem | <prn.dem.*> |
| np | <np.*> |
| nominal | <n.*> <np.*> <prn.pers.*> |
| verbnegation | nicht <adv> kein <adv> |
| infinite | <vblex.inf> <vblex.ger.*> <vaux.inf> <vbser.inf> <vbhaver.inf> |
| perfection | <vblex.*.pp> <vblex.pp> |
| participle | <vblex.*.pp> <vblex.pp> |
| haver | <vbhaver.*> |
| adj | <adj.*> |
| adjvl | <adj.*> <vblex.*.pp> |
| adp | <post.*> <pr.*> <post> <pr> |
| poss | <det.pos.*> |
| art | der <det.*> ein <det.*> |
| det | <det.*> |
| cardinal | <num.card> <num.card.*> <num.pl.*> <num> |
| plural | <n.*.pl.*> <np.*.pl.*> <prn.*.pl.*> |
| num | <num.*> <num> |
| multiplier | <num.card> <num.card.*> <num.pl.*> <num> Milliarde <n.*> Hundert <n.*> |
| verb | <vblex.*> <vbser.*> <vbmod.*> <vaux.*> <vbhaver.*> |
| auxiliary | <vbmod.*> <vaux.*> |
| cnjcoo | <cnjcoo> |
| comma | , <cm> |
| sent | <sent> |
These are the morphological analysis value (tag) sets that can be processed in the transfer.
| Attribute set name | Tags |
|---|---|
| a_case | <nom> <gen> <acc> <dat> <ine> <ela> <ill> <ade> <abl> <all> <par> <tra> <cmp> <lat> |
| a_verb | <vblex> <vblex.neg> <vbser> <vbmod> <vaux> |
| a_tense | <prs> <pis> <pri> <pii> <past> |
| a_adj | <adj> <num.ord> |
| a_comp | <pos> <comp> <sup> |
| a_adp | <post> <pr> |
| a_adv | <adv> |
| a_noun | <n> <n.acr> <n.abbr> <n.compound-only-L> <det> <np.ant.m> <np.ant.f> <np.ant> <np.top> <np.top.use_blacklist> <np.al> <np> <np.acr> <np.acr.al> <np.top.acr> <np.al.acr> <np.org> <np.cog> <num.card> <prn> |
| a_nominal | <n.acr> <n.cmp> <n.compound-only-L> <n> <np.ant.m> <np.ant.f> <np.ant> <np.top> <np.top.use_blacklist> <np.cog> <np.org> <np.al> <np> <np.acr> <np.acr.al> <np.top.acr> <np.al.acr> <num.card> <det> <prn> <adj.pos> |
| a_det | <n> <num.card> <det> <prn> <adj.pos> <adv> |
| a_prn | <prn> |
| a_number | <sg> <sp> <pl> |
| a_perf | <pp> |
| a_pers | <p1.sg> <p2.sg> <p3.sg> <p1.pl> <p2.pl> <p3.pl> |
| a_numtype | <card> <nocard> <ord> |
| a_num | <num> <num.use_nonstd> |
| a_inf | <inf> <infa> <infe> <infma> <ger> |
| a_conneg | <conneg> |
Macros are helper functions in apertium transfer files.
Parametres: 1
$number ≔ “”Parametres: 1
tl[1]['a_adj'] ≟ <num.ord> then:$comparison ≔ “”sl[1]['a_comp'] ≟ <comp> then:$comparison ≔ <com>sl[1]['a_comp'] ≟ <sup> then:$comparison ≔ <sup>$comparison ≔ <pos>Parametres: 1
tl[1]['a_voice'] ≟ <actv> then:$voice ≔ <actv>tl[1]['a_voice'] ≟ <pasv> then:$voice ≔ <pasv>$voice ≔ <actv>Parametres: 1
tl[1]['a_number'] ≟ <sp>tl[1]['a_case'] ≟ <nom>tl[1]['lem'] ≟ “kaikki” then:$number ≔ <sp>tl[1]['a_number'] ≟ <sp>tl[1]['a_case'] ≟ <gen>tl[1]['lem'] ≟ “mikä” then:$number ≔ <sp>tl[1]['lem'] ≟ “koko” then:$number ≔ “”$tense ≟ <pri>tl[1]['a_conneg'] ≟ <conneg> then:$number ≔ “”tl[1]['a_nominal'] ≟ <n.compound-only-L> then:$number ≔ “”tl[1]['a_number'] ≟ <sg> then:$number ≔ <sg>tl[1]['a_number'] ≟ <pl> then:$number ≔ <pl>$number ≔ <sg>Parametres: 1
sl[1]['a_numtype'] ≟ <card> then:$numtype ≔ <card>sl[1]['a_numtype'] ≟ <ord> then:$numtype ≔ <adj.ord>tl[1]['a_numtype'] ≟ <nocard> then:$numtype ≔ “”$numtype ≔ <card>Parametres: 1
tl[1]['lem'] ≟ “ei” then:$tense ≔ “”sl[1]['a_tense'] ≟ <pii> then:$tense ≔ <past>sl[1]['a_tense'] ≟ <prs> then:$tense ≔ <pri>sl[1]['a_tense'] ≟ <pis> then:$tense ≔ <pri>sl[1]['a_tense'] ≟ <past> then:$tense ≔ <past>$tense ≔ <pri>Parametres: 1
sl[1]['a_pers'] ≟ <p1.sg> then:$pers ≔ <p1.sg>sl[1]['a_pers'] ≟ <p2.sg> then:$pers ≔ <p2.sg>sl[1]['a_pers'] ≟ <p3.sg> then:$pers ≔ <p3.sg>sl[1]['a_pers'] ≟ <p1.pl> then:$pers ≔ <p1.pl>sl[1]['a_pers'] ≟ <p2.pl> then:$pers ≔ <p2.pl>sl[1]['a_pers'] ≟ <p3.pl> then:$pers ≔ <p3.pl>$pers ≔ <p3.sg>Parametres: 1
tl[1]['lem'] ≟ “koko” then:$case ≔ “”tl[1]['a_nominal'] ≟ <n.compound-only-L> then:$case ≔ “”sl[1]['a_case'] ≟ <acc> then:tl[1]['a_case'] ≔ <gen>1. let $case ≔ <gen>sl[1]['a_case'] ≟ <dat> then:tl[1]['a_case'] ≔ <gen>1. let $case ≔ <gen>sl[1]['a_case'] ≟ <cmp> then:tl[1]['a_case'] ≔ <nom>1. let $case ≔ <nom>sl[1]['a_case'] ≟ <gen> then:tl[1]['a_case'] ≔ <gen>1. let $case ≔ <gen>sl[1]['a_case'] ≟ “” then:tl[1]['a_case'] ≔ <nom>1. let $case ≔ <nom>tl[1]['a_case'] ≔ <nom>1. let $case ≔ <nom>Parametres: 1
sl[1]['a_inf'] ≟ <inf> then:tl[1]['a_inf'] ≔ <infa>1. let $case ≔ <lat>sl[1]['a_inf'] ≟ <ger> then:tl[1]['a_inf'] ≔ <infma>1. let $case ≔ <ine>Parametres: 1
sl[1]['lem'] ≟ “mein” then:$prnmaybe ≔ ““1. let $poss ≔ <pxsg1>sl[1]['lem'] ≟ “dein” then:$poss ≔ <pxsg2>1. let $prnmaybe ≔ “”sl[1]['lem'] ≟ “eure” then:$poss ≔ <pxsg2>1. let $prnmaybe ≔ “”sl[1]['lem'] ≟ “unser” then:$poss ≔ <pxsg1>1. let $prnmaybe ≔ “”sl[1]['lem'] ≟ “sein” then:$poss ≔ <pxsp3>1. let $prnmaybe ≔ “hän”<prn.pers.sg.gen>$poss ≔ <pxsp3>1. let $prnmaybe ≔ tl[1]['whole']Parametres: 1
sl[1]['lem'] ≟ “in”sl[1]['a_case'] ≟ <dat> then:$adpmaybe ≔ ““1. let $adpcase ≔ <ine>sl[1]['lem'] ≟ “ab”sl[1]['a_case'] ≟ <dat> then:$adpmaybe ≔ ““1. let $adpcase ≔ <abl>sl[1]['lem'] ≟ “in”sl[1]['a_case'] ≟ <acc> then:$adpmaybe ≔ ““1. let $adpcase ≔ <ill>sl[1]['lem'] ≟ “auf” then:$adpcase ≔ <ine>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “um” then:$adpcase ≔ <abl>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “aus” then:$adpcase ≔ <ela>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “über” then:$adpcase ≔ <ela>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “bei” then:$adpcase ≔ <ade>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “von” then:$adpcase ≔ <abl>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “bis” then:$adpcase ≔ <ill>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “als” then:$adpcase ≔ <ess>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “mit” then:$adpcase ≔ <ade>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “zu” then:$adpcase ≔ <tra>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “an” then:$adpcase ≔ <abl>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “nach” then:$adpcase ≔ <ill>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “ohne” then:$adpcase ≔ <abe>1. let $adpmaybe ≔ “”sl[1]['lem'] ≟ “für” then:$adpcase ≔ <all>1. let $adpmaybe ≔ “”$adpcase ≔ <gen>1. let $adpmaybe ≔ tl[1]['whole']Parametres: 1
tl[1]['a_nominal'] ≟ <n.compound-only-L> then:$compstuff ≔ “”tl[1]['a_nominal'] ≟ <n.cmp> then:$compstuff ≔ “”tl[1]['lem'] ≟ “yksityis”tl[1]['lem'] ≟ “ulko”tl[1]['lem'] ≟ “vähimmäis”tl[1]['lem'] ≟ “yhteis”tl[1]['lem'] ≟ “lähi”tl[1]['lem'] ≟ “uudelleen” then:$compstuff ≔ <compound-only-L>$compstuff ≔ <sg.gen>Parametres: 1
tl[1]['a_number'] ≟ <sg>tl[1]['a_tense'] ≟ <past> then:$conpart ≔ <sg.conneg>tl[1]['a_number'] ≟ <pl>tl[1]['a_tense'] ≟ <past> then:$conpart ≔ <pl.conneg>sl[1]['a_number'] ≟ <sg>sl[1]['a_tense'] ≟ <pii> then:$conpart ≔ <sg.conneg>sl[1]['a_number'] ≟ <pl>sl[1]['a_tense'] ≟ <pii> then:$conpart ≔ <pl.conneg>tl[1]['a_number'] ≟ <pl>tl[1]['a_tense'] ≟ <pri> then:$conpart ≔ <conneg>tl[1]['a_number'] ≟ <sg>tl[1]['a_tense'] ≟ <pri> then:$conpart ≔ <conneg>$conpart ≔ <conneg>The actual rules concerning stuff.
<ADJ.SG.GEN>
1. tl[1]['lem'] <adj.pos.sg.gen><NP.SG.NOM>
1. “ex”<n.sg.nom><ADV>
1. “yhä”<adv><NP.SG.NOM>
1. “yhtä”<adv>
1. blank1
1. “paljon”<adv><NP.PL.NOM>
1. “somali”<n.pl.gen><NP.SG.NOM>
1. “de”<np.cog.sg.nom><NP.SG.NOM>
1. “St.”<np.sg.nom><CC>
1. “ei”<vblex.neg.actv.p3.sg>
1. blank1
1. tl[2]['lem'] tl[2]['a_adj'] $comparison$number$case
1. blank2
1. “ei”<vblex.neg.actv.p3.sg>“+ka”<enc>
1. blank3
1. tl[4]['lem'] tl[4]['a_adj'] $comparison$number$case<ADV>
1. tl[2]['lem'] tl[2]['a_noun'] $number<ill><ADV>
1. tl[2]['lem'] tl[2]['a_noun'] $number<ill><ADV>
1. tl[2]['lem'] tl[2]['a_noun'] $number<gen>
1. blank2
1. “mittaan”<adv><ADV>
1. tl[2]['lem'] tl[2]['a_noun'] $number<gen>
1. blank1
1. “mukaan”<post><UHR>
1. tl[3]['lem'] tl[3]['a_nominal'] <sg.nom>
1. blank1
1. tl[2]['lem'] tl[2]['a_num'] $numtype$number$case<dead.becoming>
1. “kuolla”<vblex.actv.pp.pos.sg.nom><UHR>
1. “suunnilleen”<post>
1. blank1
1. tl[3]['lem'] tl[3]['a_nominal'] <sg.nom>
1. blank2
1. tl[2]['lem'] tl[2]['a_num'] $numtype$number$case<MONAT>
1. tl[3]['lem'] tl[3]['a_num'] $numtype$number<ess>
1. blank1
1. tl[4]['lem'] tl[4]['a_nominal'] <sg.par><MONAT>
1. tl[2]['lem'] tl[2]['a_num'] $numtype$number<sg.ess>
1. blank2
1. tl[3]['lem'] tl[3]['a_nominal'] <sg.par><MONAT>
1. tl[1]['lem'] tl[1]['a_num'] $numtype$number$case
1. blank1
1. tl[2]['lem'] tl[2]['a_nominal'] <sg.par><UHR>
1. tl[2]['lem'] tl[2]['a_nominal'] <sg.nom>
1. blank1
1. tl[1]['lem'] tl[1]['a_num'] $numtype$number$case<V><V><NUM><NUM><NP>$adpcase
1. `tl[2]['lem']` `tl[2]['a_nominal']` `$number$adpcase
1. blank2
1. tl[3][‘whole’]
1. blank3
1. tl[4][‘lem’] tl[4][‘a_nominal’] $number$adpcase`
1. `blank`4
1. `tl[5]['whole']`
1. `blank`5
1. `tl[6]['lem']` `tl[6]['a_nominal']` `$number$adpcase
1. blank1
1. $adpmaybe`<NP>$adpcase
1. `tl[2]['lem']` `tl[2]['a_nominal']` `$number<NP><NP>$adpcase``
1. tl[3]['lem'] tl[3]['a_nominal'] tl[3]['a_number'] <nom>
1. blank2
1. tl[4]['lem'] tl[4]['a_nominal'] tl[4]['a_number'] $adpcase
1. blank1
1. $adpmaybe<NP>$adpcase
1. `tl[3]['lem']` `tl[3]['a_adj']` `$comparisontl[4][‘a_number’] $adpcase
1. blank1
1. tl[4][‘lem’] tl[4][‘a_nominal’] tl[4][‘a_number’] $adpcase
1. blank1
1. $adpmaybe`<NP><NP>$adpcase
1. `tl[2]['lem']` `tl[2]['a_nominal']` `$number<NP>$adpcase
1. `tl[3]['lem']` `tl[3]['a_nominal']` `$number$adpcase
1. blank1
1. $adpmaybe`<NP><NP>$number$case
1. tl[2]['lem'] tl[2]['a_adj'] $comparison$number$case
1. blank2
1. tl[3]['lem'] tl[3]['a_noun'] $number$case<NP>$number$case
1. tl[1]['lem'] tl[1]['a_verb'] <actv.pp.pos>$number$case
1. blank1
1. tl[2]['lem'] tl[2]['a_noun'] $number$case<NP>$number$case
1. tl[1]['lem'] tl[1]['a_adj'] $comparison$number$case
1. blank1
1. tl[2]['lem'] tl[2]['a_nominal'] $compstuff”+”tl[3]['lem'] tl[3]['a_noun'] $number$case<NP>$number$case
1. tl[1]['lem'] tl[1]['a_adj'] $comparison$number$case
1. blank1
1. tl[2]['lem'] tl[2]['a_noun'] $number$case<N><V><N><V><V><V><V><V><V><N><N>$number$case
1. tl[3]['lem'] tl[3]['a_noun'] $number$adpcase
1. blank1
1. $adpmaybe<N>$number$case
1. tl[2]['lem'] tl[2]['a_noun'] $number$case<N>$number$case
1. tl[2]['lem'] tl[2]['a_noun'] $number$case<PRN>
1. tl[1]['lem'] tl[1]['a_prn'] tl[1]['a_number'] tl[1]['a_case']<NP>$adpcase
1. `$adpmaybe`
1. `blank`1
1. `tl[2]['lem']` `tl[2]['a_nominal']` `$number$adpcase
1. blank2
1. tl[3][‘whole’]
1. blank3
1. tl[4][‘lem’] tl[4][‘a_nominal’] $number``$adpcase`<NP>$adpcase
1. `$adpmaybe`
1. `blank`1
1. `tl[2]['lem']` `tl[2]['a_nominal']` `$number$adpcase`<N><CountXP>
1. tl[1]['lem'] tl[1]['a_num'] <card.sg.nom>
1. blank1
1. tl[2]['lem'] <num.card.sg.par>
1. blank2
1. tl[3]['lem'] tl[3]['a_noun'] <sg.par><CountP>
1. tl[1]['lem'] tl[1]['a_num'] $numtype<sg.nom>
1. blank1
1. tl[2]['lem'] tl[2]['a_noun'] <sg.par><NumP>$adpcase
1. `$adpmaybe`
1. `blank`1
1. `tl[2]['lem']` `tl[2]['a_num']` `$numtype<N.CMP>
1. tl[1]['lem'] tl[1]['a_nominal'] tl[1]['a_number'] <gen>
1. tl[2]['lem'] tl[2]['a_nominal'] tl[2]['a_number'] <gen>
1. tl[3]['lem'] tl[3]['a_noun'] tl[3]['a_number'] $case<N.CMP>
1. tl[1]['lem'] tl[1]['a_nominal'] $compstuff”+”tl[2]['lem'] tl[2]['a_noun'] tl[2]['a_number'] $case<CMP>
1. tl[1]['lem'] “-“<compound-only-L><N.FOOFOO>
1. tl[1]['lem'] tl[1]['a_noun'] tl[1]['a_number'] $case<N.ABBR>
1. tl[1]['lem'] tl[1]['a_noun'] $number$case<A>
1. tl[1]['lem'] tl[1]['a_adj'] $comparison$number<nom><PRN>
1. tl[1]['lem'] tl[1]['a_prn'] $number$case<Num>
1. tl[1]['lem'] tl[1]['a_num'] $numtype<sg.nom><Adp>sl[1][‘a_case’]
1. tl[1]['lem'] tl[1]['a_adp']<V><Poss>
1. tl[1]['lem'] tl[1]['a_prn'] tl[1]['a_number'] <gen><ART>
1. blank<Det>
1. tl[1]['lem'] tl[1]['a_det'] $number$case
1. blank1<V><V><V>
1. tl[1]['lem'] tl[1]['a_verb'] <actv>$tense$pers<SENT>
1. tl[1]['whole']Documentation for apertium-fin-deu. Generated with Flammie’s apevis-xslt.