Le format TSX

From Apertium
Revision as of 17:29, 21 February 2013 by Bech (talk | contribs) (Lien direct)
Jump to navigation Jump to search

La traduction de ce texte est assez littérale, et mériterait d'être retravaillée pour avoir des explications plus claires, ce qui suppose probablement au préalable d'améliorer la page anglaise correspondante.

Le format TSX est utilisé dans Apertium pour définir un fichier de description de tagger. Le fichier est utilisé dans l'entraînement d'un tagueur afin de fournir des définitions de balises grossières, et pour supporter des contraintes basiques comme des règles interdire ou forcer.

Définition de balises

La section 'tagset' définit la correspondance entre les catégories morphologiques simples ou multiples définissant une forme lexicale et la "forme plus grossière" avec laquelle le tagger de partie de discours travaille.

Voici un morceau de fichier TSX pour Norvégien Bokmål :

<?xml version="1.0" encoding="UTF-8"?>
<tagger name="Norwegian Bokmål">
  <tagset>
    <def-label name="NOMM">
      <tags-item tags="n.m.*"/>
    </def-label>
    <def-label name="BARE-ADV">
      <tags-item lemma="bare" tags="adv"/>def-
    </def-label>
    <def-label name="DETF" closed="true">
      <tags-item tags="det.*.f.*"/>
    </def-label>
  </tagset>

  ... 

</tagger>

Chaque élément def-label définit une balise grossière en terme de liste de belles balises et a un nom unique obligatoire. L'attribut optionnel closed="true" peut être utilisé pour spécifier si les belles balises définies appartiennent à une liste fermée. Chaque élément tags-item peut être une sous-séquence séparée par les points des balises morphologiques correspondant à une une balise grossière optionellement en association avec un lemme donné.

Sous l'élément tagset vous pouvez aussi définir des séquences de belles balises et de balises grossières, en utilisant def-mult. Chaque def-mult définit une balise grossière en terme de séquence de balises grossières définies au préalable comme def-labels ou une séquence de belles balises. Un nom obligatoire est requis pour chaque def-mult qui peut être aussi un attribut optionnel closed="true" s'il appartient à une liste fermée.

Par exemple si on veut définir un groupe de "préposition"s suivi par un article défini masculin :

    <def-mult name="PREPDET" closed="true">
      <sequence>
        <label-item label="PREP"/>
        <tags-item tags="det.def.m.*"/>
      </sequence>
    </def-mult>

L'élément sequence englobe un ensemble de balises ou d'étiquettes qui définissent une unité avec plus d'une étiquette (label). Chaque label du label-item correspond à une balise grossière définie au préalable comme 'def-label' par un nom.

Interdire

L'élément 'forbid' contient des séquences de catégories morphologiques qui ne sont pas permises dans une langue donnée.

Chaque 'label-sequence' est limitée à deux 'label-items'

Forcer

L'élément 'enforce-rules' définit un ensemble de balises grossières qui doit suivre celles spécifiées

Chaque 'enforce-after' englobe l'ensemble de balises grossières ('label-set') qui doit suivre celle définie dans 'label', comme attribut obligatoire

L'ensemble des 'label-items' forcés après un 'label' est inclus dans l'élément 'label-set'

Préférence

L'élément 'preferences' permet de décider entre deux séquences de belles balises ou plus qui sont groupées dans la même balise grossière.

Chaque élément 'prefer' a un attribut obligatoire 'tags' fait d'une séquence de belles balises