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 Jump to search

In English

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

Modèle croisé[edit]

Définition des actions de croisement[edit]

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

Exemple de schéma action[edit]

Schéma[edit]

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

    </e>
    <e r="RL">
      <p>
        <l>$lemmaB</l>
        <r>$lemmaC</r>

    </e>
  </pattern>
  <action-set>
    <action>
      <e>
        <p>
          <l>$lemmaA<v n="X"/></l>
          <r>$lemmaC<v n="Y"/></r>

      </e>
    </action>
  </action-set>
</cross-action>

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

Action de croisement par défaut[edit]

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>

      </e>
      <e>
        <p>
          <l>$lemmaB<v n="cat"/><t/></l>
          <r>$lemmaC<v n="cat"/><t n="tailC"/></r>

      </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>

        </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, ). 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 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 .
  • <t n="tailA"/> et <t n="tailC"/> sont aussi des séquences de 0, un ou plusieurs éléments , 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

Voir aussi[edit]

Liens externes[edit]