Précédent : Logiciels Remonter : avant-projet ATOLL, ATelier
d'Outils Logiciels Suivant : Actions industrielles
Participants : Pierre Boullier , Bernard Lang , Frédéric
Tendeau
Mots-clés : demi-anneau
Résumé : Dans le cadre de l'approche multi-passe (section
), nous nous intéressons aux formalimes grammaticaux qui peuvent être vus comme formés d'une partie non contextuelle décorée par des attributs pris dans un demi-anneau ou dans une structure pouvant être complétée en un demi-anneau. C'est en particulier le cas pour les DCG et les grammaires à traits.
Un problème théorique et pratique s'opposait à l'application de notre cadre abstrait à des domaines d'attributs rencontrés en linguistique. Contrairement aux booléens ou aux réels positifs (utilisés dans les grammaires stochastiques), les formalismes linguistiques s'accommodent mal de la structure algébrique de demi-anneau: chez eux, le produit est une fonction qui n'est pas naturellement totale. On n'a qu'un demi-anneau partiel.
Nous avons décrit dans [3, section II.3] une construction qui permet, à partir d'un demi-anneau partiel, d'obtenir un demi-anneau qui coïncide avec le premier partout où il est défini.
Ce résultat n'est pas une assurance théorique impratiquable, c'est au contraire la solution utilisée dans nos algorithmes, sans surcoût pour la complexité, et sans modification majeure de la conception.
Nous avons montré que les DCG et les grammaires à structures de trait (Feature Structure Grammars, ou FSG) pouvaient se définir comme des CFG décorées dans un demi-anneau.
Pour les DCG, la subsomption entre les termes de Herbrand conduit à un demi-treillis inférieur complet (le terme minimal désigne l'incohérence). La borne inférieure est alors considérée comme un produit et le passage à l'ensemble des parties donne une somme (union ensembliste), ce qui permet de définir notre demi-anneau.
Dans [11], nous proposons un analyseur de DCG qui est une instance, dans le domaine de Herbrand, de notre algorithme Earley pour le calcul d'attribut abstrait.
Pour les structures de trait, l'effort est moindre puisque, dans la définition qu'en donne Carpenter, ces dernières ont déjà la structure de treillis complet et, dans la plupart des cas, distributif. C'est-à-dire que le demi-anneau est pratiquement gratuit.
Un autre grand intérêt des structures de trait données par Carpenter est qu'elles permettent très facilement de se ramener à des formalismes linguistiques variés tels que les FUG (Functional Unification Grammars de Kay), HPSG (Head-driven Phrase Structure Grammars de Pollard et Sag), LFG (Lexical Functional Grammars de Bresnan et Kaplan), PATR (Parse and Translate de Shieber), ...
Résumé : Ce travail de recherche examine comment l'analyse syntaxique de certains formalismes grammaticaux comme les TAG, LIG et DCG peut s'effectuer en deux passes. La première s'appuie sur la partie non-contextuelle de la grammaire considérée et produit une forêt partagée. La seconde passe travaille sur cette forêt pour vérifier les contraintes imposées par la partie contextuelle de la grammaire.
Conformément à l'approche multi-passe (section ), nous nous intéressons aux
descriptions qui peuvent être considérées comme la juxtaposition
d'une composante syntaxique et d'un système de contraintes. Le
traitement d'un texte se décompose alors en deux phases: une
analyse syntaxique engendre une structure sur laquelle est
appliquée, dans une seconde phase, le système de contraintes. Le
résultat final est une structure vérifiant à la fois la partie
syntaxique et la partie contrainte du formalisme initial. Parmi
ces formalismes nous nous intéressons tout particulièrement à
ceux dont le squelette syntaxique a des dérivations CF. Le
processus qui permet de calculer une proto-phrase à partir de la
précédente par substitution d'un élément, conformément aux règles
de la grammaire, ne dépend que de cet élément et non pas des
éléments qui l'environnent. Bien entendu les formalismes dont le
squelette syntaxique est une CFG appartiennent à cette
catégorie.
Cette vision séquentielle qui rejette dans une phase ultérieure le traitement des traits trop complexes peut également s'appliquer à la partie syntaxique qui peut être vue comme une succession de modules de complexité croissante. C'est la démarche qui a été adoptée pour traiter les LIG. Une première phase analyse le texte source en ne prenant en compte que le squelette CF de la LIG et produit en temps cubique une forêt partagée qui représente l'ensemble des arbres d'analyse. Cette forêt est, dans une seconde phase, utilisée par un programme qui, en temps maximal n6, produit une CFG dont les mots du langage représentent toutes les dérivations valides (et uniquement celles-là) de la LIG initiale conduisant de l'axiome à la chaîne source. Cet analyseur a été présenté à ACL'96 ([1]). Nous en avons réalisé une implantation complète qui accepte en entrée des LIG quelconques (il n'y a aucune restriction, ni sur le nombre d'objets en partie droite, ni sur le nombre de symboles manipulables sur les piles).
Dans la majorité des cas, les DCG sont implantées au-dessus de Prolog. Le passage d'une DCG à un programme Prolog se fait simplement en explicitant les deux listes, implicites dans une DCG, qui décrivent à la fois le texte source et l'emplacement d'analyse courant. La facilité de cette transformation ainsi que la puissance de Prolog expliquent la fréquence et la popularité de ce mode de traitement. Nous avons regardé si notre vision multi-passe pouvait s'appliquer aux DCG.
On extrait de chaque DCG son squelette CF, on ne conserve que
les symboles non-terminaux et les listes terminales, les
arguments des prédicats sont supprimés. Le couple formé par cette
CFG et un texte source est traité par l'un de nos analyseurs CF
généraux qui produit, dans tous les cas, la forêt partagée
correspondante (pas de problème d'ordre sur les clauses, de
récursivité gauche ou de boucle infinie). Cette forêt est ensuite
dépliée de bas en haut avec application simultanée d'un
algorithme d'unification qui met en jeu les arguments des
prédicats de la DCG qui avaient été écartés. Cette façon de
procéder assure que tout sous-arbre qui est entièrement calculé
(toutes ses variables sont instanciées par des termes clos) ne
sera jamais recalculé. En atteignant l'axiome, on obtient ainsi,
si la DCG n'est pas cyclique, l'ensemble de tous les arbres (leur
nombre peut être exponentiel en ) valides. Les sous-arbres
décorés identiques sont partagés. Dans chaque arbre, il est
possible de retrouver la valeur d'une occurrence d'une variable
quelconque.
Cet analyseur de DCG a été testé sur une grammaire écrite par F. Barthélemy qui définit la conjugaison de verbes en Akkadien et sur une grammaire qui spécifie la traduction en clair de bulletins météo.
Participants : Éric Villemonte de la Clergerie , Vitor
Rocio , Ludovic Valter
Mots-clés : tabulation, linguistique, programmation en
logique, programmation dynamique, automates logiques à piles
Résumé : L'efficacité de l'approche globale (section
) repose sur l'emploi de bonnes interprétations dynamiques assurant un bon partage des calculs. Le développement du système DYALOG qui intégre ces interprétations se poursuit et est validé au travers de quelques applications.
Une telle interprétation pour des automates à piles précise comment ``casser'' et ``recoller'' des calculs sur des piles. Plusieurs de ces interprétations ont été proposées et utilisées ces dernières années. É. de la Clergerie cherche à unifier ces différentes interprétations en précisant les concepts élémentaires sous-jacents. De plus, une interprétation efficace doit assurer un maximun de partage de calcul, ce qui nécessite de comprendre comment l'information circule pendant les calculs. Une partie de ce travail est exposée dans [4], écrit en collaboration avec F. Barthélemy.
É. de la Clergerie poursuit le développement de l'évaluateur tabulaire de programmes logiques DYALOG. Celui-ci permet maintenant la compilation séparée vers C de programmes ou grammaires logiques. Le système DYALOG se compose actuellement d'un compilateur écrit en Scheme et d'une bibliothèque C implantant une machine abstraite bas niveau articulée autour d'un mécanisme de partage de structure. Il est possible d'entrelacer évaluation tabulaire et évaluation à la Prolog (profondeur d'abord avec retour-arrière) et la bibliothèque de primitives codées à l'avance a été étoffée pour pouvoir faire face aux besoins de vraies applications.
Lors de son stage de DEA, L. Valter a regardé comment adapter pour DYALOG un algorithme d'indexation de termes logiques par ``arbres de substitution'' initialement développé par Peter Graf dans le cadre de la démonstration automatique, mais qui présente beaucoup d'intérêt pour un système tabulaire. Dans son rapport [13], outre une étude de différents mécanismes d'indexation, L. Valter montre comment marier arbres de substitution et partage de structure au sein de la machine abstraite de DYALOG.
É. de la Clergerie a conduit des expériences d'intégration de DYALOG au sein de la chaîne linguistique offerte par le système GATE, développé par l'université de Sheffield. La DCG de l'anglais présente dans GATE a été compilée avec DYALOG et le résultat utilisé en place de l'analyseur syntaxique proposé par GATE. Le nouvel analyseur permet d'obtenir sous forme de forêt partagée l'ensemble des analyses possibles pour une phrase. Le visualisateur d'arbres d'analyse de GATE a été étendu pour pouvoir représenter de telles forêts et offrir à l'utilisateur la possibilité d'y naviguer.
Au cours de sa visite au sein d'ATOLL, V. Rocio, étudiant portugais en thèse, a expérimenté avec succès DYALOG dans le cadre de l'analyseur syntaxique du Portugais sur lequel il travaille. Cet analyseur repose sur l'emploi d'une grammaire à mouvement restreint permettant le déplacement de constituants dans une phrase grâce à des piles. La compilation de ce type de grammaires, vues comme une extension de DCG, a été ajoutée à DYALOG.
Participant : François Barthélemy
Résumé : Le travail sur le système APOC étudie la construction modulaire d'analyseurs syntaxiques pouvant être paramétrés entre autres par le type de grammaires, la stratégie d'analyse et la gestion du non-déterminisme.
Le système APOC a été écrit pour implanter
rapidement diverses variantes des algorithmes d'analyse
syntaxique. Ces variantes peuvent affecter, entre autres, la
stratégie d'analyse (ascendante ou descendante), la classe de
grammaires utilisée (variation de forme des attributs et des
unifications subséquentes), la gestion du non-déterminisme
(retour arrière ou tabulation) et ainsi de suite.
La base du système est une architecture modulaire: chaque module implante une des fonctions d'un analyseur syntaxique et peut être utilisé dans différents contextes. Chaque fonction d'un analyseur est implantée par plusieurs modules au choix. Un analyseur est obtenu en combinant plusieurs modules. Implanter un nouvel algorithme d'analyse syntaxique consiste généralement à écrire un ou quelques nouveaux modules et à les combiner avec des modules préexistants. Les nouveaux modules sont ajoutés au système et susceptibles d'être réutilisés ultérieurement.
La première version d'APOC date de 1994. Dans l'année écoulée, le système a été entièrement réécrit, avec de nombreux changements dans l'architecture et en changeant de langage de programmation. Le langage actuellement utilisé est Objective Caml, avec une utilisation intensive des modules. Le typage des modules d'Objective Caml est utilisé pour assurer automatiquement la correction de la composition de modules par rapport à la sémantique de l'application et non pas seulement par rapport à celle du langage de programmation. Cette application est innovante car elle utilise des foncteurs d'ordre supérieur (modules paramétrés par des modules eux-mêmes paramétrés) et un type de polymorphisme rare (polymorphisme sur la signature de certains modules). Ce travail a bénéficié de la coopération de François Rouaix (projet Cristal).
Participant : Jean-Marie Larchevêque
Afin de
modéliser la compétence syntaxique d'un locuteur humain et de
bénéficier ainsi des propriétés de traitement incrémental des
énoncés, de tolérance à l'erreur, et de flexibilité de
l'analyseur syntaxique naturel, un formalisme syntaxique nommé
LRCG (Left-Right Compositional Grammar) est en cours de
définition. Ce formalisme, à base de sous-arbres syntaxiques
lexicalisés, sert à la fois à décrire la syntaxe des langues
naturelles et à analyser les énoncés, toute règle de grammaire
étant pourvue d'une sémantique opérationnelle dans le domaine des
représentations syntaxiques (appliquer une règle, c'est ajouter
incrémentalement des informations à la représentation syntaxique
de la phrase en cours d'analyse).
En ce qui concerne la réflexion linguistique, ce formalisme a été appliqué à des phénomènes syntaxiques classiques de l'anglais (et notamment, dépendances non bornées, coordination, relativisation), et une réflexion est en cours sur son application aux langues à ordre des mots complexe. En ce qui concerne la réflexion algorithmique, seules des considérations informelles tendent à montrer que ce formalisme est faiblement contextuel et que l'analyseur associé a une complexité polynômiale faible. Priorité est donnée pour l'instant à la couverture de phénomènes linguistiques représentatifs, réflexion susceptible d'influencer les caractéristiques mathématiques du modèle.
Participants : François Role , Roland Dachelet , Bernard
Lang
Mots-clés : métadata, bibliothèque électronique
Les progrès accomplis dans le domaine des bases de données, de l'édition électronique et des réseaux permettent aujourd'hui d'envisager la constitution de véritables bibliotèques électroniques. Un élément important de ces bibliothèques est constitué par les métadata, ou métadonnées, qui généralisent la notion de catalogage en associant aux documents toutes sortes d'informations complementaires, intrinsèques (résumé, taille) ou extrinsèque (prix, commentaires). Un autre problème est de gérer de façon corrélée diverses variantes d'un même document, révisions de l'auteurs, éditions successives, versions numérisées en texte ou en image, sous divers formats. Enfin, on souhaite exploiter la structure des documents numérisés en texte, et pour cela on utilise des codages qui la mettent en évidence, dont le plus courant est défini par la TEI (Text Encoding Initiative), elle-même fondée sur le standard SGML.
La plupart des ensembles de métadata proposés pour servir de support aux bibliothèques électroniques ne traitent que du cas simple de documents proches de l'imprimé traditionnel. Dans le cadre de la réalisation du poste de travail informationnel, nous voulons contribuer à dépasser ce stade en réfléchissant à la façon d'utiliser les metadata pour gérer, organiser et corréler des documents structurés hypertextuels complexes.
Dans cet esprit, Francois Role a dressé un état de l'art des travaux en cours dans le domaine des métadata. Par ailleurs, il a effectué une analyse des besoins, en termes d'annotation et d'organisation de l'information, de chercheurs spécialisés dans l'étude de la littérature dramatique. Cette analyse, menée en collaboration avec des enseignants de l'université de Paris 8, a débouché sur une maquette présentant le codage TEI d'une pièce de Paul Claudel, réalisation qui a été présentée au sommet francophone d'Hanoi en novembre.
Ce travail d'analyse des besoins a été complété par l'étude et l'évaluation de plusieurs environnements de travail dédiés à la lecture savante. F. Role a également commencé à étudier si certains formalismes couramment utilisés en traitement du langage, tel le formalisme des structures de traits, constituent une solution adéquate pour traiter ces problèmes.
Participant : Roland Dachelet
Dans le cadre du projet Aquarelle, nous avons avons étudié la mise en relation des thesaurii détenus par les organisations culturelles participant au projet. Ces thesaurii contiennent le vocabulaire contrôle utilisé dans certains champs des bases de données élaborées pour décrire les objets du patrimoine dans chacun des pays représentés. Les problèmes étudiés concernent les pré-requis pour la mise en relation de thesaurii monolingues source, les limites de l'interoperabilité linguistique induites par les thesaurii et la norme ISO 5964, et les solutions permettant de dépasser ces limitations [15]. Cela a permis d'établir un nouveau plan de travail dans le cadre du projet Aquarelle, et la mise sur pied d'un projet européen pour l'élaboration d'une plate-forme coopérative de production de terminologie multilingue.
Dans le cadre de la mise en relation de schémas de métadata numériques, nous avons effectué un recensement des schémas de description utilisés. L'ensemble de ces travaux nous a amené à étudier les relations entre opérabilité linguistique et sémantique, afin de permettre la mise en oeuvre de thesaurii multilingues pour rendre interopérables les bases de données utilisant des thesaurii monolingues. La structure de facettes des thesaurii source reflétant très directement la structuration en champs des bases de données sous-jacentes, il en résulte que l'appariement linguistique des thesaurii va de pair avec un appariement des structures des bases de données, ce qui permet l'interoperabilité sémantique.
Participants : Hicham Ouahid , Bernard Lang
Mots-clés : cédérom, Internet
Nous avons poursuivi le développement du Logiciel CD-Punch servant à l'analyse de la structure des Cédéroms, à des fin de débogage de cédérom, d'analyse de leur structure, ou de formation à leur architecture. Le logiciel a été modifié pour s'exécuter directement sur la machine de l'utilisateur grâce au proxy personnel V6. Les fonctionnalités ont été étendues pour intégrer les extensions Rock Ridge de la norme ISO 9660, ainsi que le format Joliet. De plus le code a été internationalisé pour permettre une localisation facile dans différents langages. Les techniques d'internationalisation étant limitées à l'alphabet ISO-latin, nous avons ajouté des modifications ad-hoc pour permettre l'analyse de cédéroms contenant des noms de fichier arabes, codés en Unicode.
A cet outil, nous avons également intégré, toujours sous V6, une interface conviviale et auto-documentée pour la mise en oeuvre du logiciel Mkisofs pour le prématriçage des cédéroms sous Unix. Nous avons également fait une étude préliminaire de l'extension de ce logiciel au format Joliet [12].
Participants : Jie Liu , Bernard Lang
Mots-clés : cédérom, Internet
Le développement d'outils pour la plateforme V6, interrompu par manque de moyen en personnel, est repris en fin d'année par J. Liu.