Quelques rappels sur les Grammaires d'Arbres Adjoints (TAG)

Table of Contents 

Pour décrire la grammaire d'une langue sous une forme exploitable par un ordinateur, il est nécessaire d'être extrêmement précis et d'utiliser un formalisme syntaxique adéquat.

Le plus simple et le plus connu de ceux-ci est certainement celui des grammaires hors-contexte (CFG, Context-Free Grammars), largement utilisées pour la description des langages de programmation.

Ainsi, la grammaire jouet suivante permet déjà de traiter une infinité de phrases simples, comme "Jean/np voit/v un/det homme/nc avec/prep un/det télescope/nc". Elle définit 8 productions pour les non-terminaux S (pour Sentence) ainsi que GN (Groupe Nominal), GP (Groupe Prépositionnel), et GV (Groupe Verbal).

  1. S --> GN, GV.
  2. GN --> np.
  3. GN --> det, nc.
  4. GN --> GN, GP.
  5. GP --> prep, GN.
  6. GV --> v.
  7. GV --> v GN.
  8. GV --> GV GP.

Les CFG sont ainsi largement utilisées pour le traitement automatique des langues (TAL), mais essentiellement dans le cadre d'extraction automatique de grammaires à partir de corpus annotés syntaxiquement (treebanks). Elles sont par contre beaucoup moins adaptées pour le développement manuel de grammaires à large couverture. Outre leur manque d'expressivité pour traiter certains phénomènes, elles obligent également à multiplier le nombre de productions.

Au moins deux grandes approches ont été explorées pour promouvoir des formalismes syntaxiques de plus haut niveau, plus puissants (en terme de pouvoir d'expression) et mieux adaptés à l'écriture de larges grammaires (concision, ...).

  • La première approche regroupe les grammaires d'unification comme LFG et HPSG, qui s'appuient sur l'utilisation de décorations au niveau des mots et des non-terminaux (via des structures de traits) pour pouvoir, au travers de l'opération d'unification, propager de l'information au sein de la phrase et gérer, par exemple, des phénomènes d'accord (entre un sujet et son verbe) ou des phénomènes d'extraction (pour une relative). Ainsi, une production gérant l'accord entre un nom et son déterminant, avec décorations, pourrait ressembler à
    1. GN{ nombre => N, genre => G } -->
    2. det{ nombre => N, genre => G},
    3. nc{ nombre => N, genre => G}.
  • La seconde approche remplace la structure plate des productions (avec une simple liste de terminaux et non-terminaux) par des arbres. Ainsi, une représentation pour les verbes ditransitifs comme 'donner' pourrait représenter à

S(GN_subj,(GP(v,GN_obj,GP_objà)))

La seconde approche donne lieu à la notion de TSG (Tree Substitution Grammar) qui, en fait, n'étend pas la puissance expressive des CFG (on peut réécrire les arbres en productions CFG en introduisant nombre de non-terminaux intermédiaires). De plus, ces arbres sont quelque part trop fermés, dans le sens où on a parfois besoin d'introduire des éléments optionnels en leur sein, par exemple un adverbe comme dans "S(GN_subj(il) GV(v(donne) souvent GN(du pain) GP(aux canards)))". Ce constat est à la base de la notion de grammaires d'arbres adjoints (TAG) avec son opération d'adjonction. Celle-ci permet d'ouvrir un nœud d'un arbre en une partie haute (top) et basse (bot) et d'insérer entre ces deux parties le contenu d'un arbre dit auxiliaire. Ainsi, on peut avoir un arbre auxiliaire pour les adverbes qui vient s'insérer (s'adjoindre) au niveau d'un nœud GP.

Les TAG sont plus puissantes (en pouvoir d'expression) que les CFG tout en conservant de bonnes propriétés algorithmiques pour l'analyse. Elles font partie d'un continuum de formalismes dit faiblement dépendant du contexte qui allient à la fois cette puissance descriptive pour des phénomènes linguistiques et de bonnes propriétés algorithmiques.

Quelques références:


Références