4.3. Formalisme et outils utilisés : LTAG et LLP2
4.3.2. LTAG à l’équipe Langue et Dialogue
En théorie, les grammaires lexicalisées LTAG sont supposées décrire les propriétés syntaxiques
spécifiques de chaque mot. En pratique, on peut optimiser la taille de la grammaire en prenant en
considération les possibilités suivantes (cf. Crabbé [CRA 03]) :
- Pour les langues flexionnelles, afin d’éviter de multiplier le nombre d’arbres élémentaires en
réalisant l’ancrage sur les formes fléchies, on ramène les formes fléchies à leur lemme. En
conséquence, on aura une base de données associant à chaque forme fléchie son lemme et une
structure de traits morphologique, et une base d’arbres élémentaires dont les ancres sont des
lemmes.
- De nombreux lemmes partagent des comportements syntaxiques similaires. On peut donc
séparer les lemmes des arbres élémentaires. Les arbres élémentaires ainsi obtenus (appelés
schèmes) sont mis en relation avec des lemmes qui peuvent substituer leurs ancres. À chaque
association lemme/schème, on ajoute une liste de structures de traits imposées sur les nœuds
arguments sélectionnés par le lemme dans le schème.
- Les arbres élémentaires qui ont des relations exprimables par des règles lexicales peuvent être
organisés en familles d’arbres (cf. XTAG [XTAG 01] et Abeillé [ABE 02]).
- La méta-grammaire permet une description compacte : les schèmes sont factorisés afin de
partager au maximum les descriptions partielles en commun (cf. Figure 4-8).
Figure 4-8 Exemple de factorisation de schèmes (cf. Crabbé et al. [CRA 03, 05])
Le format employé pour le codage des données syntaxiques par l’analyseur LTAG au LORIA est
TAGML, format défini en commun avec le projet ATOLL de l’INRIA Rocquencourt et l’équipe
TALANA de Paris 7. Nous décrivons maintenant les principes de ce mode de représentation.
4.3.2.2. Format des ressources : TAGML
TAGML (cf. Bonhomme et Lopez [BON 00b]) est un formalisme de spécification XML des divers
éléments d’une grammaire LTAG.
Un fichier de descriptions d’une grammaire se compose de trois parties. La première partie est une
base lexicale, qui comprend les descriptions des unités morphologiques. Par exemple, le code suivant
correspond au classificateur des objets « cái » en vietnamien :
<morph lex="cái"> <fs>
<f name="type">
<sym value="common"/> </f>
<f name="count">
<sym value="absolute"/> </f>
<f name="unit">
<sym value="natural"/> </f>
<f name="meaning"> <sym value="object"/> </f>
</fs>
<lemmaref name="cái" cat="N"/> </morph>
Dans cet exemple, la structure de traits (fs) est constituée de 4 traits (f) avec les noms d’attribut et
les valeurs balisées par sym. Le lemme correspondant au morphème et sa partie du discours sont
marqués par le balisage lemmaref.
Une deuxième partie spécifie les arbres élémentaires de la grammaire. Par exemple, le code suivant
correspond à l’arbre élémentaire décrivant la sous-catégorisation d’un verbe transitif :
<tree id="NP0-Vtransitive-NP1"> <fs>
<f name="alt"> <sym value="NP0-Vtransitive-NP1"/> </f> </fs>
<node cat="S" type="std">
<node cat="NP" type="subst" name="np0"/> <node cat="VP" type="std" name="vp">
<node cat="V" type="anchor" name="verb"> <narg type="top">
<fs>
<f name="transitivity"> <sym value="transitive"/> </f> </fs>
</narg> </node>
<node cat="NP" type="subst" name="np1"/> </node>
</node> </tree>
Le type des nœuds est noté subst pour les nœuds de substitution, anchor pour les ancres, adj pour
les adjonctions et std pour les autres nœuds.
Et enfin la troisième partie décrit les lexicalisations des arbres. Par exemple, une lexicalisation de
l’arbre ci-dessus, avec la lexicalisation de l’ancre (anchor) dont le nom (noderef) est « verb » :
<lexicalization> <tree><fs>
<f name="alt"> <sym value="NP0-Vtransitive-NP1"/> </f> </fs></tree>
<anchor noderef="verb">
<lemmaref name="ăn" cat="V"/> <!-- manger --> </anchor>