4.4. Descriptions syntaxiques du vietnamien
4.5.3. Construction du corpus arboré
Par rapport aux corpus annotés morpho-syntaxiquement, qui associent à chaque mot des
informations morphologiques et sa catégorie syntaxique, les corpus annotés syntaxiquement
fournissent des informations supplémentaires : découpage des constituants (proposition, syntagme,
etc.), fonction grammaticale des mots ou des constituants, dépendance entre mots ou constituants. Ils
peuvent avoir plusieurs applications directes en TAL :
- évaluation des étiqueteurs et des analyseurs syntaxiques ;
- entraînement des étiqueteurs ou des analyseurs probabilistes ;
- recensement des constructions négligées dans la littérature linguistique ;
- enrichissement des dictionnaires (extraction de collocations, cadres de complémentation) ;
- etc.
Ainsi, pour chaque langue, la disponibilité d’un corpus arboré de référence de grande taille est
précieuse pour toutes les applications en TAL qui font usage d’informations syntaxiques (extraction
d’information, résumé de texte, alignement de texte multilingue, etc.). L’annotation syntaxique est
aussi une préparation à l’annotation sémantique.
Avant d'étudier le codage normalisé des corpus arborés, nous présentons dans la section suivante la
structure (les informations annotées) des corpus arborés.
4.5.3.1. Structure des corpus arborés
L’ouvrage édité par Anne Abeillé ([ABE 03a]) présente de nombreux projets de construction des
corpus arborés (Treebank) d’une assez grande variété de langues. En général, les corpus arborés sont
construits en plusieurs étapes :
- Annotation morphosyntaxique
- Analyse syntaxique partielle
- Analyse syntaxique profonde
Les corpus suivant le modèle du Penn Treebank (introduit à la section 1.1.4) représentent les
informations syntaxiques en réalisant un parenthésage hiérarchique des constituants de la phrase, et en
associant les rôles sémantiques de la structure prédicat-argument à ces constituants (cf. Figure 4-19).
((S (NP-SBJ-1 Jones) (VP followed)
(NP him)
(PP-DIR into
(NP the front room))
, (S-ADV (NP-SBJ *-1) (VP closing (NP the door) (PP behind (NP him))))) .))
Figure 4-19 Exemple d’annotation syntaxique dans le corpus Penn Treebank
D’autres corpus arborés, dont le modèle Prague Dependency Treebank est représentatif, reposent
uniquement sur la grammaire de dépendance (dépendance et rôle sémantique des mots). Les Figure
4-20 et Figure 4-21 montrent des exemples de l’annotation de dépendances.
subj(intend,Paul,_) xcomp(intend,leave,to) subj(leave,Paul) dobj(leave,IBM,_)
Figure 4-21 Exemple de l’annotation de dépendances du tchèque [CME 04]
Le projet NEGRA/TIGER (cf. Brants et al. [BRA 03]) adopte un modèle hybride, qui combine
l’annotation de constituants et de dépendances pour l’allemand. Ce modèle autorise des relations de
dépendances croisées. Ce choix permet notamment de simplifier la représentation des constituants
discontinus de l’allemand, langue pour laquelle l’ordre de mot est très flexible. Ce projet a également
donné lieu à la définition du format TIGER-XML pour le codage des formes et fonctions syntaxiques,
qui est un des formats reconnus au niveau international.
Figure 4-22 Exemple de l’annotation du corpus NEGRA/TIGER
Un autre corpus richement annoté est le Sinica Treebank pour le chinois (cf. [CHE 03]). Il contient
l’annotation des constituants de phrase ainsi que, comme le Prague Dependency Treebank, des rôles
sémantiques de chaque mot. On peut citer également le corpus arboré du polonais, qui vise à devenir
une base de test pour une grammaire HPSG de cette langue (cf. Marciniak et al. [MAR 03]).
En résumé, un corpus arboré richement annoté contiendra des informations suivantes :
- Catégorie syntaxique/rôle grammatical des mots/constituants
- Parenthésage (ou dépendance) des constituants
- Dépendance des rôles grammaticaux des mots/constituants.
Le paragraphe suivant présente une proposition de codage normalisé des corpus arborés, dans le
but de maximiser l’échange, l’évaluation et la réutilisabilité de ces ressources.
4.5.3.2. Codage normalisé du corpus arboré
Ide et Romary ([IDE 03]) proposent un modèle abstrait pour différents types d’annotation
(morphosyntaxique, syntaxique, co-référence, etc.) qui peut être instancié de plusieurs façons selon
l’approche et le but de l’annotateur. Ce modèle, ainsi que plusieurs instanciations, ont été
implémentées en employant des schémas XML et RDF (Resource Definition Framework), et
incorporés dans XCES
66(cf. Ide et al. [IDE 00b]), qui est en relation étroite avec le travail sur la
définition du cadre d’annotation linguistique mené par le comité ISO/TC 37/SC 4 (cf. 1.2.2).
Suivant un principe similaire aux travaux menés par le SC 4, l’objectif cette recherche est de
définir un méta-modèle et une spécification des catégories de données communes pour chaque type
d’annotation. Le modèle concret sera obtenu par une instanciation du méta-modèle et une
interprétation des catégories de données.
Le modèle sous-jacent pour l’annotation syntaxique spécifie des relations constitué/constituant
entre des composants grammaticaux ou syntaxiques. Ces relations peuvent être soit modélisées par une
structure arborescente, soit données explicitement (cf. les exemples de la section 4.5.3.1).
L’instanciation XML du méta-modèle proposé utilise les balises suivantes pour représenter les
annotations syntaxiques utilisant des arbres (cf. Ide et Romary [IDE 03] pour les détails concernant les
attributs de ces balises) :
- <struct> représente un nœud dans l’arbre ;
- <feat> inclut l’information attachée à un nœud ;
- <alt> permet de représenter les alternatives d’annotation en cas nécessaire ;
- <rel> est utilisé pour identifier un élément relié non adjacent ;
- <seg> référence aux données auxquelles est associée l’annotation, car il est recommandé
d’utiliser une annotation externe (stand-off, cf. Bonhomme [BON 00a])
La hiérarchie de l’élément <struct> correspond à la structure de constituants de la phrase
annotée. Ainsi, on peut dans un sens utiliser la grammaire sous-jacente de l’annotation syntaxique
pour vérifier la grammaticalité de la phrase, et dans l’autre sens détecter les nouvelles structures non
enregistrées dans la grammaire en utilisant des outils pour la génération automatique de la DTD.
Le modèle abstrait impose une distinction claire entre les informations implicite et explicite (par
exemple des relations fonctionnelles déduites des relations structurelles des constituants), entre les
relations syntagmatiques et fonctionnelles. Cela permet une comparaison plus aisée des schémas
d’annotation.
La Figure 4-23 (cf. Ide et Romary [03]) présente le codage XML de l’annotation exemplifiée à la
Figure 4-19. Les têtes (head) des relations, marquées en gras, sont implicites dans l’annotation
originale. L’élément
<feat>, associé au sujet implicite ([Jones]) de la phrase subordonnée, marqué en
gras, est présent pour refléter le contenu de l’annotation originale.
Une annotation de dépendance telle que celle présentée à la Figure 4-20 est codée par une
hiérarchie plate, comme le montre la Figure 4-24 (cf. Ide et Romary [03]).
Ce cadre XCES et ses supports XML et RDF doivent permettre à l’annotateur de se concentrer sur
la spécification du schéma d’annotation syntaxique (c’est-à-dire des étiquettes morphosyntaxique, des
types de constituant syntaxique, et des structures selon une théorie/modèle linguistique). L’application
du schéma de codage XCES nous aide à obtenir des ressources annotées cohérentes, d’accès et
d’utilisation faciles.
<struct id="s0">
<feat type="Cat">S</feat> <struct id="s1">
<rel type="SBJ" head="s2"/> <feat type="Cat">NP</feat>
<seg target="xptr(substring(/p/s[1]/text(),1,5))"/> <!-- Jones --> </struct>
<struct id="s2">
<feat type="Cat">VP</feat>
<seg target="xptr(substring(/p/s[1]/text(),7,8))"/> <!-- followed --> </struct>
<struct id="s3">
<feat type=“Cat”>NP</feat>
<seg target="xptr(substring(/p/s[1]/text(),16,3))"/> <!-- him --> </struct>
<struct id="s4">
<rel type="DIR" head="s2"/> <feat type="Cat">PP</feat>
<seg target="xptr(substring(/p/s[1]/text(),20,4))"/> <!-- into --> <struct id="s5">
<feat type="Cat">NP</feat>
<seg target="xptr(substring(/p/s[1]/text(),25,14))"/> <!--the room --> </struct>
</struct> <struct id="s6">
<rel type="ADV" head="s2"/> <feat type="Cat">S</feat> <struct id="s7" ref="s1">
<rel type="SBJ" head="s8"/> <!-- [Jones] --> <feat type="Cat">NP</feat>
</struct>
<struct id="s8">
<feat type="Cat">VP</feat>
<seg target="xptr(substring(/p/s[1]/text(),41,7))"/> <!-- closing --> <struct id="s9">
<feat type="Cat">NP</feat>
<seg target="xptr(substring(/p/s[1]/text(),49,8))"/> <!-- the door --> <struct id="s10">
<rel type=“DIR” head="s8"/> <feat type="Cat">PP</feat>
<seg target="xptr(substring(/p/s[1]/text(),57,6))"/> <!-- behind --> <struct id="s11">
<feat type="Cat">NP</feat>
<seg target="xptr(substring(/p/s[1]/text(),64,3))"/><!-- him --> </struct>
</struct> </struct> </struct> </struct>
Figure 4-23 Codage XML abstrait pour l’exemple Penn TreeBank [IDE 03]
<struct>
<rel type="subj" head="mySentence.xml#w2" dependent="mySentence.xml#w1"/> <rel type="xcomp" head="mySentence.xml#w2" dependent="mySentence.xml#w4"
introducer="mySentence.xml#w3"/>
<rel type="subj" head="mySentence.xml#w4" dependent="mySentence.xml#w1"/> <rel type="dobj" head="mySentence.xml#w4" dependent="mySentence.xml#w5"/> </struct>
Figure 4-24 Codage XML abstrait pour l’exemple de dépendances [IDE 03]67
67Ce codage suppose que la phrase en question appartient à un document séparé mySentence.xml sous forme: <s1><w1>Paul</w1><w2>intends</w2><w3>to</w3><w4>leave</w4><w5>IBM</w5></s1>.