TSX format

From Apertium
Jump to navigation Jump to search

En français

The TSX format is used in Apertium in order to define a tagger description file. The file is used in tagger training in order to provide definitions of coarse tags, and to provide basic constraints in the form of forbid and enforce rules.

Defining tags[edit]

The 'tagset' section defines the correspondance between simple or multiple morphological categories defining a lexical form and the coarser ones with which the part-of-speech tagger works.

Here is a clip of a TSX file for Norwegian Bokmål:

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



Each def-label element defines one coarse tag in terms of a list of fine tags and has a mandatory unique name. The optional attribute closed="true" may be used to specify if the defined fine tags belong to a closed list. Each tags-item element may be a dot-separated subsequence of the morphological tags corresponding to a coarse tag optionally in association with a given lemma.

Under the tagset element you can also define sequences of fine tags and coarse tags, using def-mult. Each def-mult defines one coarse tag in terms of a sequence of coarse tags previously defined as def-labels or a sequence of fine tags. A mandatory name is required for each def-mult which may also has an optional attribute closed="true" if it belongs to a closed list.

For example if we want to define a group of "preposition" followed by a masculine definite article:

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

The element sequence encloses a set of tags or labels which defines a unit with more than one label. Each label of the label-item correspond to a coarse tag previously defined as a 'def-label' by a name.


Element 'forbid' contains sequences of morphological categories that are not allowed in a given language

Each 'label-sequence' is restricted to two 'label-items'


The element 'enforce-rules' defines sets of coarse tags that must follow specified ones

Each 'enforce-after' encloses the set of coarse tags ('label-set') that must follow the one defined in 'label', as a mandatory attribute

The set of 'label-items' enforced after a 'label' are enclosed inside element 'label-set'


Element 'preferences' allows to decide amongst two or more fine tag sequences which are grouped in the same coarse tag.

Each 'prefer' element has a mandatory attribute 'tags' made of a sequence of fine tags

See also[edit]

  • Constraint Grammar
  • tag-clusterer – takes pre-tagged text (non-ambiguous tagged text made with e.g. apertium-tagger or CG or what have you) and turns that into a TSX file.