Difference between revisions of "Diccionariu morfolóxicu"

From Apertium
Jump to navigation Jump to search
 
(10 intermediate revisions by 3 users not shown)
Line 26: Line 26:
 
</pre>
 
</pre>
   
La xente suel quexase de lo curties que son les etiquetes (como <sdef> por exemplu), pero amás los valores tamién suelen abreviase, y asina los nomes esprésense con "n", los verbos con "vb" y los axetivos con "adj" etc. (vea la [[llista de símbolos]] pa les abreviatures más comunes). Por embargu la brevedá sirve a un propósitu, que ye escribir eses etiquetes nel menor tiempu posible. Y ye que nun diccionariu hai munches entraes. Como referencia, <code><sdef></code> vien de "symbol definition" (definición de símbolu), y <code><sdefs></code> ye cenciellamente lo mesmo, pero en plural.
+
La xente suel quexase de lo curties que son les etiquetes (como <sdef> por exemplu), pero amás los valores tamién suelen abreviase, y asina los nomes esprésense con "n", los verbos con "vb" y los axetivos con "adj" etc. (vea la [[List of symbols]] pa les abreviatures más comunes). Por embargu la brevedá sirve a un propósitu, que ye escribir eses etiquetes nel menor tiempu posible. Y ye que nun diccionariu hai munches entraes. Como referencia, <code><sdef></code> vien de "symbol definition" (definición de símbolu), y <code><sdefs></code> ye cenciellamente lo mesmo, pero en plural.
   
 
Depués d'especificar l'alfabetu y los símbolos, necesitamos especificar lo más importante ¡les pallabres del diccionariu! P'axuntar les pallabres usamos una estaya. Nun diccionariu pue haber más d'una estaya, y estes puen ser amás de distinta mena. Nun vamos entrar en detalles equí, namás vamos dicir que la estaya más grande llámase "main" (principal) y que ye de tipu "standard" (estándar).
 
Depués d'especificar l'alfabetu y los símbolos, necesitamos especificar lo más importante ¡les pallabres del diccionariu! P'axuntar les pallabres usamos una estaya. Nun diccionariu pue haber más d'una estaya, y estes puen ser amás de distinta mena. Nun vamos entrar en detalles equí, namás vamos dicir que la estaya más grande llámase "main" (principal) y que ye de tipu "standard" (estándar).
Line 73: Line 73:
 
</pre>
 
</pre>
   
  +
Agora, precisa añedir tantes entraes d'esi tipu como formes superficiales haya na llingua, por embargu pescanciará que creae eses entraes pa "TOES" les pallabres d'una llingua ye una tarea imposible y eterna. La siguiente seición amosará como se pue evitar esto, pero n'esti intre yá tendríamos información abondo pa compilar el nuesu primer diccionariu:
Now, roughly, you need as many of these entries as there are surface forms in the language, however the astute among you will have realised that creating entries for ''all'' the words in the language is an impossible task. The next section will show how this can be avoided, but in the mean time we now have enough information to compile our first dictionary:
 
   
 
<pre>
 
<pre>
Line 101: Line 101:
 
</pre>
 
</pre>
   
  +
Les entraes d'enriba permitirannos recuperar les unidaes léxiques pa "beer" y "beers", y xenerar eses dos formes superficiales dende la mesma unidá léxica.
The entries above will enable us to retrieve the lexical units for "beer" and "beers", and generate these two surface forms from the same lexical units.
 
   
  +
