Apertium has moved from SourceForge to GitHub.
If you have any questions, please come and talk to us on #apertium on irc.freenode.net or contact the GitHub migration team.

Modèle croisé

From Apertium
Jump to: navigation, search

In English

Article principal : Crossdics : Génération d'une paire de langue à partir de 2 autres

Contents

[edit] Modèle croisé

[edit] Définition des actions de croisement

Les actions de croisement sont nécessaires pour croiser certaines paires de langues correctement.

Ces schémas et actions sont décrits en XML, comme suit :

<!DOCTYPE cross-model SYSTEM "crossmodel.dtd">
<cross-model>
  <cross-action id="schéma-1" a="auteur">
    <pattern>...</pattern>
    <action-set>...</action-set>
  </cross-action>
  ...
  <cross-action id="schéma-n" a="auteur">
    <pattern>...</pattern>
    <action-set>...</action-set>
  </cross-action>
</cross-model>

Cliquez sur chaque élément du schéma ci-dessus ou lisez plus au sujet des éléments de modèle croisé.

[edit] Exemple de schéma action

[edit] Schéma

<cross-action id="schéma-1" a="ebenimeli">
  <description>Pattern 1</description>
  <pattern>
    <e>
      <p>
        <l>$lemmaA<s n="n"/><v n="X"/></l>
        <r>$lemmaB<s n="n"/><v n="Y"/></r>
      </p>
    </e>
    <e r="RL">
      <p>
        <l>$lemmaB<s n="n"/></l>
        <r>$lemmaC<s n="n"/></r>
      </p>
    </e>
  </pattern>
  <action-set>
    <action>
      <e>
        <p>
          <l>$lemmaA<s n="n"/><v n="X"/></l>
          <r>$lemmaC<s n="n"/><v n="Y"/></r>
        </p>
      </e>
    </action>
  </action-set>
</cross-action>

Exemple sur la manière dont cette action de croisement devrait être appliquée.

[edit] Action de croisement par défaut

Par défaut, l'outil apertium-crossdics utilise un modèle croisé simple (schemas/cross-model.xml) définissant seulement une règle de schéma action par défaut.

<cross-model>
  <cross-action id="default" a="ebenimeli">
    <description>Default pattern</description>
    <pattern>
      <e>
        <p>
          <l>$lemmaA<v n="cat"/><t n="tailA"/></l>
          <r>$lemmaB<v n="cat"/><t/></r>
        </p>
      </e>
      <e>
        <p>
          <l>$lemmaB<v n="cat"/><t/></l>
          <r>$lemmaC<v n="cat"/><t n="tailC"/></r>
        </p>
      </e>
    </pattern>
    <action-set>
      <action>
        <e>
          <p>
            <l>$lemmaA<v n="cat"/><t n="tailA"/></l>
            <r>$lemmaC<v n="cat"/><t n="tailC"/></r>
          </p>
        </e>
      </action>
    </action-set>
  </cross-action>
</cross-model>

Dans l'exemple ci-dessus :

  • <v n="cat"/> est une variable qui peut mémoriser seulement un élément (par exemple, <s n="adj"/>). Dans cet exemple on utilise une variable parce qu'on a besoin d'utiliser la valeur dans l'élément action. En plus de ça, on force la valeur du premier élément <s n="..."/> pour qu'il soit le même. Il y a un autre symbole (<v/>) qui peut être utilisé si on ne veut pas utiliser la valeur plus tard.
  • la balise <t/> est une séquence de 0, un ou plusieurs éléments <s n="..."/>.
  • <t n="tailA"/> et <t n="tailC"/> sont aussi des séquences de 0, un ou plusieurs éléments <s n="..."/>, mais, dans ce cas particulier, on stocke la valeur dans une variable parce qu'on a besoin de l'utiliser plus tard (dans l'élément action).

Ces balises spéciales sont expliquées dans la section Cross Model Elements

[edit] Voir aussi

[edit] Liens externes

Personal tools