Enkonduko al maŝintradukado per Apertium

From Apertium
Revision as of 11:13, 7 September 2010 by Hectoralos (talk | contribs)
Jump to navigation Jump to search

Ĉi tie ni provas supraĵe klarigi por nefakuloj, kiel funkcias cxi tiu traduk-sistemo (Apertium).

Ĝenerala superrigardo

Ni prenu francan frazon kiel "les enfants mangent des pommes". La tradukilo unue morfologie analizas ĝin kaj kreas aferon kiel:

le
enfant
manger</r>
un
pomme

Tiu galimatio signifas, ke ĝi rekonas la frazon baze kiel "le enfant manger un pomme", sed samtempe por ĉiu unuopa vorto notas la morfologiajn formojn, ekz. "enfant" estas nomo (), vir- aŭ in-genra (, kp. kun la ingenra "pomme"), plurala (); aŭ "mangent" estas formo de "manger" (t.e. "leksika verbo", ) en prezenco de indikativo (), tria persono (), pluralo ().

En la sekva paŝo oni rigardos ekvivalentojn en dulingva vortaro kaj pli-malpli havos:

la
infano
manĝi

pomo

Parte samtempe kaj tuj sekve oni modifos la strukturon, forigante nenecesajn elementojn por esperanto (ekz. genron) aŭ aldonante nececesajn, sed ne ekzistantajn en la franca (ekz. kazon). La sintaksa strukturo povas esti iom ŝanĝita, ekz. oni ĉi tie forigos la nederminitan artikolon. Tiel ni alvenas al io simila al:

la
infano
manĝi
pomo

Kaj fine oni generas la surfacajn formojn de esperanto:

la infanoj manĝas pomojn

Tute simila procedo funkcias (funkcios) en la alia direkto, t.e. el esperanto en la francan (aŭ inter iuj ajn du lingvoj). Kiel vi povas suspekti, ju pli du lingvoj similas, des pli la traduko inter ili bonas. Ju pli da aferoj ni devas flankenmeti aŭ (multe pli malfacile) aldoni, des pli danĝere estas, ke la traduko ne ĝustos.

La vortaroj

Por fari ĉion ĉi, oni havas tri vortarojn:

  • Po unu unulingva por la du pritraktataj lingvoj, en kiu estas morfologia informoj pri la vortoj
  • Unu dulingva kun ekvivalentoj inter la du lingvoj

Unulingvaj vortaroj

La unulingvaj vortoj estas difinitaj tiamaniere:

<e lm="tabac"> <i>tabac</i><par n="livre__n"/></e>
<e lm="table"> <i>table</i><par n="abeille__n"/></e>
<e lm="taper"> <i>tap</i><par n="abaiss/er__vblex"/></e>

Kiel oni komprenas tion?

  • La vorto (lemo) "tabac" havas la formojn laŭ la modelo de "livre__n" (nomo "livre") aplikata al la radiko "tabac".
  • La vorto (lemo) "table" havas la formojn laŭ la modelo de "abeille__n" (nomo "abeille") aplikata al la radiko "table".
  • La vorto (lemo) "taper" havas la formojn laŭ la modelo de "abaiss/er__vblex" (verbo "abaisser") aplikata al la radiko "tap".

En la supra parto de la dosiero oni difinas la modelojn (paradigmojn). Ekzemple, "abeille__n" estas difinita kiel:

<pardef n="abeille__n">
<e><p> <l></l> <r><s n="n"/><s n="f"/><s n="sg"/></r> </p></e>
<e><p> <l>s</l> <r><s n="n"/><s n="f"/><s n="pl"/></r> </p></e>
</pardef>

Inter <l> kaj </l> (el la angla "left", maldekstra) aperas la finaĵoj de la efektivaj vortoformoj, dum inter <r> kaj </r> (el la angla "right", dekstra) aperas la morfologiaj informoj, kiujn bezonos la sekvaj ŝtupoj de la tradukilo. Do necesas kompreni, ke fakte tiu unulinia difino de "table" per la paradigmo "abeille__n" difinas fakte du formojn de la vorto:

<e><p> <l>table</l> <r>table<s n="n"/><s n="f"/><s n="sg"/></r> </p></e>
<e><p> <l>tables</l> <r>table<s n="n"/><s n="f"/><s n="pl"/></r> </p></e>

