Kompletigi vortaron

From Apertium
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>
komercejo<n><sg><nom>
komercejo<n><pl><nom>
komunaĵo<n><sg><nom>
komunaĵo<n><pl><nom>
daŭra<adj><sg><nom>
daŭra<adj><pl><nom>
absorbi<vblex><ger>
absorbi<vblex><imp>
absorbi<vblex><inf>


3) Tiun liston ni traktas per aro da regulaj 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="$1i">      <i>$1</i><par n="i__vblex"/></e>

# Ignoru restantajn verbformojn
.*<vblex>.*

# Nomoj (sen genro)
(\p{L}+)o<n><sg><nom>
<e lm="$1o">      <i>$1</i><par n="o__n"/></e>


# 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 "Literoj + i<vblex><inf>" ((\p{L}+)i<vblex><inf> - \p{L} estas litero simile al \w - vi povas legi pri regulaj esprimoj ĉe http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html). 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>


La metodo uzeblus ĝis certa grado en aliaj lingvoj, se oni povas diveni la paradigmon de la simboloj.