Difference between revisions of "Comment contribuer à une paire de langues existante"

From Apertium
Jump to navigation Jump to search
(New page: {{TOCD}} Comment ajouter des données linguistiques à une paire des langues existantes à Apertium. Apertium a des données pour beaucoup de paires de langues. Ces données linguistiques...)
 
Line 4: Line 4:
   
 
Toutes ces données linguistiques sont compris dans un seul répertoire. Par exemple, <code>apertium-es-ca</code> pour la paire espagnol-catalan. À continuation, les fichiers que vous pouvez trouver dans ce répertoire sont décrites.
 
Toutes ces données linguistiques sont compris dans un seul répertoire. Par exemple, <code>apertium-es-ca</code> pour la paire espagnol-catalan. À continuation, les fichiers que vous pouvez trouver dans ce répertoire sont décrites.
  +
  +
  +
==Exemple d'édition des fichiers==
  +
  +
===Apertium 1===
  +
  +
  +
Pour la paire espagnol-catalan (apertium-es-ca):
  +
  +
* apertium-es-ca.es.dix : Dictionnaire monolingue espagnol, ayant 11,800 entrées (depuis le 17 novembre 2005)
  +
* apertium-es-ca.ca.dix : Dictionnaire monolingue catalan, ayant 11,800 entrées.
  +
* apertium-es-ca.es-ca.dix : Dictionnaire bilingue espagnol-catalan, ayant 12,800 entrées (correspondences espagnol-catalan).
  +
* apertium-es-ca.trules-es-ca.xml : Règles de transfert structural pour la traduction de l'espagnol au catalan.
  +
* apertium-es-ca.trules-ca-es.xml : Règles de transfert structural pour la traduction du catalan à l'espagnol.
  +
* apertium-es-ca.es.tsx : Fichier de définition du tagger pour l'espagnol
  +
* apertium-es-ca.ca.tsx : Fichier de définition du tagger pour le catalan
  +
* apertium-es-ca.post-es.dix : Dictionnaire de post-génération pour l'espagnol, avec 25 entrées et 5 paradigmes (demandés au moment de traduire du catalan à l'espagnol)
  +