El diccionariu ye funcional, pero ta fechu asina con propósitu divulgativu porque los archivos reales de diccionariu estrémense un poco d'esto, yá que definir cada pallabra d'un mou dafechu estremáu unes d'otres cuando siguen les mesmes regles ye dalgo bastante ineficiente.
The dictionary is functional, but is intended for teaching purposes, actual dictionary files look somewhat different, because defining each word completely separately from other words which follow the same rules is rather inefficient.
 
   
===Compilation===
+
===Compilación===
{{see-also|lttoolbox}}
+
{{Ver tamién|lttoolbox}}
Save this into a file called <code>dictionary.dix</code>, then we'll compile the dictionary into a binary form<ref>see [[Dictionaries]] for more complete information on the format</ref> using the tool <code>lt-comp</code>. The command takes three arguments, the first is "direction", then input file and output file. The "direction" option is important.
+
Grabe esto nun archivu llamáu <code>dictionary.dix</code>, y vamos compilar el diccionariu en forma binaria <ref> vea [[Dictionaries]] pa una información completa del fornatu</ref> emplegando la ferramienta <code>lt-comp</code>. La comanda tien tres argumentos, el primeru ye la direición, depués l'archivu d'entrada y l'archivu de salida. La opción "direición" ye mui importante.
   
