Eléments de modèle croisé
From Apertium
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.

