Difference between revisions of "Kompletigi vortaron"

From Apertium
Jump to navigation Jump to search
m
 
(One intermediate revision by one other user not shown)
Line 28: Line 28:




3) Tiun liston ni traktas per aro da regulas esprimoj (en kompletigaj-reguloj-eo.txt):
3) Tiun liston ni traktas per aro da regulaj esprimoj (en kompletigaj-reguloj-eo.txt):
<pre>
<pre>
## Sintakso:
## Sintakso:
Line 63: Line 63:
Ekzemple
Ekzemple
absorbi<vblex><inf>
absorbi<vblex><inf>
trafiĝos de la esprimo (\p{L}+)i<vblex><inf>: Literoj + i<vblex><inf>. (\p{L} estas litero simile al \w).
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,
La afero en la parentezo ('absorb') nomiĝos $1. Do,
<e lm="$1i"> <i>$1</i><par n="i__vblex"/></e>
<e lm="$1i"> <i>$1</i><par n="i__vblex"/></e>

Latest revision as of 16:43, 14 April 2010

Ĉ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.