If we specify the direction as "lr" (left → right), we get an analyser (that is, a dictionary that takes surface forms and outputs lexical units. If we specify the reverse ("rl", right → left), we get a generator, which takes lexical units and outputs surface forms. We might as well generate both:
+
Si especificamos la direición como "lr" (left → right), obtendremos un analizador (esto ye, un diccionariu que garra les formes superficiales y devuelve les unidaes léxiques). Si especificamos la direición nel otru sen ("rl", right → left), obtendremos el xenerador, que garra les unidaes léxiques y devuelve les formes superficiales. Debemos faer dambos:
   
 
<pre>
 
<pre>
Line 119: Line 119:
 
</pre>
 
</pre>
   
We can now use the dictionary to analyse the noun "beers":
+
Podemos agora usar el diccionariu p'analizar en nome "beers":
   
 
<pre>
 
<pre>
Line 126: Line 126:
 
</pre>
 
</pre>
   
  +
L'analís danos la forma superficial, siguida de la unidá léxica. Pongamos que queremos xenerar la forma superficial dende la unidá léxica, namás tenemos faer:
The analysis gives us the surface form, followed by the lexical unit. Say we want to generate the surface form from the lexical unit, we just do:
 
   
 
<pre>
 
<pre>
Line 133: Line 133:
 
</pre>
 
</pre>
   
==Paradigms==
+
==Paradigmes==
   
So, great, we have a dictionary and we can analyse and generate the two forms of the words "beer". But what happens when we want to add more words, say "school", or "computer". Well, one thing we could do is just add four more entries in the main section (one for each of "school", "schools", "computer" and "computers"). On the other hand, this would be pretty inefficient. Instead, we can generalise a rule, which in this case is "add ''-s'' to make the plural", using a ''paradigm'', which is literally, "an example serving as a model or pattern".
+
De mou que tenemos un diccionariu y podemos analizar y xenerar les dos formes de la pallabra "beer". Pero ¿qué pasa cuando queremos amestar más pallabres, por exemplu "school" o "computer"? Bien, una de les posibilidaes que tenemos ye añedir cuatro entraes más col mesmu sistema (una pa cauna de "school", "schools" y "computer", "computers"). D'otru llau esto sería abondo ineficiente. En vez d'eso podemos crear una regla, ello ye dalgo asina como dici-y al sistema qu'eses dos entraes nueves siguen el mesmu patrón que la entrada "beer" que yá tenemos añadida. N'esti casu sería dalgo como especificar que basta añedir "-s" pa xenerar los plurales. Pa ello emplegaremos un "paradigma", que ye lliteralmente "un exemplu que sirve de modelu o patrón".
   
In order to define paradigms, we typically take a word that can serve as an example for how other words inflect. In this case, we can say, "the words ''school'' and ''computer'' inflect like ''beer''".
+
Pa definir paradigmes garramos una pallabra que pue servir d'exemplu pa otres pallabres qu'inflexonen del mesmu mou. N'esti casu podemos dicir, "les pallabres "school" y "computer" inflexonen como "beer".
   
  +
Los paradigmes van nuna estaya nueva llamada <code><pardefs></code> (paradigm definitions) (definiciones de paradigma). Cada definición de paradigma tien que tener un atributu "id" (identificación), que contién un nome únicu. Pa esta identificación podría valir cualquier cosa, pero normalmente tien esta forma:
Paradigms go in a section called <code><pardefs></code> (paradigm definitions), below the <code><sdefs></code> and above the main section. They are defined in <code><pardef></code> (paradigm definition) elements. Each paradigm definition must have an attribute "id", which contains a unique name. This id can be anything, but conventionally takes the form of:
 
   
 
:<code><lemma>__<part of speech></code>, (e.g. <code>beer__n</code>)
 
:<code><lemma>__<part of speech></code>, (e.g. <code>beer__n</code>)
   
In order to make the lexical units for beer, beers, computer, computers, etc... we need to distinguish between the part of the surface form that doesn't change (the ''identical'' part), and the part that does change. In the example already given, it is quite straightforward that the identical part is always the singular form. However, this might not always be the case (e.g. "wolf, wolves" or "tooth, teeth").
+
Cola fin de crear les unidaes léxiques pa beer, beers, computer, computers, etc... precisamos distinguir ente la parte de la forma superficial que nun camuda, (la parte idéntica) y la parte que camuda. N'esti exemplu la parte idéntica sería la propia pallabra en singular. Por embargu nun siempre ye esti el casu (p.e. el plural de "wolf" ye "wolves" y el de "tooth", "teeth").
   
  +
Probablemente camentara que la definición del paradigma tendría un aspeutu asemeyáu a esti:
You probably guessed already what the paradigm definition is going to look like, so here it is:
 
   
 
<pre>
 
<pre>
Line 164: Line 164:
 
</pre>
 
</pre>
   
  +
La única parte que camudara ente eses dos entraes ye que la parte idéntica desapaeciera de dambos llaos del par.
The only thing that has changed between these two entries, and the first ones we made is that the ''identical'' part has been removed from both sides of the pair.
 
   
The paradigm definition goes into its own part of the dictionary, enclosed in <code><pardefs></code> tags, for example:
+
La definición de paradigmas afítase na so propia estaya del diccionariu, ente les etiquetes <code><pardefs></code>, por exemplu:
   
 
<pre>
 
<pre>
Line 176: Line 176:
 
</pre>
 
</pre>
   
  +
Podemos ver como casa esto nel restu del diccionariu embaxo:
We can see where this fits in with the rest of the dictionary below:
 
   
 
<pre>
 
<pre>
Line 199: Line 199:
 
</dictionary>
 
</dictionary>
 
</pre>
 
</pre>
  +
  +
==See also==
  +
  +
*[[Building dictionaries]]
  +
*[[Finding_errors_in_dictionaries]]
  +
*[[Cookbook]]
  +
*[[Chunking]]
  +
*[[Contributing to an existing pair]]
   
 
==Notes==
 
==Notes==
Line 204: Line 212:
   
 
[[Category:Documentation]]
 
[[Category:Documentation]]
  +
[[Category:Documentación n'asturianu]]

Latest revision as of 19:01, 17 February 2020

Venimos diciendo que'l formatu de los diccionarios Apertium son un poco anti-intuitivos, que ye yá abondo si nun solía pensar nos diccionarios d'un mou determináu. Esta páxina enfótase en tratar de ser un entamu "básicu" a cómo funcionen y a preparalu pa lleelos y escribilos.

Esta paxina entiende que nun-y incomoda ver HTML y XML, y poro entiende que ye a distinguir un elementu d'un atributu o lo que ye'l conteníu d'una etiqueta. Si necesita un repás rápidu, valga esti:

<etiqueta atributu="valor">conteníu</valor>

Si esto nun tien nen, debería lleer un poco más sobre XML.

Entamu[edit]

Poro, a mou xeneral, el diccionariu más básicu precisa tres estayes. Vamos, pasín al pasu, a definir un diccionariu qu'analizará y xenerará el términu inglés "beer" y la so forma plural "beers". La primer estaya defín l'alfabetu que se va emplegar col diccionariu. Esto ye cenciellamente auto-desplicativo. Tien esti aspeutu:

  <alphabet>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz</alphabet>

La segunda sición defín los símbolos gramaticales[1] de la llingua cola que ta trabayando. Equí ye onde la xente normalmente pue dicir, pero...¿qué son los signos gramaticales? Bono, hai milenta maneres de describir les pallabres y les distintes formes qu'estes puen garrar, asina qu'entiendo tamién que conoz cuáles son les "pieces de la llingua"[2]. Por exemplu: nomes (casa, cerveza, barcu, gatu...), pallabres que somos a estremar de los axetivos (colloráo, bono, tresparente...) y de los verbos (comer, multiplicar, escribir...). La manera d'especificar estes categoríes ye la siguiente:

  <sdefs>
    <sdef n="noun"/>
    <sdef n="verb"/>
    <sdef n="adjective"/>
  </sdefs>

La xente suel quexase de lo curties que son les etiquetes (como <sdef> por exemplu), pero amás los valores tamién suelen abreviase, y asina los nomes esprésense con "n", los verbos con "vb" y los axetivos con "adj" etc. (vea la List of symbols pa les abreviatures más comunes). Por embargu la brevedá sirve a un propósitu, que ye escribir eses etiquetes nel menor tiempu posible. Y ye que nun diccionariu hai munches entraes. Como referencia, <sdef> vien de "symbol definition" (definición de símbolu), y <sdefs> ye cenciellamente lo mesmo, pero en plural.

Depués d'especificar l'alfabetu y los símbolos, necesitamos especificar lo más importante ¡les pallabres del diccionariu! P'axuntar les pallabres usamos una estaya. Nun diccionariu pue haber más d'una estaya, y estes puen ser amás de distinta mena. Nun vamos entrar en detalles equí, namás vamos dicir que la estaya más grande llámase "main" (principal) y que ye de tipu "standard" (estándar).

  <section id="main" type="standard">

  </section>

El siguiente pasu ye añadi-y la primer entrada. Esto ye un poco más enguedeyao, pero nun hai problema...

Entraes[edit]

Los diccionarios monollingües d'Apertium son "morfolóxicos"[3], esto vien a dicir que nun son namás un contenedor de pallabres, sinon qu'algama tamién el como inflexonen, y lo que significa qu'inflexonen. N'Apertium emplegamos los diccionarios morfolóxicos pa dos coses:

  1. Analís — recuperando toles posibles unidaes léxiques dende la forma superficial d'una pallabra.
  2. Xeneración — produciendo la forma superficial d'una pallabra dende les unidaes léxiques.

Bono, agora vamos dexplicar el conceutu de "unidá léxica" y "forma superficial". Volvemos al exemplu col qu'entamábamos de "beer" y "beers". Sabemos que "beer" ye un nome. Tamién sabemos que ta en singular, porque pescanciamos que la diferencia ente "beer" y "beers" ye que la segunda ta en plural. Asina, resumiendo esti conocimientu, atopamos dos fechos:

  1. beer — ye un nome singular,
  2. beers — ya la forma plural del nome "beer".

A lo que llamamos "unidá léxica" ye a la combinación d'un lema[4], "beer" y los símbolos gramaticales. La forma superficial d'una pallabra ye la pallabra como pue lleese.[5]. Al estilu Apertium esto representaríase asemeyao a esto:


Forma superficial Unidá léxica
beer beer<noum><singular>
beers beer<noun><plural>

Cola fin de qu'estes dos pallabres tean vinculaes y seyan a tresformase ente elles, tenemos que definiles como par. Los pares de les unidaes superficial y de les unidaes léxiques n'Apertium señálense cola etiqueta <p>. Esto ye abondo intuitivo ¡en cuantes s'avece a la etiqueta! Esti par d'elementos debe contener un llau izquierdu (left) (<l>) y un llau drechu (right) (<r>). El llau izquierdu contién casi siempre la forma superficial de la pallabra, mentantu que'l drechu contién la unidá léxica. Asina, la nuesa primer entrada (<e>) tendría esti aspeutu:

    <e>
      <p>
        <l>beer</l>
        <r>beer<s n="noun"/><s n="singular"/></r>
      </p>
    </e>

Agora, precisa añedir tantes entraes d'esi tipu como formes superficiales haya na llingua, por embargu pescanciará que creae eses entraes pa "TOES" les pallabres d'una llingua ye una tarea imposible y eterna. La siguiente seición amosará como se pue evitar esto, pero n'esti intre yá tendríamos información abondo pa compilar el nuesu primer diccionariu:

<dictionary>
  <alphabet>abcdefghijklmnopqrstuvwxyz</alphabet>
  <sdefs>
    <sdef n="noun"/>
    <sdef n="singular"/>
    <sdef n="plural"/>
  </sdefs>

  <section id="main" type="standard">
    <e>
      <p>
        <l>beer</l>
        <r>beer<s n="noun"/><s n="singular"/></r>
      </p>
    </e>
    <e>
      <p>
        <l>beers</l>
        <r>beer<s n="noun"/><s n="plural"/></r>
      </p>
    </e>
  </section>
</dictionary>

Les entraes d'enriba permitirannos recuperar les unidaes léxiques pa "beer" y "beers", y xenerar eses dos formes superficiales dende la mesma unidá léxica.

El diccionariu ye funcional, pero ta fechu asina con propósitu divulgativu porque los archivos reales de diccionariu estrémense un poco d'esto, yá que definir cada pallabra d'un mou dafechu estremáu unes d'otres cuando siguen les mesmes regles ye dalgo bastante ineficiente.

Compilación[edit]

Ver tamién: lttoolbox

Grabe esto nun archivu llamáu dictionary.dix, y vamos compilar el diccionariu en forma binaria [6] emplegando la ferramienta lt-comp. La comanda tien tres argumentos, el primeru ye la direición, depués l'archivu d'entrada y l'archivu de salida. La opción "direición" ye mui importante.

Si especificamos la direición como "lr" (left → right), obtendremos un analizador (esto ye, un diccionariu que garra les formes superficiales y devuelve les unidaes léxiques). Si especificamos la direición nel otru sen ("rl", right → left), obtendremos el xenerador, que garra les unidaes léxiques y devuelve les formes superficiales. Debemos faer dambos:

$ lt-comp lr dictionary.dix analyser.bin
main@standard 7 6

$ lt-comp rl dictionary.dix generator.bin
main@standard 7 6

Podemos agora usar el diccionariu p'analizar en nome "beers":

$ echo "beers" | lt-proc analyser.bin
^beers/beer<noun><plural>$

L'analís danos la forma superficial, siguida de la unidá léxica. Pongamos que queremos xenerar la forma superficial dende la unidá léxica, namás tenemos faer:

$ echo "^beer<noun><plural>$" | lt-proc -g generator.bin
beers

Paradigmes[edit]

De mou que yá tenemos un diccionariu y podemos analizar y xenerar les dos formes de la pallabra "beer". Pero ¿qué pasa cuando queremos amestar más pallabres, por exemplu "school" o "computer"? Bien, una de les posibilidaes que tenemos ye añedir cuatro entraes más col mesmu sistema (una pa cauna de "school", "schools" y "computer", "computers"). D'otru llau esto sería abondo ineficiente. En vez d'eso podemos crear una regla, ello ye dalgo asina como dici-y al sistema qu'eses dos entraes nueves siguen el mesmu patrón que la entrada "beer" que yá tenemos añadida. N'esti casu sería dalgo como especificar que basta añedir "-s" pa xenerar los plurales. Pa ello emplegaremos un "paradigma", que ye lliteralmente "un exemplu que sirve de modelu o patrón".

Pa definir paradigmes garramos una pallabra que pue servir d'exemplu pa otres pallabres qu'inflexonen del mesmu mou. N'esti casu podemos dicir, "les pallabres "school" y "computer" inflexonen como "beer".

Los paradigmes van nuna estaya nueva llamada <pardefs> (paradigm definitions) (definiciones de paradigma). Cada definición de paradigma tien que tener un atributu "id" (identificación), que contién un nome únicu. Pa esta identificación podría valir cualquier cosa, pero normalmente tien esta forma:

<lemma>__<part of speech>, (e.g. beer__n)

Cola fin de crear les unidaes léxiques pa beer, beers, computer, computers, etc... precisamos distinguir ente la parte de la forma superficial que nun camuda, (la parte idéntica) y la parte que camuda. N'esti exemplu la parte idéntica sería la propia pallabra en singular. Por embargu nun siempre ye esti el casu (p.e. el plural de "wolf" ye "wolves" y el de "tooth", "teeth").

Probablemente camentara que la definición del paradigma tendría un aspeutu asemeyáu a esti:

    <pardef n="beer__n">
      <e>
        <p>
          <l/>
          <r><s n="noun"/><s n="singular"/></r>
        </p>
      </e>
      <e>
        <p>
          <l>s</l>
          <r><s n="noun"/><s n="plural"/></r>
        </p>
      </e>
    </pardef>

La única parte que camudara ente eses dos entraes ye que la parte idéntica desapaeciera de dambos llaos del par.

La definición de paradigmas afítase na so propia estaya del diccionariu, ente les etiquetes <pardefs>, por exemplu:

  <pardefs>

    ...  

  </pardefs>

Podemos ver como casa esto nel restu del diccionariu embaxo:

<dictionary>
  <alphabet>abcdefghijklmnopqrstuvwxyz</alphabet>
  <sdefs>

   ...

  </sdefs>
  <pardefs>

    ...  

  </pardefs>
  <section id="main" type="standard">
    <e lm="beer"><i>beer</i><par n="beer__n"/></e>
    <e lm="school"><i>school</i><par n="beer__n"/></e>
    <e lm="computer"><i>computer</i><par n="beer__n"/></e>
    <e lm="house"><i>house</i><par n="beer__n"/></e>
  </section>
</dictionary>

See also[edit]

Notes[edit]

  1. N'otros testos de llingüística suel faese referencia a ellos como "clases" o "categoríes" y "sub-clases".
  2. Una pieza de la llingua (o categoría léxica, clas de pallabra, clase léxica, etc.) ye una categoría llingüística de pallabres, que xeneralmente se defín pol comportamientu morfolóxicu o sintáuticu de la pallabra en cuestión. Ente les categoríes llingüístiques más comunes suelen tar verbos, nomes y otres. Hai amás clases abiertes de pallabres, que algamen nuevos miembros, y clases zarraes, qu'algamen miembros mui poques vegaes.
  3. El diccionariu morfolóxicu controla les regles que gobiernen la estructura interna de les pallabres d'una llingua. Por exemplu, los asturfalantes camienten que "perru" y "perros" son pallabres rellacionaes, y que "perros" ye a "perru" lo que "gatos" ye a "gatu". Les regles qu'entienden los falantes reflexen unos determinaos patrones y regularidaes sobre'l mou en que les pallabres fórmense por unidaes pequeñes qu'interactúen
  4. El lema (o forma de citación, forma base) ye la forma canónica d'una pallabra. Ye la forma d'una pallabra que s'emplega normalmente como entrada nun diccionariu de papel.
  5. Les formes superficiales puen ser ambigües, pero les unidaes léxiques non. Una forma superficial pue tener dellos analises. Por exemplu "cura" pue ser verbu ("Cúra-y la ferida"), o nome ("L'otru día vi un cura").
  6. vea Dictionaries pa una información completa del fornatu