Kompletigi vortaron

From Apertium
Revision as of 18:48, 7 April 2010 by Jacob Nordfalk (talk | contribs) (Created page with 'Ĉar Esperanto estas tre regula eblas auxtomate generi la esperanto-lingvajn vortarojn (eo.dix). Jen la recepto por kompletigi vian vortaron. 1) ĝisdatigu vian dixtools kaj ko…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Ĉar Esperanto estas tre regula eblas auxtomate generi la esperanto-lingvajn vortarojn (eo.dix).

Jen la recepto por kompletigi vian vortaron.

1) ĝisdatigu vian dixtools kaj kompilu ĝin

2) ĝisdatigu apertium-eo-fr kan rulu ./kompletigu_eo_dix.sh

ĝi kreas dosieron mankas-eo.txt kun la ĉiuj esperantaj vortoj kiuj ne troviĝas en via eo.dix.
ĝi laboras en sama maniero kiel testvoc, t.e. ĝi prenas ĉion de la franca flanko, tradukas al Esperanto kaj trovas la problemajn lemojn.

La rezulto estas en mankas-eo.txt:

Manuelo<np><m><sg>
Prusio<np><loc><sg><nom>
Balearoj<np><loc><sg><nom>
Kanarioj<np><loc><sg><nom>
absorbi<vblex><ger>
absorbi<vblex><imp>
absorbi<vblex><inf>


3) Tiun liston ni traktas per aro da regulas esprimoj (en kompletigaj-reguloj-eo.txt):

## Sintakso:
# Regexp (v.d. http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html)
# anstatauxaĵo je venonta linio (Se linio estas malplena la rezulto estas forigita kaj ignorata)

# Adjektivoj
(\p{L}+)a<adj><sg><nom>
<e lm="$1a">      <i>$1</i><par n="a__adj"/></e>

# Verboj
(\p{L}+)i<vblex><inf>
<e lm="$1a">      <i>$1</i><par n="i__vblex"/></e>

# Ignoru restantajn verbformojn
.*<vblex>.*


# Ni tute ignoras pluralojn
.*<pl>.*


4) rulu: java -cp ../../apertium-dixtools/dist/apertium-dixtools.jar misc.Kompletigu kompletigaj-reguloj-eo.txt mankas-eo.txt > nova.dix Eventuale vi volas komenci per malgrandigi mankas-eo.txt .

en nova.dix estas la mankantaj vortoj

Ekzemple

absorbi<vblex><inf>

trafiĝos de la esprimo (\p{L}+)i<vblex><inf>: Literoj + i<vblex><inf>. (\p{L} estas litero simile al \w). La afero en la parentezo ('absorb') nomiĝos $1. Do,

<e lm="$1i">      $1<par n="i__vblex"/></e>

donos

<e lm="absorbi">      absorb<par n="i__vblex"/></e>