• Aucun résultat trouvé

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>

On note deux méthodes de lexicalisation. La première consiste à associer à un nœud précis d’un

arbre donné un lemme et sa catégorie syntaxique. La deuxième méthode, propre au TAGML, utilise un

filtrage dynamique (cf. Crabbé et al. [CRA 03]), dans laquelle on énonce des règles, décrites par une

structure de traits, qui visent à sélectionner pour un lemme donné l’ensemble des arbres qui répondent

à certains critères.

Toutes les descriptions dans chaque partie peuvent être organisées en bibliothèques.

4.3.2.3. Analyseur LLP2

L’analyseur LLP2 (Loria LTAG Parser 2), un analyseur syntaxique pour les grammaires d’arbres

adjoints, est développé et maintenu au sein de l’équipe Langue et Dialogue (LeD) du LORIA.

Cependant, un analyseur syntaxique n’est en pratique qu’un élément d’une chaîne plus complexe :

outre les indispensables prétraitements nécessaires à l’analyse syntaxique (tels que l’annotation

morphologique), il apparaît depuis quelques années qu’une des principales difficultés est la

maintenance de la grammaire. Les travaux au sein de LeD portent donc également sur des outils de

maintenance et d’exploration de grammaires d’arbres adjoints. LLP2 est constitué de la collection de

modules spécialisés suivants :

- parser : le parseur pour le formalisme LTAG ;

- tagviewer : le visualiseur des arbres élémentaires ;

- graphtag : gestionnaire de visualisation des arbres TAG ;

- tagml2 : API gérant l’entrée/sortie sous format TAGML2 des ressources lexicales et

syntaxiques ;

- segment : API gérant l’entrée/sortie sous format XML du prétraitement de textes ;

- FeatureStructure : API gérant les structures de traits ;

- et d’autres APIs aidant à gérer les différents types d’arbres (arbres élémentaires, arbres

dérivés, arbres de dérivation).

L’analyseur avec sa documentation est disponible à

http://www.loria.fr/~azim/LLP2/help/fr/

.

L'utilisation de cet analyseur nous permet de tester notre modélisation de grammaire vietnamienne,

qui est l'objet de la section suivante. Le format des données TAGML2 assure une extraction facile des

informations enregistrées dans la grammaire construite.