Congratulations to our 11 accepted students in the Google Summer of Code!
Modèle croisé
From Apertium
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émentaction. 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émentaction).
Ces balises spéciales sont expliquées dans la section Cross Model Elements
[edit] Voir aussi
[edit] Liens externes
- Exemple complet de modèle croisé.
- DTD de modèle croisé

