1 / 42

Vers un « méta-EDL », puis un « EDL générique » pour la TAO

Vers un « méta-EDL », puis un « EDL générique » pour la TAO. Mémoire de Master 2 de Recherhche. Hong-Thai NGUYEN Systèmes et Logiciels. EDL classique : caractéristiques générales.

haamid
Download Presentation

Vers un « méta-EDL », puis un « EDL générique » pour la TAO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vers un « méta-EDL », puis un « EDL générique » pour la TAO Mémoire de Master 2 de Recherhche Hong-Thai NGUYEN Systèmes et Logiciels

  2. EDL classique: caractéristiques générales C’est un environnement de programmation linguistique qui connecte ou intègre un ou plusieurs LSPL (langage spécialisé pour la prog. linguistique). Un EDL permet aux développeurs linguistes de construire et mettre au point des applications « langagières » (gestion, manipulation des linguiciels ou données, compilation, test, débogage).

  3. Étape (A,T,G) phase phase Linguiciel Corpus brut traité Dico Gram Proc … Exemple 1: ARIANE-G5 • Points spécifiques: • Chaînes d’exécutions (mise au point) • Chaînes de production • LSPL (5 dans ARIANE-G5) • Composants obligatoire facultative

  4. Exemple 1: ARIANE-G5 (suite)

  5. Format extérieur Texte Source Exemple 2: INTEX/Nooj(Fonctionnalités) Analyse Interface à manipulation directe Analyse morphologique Analyse syntaxique Normalisation un texte Levée d’ambiguïtés

  6. Exemple 2: INTEX/Nooj(Exemple de développement direct avec éditeur graphique) Graphe reconnaissant « le » ou « la » suivi «d’un mot », puis de « est » Concordance du graphe équivalent à l’expression: (le+la) <MOT> est

  7. Méta-EDL • Définition: système permettant de « piloter » un ou n EDL à distance • Besoins: • n=1: CASH, méta-EDL spécifique pour ARIANE-G5 • n>1: WICALE, un méta EDL générique • Méthode de construction actuelle: • Gérer en local une copie des linguiciels. • source • non compilé • Échanger avec l’EDL: • des commandes • des données

  8. CASH WICALE 2.0 WICALE 1.1 WICALE 1.0 Comment un méta-EDL évolue vers un EDL EDL générique générique Linguiste Spécifique à un EDL Méta EDL Support aux linguistes Navigation sur des linguiciels source Édition en locale des linguiciels source Synchronisation entre des linguiciels EDL 2 … EDL 1 Échange de commandes & données Architecture générale d’un EDL Fonctionnalités (de bas en haut )

  9. Perspective: vers un EDL « générique »,« complet » et « miroir » • Définitions: un méta EDL générique et complet • Générique: ouvert à plusieurs EDL, comme WICALE 1.0 • Complet: offrant toutes les fonctionnalités de développement (édition, navigation, aides à la construction des grammaires, automates, dictionnaires) • « miroir »: pouvant fonctionner en local (autonome)  nécessité d’importer ou de réimplémenter chaque LSPL: • Compilateur • Moteur • méta-EDL « intégrateur » • Pour construire des application « hétérogène », ex: • Sylla + ARIANE-G5  TAO pour le lao • UNL Deco + CASH + ARIANE-G5  Déconvertisseur UNL-Français

  10. Démarche envisagée • Produire un méta-EDL générique complet • en s’inspirant de CASH • à partir de WICALE 1.0  50% réalisés pendent mon stage de M2R • Trouver & appliquer un méthode générique de « réingénérie » de LSPL faits par d’autres • Faire cela en étant utilisateur (développeur linguiste) • maquette UNL-Vietnamien en construction

  11. Plan de la suite • EDL classique • « méta EDL » • « vers un EDL générique » • État de l’art de WICALE 1.0 • Création d’une fonction d’édition: WICALE1.0 • Création d’une fonction de navigation: WICALE 2.0 • Axes de recherche pour le futur • Conclusion

  12. État de l’art de WICALE 1.0 Image locale • Buts du projet WICALE 1.0: réaliser un méta-EDL • Générique, pilotant au moins ARIANE-G5 • Portable (au contraire de CASH) • État actuel • WICALE 1.0 réalisé par V.Carpena 2003-04 en Java • Objectifs tous atteints: • échange des messages et fichiers entre EDL et machine en local • Paramétrisation pour connecter à plusieurs EDL (ARIANE-G5, PILAF, UNL) • A faire au-delà: • Édition des linguiciels, des corpus, des arbres • Navigation dans les linguiciel • Aides au développeur linguiste comme CASH Navigation Édition WICALE 1.0 ARIANE-G5 PILAF …

  13. Possibilités pour l’édition

  14. Édition: caractéristiques implémentées • Édition par appel d’un éditeur de texte quelconque • Édition simultanée de plusieurs fichiers • Protection contre les erreurs de manipulation • Deux modes d’ouverture : V (voir) ou M (modifier) • Édition sur une copie du source (sécurité totale) • Gestion de cohérence à l’aide des dates de dernière modification

  15. Démonstrations de la fonction d’édition de WICALE 1.1 Liste des fichiers ouverts Édition par Notepad

  16. Édition: conclusion et perspectives • Résultat: • WICALE 1.1 permet l’édition • il peut déjà être utilisé comme un « mini CASH » • méta-EDL local minimal (CASH - -) • mais générique • Perspectives: • Intégration d’un éditeur graphique: • pour les arbres et graphes • en construction par (Émile Verdurand) • Création d’éditeurs « syntaxiques » liés aux LSPL différents • Support aux linguistes

  17. Plan de la suite • EDL classique • « méta EDL » • « vers un EDL générique » • État de l’art de WICALE 1.0 • Création d’une fonction d’édition: WICALE1.0 • Création d’une fonction de navigation: WICALE 2.0 • Axes de recherche pour le futur • Conclusion

  18. Fonction de navigation Navigation dans CASH (HyperCard sur Mac)  Désir d’une fonction de navigation « à la CASH » ( non réalisable comme dans CASH)

  19. Type de navigation désiré Navigation de type hypertexte  Génération du source linguiciel au format HTML

  20. Navigation: solution retenue génération statique « à la Doxygen » en local: • Factorisation: • Extraction des éléments dans le source • transformation du source en un format intermédiaire adéquat (comme XML) • Marquage: Création des liens entre les occurrences d’un élément et sa définition • Génération: Fabrication de la sortie HTML  On conserve WICALE 1.0, et c’est réalisable  Génération statique

  21. Factorisation Marquage Génération Navigation:vers une solution combinée

  22. Navigation: conclusion • Résultat: • Conforme au modèle proposé • Fonctions supplémentaire: indexage des éléments, recherche des éléments • On a un EDL un peu moins complet (CASH -) • Il reste des choses à faire: • Transformation du fichier par XSLT à compléter (quand le compilateur AY2XML traitera tous les LSPL)

  23. Plan de la suite • EDL classique • « méta EDL » • « vers un EDL générique » • État de l’art de WICALE 1.0 • Création d’une fonction d’édition: WICALE1.0 • Création d’une fonction de navigation: WICALE 2.0 • Axes de recherche pour le futur • Conclusion

  24. Axes de recherche pour le futur • méta-EDL générique complet.  WICALE 3.0 • méta-EDL intégrateur: pour construire des linguiciels à partir de plusieur EDL  WICALE 4.0 • méta-EDL miroir: réingénierie des LSPL des différents EDL • EDLM: idem + mutualisation (Youcef Bey)

  25. Méta-EDL générique complet • Un méta-EDL complet et générique peut: • travailler avec plusieurs EDL • offrir lui-même toutes les fonctionnalités d’un EDL • Édition graphique • Édition syntaxique • …

  26. Méta-EDL miroir • Un méta-EDL miroir (intergiciel linguistique) peut: • se connecter aux EDL différents • les remplacer totalement (développement, exécution). Mais il ne permet pas de « composer » les EDL existants • Réingénierie des LSPL

  27. Méta-EDL intégrateur • Un méta-EDL intégrateur (portail linguistique): • est un méta-EDL pour plusieurs EDL • est un EDL de « deuxième niveau » permettent: • composer ces EDL différents • pour construire des applications « hétérogènes » • Langage de composant

  28. Conclusion & perspectives (1) • Rappel: • Étude des EDL, taxonomie • Ajout de l’édition  WICALE 1.1 • Ajout de la navigation  WICALE 2.0 • Étude prospective sur les (méta-) EDL (intégrateur) du futur

  29. Conclusion & perspectives (2) • En cours • maquette UNL-Vietnamien • traducteur des linguiciels en XML (avec JCD,CB) • Études d’un autre EDL (stage chez Systran) • Durant la thèse • Réingéniérie des LSPL • Construction de WICALE 3.0, méta-EDL générique et complet • Vers un EDL universel, « intégrateur » et « miroir »

  30. Fin ? Merci !

  31. Plan • Introduction • EDL classique • Méta EDL • Vers un EDL « générique » • Démarche envisagée • L’état de l’art de méta EDL • Fonction d’édition dans un EDL • Fonction de navigation dans un EDL • Axes de recherche pour le futur • Conclusion et perspectives

  32. Démonstrations de WICALE 1.1

  33. Démonstrations de la fonction d’édition de WICALE 1.1

  34. Possibilité de navigation Solutions possibles (2) Solution 2: Construction un service Web: • Utilisation que Web browser chez client • Génération dynamique des vues • Compliqué à réaliser • Idée d’un EDL « intergiciel »

  35. Possibilité de navigation Solutions possibles (2) Solution 2: Construction un service Web: • Utilisation que Web browser chez client • Génération dynamique des vues • Compliqué à réaliser • Idée d’un EDL « intergiciel »

  36. Possibilité de navigation Solutions possibles (3) Solution 3: utilisation d’Eclipse et construction des modules supplémentaires: • Créer un plug-in sur la plate-forme pour connecter Eclipse et l’EDL. • Redéfinir l’architecture de données de cet EDL sur les fichiers manifest d’Eclipse (Workspace). • Eclipse réalise la fonction de navigation • Inextensible • Idée de connexion avec plug-in chez client

  37. Récapitulatif des solutions

  38. <Prca valeur="CHGMT" ligne="587" dcol="1" fcol="5"> < !-- Déclaration de procédure CHGMT --> <CibleJ2Courant valeur="C" ligne="587" dcol="7" fcol="7"/> <SourceJ1 valeur="S" ligne="587" dcol="10" fcol="10"/> <Resaff> <Si> <Inclut> <Var valeur="MT" ligne="589" dcol="18" fcol="19"> <SourceJ1 valeur="S" ligne="589" dcol="22" fcol="22"/> </Var> <Val valeur="IPR" ligne="589" dcol="29" fcol="31"/> </Inclut> </Si> <Alors> <Affect> <Var valeur="MT" ligne="589" dcol="44" fcol="45"> <CibleJ2Courant valeur="C" ligne="589" dcol="47" fcol="47"/> </Var> <Val valeur="IPR" ligne="589" dcol="51" fcol="53"/> </Affect> </Alors> … </Prca> … <DecVar valeur="dv" ligne="1" dcol="10" fcol="11"> <DeclVar> <Deco valeur="deco" ligne="2" dcol="8" fcol="11"> … <Var valeur="MT" ligne="311" dcol="1" fcol="2"> < !-- Déclaration de variable MT --> <TypeExclusif/> <Val valeur="IMP" ligne="311" dcol="12" fcol="14"/> <Val valeur="IPR" ligne="311" dcol="16" fcol="18"/> <Val valeur="SPR" ligne="311" dcol="20" fcol="22"/> <Val valeur="IPA" ligne="311" dcol="24" fcol="26"/> <Val valeur="SPA" ligne="311" dcol="28" fcol="30"/> <Val valeur="INF" ligne="311" dcol="32" fcol="34"/> <Val valeur="PPR" ligne="311" dcol="36" fcol="38"/> <Val valeur="PPA" ligne="311" dcol="40" fcol="42"/> <Val valeur="FUT" ligne="311" dcol="44" fcol="46"/> <Val valeur="CDL" ligne="311" dcol="48" fcol="50"/> </Var> … Démonstrations de la fonction de navigation de WICALE 2.0 (1) -DECVAR- dv -DECO- deco MT==(IMP,IPR,SPR,IPA,SPA,INF,PPR,PPA,FUT,CDL). SEXE == (FEMININ, MASCULIN). DGA == (SYN, ANA, NO). ... CHGMT(C;@S) == -SI-MT(@S)-INC-IPR-ALORS-MT(C):=IPR; -SNSI- MT(@S)-INC-SPR -ALORS- MT(C):=IPR; -SNSI- MT(@S)-INC-IPF -ALORS- MT(C):=IPA; -SNSI- MT(@S)-INC-SPF -ALORS- MT(C):=SPR; -SNSI- MT(@S)-INC-IPA -ALORS- MT(C):=IPA; -SNSI- MT(@S)-INC-FUT -ALORS- MT(C):=FUT; -SNSI- MT(@S)-INC-CDL -ALORS- MT(C):=SPA; -SNSI- MT(@S)-INC-IMP -ALORS- MT(C):=IMP; -SNSI- SUBV(@S)-E-INF -ALORS- MT(C):=INF; -SNSI- SUBV(@S)-E-PPR -ALORS- MT(C):=PPR; -SNSI- SUBV(@S)-E-PPA -ALORS- MT(C):=PPA; -FSI-. ... -FIN- Factorisation Source de ROBRA d’ARIANE-G5 Sortie du compilateur AY2XML

  39. Démonstrations de la fonction de navigation de WICALE 2.0 (2) … CHGMT(C;@S) == -SI- MT(@S)-INC-IPR -ALORS MT(C):=IPR; -SNSI- MT(@S)-INC-SPR -ALORS-MT(C):=IPR; … … <Si> <Inclut> <Var dcol="18" fcol="19" ligne="589" valeur="MT"> <SourceJ1 dcol="22" fcol="22" ligne="589" valeur="S"/> <WICALE> < !-- Information ajouté après la génération de Wigen --> <CONTENT> <FULLNAME> <!--Nom d’élément constitué par le chemin, unique dans un fichier--> "DecVar.DeclProc.Prca.Resaff.Si.Inclut.Var.MT« </FULLNAME> <NAME> < !-- Nom original d’élément MT--> MT </NAME> <LINK> < !-- Lien vers la définition de MT --> "WicaleCatalog.po?action=query&amp;ID=DecVar.DeclVar.Deco.Var.MT&amp; option=normal&amp;page=3 » </LINK> </CONTENT> <WERVION>versionID</WERVION < !-- Information de version de cet élément, non encore utilisée --> </WICALE> </Var> … </Prca> … … <Prca> … <Var valeur="MT" ligne="589" dcol="18" fcol="19"> <SourceJ1 valeur="S" ligne="589" dcol="22" fcol="22"/> </Var> … </Prca> … Marquage Sortie du module Wigen de WICALE 2.0 Sortie du compilateur AY2XML

  40. Démonstrations de la fonction de navigation de WICALE 2.0 (3) Fichier SXLT de transformation <HTML> ... <TR id="rowelement"><TD align="center"><A name="DecVar.DeclProc.Prca.CHGMT">CHGMT</A></TD><TD><A><A name="&quot;DecVar.DeclProc.Prca.CHGMT&quot;">CHGMT</A> <!—Définition le nom de l’élement (CHGMT) --> == -SI- -ALORS- <!—Syntaxe transforme par XSLT le module “Prca” --> <A href="&quot;WicaleCatalog.po?action=query&amp;ID=DecVar.DeclVar.Deco.Var.MT&amp;option=normal&amp;page=3&quot;" name="&quot;DecVar.DeclProc.Prca.Resaff.Alors.Affect.Var.MT&quot;">MT</A> <!—Définition du nom de l’occurrence (MT) et lien vers sa définition--> ... </HTML> Fichier XML traité Génération

  41. Génération dynamique http://nom_machine:porte/WicaleCatalog.po?action=query;ID=DecVar.DeclVar.Deco.Var.MT&amp;option=normal;page=3 page = 3 ID = DecVar.DeclVar.Deco.Var.MT Enhydra serveur WICALE sous Enhydra Recherche tous les éléments dans page « 3 » Mise en rélief du élément « DecVar.DeclVar.Deco.Var.MT » Fichier XML traité

  42. INTEX/Nooj (suite)

More Related