Amestar un par de llingües nuevu
Amestar un par de llingües nuevu
Esti tutorial va desplicar el mou d'entamar un par nuevu de llingües nuevu pa la ferramienta de torna automática Apertium.
Nun se precisa conocimientu dalu de llingüística o sistemes de torna acullá de ser capaz d'estremar nomes de verbos (y preposiciones, etc.)
Entamu
Apertium ye, como posiblemente pescanciaras, un sistema de torna automática. Bono, nun del too, ye una plataforma de torna. Ufre un motor y unes ferramientes tales que te permitirán ellaborar los tos propios sistemes de torna. Lo único que fai falta ye escribir datos. L'aniciu d'una nueva llingua consiste básicamente en tres diccionarios y delles regles (de reorganización de pallabres y otres cuestiones gramaticales).
Pa una introducción más detallada de como funciona too, hai dellos papelos interesantes na páxina del proyeutu apertium.sourceforge.net.
Precisarás
- lttoolbox (>= 3.0.0)
- libxml útiles (xmllint etc.)
- apertium (>= 3.0.0)
- un editor de testu (o un editor XML especializáu si lo prefieres)
Esti documentu nun va desplicar como instalar estos paquetes, pa más información ve por favor la estaya de documentación del sitiu web d'Apertium.
¿En que consiste un par de llingües?
Apertium ye un sistema de torna de lo que se conoz como tranferencia superficial. Ello ye qu'emplega básicamente los diccionarios y les regles de transferencia superficial. Na práutica, la transferencia superficial estrémase de la tranferencia en profundidá en que nun fai un analís sintáuticu completu
- les regles son operaciones típiques en grupos d'unidaes léxiques en vez d'operaciones n'árboles sintáuticos. Nun nivel básicu hai tres diccionarios principales
- Diccionariu morfolóxicu de la llingua xx: recueye les regles d'inflexón de les pallabres de la llingua xx. Nel nuesu exemplu llamarémoslu: apertium-sh-en.sh.dix
- Diccionariu morfolóxicu de la llingua yy: recueye les regles d'inflexón de les pallabres de la llingua yy. Nel nuesu exemplu llamarémoslu: apertium-sh-en.en.dix
- Diccionariu billingüe: caltién les correspondencies ente les pallabres y símbolos de les dos llingües. Nel nuesu exemplu llamarémoslu: apertium-sh-en.sh-en.dix
Nun par de llingües, dambes puen ser orixen y fin de les tornes en términos relativos.
Hai amás dos arquivos pa la transferencia de regles. Son eses regles les encargaes de decidir como les pallabres se reorganicen nos enunciaos, p.e. chat noir -> cat black -> black cat. Tamién toma les decisiones de xéneru, númberu, etc. Les regles puen usase tanto p'añadir como pa eliminar elementos léxicos, como se desplicará más tarde. Estos arquivos son:
- Regles de transferencia de la llingua xx a la llingua yy: esti archivu contién les regles de como la llingua xx tien de camudar a la llingua yy. Nel nuesu exemplu: apertium-sh-en.trules-sh-en.xml
- Regles de transferencia de la llingua yy a la llingua xx: esti archivu contién les regles de como la llingua yy tien de camudar a la llingua xenx. Nel nuesu exemplu: apertium-sh-en.trules-en-sh.xml
Dellos pares de llingües que s'ufierten caltienen otros arquivos, pero nun mos ocuparemos d'ellos equí. Estos arquivos son los únicos que se precisen pa xenerar un sistema funcional.
Par de llingües
Como s'alvirtiera nos nomes d'arquivu, esti tutorial emplega l'exemplu del par de llingües serbo-croata ya inglés pa desplicar como crear un sistema básicu. Esti nun ye un par ideal por mor de que'l sistema funciona meyor entre pares de llingües más averaes ente elles. Nun ye problema polo cenciello de los exemplos qu'equí s'amuesen.
Una breve nota so los términos
Dellos términos han comprendese primero de siguir.
El primeru ye «lema». Un lema ye'l mou de citar una pallabra. Ye daqué asina como'l raigañu d'una pallabra. Por exemplu el lema de la pallabra gatos ye «gatu». Nos nomes n'asturianu esti sedrá normalmente la forma en masculín singular de la pallabra en cuestión. Pa los verbos, el lema sedría l'infinitivu. P.e. el lema de «canciemos» sedría «canciar».
El segundu ye «símbolu». Nel contestu d'Apertium, símbolu refierse a la etiqueta gramatical. La pallabra gatos ye un nome plural, poro caltendrá el símbolu de nome y el símbolu de plural. Nos módulos d'entrada y salida d'Apertium éstes apaecen ente paréntesis angulaos (<,>), como sigue:
- <n>; pa nome.
- <pl>; pa plural.
Otros exemplos de símbolos son <sg>; singular, <p1> primer persona, <pri> presente d'indicativu, etc. Cuando apaecen ente paréntesis angulaos, los símbolos van venceyaos a etiquetes. Pue albidrase qu'en munchos de los pares de llingües disponibles anguaño les definiciones de símbolos son acrónimos o contraiciones de pallabres en catalán. Por exemplu, vbhaver — de vb (verbu) and haver («tener» en catalán). Los símbolos tán definíos nes etiquetes <sdef> y emplegaos en etiquetes <s>
El tercer términu ye «paradigma». Nel contestu d'Apertium el paradigma refierse al mou d'inflexón d'un grupu concretu de pallabres. Nel diccionariu morfolóxicu, los lemes (ver enriba) vencéyense a paradigmes que nos permiten desplicar como un lema dáu inflexiona ensin tener d'escribir toles terminaciones.
Un exemplu de la utilidá d'esto ye que si quixéramos amestar los dos axetivos «happy» y «lazy», en vez d'añedir dos paquetes de la mesma cosa:
- happy, happ (y, ier, iest)
- lazy, laz (y, ier, iest)
guardaríamos namás ún, y diríamos entós «lazy inflexona como happy», y ensin dubia «shy inflexona como happy», «naughty inflexona como happy», «friendly inflexona como happy», etc. Nesti exemplu, happy sedría'l paradigma, el modelu de referencia pol qu'otros inflexonen. La descripción precisa de como se define esto desplicarémosla llueu. Los paradigmes defínense n'etiquetes <pardef>, y enllázase a ellos n'etiquetes <par>.
Prepaŕandose pa entamar
Diccionarios monollingües
- Ver tamién: Incubator
Vamos a entamar creando'l nuesu primer diccionariu. El diccionariu ye un arquivu XML. Arranca'l to editor de testu y copia lo siguiente:
<?xml version="1.0" encoding="UTF-8"?> <dictionary> </dictionary>
Ello ye'l mou de dicir que queremos entamar un diccionariu. Pa que seya útil precisamos amestar delles entraes más, primero un alfabetu. Ello defín el conxuntu de lletres que va a usase nel diccionariu. Pal nuesu exemplu servo-croata sería daqué apaecío a lo que sigue, calteniendo toles lletres del alfabetu servo-croata:
<alphabet>ABCČĆDDžĐEFGHIJKLLjMNNjOPRSŠTUVZŽabcčćddžđefghijklljmnnjoprsštuvzž</alphabet>
Afita'l alfabetu embaxo la etiqueta <dictionary>.
Agora habemos definir dellos símbolos. Pa entamar colo más cenciello, nomes (n) en singular (sg) y plural (pl).
<sdefs> <sdef n="n"/> <sdef n="sg"/> <sdef n="pl"/> </sdefs>
Los nomes pa los símbolos nun tienen que ser tan curtios, pero polo práutico d'aforrar testu y tiempu tie sén l'acurtialos.
Desafortunadamente, nun ye tan cenciello, y los nomes en servo-croata inflexonen, amás d'en númberu, en xéneru y casu. Por embargu, pa la fin d'esti exemplu emplegaremos namás el nome en masculín y en casu nominativu (un exemplu completu pue atopase a lo cabero d'esti arquivu).
Lo siguiente ye definir una estaya pa los paradigmes,
<pardefs> </pardefs>
y otra estaya de diccionariu:
<section id="main" type="standard"> </section>
Hai dos tipos d'estayes: la del primer tipu ye una seición estándar que caltién pallabres, enclíticos, etc. La del segundu, ye una seición na que s'inclúi normalmente la puntuación y daqué cosa más. Nun apaez equí nenguna seición incondicional, magar que la veremos depués.
Poro, el nuesu arquivu tendrá un aspeutu apaecíu a:
<?xml version="1.0" encoding="UTF-8"?> <dictionary> <sdefs> <sdef n="n"/> <sdef n="sg"/> <sdef n="pl"/> </sdefs> <pardefs> </pardefs> <section id="main" type="standard"> </section> </dictionary>
Con estes yá tenemos la cadarma afitada y podemos entamar a amesta-y nomes. El nome en cuestión va ser «gramofon» (que quier dicir «tocadiscos» o «platu [xiradiscos]»).
Lo primero que tenemos que faer, por mor de que nun tenemos entá nengún paradigma, ye crear ún.
Hai remembrase que tamos asumiendo casu masculín y casu nominativu. La forma singular del nome ye «gramofon», y el plural ye «gramofoni». Asina:
<pardef n="gramofon__n"> <e> <p> <l/> <r><s n="n"/><s n="sg"/></r> </p> </e> <e> <p> <l>i</l> <r><s n="n"/><s n="pl"/></r> </p> </e> </pardef>
Nota: la etiqueta <l/> (equival a <l></l>) y denota que nun hai información extra qu'añedir pal singular.
De primeres pue paecer un mou poco claru de describir les coses, pero sides pa ello y la rapidez ye una d'elles. Tarás posiblemente naguando por saber qué son les etiquetes <e>,
, <l> y <r>. Bono,
- e, pa entrada.
- p, pa par.
- l, pa izquierda (en.left).
- r, pa drecha (en.right).
¿Por qué izquierda y drecha? Los diccionarios compilaranse depués en sistemes d'estáu definíu. Ello ye, compílense d'izquierda a drecha p'analizar les pallabres y de drecha a izquierda pa xenerar pallabres dende l'analís. Por exemplu.
* gramofoni (izquierda a drecha) gramofon<n><pl> (analís) * gramofon<n><pl> (drecha a izquierda) gramofoni (xeneración)
Agora que yá definimos el paradigma, tenemos de venceyalu al so lema, gramofon. Ponémoslo na estaya que creáramos.
La entrada a poner na estaya (<section>) será:
<e lm="gramofon"><i>gramofon</i><par n="gramofon__n"/></e>
Un gueyu rápidu a les abreviatures:
- lm, pa lema.
- i, pa identidá (lo que ta a la izquierda y a la drecha ye igual).
- par, pa paradigma.
Esta entrada defín el lema de la pallabra, gramofon, el raigañu, gramofon y el paradigma pol qu'inflexona gramofon__n. La diferencia ente lema y raigañu ye que'l lema ye'l mentáu de la pallabra mentantu que'l raigañu correspuende a lo qu'hai que quita-y al lema pa que se-y puedan amestar les terminaciones, ello ye, la parte invariable. Por exemplu en ast.gatu sedría «gat» (+u/a/os/es) y en ast.vaca «va» (+ca/ques). Tará más claro al ver depués dos entraes onde dambos, lema y raigañu seyan distintos.
Tamos yá preparaos pa probar el diccionariu. Grábalu y vamos llevalo pa la llínia de comandos. Necesitamos emprimar compilándolu (con lt-comp), depués probarémoslu (con lt-proc).
$ lt-comp lr apertium-sh-en.sh.dix sh-en.automorf.bin
Debería crear la salida:
main@standard 12 12
Al tar compilando d'izquierda a drecha creamos un analís. Vamos a crear una xeneración tamién.
$ lt-comp rl apertium-sh-en.sh.dix sh-en.autogen.bin
Nesti momentu el comandu debería crear la mesma salida.
Vamos a probalo. Cuerre lt-proc nel analizador.
$ lt-proc sh-en.automorf.bin
Agora prueba a escribir gramofoni (gramophones), y mira la salida:
^gramofoni/gramofon<n><pl>$
Y otra vuelta, pal diccionariu inglés, fai lo mismo, pero camuda la pallabra inglesa gramophone por gramofon, y camuda tamién la inflexón de plural. Pero ¿si quixeres emplegar más correutamente el términu «record player»? Desplicarémoslo depués.
Deberíes tener dos arquivos nel directoriu:
- apertium-sh-en.sh.dix que caltendría un diccionariu morfolóxicu serbo-croata (mui) básicu, y
- apertium-sh-en.en.dix que caltendría un diccionariu morfolóxicu inglés (mui) básicu.