* apertium-es-ca.post-ca.dix : Dictionnaire de post-génération pour le catalan, avec 16 entrées et 57 paradigmes (demandés au moment de traduire de l'espagnol au catalan)
  +
* répertoire es-tagger-data : Ayant les données nécessaires pour le tagger espagnol (corpus, etc.)
  +
* répertoire ca-tagger-data : Ayant les données nécessaires pour le tagger catalan (corpus, etc.)
  +
  +
  +
== Comment ajouter des mots dans les dictionnaires ==
  +
  +
Lorsqu'Apertium est développé ou adapté, l'opération qui sera probablement réalisée, sera développer ses dictionnaires. En fait, il sera beaucoup plus commun que l'ajout des règles de transfert ou de post-génération.
  +
  +
IMPORTANT: À chaque fois que les modifications d'un groupe sont faites pour chaque dictionnaire, les modules doivent être compilés à nouveau. Tapez make dans le répertoire où les données linguistiques sont gardées (apertium-es-ca, apertium-es-gl ou ce qui peut être applicable) pour que le système génère des nouveaux fichiers binaires.
  +
  +
Si vous voulez ajouter un nouveau mot à Apertium, vous devez ajouter trois entrées dans les dictionnaires. Supposons que vous travaillez avec la paire espagnol-catalan. Dans ce cas, vous devez ajouter:
  +
  +
  +
# une entrée dans le dictionnaire monolingue espagnol: pour que le traducteur puisse analyser ("comprendre") le mot lorsqu'il le trouve dans un texte, et le générer lorsqu'il va le traduire vers l'espagnol.
  +
# une entrée dans le dictionnaire bilingue: pour que vous puissiez dire à Apertium comment traduire ce mot d'une langue à l'autre.
  +
# une entrée dans le dictionnaire monolingue catalan: pour que le traducteur puisse analyser ("comprendre") le mot lorsqu'il le trouve dans un texte, et le générer lorsqu'il va le traduire vers le catalan.
  +
  +
Vous devrez aller au répertoire ayant les dictionnaires XML (pour la paire espagnol-catalan, c'est apertium-es-ca) et ouvrez avec un éditeur de texte ou un éditeur XML spécialisé les trois fichiers des dictionnaires précités: apertium-es-ca.es.dix, apertium-es-ca.es-ca.dix and apertium-es-ca.ca.dix. Les entrées que vous devez créér dans ces trois dictionnaires partagent une structure commune.
  +
  +
  +
== Dictionnaire monolingue (Espagnol) ==
  +
  +
Vous voulez, par exemple, ajouter l'adjectif espagnol « cósmico », dont l'équivalent en catalan est « còsmic ». La première étape est d'ajouter ce mot dans le dictionnaire monolingue espagnol. Vous pouvez constater qu'un dictionnaire monolingue a essentiellement deux types des données: les paradigmes (dans la section "<pardefs>" du dictionnaire, chaque paradigme dans un élément <pardef>) et les entrées des mots (dans la <section> « main » du dictionnaire, chacune dans un élément <e>). Les entrées des mots sont des lemmes (cela représente le mot tel que vous le trouveriez dans un dictionnaire typique en papier) plus l'information grammaticale; les paradigmes contiennent les données d'inflexion de toutes les lemmes dans le dictionnaire. Vous pouvez trouver un mot en particulier en cherchant la séquence lm="mot" (lm signifie lemme). (L'élément lm est optionnel et d'autres dictionnaires peuvent ne pas l'avoir).
  +
Regardez les entrées des mots dans le dictionnaire monolingue espagnol, par exemple, l'entrée de l'adjectif « bonito ». Vous pouvez la trouver en cherchant lm=« bonito »:
  +
  +
<e lm="bonito">
  +
<i>bonit</i>
  +
<par n="absolut/o__adj"/>
  +
</e>
  +
Pour ajouter un mot, vous devrez créer une entrée avec la même structure. La partie entre <i> et </i> contient le préfixe du mot ce qui est commun pour toutes les formes infléchies, et l'élément <par> fait référence à l'inflexion du paradigme de ce mot. Par conséquent, cette entrée signifie que l'adjectif « bonito » infléchit tout comme l'adjectif « absoluto » ayant la même analyse morphologique: les formes bonito, bonita, bonitos, bonitas sont équivalentes aux formes absoluto, absoluta, absolutos, absolutas ayant l'analyse morphologique: adj m sg, adj f sg, adj m pl and adj f pl respectivement.
  +
Maintenant, vous devez décider quelle est la catégorie lexicale du mot que vous voulez ajouter. Le mot « cósmico » est un adjectif comme « bonito ». Par la suite, vous devez trouver le paradigme approprié pour cet adjectif. A-t-il la même inflexion que « bonito » et « absoluto »? Pouvez-vous dire cósmico, cósmica, cósmicos, cósmicas? La réponse est oui. Avec toute cette information vous pouvez maintenant créer l'entrée correcte:
  +
  +
<e lm="cósmico">
  +
<i>cósmic</i>
  +
<par n="absolut/o__adj"/>
  +
</e>
  +
  +
Si le mot que vous voulez ajouter a un paradigme différent, vous devez le chercher dans le dictionnaire et l'assigner à l'entrée. Vous avez deux chemins pour trouver le paradigme approprié: soit en regardant la section <pardefs> du dictionnaire, où tous les paradigmes sont définis dans un élément <pardefs>, soit en cherchant un autre mot qui pourrait déjà exister dans le dictionnaire ayant la même inflexion du paradigme que le mot à ajouter. Par exemple, si vous voulez ajouter le mot « genoma » vous devez trouver un paradigme approprié pour un nom dont le genre est masculin et qui fait sont pluriel en ajoutant un -s. Ce sera le paradigme « abismo_n » dans notre dictionnaire actuel. Par conséquent, l'entrée de ce nouveau mot serait:
  +
  +
<pre>
  +
<e lm="genoma">
  +
<i>genoma</i>
  +
<par n="abismo__n"/>
  +
</e>
  +
</pre>
  +
  +
Dans des cas exceptionnels vous devrez créer un nouveau paradigme pour un certain mot . Vous pouvez regardez la structure d'autres paradigmes et en créer un correctement. Pour une description plus détaillée des paradigmes et des entrées des mots dans les dictionnaires, consultez la section 3.1.2 de la documentation du système.
  +
  +
  +
== Dictionnaire monolingue (Catalan) ==
  +
  +
  +
Une fois que vous avez ajouté le mot dans un dictionnaire monolingue, vous devez le refaire dans l'autre dictionnaire monolingue de la paire de traduction (dans notre exemple, le dictionnaire monolingue catalan) en utilisant la même structure. Le résultat serait:
  +
  +
<pre>
  +
<e lm="còsmic">
  +
<i>còsmi</i>
  +
<par n="acadèmi/c__adj"/>
  +
</e>
  +
</pre>
  +
  +
  +
== Dictionnaire monolingue (Galicien) ==
  +
  +
Au cas où vous essayez d'améliorer les dictionnaires XML pour la paire espagnol-galicien, vous devrez vous adresser au répertoire apertium-es-gl et vous devrez ouvrir avec un éditeur de texte ou avec un éditeur XML spécialisé les trois fichiers des dictionnaires apertium-es-gl.es.dix, apertium-es-gl.es-gl.dix and apertium-es-gl.gl.dix. Dans ce cas, une fois que vous avez ajouté le nouveau mot espagnol « genoma » dans le dictionnaire monolingue espagnol (apertium-es-gl.es.dix), vous devez ajouter le mot galicien équivalent « xenoma » dans le dictionnaire monolingue galicien (apertium-es-gl.gl.dix), ce serait:
  +
  +
<pre>
  +
<e lm="xenoma">
  +
<i>xenoma</i>
  +
<par n="Xulio__n"/>
  +
</e>
  +
</pre>
  +
  +
== Dictionnaire bilingue ==
  +
  +
La dernière étape consiste à ajouter la traduction dans le dictionnaire bilingue. Normalement, un dictionnaire bilingue n'a pas de paradigmes, mais des lemmes. Une entrée contient seulement le lemme dans les deux langues et le premier symbole grammatical (la catégorie lexicale) de chacun.
  +
  +
Les entrées ont un côté gauche (<l>) et un côté droit (<r>), et chaque langue doit toujours se placer dans la même position: dans notre système, il a été convenu que l'espagnol occupe le côté gauche et que le catalan, le galicien et le portugais occupent le côté droit. Une fois que le « côté » a été convenu dans le système, il a fallu observer les dictionnaires en entière pour que la traduction fonctionne.
  +
  +
En ajoutant le lemme de deux mots, le système traduira toutes les formes infléchies (les symboles grammaticaux sont copiés du mot de la langue de départ au mot de la langue d'arrivée. Cela fonctionnera seulement si le mot de la langue de départ et le mot de la langue d'arrivée sont grammaticalement équivalents, c'est-à-dire, s'ils partagent exactement les mêmes symboles morphologiques pour toutes leurs formes infléchies. C'est le cas de notre exemple; par conséquent, l'entrée que vous devez ajouter dans les dictionnaire bilingue est:
  +
<pre>
  +
<e>
  +
<p>
  +
<l>cósmico<s n="adj"/></l>
  +
<r>còsmic<s n="adj"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Cette entrée traduira toutes les formes infléchies, c'est-à-dire, <i>adj m sg</i>, <i>adj f sg</i>, <i>adj m pl</i> and <i>adj f pl</i>. Cela fonctionne pour la traduction dans les deux directions: de l'espagnol au catalan et du catalan à l'espagnol.
  +
  +
Dans le cas de la paire espagnol-galicien, l'entrée bilingue suivante dans le dictionnaire bilingue espagnol-galicien (apertium-es-gl.es-gl) traduira toutes les formes infléchies pour les mots équivalents </i>genoma/xenoma</i> dans les deux directions, c'est-à-dire, de l'espagnol au galicien et du galicien à l'espagnol:
  +
  +
<pre>
  +
<e>
  +
<p>
  +
<l>genoma<s n="n"/></l>
  +
<r>xenoma<s n="n"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Qu'est-ce qu'on doit faire si la paire de mots n'est pas équivalente grammaticalement (leurs symboles grammaticaux ne sont pas exactement les mêmes)? Dans ce cas, vous devez préciser tous les symboles grammaticaux (dans le même ordre qu'ils sont précisés dans les dictionnaires monolingues) jusqu'à ce que vous trouvez le symbole qui diffère parmi le mot de la langue de départ et le mot de la langue d'arrivée. Par exemple, le nom espagnol « limón » est masculin et son équivalent en catalan, « llimona » est féminin. L'entrée dans le dictionnaire bilingue doit être:
  +
  +
<pre>
  +
<e>
  +
<p>
  +
<l>limón<s n="n"/><s n="m"/></l>
  +
<r>llimona<s n="n"/><s n="f"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Un problème plus compliqué surgit lorsque deux mots ont des symboles grammaticaux différents et l'information grammaticale du mot de la langue de départ n'est pas suffisante pour déterminer le genre (masculin ou féminin) ou le nombre (singulier ou pluriel) du mot de la langue d'arrivée. Prenez à titre d'exemple l'adjectif espagnol « canadiense ». Son genre est (masculin-féminin) et il reste invariable, c'est-à-dire, il peut suivre soit un nom masculin, soit un nom féminin (hombre canadiense, mujer canadiense). De l'autre côté, en catalan l'adjectif a une inflexion différente pour le masculin et le féminin (home canadenc, dona canadenca). Par conséquent, lorsqu'on traduit de l'espagnol au catalan il n'est pas possible à savoir si l'adjectif espagnol (mf) doit être traduit comme un adjectif féminin ou masculin au catalan, sans regarder le mot qui l'accompagne. Dans ce cas, le symbole « GD » (« genre à déterminer ») est utilisé au lieu du symbole de genre. Le genre des mots sera déterminé par le module de transfert structural, moyennant une règle de transfert (une règle qui détecte le genre du nom précédent dans ce cas précis).
  +
  +
Par conséquent, « GD » doit être employé seulement lorsqu'on traduit de l'espagnol au catalan, mais pas du tout lorsqu'on traduit du catalan à l'espagnol, étant donné qu'en espagnol le genre sera toujours « mf » quoi qu'il en soit le genre du mot original.
  +
  +
Dans le dictionnaire bilingue vous devrez ajouter, dans ce cas, plusieurs entrées avec des indications directionnelles, puisque vous devez préciser dans quelle direction de traduction le genre reste indéterminé. Les entrées pour cet adjectif seraient:
  +
  +
<pre>
  +
<e r="LR">
  +
<p>
  +
<l>canadiense<s n="adj"/><s n="mf"/></l>
  +
<r>canadenc<s n="adj"/><s n="GD"/></r>
  +
</p>
  +
</e>
  +
<e r="RL">
  +
<p>
  +
<l>canadiense<s n="adj"/><s n="mf"/></l>
  +
<r>canadenc<s n="adj"/><s n="f"/></r>
  +
</p>
  +
</e>
  +
<e r="RL">
  +
<p>
  +
<l>canadiense<s n="adj"/><s n="mf"/></l>
  +
<r>canadenc<s n="adj"/><s n="m"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
« LR » signifie « left to right » (de gauche à droite), et « RL », « right to left » (de droite à gauche). Comme l'espagnol est à droite et le catalan à gauche, l'adjectif sera « GD » seulement lorsqu'on traduit de l'espagnol au catalan (« LR »). Pour la traduction « RL » vous devez créer deux entrées, l'une pour l'adjectif féminin et l'autre pour l'adjectif masculin.
  +
  +
Le même principe est appliqué lorsqu'il n'est pas possible de déterminer le nombre (singulier ou pluriel) du mot d'arrivée à cause des raisons indiquées ci-dessus. Par exemple, le nom espagnol « rascacielos » (gratte-ciel) est invariable en nombre, c'est-à-dire, il peut être singulier ainsi que pluriel (<i>un rascacielos, dos rascacielos</i>). En catalan, d'un autre côté, le nom a une inflexion différente pour le singulier et pour le pluriel (<i>un gratacel, dos gratacels</i>). Dans ce cas, le symbole utilisé est « ND » (« nombre à déterminer ») et les entrées seraient comme celle-ci:
  +
  +
<pre>
  +
<e r="LR">
  +
<p>
  +
<l>rascacielos<s n="n"/><s n="m"/><s n="sp"/></l>
  +
<r>gratacel<s n="n"/><s n="m"/><s n="ND"/></r>
  +
</p>
  +
</e>
  +
<e r="RL">
  +
<p>
  +
<l>rascacielos<s n="n"/><s n="m"/><s n="sp"/></l>
  +
<r>gratacel<s n="n"/><s n="m"/><s n="pl"/></r>
  +
</p>
  +
</e>
  +
<e r="RL">
  +
<p>
  +
<l>rascacielos<s n="n"/><s n="m"/><s n="sp"/></l>
  +
<r>gratacel<s n="n"/><s n="m"/><s n="sg"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Pour une description plus détaillée de ce type d'entrée, consultez la section 3.1.2.4.2 de la documentation du système.
  +
  +
  +
== Comment ajouter des restrictions directionnelles ==
  +
  +
Dans l'exemple précédent nous avons déjà vu l'utilisation des restrictions directionnelles pour des entrées avec le genre et le nombre indéterminés (« GD » ou « ND »). Les restrictions peuvent être également faites dans d'autres cas. Il est important de noter que la version actuelle d'Apertium ne peut fournir qu'un équivalent pour chaque forme lexicale de la langue de départ (une forme lexicale est le lemme plus son information grammaticale), c'est-à-dire, la désambiguation du sens du mot n'est pas réalisée. [Note: Le système ne réalise que la désambiguation de la partie du discours pour les mots homographes, c'est-à-dire, pour des mots ambigus qui peuvent être analysés à plusieurs formes lexicales, comme « vino » en espagnol, qui peut signifier « vin » ainsi que « il vint - il/elle est venu/e ». Ce type de désambiguation est réalisée par le tagger.] Lorsqu'un lemme peut être traduit de deux ou plusieurs façons, il faut en choisir une (la plus générale, la plus fréquente,etc.). Vous pouvez dire à Apertium qu'un certain mot doit être compris (analysé) mais pas généré, car ce n'est pas la traduction d'un lemme de la langue de départ.
  +
  +
Nous allons voir cela avec un exemple. Le mot espagnol « muñeca » peut être traduit en catalan de deux façons différentes selon le sens: « canell » (poignet) ou « nina » (poupée). Le contexte décide quelle traduction est la correcte, mais Apertium, dans son état actuel, ne peut pas prendre une telle décision (regardez, cependant, à la section des unités multimots pour voir comment éviter ce problème). Par conséquent, vous devez décider le mot équivalent lorsqu'on traduit de l'espagnol au catalan. Du catalan à l'espagnol, les deux mots peuvent être traduits
  +
comme « muñeca » sans aucun problème. Vous devez préciser toutes ces circonstances dans les entrées du dictionnaire en utilisant des restrictions directionnelles (« LR » qui signifie « left to right », c'est-à-dire, espagnol-catalan, et « RL » qui signifie « right to left », c'est-à-dire, catalan-espagnol). Si vous décidez de traduire « muñeca » comme « canell » dans tous les cas, les entrées dans le dictionnaire bilingue seraient:
  +
  +
<pre>
  +
<e>
  +
<p>
  +
<l>muñeca<s n="n"/><s n="f"/></l>
  +
<r>canell<s n="n"/><s n="m"/></r>
  +
</p>
  +
</e>
  +
  +
<e r="RL">
  +
<p>
  +
<l>muñeca<s n="n"/></l>
  +
<r>nina<s n="n"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Cela veut dire que les directions de traduction seront:
  +
  +
muñeca --> canell
  +
muñeca <-- canell
  +
muñeca <-- nina
  +
  +
(Notez qu'il y a aussi un changement de genre dans le cas de « muñeca » (féminin) et « canell » (masculin))
  +
  +
Il doit être souligné qu'un lemme ne peut pas avoir deux traductions dans la langue d'arrivée, parce que le système produirait une erreur lorsqu'on traduit ce lemme (consultez la section « Comment détecter les erreurs » ci-dessous pour voir comment trouver et corriger ces erreurs et d'autres types d'erreurs). Lorsqu'un mot peut être traduit de deux façons différentes dans la langue d'arrivée quelque soit le contexte, vous devez en choisir un comme l'équivalent de traduction et en laisser l'autre comme un lemme qui peut être analysé, mais pas généré, en utilisant des restrictions directionnelles comme dans l'exemple précédent. Par exemple, les lemmes catalans « mot » et « paraula » peuvent être traduits à l'espagnol comme « palabra » (mot), donc l'entrée dans le dictionnaire bilingue serait:
  +
  +
<pre>
  +
<e>
  +
<p>
  +
<l>palabra<s n="n"/></l>
  +
<r>paraula<s n="n"/></r>
  +
</p>
  +
</e>
  +
<e r="RL">
  +
<p>
  +
<l>palabra<s n="n"/><s n="f"/></l>
  +
<r>mot<s n="n"/><s n="m"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Par conséquent, pour ces lemmes les directions de traduction seront:
  +
  +
palabra --> paraula
  +
palabra <-- paraula
  +
palabra <-- mot
  +
  +
Quelqu'un doit aussi préciser les restrictions concernant la direction de traduction dans le dictionnaire monolingue. Par exemple, les deux formes espagnoles « cantaran » ou « cantasen » sont analysées comme « cantar », verbe, subjonctif imparfait, 3ème personne du pluriel, mais lorsqu'on génère le texte en espagnol, quelqu'un doit décider quelle forme va être généré. Les dictionnaires monolingues sont lus dans les deux directions selon leur but: pour l'analyse, la direction de lecture est de gauche à droite; pour la génération, de droite à gauche. Par conséquent, le mot qui doit être analysé, mais pas généré, doit avoir la restriction « LR », et le mot qui doit être généré, mais pas analysé, doit avoir la restriction « RL ».
  +
  +
  +
== Comment ajouter des multimots ==
  +
  +
Il est possible de créer des entrées constituées de deux ou plusieurs mots, à condition que ces mots puissent construire une seule « unité de traduction ».
  +
Ces « unités multimots » peuvent aussi être utiles lorsqu'il faut choisir l'équivalent correct pour un mot dans une expression fixe. Par exemple, le mot espagnol « dirección » peut être traduit de deux façons au catalan: « direcció » (direction, management) et «adreça» (adresse); il peut constituer, par exemple, des unités multimots fréquentes telles que « dirección general » --> « direcció general » (direction générale) et « dirección postal » --> « adreça postal » (adresse postale). Ceci peut nous aider à obtenir une meilleure traduction dans quelques situations.
  +
  +
Les unités multimots peuvent être catégorisées comme: des multimots avec une inflexion interne et des multimots sans une inflexion interne.
  +
  +
Les multimots sans une inflexion interne sont comme les entrées d'un mot, mais il faut insérer l'élément <b/> (qui représente un blanc) entre les mots qui composent l'unité. Par conséquent, si vous voulez ajouter, par exemple, le multimot espagnol « hoy en día » (aujourd'hui), dont l'équivalent en catalan est « avui dia », les entrées que vous devez ajouter dans les trois dictionnaires sont:
  +
  +
  +
* Dictionnaire monolingue espagnol:
  +
  +
<pre>
  +
<e lm="hoy en día">
  +
<i>hoy<b/>en<b/>día</i>
  +
<par n="ahora__adv"/>
  +
</e>
  +
</pre>
  +
  +
* Dictionnaire monolingue catalan:
  +
  +
<pre>
  +
<e lm="avui dia">
  +
<i>avui<b/>dia</i>
  +
<par n="ahir__adv"/>
  +
</e>
  +
</pre>
  +
  +
* Dictionnaire bilingue espagnol-catalan:
  +
  +
<pre>
  +
<e>
  +
<p>
  +
<l>hoy<b/>en<b/>día<s n="adv"/></l>
  +
<r>avui<b/>dia<s n="adv"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Pour la paire espagnol-galicien, si vous voulez ajouter, par exemple, le multimot espagnol « manga por hombro » (être sens dessus dessous) dont l'équivalent en galicien est « sen xeito nin modo ». Les entrées que vous devez ajouter sont:
  +
  +
* Dictionnaire monolingue espagnol:
  +
  +
<pre>
  +
<e lm="manga por hombro">
  +
<i>manga<b/>por<b/>hombro</i>
  +
<par n="abajo__adv"/>
  +
</e>
  +
</pre>
  +
  +
* Dictionnaire monolingue galicien:
  +
  +
<pre>
  +
<e lm="sen xeito nin modo">
  +
<i>sen<b/>xeito<b/>nin<b/>modo</i>
  +
<par n="Deo_gratias__adv"/>
  +
</e>
  +
</pre>
  +
  +
* Dictionnaire bilingue espagnol-galicien:
  +
  +
<pre>
  +
<e>
  +
<p>
  +
<l>manga<b/>por<b/>hombro<s n="adv"/></l>
  +
<r>sen<b/>xeito<b/>nin<b/>modo<s n="adv"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
Les multimots avec une inflexion interne sont constitués d'un mot qui peut infléchir (normalement un verbe) et d'un élément invariable. Pour ces entrées vous devez préciser le paradigme d'inflexion juste après le mot qui infléchit. La partie invariable doit être marquée avec l'élément <g> dans le côté droit. Les blancs entre les mots sont indiqués, comme dans le cas précédent, avec l'élément <b/>. Regardez l'exemple suivant pour le multimot espagnol « echar de menos » (manquer), traduit au catalan comme « trobar a faltar »:
  +
  +
* Dictionnaire monolingue espagnol:
  +
  +
<pre>
  +
<e lm="echar de menos">
  +
<i>ech</i>
  +
<par n="aspir/ar__vblex"/>
  +
<p>
  +
<l><b/>de<b/>menos</l>
  +
<r><g><b/>de<b/>menos</g></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
* Dictionnaire monolingue catalan:
  +
  +
<pre>
  +
<e lm="trobar a faltar">
  +
<i>trob</i>
  +
<par n="abander/ar__vblex"/>
  +
<p>
  +
<l><b/>a<b/>faltar</l>
  +
<r><g><b/>a<b/>faltar</g></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
* Dictionnaire bilingue espagnol-catalan:
  +
  +
<pre>
  +
<e>
  +
<p>
  +
<l>echar<g><b/>de<b/>menos</g><s n="vblex"/></l>
  +
<r>trobar<g><b/>a<b/>faltar</g><s n="vblex"/></r>
  +
</p>
  +
</e>
  +
</pre>
  +
  +
  +
== Bref introduction aux paradigmes ==
  +
  +
  +
Les paradigmes des exemples précédents contiennent seulement un symbole de la forme lexicale, puisque les adverbes n'ont pas d'inflexion. Vous pouvez le constater dans cet exemple:
  +
  +
<pre>
  +
<pardef n="ahora__adv">
  +
<e>
  +
<p>
  +
<l/>
  +
<r><s n="adv"/></r>
  +
</p>
  +
</e>
  +
</pardef>
  +
</pre>
  +
  +
Les paradigmes sont construits comme une entrée lexicale. Nous avons vu jusqu'à présent des entrées lexicales dont la partie commune du lemme est mise entre <nowiki><i> </i></nowiki>:
  +
  +
<pre>
  +
<e lm="cósmico">
  +
<i>cósmic</i>
  +
<par n="absolut/o__adj"/>
  +
</e>
  +
</pre>
  +
  +
Néanmoins, vous pouvez aussi représenter la même chose avec une paire de séquences: une séquence à gauche <l> et une séquence à droite <r> dans un élément <nowiki><p></nowiki> :
  +
  +
<pre>
  +
<e lm="cósmico">
  +
<p>
  +
<l>cósmic</l>
  +
<r>cósmic</r>
  +
</p>
  +
<par n="absolut/o__adj"/>
  +
</e>
  +
</pre>
  +
  +
Ces deux entrées sont équivalentes. L'usage de l'élément <nowiki><i></nowiki> nous aide à simplifier et compacter les entrées, et vous pouvez l'utiliser lorsque le côté gauche et le côté droit de la paire séquentielle sont identiques. Comme nous vous avons déjà expliqué, les dictionnaires monolingues sont lus LR pour l'analyse d'un texte et RL pour la génération. Par conséquent, lorsqu'il existe une différence entre la séquence analysée et la séquence généré (qui n'est pas très courant) l'entrée ne peut pas être écrite moyennant l'élément <nowiki><i></nowiki>.
  +
Dans les paradigmes, les séquences gauches et droites ne sont jamais identiques, puisque le côté droit doit contenir les symboles grammaticales qui vont passer dans tous les modules du système.
   
 
== Source ==
 
== Source ==

Revision as of 15:37, 10 December 2007

Comment ajouter des données linguistiques à une paire des langues existantes à Apertium. Apertium a des données pour beaucoup de paires de langues. Ces données linguistiques comprennent principalement des dictionnaires (monolingues et bilingues), des règles de transfert structural qui réalisent des opérations grammaticales et d'autres transformations entre deux langues concernées, et des données lexicales pour le tagger de la partie du discours, qui est en charge de la désambiguation du texte de la langue de départ.

Toutes ces données linguistiques sont compris dans un seul répertoire. Par exemple, apertium-es-ca pour la paire espagnol-catalan. À continuation, les fichiers que vous pouvez trouver dans ce répertoire sont décrites.


Exemple d'édition des fichiers

Apertium 1

Pour la paire espagnol-catalan (apertium-es-ca):

  • apertium-es-ca.es.dix : Dictionnaire monolingue espagnol, ayant 11,800 entrées (depuis le 17 novembre 2005)
  • apertium-es-ca.ca.dix : Dictionnaire monolingue catalan, ayant 11,800 entrées.
  • apertium-es-ca.es-ca.dix : Dictionnaire bilingue espagnol-catalan, ayant 12,800 entrées (correspondences espagnol-catalan).
  • apertium-es-ca.trules-es-ca.xml : Règles de transfert structural pour la traduction de l'espagnol au catalan.
  • apertium-es-ca.trules-ca-es.xml : Règles de transfert structural pour la traduction du catalan à l'espagnol.
  • apertium-es-ca.es.tsx : Fichier de définition du tagger pour l'espagnol
  • apertium-es-ca.ca.tsx : Fichier de définition du tagger pour le catalan
  • apertium-es-ca.post-es.dix : Dictionnaire de post-génération pour l'espagnol, avec 25 entrées et 5 paradigmes (demandés au moment de traduire du catalan à l'espagnol)
  • apertium-es-ca.post-ca.dix : Dictionnaire de post-génération pour le catalan, avec 16 entrées et 57 paradigmes (demandés au moment de traduire de l'espagnol au catalan)
  • répertoire es-tagger-data : Ayant les données nécessaires pour le tagger espagnol (corpus, etc.)
  • répertoire ca-tagger-data : Ayant les données nécessaires pour le tagger catalan (corpus, etc.)


Comment ajouter des mots dans les dictionnaires

Lorsqu'Apertium est développé ou adapté, l'opération qui sera probablement réalisée, sera développer ses dictionnaires. En fait, il sera beaucoup plus commun que l'ajout des règles de transfert ou de post-génération.

IMPORTANT: À chaque fois que les modifications d'un groupe sont faites pour chaque dictionnaire, les modules doivent être compilés à nouveau. Tapez make dans le répertoire où les données linguistiques sont gardées (apertium-es-ca, apertium-es-gl ou ce qui peut être applicable) pour que le système génère des nouveaux fichiers binaires.

Si vous voulez ajouter un nouveau mot à Apertium, vous devez ajouter trois entrées dans les dictionnaires. Supposons que vous travaillez avec la paire espagnol-catalan. Dans ce cas, vous devez ajouter:


  1. une entrée dans le dictionnaire monolingue espagnol: pour que le traducteur puisse analyser ("comprendre") le mot lorsqu'il le trouve dans un texte, et le générer lorsqu'il va le traduire vers l'espagnol.
  2. une entrée dans le dictionnaire bilingue: pour que vous puissiez dire à Apertium comment traduire ce mot d'une langue à l'autre.
  3. une entrée dans le dictionnaire monolingue catalan: pour que le traducteur puisse analyser ("comprendre") le mot lorsqu'il le trouve dans un texte, et le générer lorsqu'il va le traduire vers le catalan.

Vous devrez aller au répertoire ayant les dictionnaires XML (pour la paire espagnol-catalan, c'est apertium-es-ca) et ouvrez avec un éditeur de texte ou un éditeur XML spécialisé les trois fichiers des dictionnaires précités: apertium-es-ca.es.dix, apertium-es-ca.es-ca.dix and apertium-es-ca.ca.dix. Les entrées que vous devez créér dans ces trois dictionnaires partagent une structure commune.


Dictionnaire monolingue (Espagnol)

Vous voulez, par exemple, ajouter l'adjectif espagnol « cósmico », dont l'équivalent en catalan est « còsmic ». La première étape est d'ajouter ce mot dans le dictionnaire monolingue espagnol. Vous pouvez constater qu'un dictionnaire monolingue a essentiellement deux types des données: les paradigmes (dans la section "<pardefs>" du dictionnaire, chaque paradigme dans un élément <pardef>) et les entrées des mots (dans la <section> « main » du dictionnaire, chacune dans un élément <e>). Les entrées des mots sont des lemmes (cela représente le mot tel que vous le trouveriez dans un dictionnaire typique en papier) plus l'information grammaticale; les paradigmes contiennent les données d'inflexion de toutes les lemmes dans le dictionnaire. Vous pouvez trouver un mot en particulier en cherchant la séquence lm="mot" (lm signifie lemme). (L'élément lm est optionnel et d'autres dictionnaires peuvent ne pas l'avoir). Regardez les entrées des mots dans le dictionnaire monolingue espagnol, par exemple, l'entrée de l'adjectif « bonito ». Vous pouvez la trouver en cherchant lm=« bonito »:

     <e lm="bonito">
       bonit
       <par n="absolut/o__adj"/>
     </e>

Pour ajouter un mot, vous devrez créer une entrée avec la même structure. La partie entre et contient le préfixe du mot ce qui est commun pour toutes les formes infléchies, et l'élément <par> fait référence à l'inflexion du paradigme de ce mot. Par conséquent, cette entrée signifie que l'adjectif « bonito » infléchit tout comme l'adjectif « absoluto » ayant la même analyse morphologique: les formes bonito, bonita, bonitos, bonitas sont équivalentes aux formes absoluto, absoluta, absolutos, absolutas ayant l'analyse morphologique: adj m sg, adj f sg, adj m pl and adj f pl respectivement. Maintenant, vous devez décider quelle est la catégorie lexicale du mot que vous voulez ajouter. Le mot « cósmico » est un adjectif comme « bonito ». Par la suite, vous devez trouver le paradigme approprié pour cet adjectif. A-t-il la même inflexion que « bonito » et « absoluto »? Pouvez-vous dire cósmico, cósmica, cósmicos, cósmicas? La réponse est oui. Avec toute cette information vous pouvez maintenant créer l'entrée correcte:

     <e lm="cósmico">
       cósmic
       <par n="absolut/o__adj"/>
     </e>

Si le mot que vous voulez ajouter a un paradigme différent, vous devez le chercher dans le dictionnaire et l'assigner à l'entrée. Vous avez deux chemins pour trouver le paradigme approprié: soit en regardant la section <pardefs> du dictionnaire, où tous les paradigmes sont définis dans un élément <pardefs>, soit en cherchant un autre mot qui pourrait déjà exister dans le dictionnaire ayant la même inflexion du paradigme que le mot à ajouter. Par exemple, si vous voulez ajouter le mot « genoma » vous devez trouver un paradigme approprié pour un nom dont le genre est masculin et qui fait sont pluriel en ajoutant un -s. Ce sera le paradigme « abismo_n » dans notre dictionnaire actuel. Par conséquent, l'entrée de ce nouveau mot serait:

     <e lm="genoma">
        <i>genoma</i>
        <par n="abismo__n"/>
      </e>

Dans des cas exceptionnels vous devrez créer un nouveau paradigme pour un certain mot . Vous pouvez regardez la structure d'autres paradigmes et en créer un correctement. Pour une description plus détaillée des paradigmes et des entrées des mots dans les dictionnaires, consultez la section 3.1.2 de la documentation du système.


Dictionnaire monolingue (Catalan)

Une fois que vous avez ajouté le mot dans un dictionnaire monolingue, vous devez le refaire dans l'autre dictionnaire monolingue de la paire de traduction (dans notre exemple, le dictionnaire monolingue catalan) en utilisant la même structure. Le résultat serait:

    <e lm="còsmic">
       <i>còsmi</i>
       <par n="acadèmi/c__adj"/>
    </e>


Dictionnaire monolingue (Galicien)

Au cas où vous essayez d'améliorer les dictionnaires XML pour la paire espagnol-galicien, vous devrez vous adresser au répertoire apertium-es-gl et vous devrez ouvrir avec un éditeur de texte ou avec un éditeur XML spécialisé les trois fichiers des dictionnaires apertium-es-gl.es.dix, apertium-es-gl.es-gl.dix and apertium-es-gl.gl.dix. Dans ce cas, une fois que vous avez ajouté le nouveau mot espagnol « genoma » dans le dictionnaire monolingue espagnol (apertium-es-gl.es.dix), vous devez ajouter le mot galicien équivalent « xenoma » dans le dictionnaire monolingue galicien (apertium-es-gl.gl.dix), ce serait:

    <e lm="xenoma">
       <i>xenoma</i>
       <par n="Xulio__n"/>
    </e>

Dictionnaire bilingue

La dernière étape consiste à ajouter la traduction dans le dictionnaire bilingue. Normalement, un dictionnaire bilingue n'a pas de paradigmes, mais des lemmes. Une entrée contient seulement le lemme dans les deux langues et le premier symbole grammatical (la catégorie lexicale) de chacun.

Les entrées ont un côté gauche (<l>) et un côté droit (<r>), et chaque langue doit toujours se placer dans la même position: dans notre système, il a été convenu que l'espagnol occupe le côté gauche et que le catalan, le galicien et le portugais occupent le côté droit. Une fois que le « côté » a été convenu dans le système, il a fallu observer les dictionnaires en entière pour que la traduction fonctionne.

En ajoutant le lemme de deux mots, le système traduira toutes les formes infléchies (les symboles grammaticaux sont copiés du mot de la langue de départ au mot de la langue d'arrivée. Cela fonctionnera seulement si le mot de la langue de départ et le mot de la langue d'arrivée sont grammaticalement équivalents, c'est-à-dire, s'ils partagent exactement les mêmes symboles morphologiques pour toutes leurs formes infléchies. C'est le cas de notre exemple; par conséquent, l'entrée que vous devez ajouter dans les dictionnaire bilingue est:

     <e> 
        <p>
          <l>cósmico<s n="adj"/></l>
          <r>còsmic<s n="adj"/></r>
        </p>
      </e>

Cette entrée traduira toutes les formes infléchies, c'est-à-dire, adj m sg, adj f sg, adj m pl and adj f pl. Cela fonctionne pour la traduction dans les deux directions: de l'espagnol au catalan et du catalan à l'espagnol.

Dans le cas de la paire espagnol-galicien, l'entrée bilingue suivante dans le dictionnaire bilingue espagnol-galicien (apertium-es-gl.es-gl) traduira toutes les formes infléchies pour les mots équivalents genoma/xenoma dans les deux directions, c'est-à-dire, de l'espagnol au galicien et du galicien à l'espagnol:

     <e> 
        <p>
          <l>genoma<s n="n"/></l>
          <r>xenoma<s n="n"/></r>
        </p>
      </e>

Qu'est-ce qu'on doit faire si la paire de mots n'est pas équivalente grammaticalement (leurs symboles grammaticaux ne sont pas exactement les mêmes)? Dans ce cas, vous devez préciser tous les symboles grammaticaux (dans le même ordre qu'ils sont précisés dans les dictionnaires monolingues) jusqu'à ce que vous trouvez le symbole qui diffère parmi le mot de la langue de départ et le mot de la langue d'arrivée. Par exemple, le nom espagnol « limón » est masculin et son équivalent en catalan, « llimona » est féminin. L'entrée dans le dictionnaire bilingue doit être:

      <e>
        <p>
          <l>limón<s n="n"/><s n="m"/></l>
          <r>llimona<s n="n"/><s n="f"/></r>
        </p>
      </e>

Un problème plus compliqué surgit lorsque deux mots ont des symboles grammaticaux différents et l'information grammaticale du mot de la langue de départ n'est pas suffisante pour déterminer le genre (masculin ou féminin) ou le nombre (singulier ou pluriel) du mot de la langue d'arrivée. Prenez à titre d'exemple l'adjectif espagnol « canadiense ». Son genre est (masculin-féminin) et il reste invariable, c'est-à-dire, il peut suivre soit un nom masculin, soit un nom féminin (hombre canadiense, mujer canadiense). De l'autre côté, en catalan l'adjectif a une inflexion différente pour le masculin et le féminin (home canadenc, dona canadenca). Par conséquent, lorsqu'on traduit de l'espagnol au catalan il n'est pas possible à savoir si l'adjectif espagnol (mf) doit être traduit comme un adjectif féminin ou masculin au catalan, sans regarder le mot qui l'accompagne. Dans ce cas, le symbole « GD » (« genre à déterminer ») est utilisé au lieu du symbole de genre. Le genre des mots sera déterminé par le module de transfert structural, moyennant une règle de transfert (une règle qui détecte le genre du nom précédent dans ce cas précis).

Par conséquent, « GD » doit être employé seulement lorsqu'on traduit de l'espagnol au catalan, mais pas du tout lorsqu'on traduit du catalan à l'espagnol, étant donné qu'en espagnol le genre sera toujours « mf » quoi qu'il en soit le genre du mot original.

Dans le dictionnaire bilingue vous devrez ajouter, dans ce cas, plusieurs entrées avec des indications directionnelles, puisque vous devez préciser dans quelle direction de traduction le genre reste indéterminé. Les entrées pour cet adjectif seraient:

     <e r="LR">
        <p>
          <l>canadiense<s n="adj"/><s n="mf"/></l>
          <r>canadenc<s n="adj"/><s n="GD"/></r>
        </p>
      </e>
      <e r="RL">
        <p>
          <l>canadiense<s n="adj"/><s n="mf"/></l>
          <r>canadenc<s n="adj"/><s n="f"/></r>
        </p>
      </e>
      <e r="RL">
        <p>
          <l>canadiense<s n="adj"/><s n="mf"/></l>
          <r>canadenc<s n="adj"/><s n="m"/></r>
        </p>
      </e>

« LR » signifie « left to right » (de gauche à droite), et « RL », « right to left » (de droite à gauche). Comme l'espagnol est à droite et le catalan à gauche, l'adjectif sera « GD » seulement lorsqu'on traduit de l'espagnol au catalan (« LR »). Pour la traduction « RL » vous devez créer deux entrées, l'une pour l'adjectif féminin et l'autre pour l'adjectif masculin.

Le même principe est appliqué lorsqu'il n'est pas possible de déterminer le nombre (singulier ou pluriel) du mot d'arrivée à cause des raisons indiquées ci-dessus. Par exemple, le nom espagnol « rascacielos » (gratte-ciel) est invariable en nombre, c'est-à-dire, il peut être singulier ainsi que pluriel (un rascacielos, dos rascacielos). En catalan, d'un autre côté, le nom a une inflexion différente pour le singulier et pour le pluriel (un gratacel, dos gratacels). Dans ce cas, le symbole utilisé est « ND » (« nombre à déterminer ») et les entrées seraient comme celle-ci:

      <e r="LR">
        <p>
          <l>rascacielos<s n="n"/><s n="m"/><s n="sp"/></l>
          <r>gratacel<s n="n"/><s n="m"/><s n="ND"/></r>
        </p>
      </e>
      <e r="RL">
        <p>
          <l>rascacielos<s n="n"/><s n="m"/><s n="sp"/></l>
          <r>gratacel<s n="n"/><s n="m"/><s n="pl"/></r>
        </p>
      </e>
      <e r="RL">
        <p>
          <l>rascacielos<s n="n"/><s n="m"/><s n="sp"/></l>
          <r>gratacel<s n="n"/><s n="m"/><s n="sg"/></r>
        </p>
      </e>

Pour une description plus détaillée de ce type d'entrée, consultez la section 3.1.2.4.2 de la documentation du système.


Comment ajouter des restrictions directionnelles

Dans l'exemple précédent nous avons déjà vu l'utilisation des restrictions directionnelles pour des entrées avec le genre et le nombre indéterminés (« GD » ou « ND »). Les restrictions peuvent être également faites dans d'autres cas. Il est important de noter que la version actuelle d'Apertium ne peut fournir qu'un équivalent pour chaque forme lexicale de la langue de départ (une forme lexicale est le lemme plus son information grammaticale), c'est-à-dire, la désambiguation du sens du mot n'est pas réalisée. [Note: Le système ne réalise que la désambiguation de la partie du discours pour les mots homographes, c'est-à-dire, pour des mots ambigus qui peuvent être analysés à plusieurs formes lexicales, comme « vino » en espagnol, qui peut signifier « vin » ainsi que « il vint - il/elle est venu/e ». Ce type de désambiguation est réalisée par le tagger.] Lorsqu'un lemme peut être traduit de deux ou plusieurs façons, il faut en choisir une (la plus générale, la plus fréquente,etc.). Vous pouvez dire à Apertium qu'un certain mot doit être compris (analysé) mais pas généré, car ce n'est pas la traduction d'un lemme de la langue de départ.

Nous allons voir cela avec un exemple. Le mot espagnol « muñeca » peut être traduit en catalan de deux façons différentes selon le sens: « canell » (poignet) ou « nina » (poupée). Le contexte décide quelle traduction est la correcte, mais Apertium, dans son état actuel, ne peut pas prendre une telle décision (regardez, cependant, à la section des unités multimots pour voir comment éviter ce problème). Par conséquent, vous devez décider le mot équivalent lorsqu'on traduit de l'espagnol au catalan. Du catalan à l'espagnol, les deux mots peuvent être traduits comme « muñeca » sans aucun problème. Vous devez préciser toutes ces circonstances dans les entrées du dictionnaire en utilisant des restrictions directionnelles (« LR » qui signifie « left to right », c'est-à-dire, espagnol-catalan, et « RL » qui signifie « right to left », c'est-à-dire, catalan-espagnol). Si vous décidez de traduire « muñeca » comme « canell » dans tous les cas, les entrées dans le dictionnaire bilingue seraient:

      <e>
        <p>
          <l>muñeca<s n="n"/><s n="f"/></l>
          <r>canell<s n="n"/><s n="m"/></r>
        </p>
      </e>

      <e r="RL">
        <p>
          <l>muñeca<s n="n"/></l>
          <r>nina<s n="n"/></r>
        </p>
      </e>

Cela veut dire que les directions de traduction seront:

     muñeca --> canell
     muñeca <-- canell
     muñeca <-- nina

(Notez qu'il y a aussi un changement de genre dans le cas de « muñeca » (féminin) et « canell » (masculin))

Il doit être souligné qu'un lemme ne peut pas avoir deux traductions dans la langue d'arrivée, parce que le système produirait une erreur lorsqu'on traduit ce lemme (consultez la section « Comment détecter les erreurs » ci-dessous pour voir comment trouver et corriger ces erreurs et d'autres types d'erreurs). Lorsqu'un mot peut être traduit de deux façons différentes dans la langue d'arrivée quelque soit le contexte, vous devez en choisir un comme l'équivalent de traduction et en laisser l'autre comme un lemme qui peut être analysé, mais pas généré, en utilisant des restrictions directionnelles comme dans l'exemple précédent. Par exemple, les lemmes catalans « mot » et « paraula » peuvent être traduits à l'espagnol comme « palabra » (mot), donc l'entrée dans le dictionnaire bilingue serait:

       <e>
        <p>
          <l>palabra<s n="n"/></l>
          <r>paraula<s n="n"/></r>
        </p>
      </e>
      <e r="RL">
        <p>
          <l>palabra<s n="n"/><s n="f"/></l>
          <r>mot<s n="n"/><s n="m"/></r>
        </p>
      </e>

Par conséquent, pour ces lemmes les directions de traduction seront:

     palabra --> paraula
     palabra <-- paraula
     palabra <-- mot

Quelqu'un doit aussi préciser les restrictions concernant la direction de traduction dans le dictionnaire monolingue. Par exemple, les deux formes espagnoles « cantaran » ou « cantasen » sont analysées comme « cantar », verbe, subjonctif imparfait, 3ème personne du pluriel, mais lorsqu'on génère le texte en espagnol, quelqu'un doit décider quelle forme va être généré. Les dictionnaires monolingues sont lus dans les deux directions selon leur but: pour l'analyse, la direction de lecture est de gauche à droite; pour la génération, de droite à gauche. Par conséquent, le mot qui doit être analysé, mais pas généré, doit avoir la restriction « LR », et le mot qui doit être généré, mais pas analysé, doit avoir la restriction « RL ».


Comment ajouter des multimots

Il est possible de créer des entrées constituées de deux ou plusieurs mots, à condition que ces mots puissent construire une seule « unité de traduction ». Ces « unités multimots » peuvent aussi être utiles lorsqu'il faut choisir l'équivalent correct pour un mot dans une expression fixe. Par exemple, le mot espagnol « dirección » peut être traduit de deux façons au catalan: « direcció » (direction, management) et «adreça» (adresse); il peut constituer, par exemple, des unités multimots fréquentes telles que « dirección general » --> « direcció general » (direction générale) et « dirección postal » --> « adreça postal » (adresse postale). Ceci peut nous aider à obtenir une meilleure traduction dans quelques situations.

Les unités multimots peuvent être catégorisées comme: des multimots avec une inflexion interne et des multimots sans une inflexion interne.

Les multimots sans une inflexion interne sont comme les entrées d'un mot, mais il faut insérer l'élément (qui représente un blanc) entre les mots qui composent l'unité. Par conséquent, si vous voulez ajouter, par exemple, le multimot espagnol « hoy en día » (aujourd'hui), dont l'équivalent en catalan est « avui dia », les entrées que vous devez ajouter dans les trois dictionnaires sont:


  • Dictionnaire monolingue espagnol:
          <e lm="hoy en día">
            <i>hoy<b/>en<b/>día</i>
            <par n="ahora__adv"/>
           </e>
  • Dictionnaire monolingue catalan:
          <e lm="avui dia">
            <i>avui<b/>dia</i>
            <par n="ahir__adv"/>
          </e>
 
  • Dictionnaire bilingue espagnol-catalan:
          <e>
            <p>
              <l>hoy<b/>en<b/>día<s n="adv"/></l>
              <r>avui<b/>dia<s n="adv"/></r>
            </p>
          </e>

Pour la paire espagnol-galicien, si vous voulez ajouter, par exemple, le multimot espagnol « manga por hombro » (être sens dessus dessous) dont l'équivalent en galicien est « sen xeito nin modo ». Les entrées que vous devez ajouter sont:

  • Dictionnaire monolingue espagnol:
          <e lm="manga por hombro">
              <i>manga<b/>por<b/>hombro</i>
              <par n="abajo__adv"/>
          </e>
  • Dictionnaire monolingue galicien:
          <e lm="sen xeito nin modo">
              <i>sen<b/>xeito<b/>nin<b/>modo</i>
              <par n="Deo_gratias__adv"/>
          </e>
  • Dictionnaire bilingue espagnol-galicien:
          <e>
             <p>
                <l>manga<b/>por<b/>hombro<s n="adv"/></l>
                <r>sen<b/>xeito<b/>nin<b/>modo<s n="adv"/></r>
             </p>
          </e>

Les multimots avec une inflexion interne sont constitués d'un mot qui peut infléchir (normalement un verbe) et d'un élément invariable. Pour ces entrées vous devez préciser le paradigme d'inflexion juste après le mot qui infléchit. La partie invariable doit être marquée avec l'élément <g> dans le côté droit. Les blancs entre les mots sont indiqués, comme dans le cas précédent, avec l'élément . Regardez l'exemple suivant pour le multimot espagnol « echar de menos » (manquer), traduit au catalan comme « trobar a faltar »:

  • Dictionnaire monolingue espagnol:
     <e lm="echar de menos">
        <i>ech</i>
           <par n="aspir/ar__vblex"/>
        <p>
           <l><b/>de<b/>menos</l>
           <r><g><b/>de<b/>menos</g></r>
        </p>
      </e>          
  • Dictionnaire monolingue catalan:
      <e lm="trobar a faltar">
        <i>trob</i>
           <par n="abander/ar__vblex"/>
        <p>
           <l><b/>a<b/>faltar</l>
           <r><g><b/>a<b/>faltar</g></r>
        </p>
      </e>
  • Dictionnaire bilingue espagnol-catalan:
     <e>
       <p>
         <l>echar<g><b/>de<b/>menos</g><s n="vblex"/></l>
         <r>trobar<g><b/>a<b/>faltar</g><s n="vblex"/></r>
      </p>
     </e>


Bref introduction aux paradigmes

Les paradigmes des exemples précédents contiennent seulement un symbole de la forme lexicale, puisque les adverbes n'ont pas d'inflexion. Vous pouvez le constater dans cet exemple:

     <pardef n="ahora__adv">
          <e>
             <p>
                <l/>
                <r><s n="adv"/></r>
             </p>
          </e>
    </pardef>

Les paradigmes sont construits comme une entrée lexicale. Nous avons vu jusqu'à présent des entrées lexicales dont la partie commune du lemme est mise entre <i> </i>:

      <e lm="cósmico">
        <i>cósmic</i>
        <par n="absolut/o__adj"/>
      </e>

Néanmoins, vous pouvez aussi représenter la même chose avec une paire de séquences: une séquence à gauche <l> et une séquence à droite <r> dans un élément <p> :

      <e lm="cósmico">
         <p>
            <l>cósmic</l>
            <r>cósmic</r>
         </p>
         <par n="absolut/o__adj"/>
      </e>

Ces deux entrées sont équivalentes. L'usage de l'élément <i> nous aide à simplifier et compacter les entrées, et vous pouvez l'utiliser lorsque le côté gauche et le côté droit de la paire séquentielle sont identiques. Comme nous vous avons déjà expliqué, les dictionnaires monolingues sont lus LR pour l'analyse d'un texte et RL pour la génération. Par conséquent, lorsqu'il existe une différence entre la séquence analysée et la séquence généré (qui n'est pas très courant) l'entrée ne peut pas être écrite moyennant l'élément <i>. Dans les paradigmes, les séquences gauches et droites ne sont jamais identiques, puisque le côté droit doit contenir les symboles grammaticales qui vont passer dans tous les modules du système.

Source

The original version was transferred from source http://apertium.sourceforge.net/extending.html.