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.

Eléments de modèle croisé

From Apertium
Jump to: navigation, search

In English

Article principal : Modèle croisé

Contents

[edit] L'élément cross-model

L'élément cross-model est un ensemble d'éléments d'action croisées (cross-action).

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

[edit] L'élément cross-action

Chaque action croisée est constituée d'une paire (pattern,action-set).

<cross-action id="schéma-1" a="auteur">
  <description>Action croisée 1</description>
  <pattern>
    ...
  </pattern>
  <action-set>
    <action>
      ...
    </action>
    ...
    <action>
      ...
    </action>
  </action-set>
</cross-action>

[edit] L'élément pattern

L'élément pattern définit "à quoi ressemblent" les éléments candidats susceptibles d'être croisés.

<pattern>
  <!-- Elément dans le dictionnaire bilingue AB-->
  <e>
    <p>
      <l>$lemmaA<s n="..."/>...<s n="..."/></l>
      <r>$lemmaB<s n="..."/>...<s n="..."/></r>
    </p>
  </e>
  <!-- Elément dans le dictionnaire bilingue BC-->
  <e r="RL">
    <p>
      <l>$lemmaB<s n="n"/>...<s n="..."/></l>
      <r>$lemmaC<s n="n"/>...<s n="..."/></r>
    </p>
  </e>
</pattern>

[edit] L'élément action-set

L'élément action-set est une liste d'actions à réaliser quand une paire d'éléments candidats correspond au schéma.

<action-set>
  <action>
    <e>
      <p>
        <l>$lemmaA<s n="n"/><s n="..."/>...<s n="..."/></l>
        <r>$lemmaC<s n="n"/><s n="..."/>...<s n="..."/></r>
      </p>
    </e>
  </action>
  <action>
  ...
  </action>
</action-set>

[edit] Valeurs pour l'élément <s>

[edit] Littéraux

<e>
  <p>
    <r>$lemmaA<s n="adj"/></l>
    <r>$lemmaB<s n="adj"/></r>
  </p>
</e>

Utiliser les littéraux (comme dans <s n="adj"/>) pour trouver exactement cet élément.

[edit] Variables

Il y a deux types de variables:

  • balise <v n="..."/>: un élément <s>. Par exemple, <v n="cat"/> peut se référer à <s n="adj"/>. La valeur "adj" sera stockée dans la variable "cat".
  • balise <t n="..."/>: est utilisé pour indiquer une séquence de <s>. Dans ce cas, <t n="tail"/>, peut se référer à la séquence d'éléments <s n="n"/><s n="m"/><s n="sg"/>. La séquence "n.m.sg" sera stockée dans la variable "tail".

Exemple:

<e>
  <p>
    <l>$lemmaA<v n="cat"/><t n="tailA"/></l>
    <r>$lemmaB<v n="cat"/><t/></r>
  </p>
</e>

Si vous n'utilisez pas la valeur de <v...> ou <t...>, ne définissez aucun attribut n, c'est à dire :

  • <v/>: 1 élément <s n="..."/>.
  • <t/>: 0, 1 ou plusieurs éléments <s n="..."/>.

Exemple:

<e>
  <p>
    <l>$lemmaA<s n="n"/><v/><s n="sg"/></l>
    <r>$lemmaB<s n="n"/><t/></r>
  </p>
</e>

Dans l'exemple ci-dessus, <v/> peut être aussi bien <s n="m"/>, <s n="f"/>, etc, mais la valeur n'est pas stockée dans une variable parce qu'elle n'est pas utilisée à un autre endroit de l'action croisée.

Personal tools