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é

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

Exemple de schéma action

Schéma

<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

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

Liens externes