(Estas aldonita nur la radiko "table", kiu aperas inter <l> kaj </l>).

Do tiel la tradukilo rekonas la formojn "table" kaj "tables" kaj komprenas ilin kiel "nomon", "inan", "singularan" aŭ pluralan".

Oni rimarku, ke ĉe la verbo "taper" la principo estas la sama (unu-linia difino) sed la difino de la modelo (paradigmo) ne estas dulinia, sed ĝi havas amason da linioj: po unu por ĉiu malsama persono, nombro, tenso, modo.

Oni rimarku ankaŭ, ke ĉe "taper" la difino estas iom malsama ol ĉe "tabac" kaj "table": inter kaj ne aperas la tuta vorto "taper", sed nur la "radiko" "tap", kiu troviĝas en ĉiuj formoj "tape", "tapes", "tapons", etc. Por faciligi la memorigon de tio, ke ion oni devas forigi, kaj de kie oni devas forigi, la paradigmo havas "/" por disigi la "radikon" disde la "finaĵo" (<par n="abaiss/er__vblex"/>). Oni bonvolu noti ankaŭ ke ni uzas la vorton "radiko" inter citiloj, ĉar ne temas vere pri tio, kion ni lernas en la lernejo kiel radiko, sed pri koncepto formala, tre ligita al ortografiaj reguloj.

Per la uzado de paradigmoj ni igas la vortaron multe pli alirebla kaj komprenebla. Ekzemple, tuj post "table" aperas:

<e lm="tableau"> <i>tableau</i><par n="livre__n"/></e>

Kion vi opinias per tio? Ĉu la vorto "tableau" sekvas la modelon de "livre"?

Verŝajne scipovantoj de la franca tuj rimarkas, ke ne: la pluralo de "tableau" estas per "x" kaj ne per "s". Estas eraro en la vortaro. Se vi hazarde trovas tiajn eraron indas, ke vi korektu ilin.

Kiel korekti? En tiuj okazoj oni serĉu similan vorton kaj vidas, kiu estas la paradigmo difinita per ĝi. Ne necesas eĉ cerbumi pri konkreta vorto, sed sufiĉas serĉi "eau"" (t.e. ankaŭ la citilon por certiĝi, ke "eau" estas vortofina). La unuan vorton, kiun oni trovas estas:

<e lm="taureau"> <i>taureau</i><par n="lieu__n"/></e>

Oni rapide mense kontrolas (sen rigardi la konkretan difinon de lieu__n, kiun oni principe fidu): "lieu" taŭgas (vira kun pluralo en "x") kaj do necesus anstataŭigi "livre__n" per "lieu__n".

Detaloj

La sekvaj detaloj ne estas legindaj por dezirantoj nur supraĵe konatiĝi kun Apertium (sekvu al #Dulingva vortaro).

Plurvortaj informoj

Indas aldoni, ke eblas pritrakti plurvortajn esprimojn. tamen en la nuna sistemo ekzistas gravaj limigoj por tio.

Certe eblas detali ĉiujn morfologiajn formojn de difinita vorto, ekz.

<e lm="correu electrònic"><p><l>correu<b/>electrònic</l><r>correu<b/>electrònic<s n="n"/><s n="m"/><s n="sg"/></r></p></e>
<e lm="correu electrònic"><p><l>correus<b/>electrònics</l><r>correu<b/>electrònic<s n="n"/><s n="m"/><s n="pl"/></r></p></e>

(Rimarku, ke la surfacaj formoj aperas, kiel vidite inter <l> kaj </l>, dum la lemoj kun morfologiaj informoj aperas inter <r> kaj </r> (la informo kun la etikedo lm estas nur por informo de homaj legantoj)

Tamen tio estas apenaŭ uzebla, kiam ekzistas multaj surfacaj formoj (ekz. en lingvoj kun

Dekstren kaj maldekstren

Dulingva vortaro

<e r="LR"><p><l>knabo<s n="n"/></l> <r>enfant<s n="n"/></r></p></e>
<e> <p><l>infano<s n="n"/></l> <r>enfant<s n="n"/></r></p></e>
<e r="RL"><p><l>infano<s n="n"/></l> <r>gosse<s n="n"/></r></p></e>


Transdon-reguloj