Révisions
Le développement manuel de grammaire à large couverture pose d'importants problèmes de maintenance, en particulier dus à la taille des grammaires et à la complexité des structures grammaticales.
Une première solution est d'oublier le coté manuel et de s'orienter vers l'extraction de grammaires stochastiques à partir de treebank (le gros du travail étant reporté sur la constitution du treebank).
Une autre approche, initiée dans les années 90 et début des années 2000, consiste à s'appuyer sur des descriptions modulaires et haut-niveau des phénomènes syntaxiques, sous forme de méta-grammaires. Plutôt que de devoir écrire des structures syntaxiques complètes, qui peuvent déjà mettre en oeuvre plusieurs phénomènes syntaxiques (comme un sujet et un objet dans le cadre d'un verbe à la voie active), une méta-grammaire permet de décrire d'une part la notion de sujet (avec ses divers raffinement), la notion d'objet, la notion de verbe à la voie active, ..... Ces divers notions sont exprimées sous formes de contraintes regroupées en classes. Une classe peut hériter de classes parentes, ce qui permet de raffiner progressivement une notion. Les classes sont également combinables, et à partir de certaines de ces classes combinées dont les contraintes accumulées sont satisfiables, il est possible de produire des structures grammaticales complètes pour un formalisme cible donnée comme les TAGs ou les LFGs.
Les diverses versions des méta-grammaires diffèrent sur les contraintes acceptées, les types d'héritages, les mécanismes de combinaison des classes, et la production des structures grammaticales. Elles ont cependant beaucoup de points communs.
FRMG s'appuie sur une variante de méta-grammaire développée en interne, orientée pour la production de grammaires TAG. Les classes et contraintes peuvent s'écrire sous le format SMG (Simple Meta-Grammar), qui est celui utilisé sur ce wiki pour donner le source des classes.
Composants d'un méta-grammaire
Une méta-grammaire est organisée en une hiérarchie de classes, les classes servant à exprimer des contraintes sur une phénomène syntaxique (ou une facette de celui-ci).
... }
Une classe peut hériter des propriétés de classes parentes, ce qui permet de raffiner progressivement la description des phénomènes. ... } .... }
Une classe peut aussi requérir une fonctionnalité fournie par une autre classe, au travers d'un mécanisme de consommateur/producteur de ressources.
<: adverb; .... } ... }
Ce mécanisme de ressources, puissant, vient en complément de l'héritage. En particulier, une ressource peut être consommée plusieurs fois par une classe dans des espaces de noms différents, ce qui n'il n'est pas possible de faire par simple héritage.
%% require agreemnt for the determiner (le|la) and the adjective ... } + agreement; %% provide agreement constraint between a node and its father father(N).bot.gender = node(N).bot.gender; .... }
Héritage et ressources forme l'ossature de la méta-grammaire (son organisation en terme de classes). La "chair" est fournie par le contenu des classes, portant sur des noeuds des arbres d'analyse, leurs décorations et des contraintes topologiques entre ces noeuds.
%% declaration of nodes S, v, and Subject, with some decorations node S: [cat: S, type: std]; node v: [cat: v, type: anchor, id: v]; node Subject: [cat: N2, type: subst, id: subject]; %% The subject precedes the verb Subject < v; %% The sentence node dominates the subject node S >> Subject; %% the sentence node also dominates the verb node, but indirectly %% (to allow other nodes in-between) S >>+ v; .... }
À coté des contraintes topologiques (précédence, dominance, égalité), il est également possible d'exprimer des contraintes très riches portant sur les décorations des noeuds, par utilisation de variables ou au travers d'équations entre chemins.
... %% use of variable $number to force number agreement node Subject: [cat: N2, type: subst, id: subject, top: [number: $number]]; node v : [cat:v, type: anchor, id: v, top: [number: $number]]; }
... %% alternative use of a path equation to force number agreement node(Subject).top.number = node(v).top.number; }
La classe elle-même est le support d'une décoration, ancrée sur le mot clé desc.
- Gardes
- Ressources (producteur/consommateur)
Phase de compilation
Production des arbres TAGs
Références
- , « From Metagrammars to Factorized TAG/TIG Parsers », in Proceedings of IWPT'05 (poster), Vancouver, Canada, 2005.
- , « Building factorized TAGs with meta-grammars », in The 10th International Conference on Tree Adjoining Grammars and Related Formalisms - TAG+10, New Haven, CO, États-Unis, 2010.
- , « A constraint driven metagrammar », in Proceedings of the Eighth International Workshop on Tree Adjoining Grammar and Related Formalisms (TAG+8), Sydney, Australia, 2006.
- , « XMG: un Compilateur de Métagrammaire Extensible », in Conference Traitement Automatique des Langues Naturelles (TALN'2005), Dourdan, 2005.
- , « A New Metagrammar Compiler », in Proc. of TAG+6, Venice, Italy, 2002.
- , « Organisation modulaire et paramétrable de grammaires électroniques lexicalisées », Université Paris 7, 1999.
- Version imprimable
- Connectez-vous ou inscrivez-vous pour publier un commentaire