1 / 62

Mémoire CNAM en vue d’obtenir le diplôme d’ingénieur CNAM en informatique

Mémoire CNAM en vue d’obtenir le diplôme d’ingénieur CNAM en informatique. Interface cliente générique pour le pilotage de serveurs linguistiques. Introduction. Laboratoire CLIPS Équipe GETA Équipe pluridisciplinaire Les thèmes de recherche - TAO du traducteur - TAO du rédacteur

tiara
Download Presentation

Mémoire CNAM en vue d’obtenir le diplôme d’ingénieur CNAM en informatique

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. Mémoire CNAM en vue d’obtenir le diplôme d’ingénieur CNAM en informatique Interface cliente générique pour le pilotage de serveurs linguistiques Virginie CARPENA

  2. Introduction • Laboratoire CLIPS Équipe GETA • Équipe pluridisciplinaire • Les thèmes de recherche - TAO du traducteur - TAO du rédacteur • La mise en place d’outils linguistiques • moteurs (compilateurs, analyseurs, transducteurs, générateurs) • données (lexiques, grammaires, corpus) Virginie CARPENA

  3. Introduction • But du mémoire : développer une application • rendre les outils disponibles via le WEB • éditer et modifier les outils linguistiques en local • synchroniser les données linguistiques avec le serveur • envoyer des commandes et récupérer le résultat Virginie CARPENA

  4. PLAN 1. Vue générale et contexte de l’étude 1.1 Présentation des serveurs linguistiques 1.2 Présentation d’une première interface CASH 1.3 Objectifs et contraintes de la nouvelle application 2. Analyse et conception 2.1 Analyse conceptuelle 2.2 Conception technique 2.3 Choix de conception 3. Réalisation de WICALE 3.1 Application finale 3.2 L’interface de programmation (API) Conclusion Virginie CARPENA

  5. ARIANE-G5 • Est un environnement de développement de systèmes de TA • 5 langages de haut niveau : LSPL • ATEF analyse morphologique • ROBRA analyse syntaxique et transfert • TRACOMPL transformations complémentaires • EXPANS outils dictionnaires • SYGMOR génération morphologique • Tourne sur une machine IBM-H30 sous VM/CMS Virginie CARPENA

  6. Données ARIANE-G5 Virginie CARPENA

  7. ARIANE-G5 • Les commandes Exemple : LISNOMTEXT Langue source Cible Nom corpus LISNOMTEXT RU5 * ESSAI MOT Param 1 Param2 …Param n Virginie CARPENA

  8. ARIANE-G5 • Les accès • Via le courrier électronique (SMTP) En mode différé • Via TELNET implémenté par des sockets TCP/IP En temps réel Virginie CARPENA

  9. PILAF • Est un logiciel de traitement de l’écrit permettant : • l’analyse et la génération morphologique • La lemmatisation • La construction de structures de dépendances • Disponible sur le Mac, Windows, UNIX et WEB Virginie CARPENA

  10. Données PILAF Virginie CARPENA

  11. PILAF • Les commandes Analyse morphologique jeu de caractères (ISO / ASCII), la lemmatisation (OUI / NON), le type de sortie (texte, HTML, et LISP) le texte ou le fichier à analyser.   Exemple « La nouvelle année scolaire » Forme CAT. Variables La detp sin fem tre cod nouvelle subc sin fem nouvelle adjq sin fem… Virginie CARPENA

  12. PILAF : communication • Les accès • Via le WEB (protocole HTTP) Virginie CARPENA

  13. UNL Est une définition d'un format d'échange (langage UNL) Code la sémantique d'un document permet la « déconversion » dans la langue du lecteur Virginie CARPENA

  14. Données UNL Virginie CARPENA

  15. UNL • Les commandes Déconversion document UNL à déconvertir. Monkeys eat bananas. Virginie CARPENA

  16. UNL • Les accès • Via TELNET implémenté par des sockets TCP/IP Virginie CARPENA

  17. CASH pour ARIANE-G5 Virginie CARPENA

  18. Objectifs et contraintes de WICALE Virginie CARPENA

  19. Les données Virginie CARPENA

  20. Les scénarios Virginie CARPENA

  21. Les contraintes La portabilité La généricité ou adaptabilité La facilité de déploiement et d’utilisation La localisation Virginie CARPENA

  22. PLAN 1. Vue générale et contexte de l’étude 1.1 Présentation des serveurs linguistiques 1.2 Présentation d’une première interface CASH 1.3 Objectifs et contraintes de la nouvelle application 2. Analyse et conception 2.1 Analyse conceptuelle 2.2 Conception technique 2.3 Choix de conception 3. Réalisation de WICALE 3.1 Application finale 3.2 L’interface de programmation (API) Conclusion Virginie CARPENA

  23. Analyse conceptuelle Les fonctionnalités • Afficher la listes des EDL • Synchroniser les données linguistiques • afficher la liste des commandes • Saisir des paramètres d’une commande (contrôle) • Envoyer la commande et réceptionner du résultat • Travailler sur le résultat • Préparer un script de commande • Deux modes de fonctionnement : • Résultat à l’écran • Résultat dans un fichier (format texte) Virginie CARPENA

  24. Analyse conceptuelle Virginie CARPENA

  25. Conception technique Virginie CARPENA

  26. Démarche en spirale Choix techniques Objectifs et contraintes Prépare phase suivante Développe Et vérifie application Virginie CARPENA

  27. Les choix techniques Piloter des EDL BD XML … Stockage des données en local ISO-8859-1 Unicode UTF-8 Fichiers XML au format UTF-8 Virginie CARPENA

  28. Les choix techniques Piloter des EDL ARIANE-G5 SMTP, ou TELNET Communiquer avec les EDL PILAF HTTP UNL Telnet ARIANE-G5 via Telnet implémenté par des sockets TCP/IP PILAF via le protocole HTTP UNL via Telnet implémenté par des sockets TCP/IP Virginie CARPENA

  29. Les choix techniques Portabilité JAVA C++ JAVA Virginie CARPENA

  30. Les choix techniques Séparer code et texte, Multi-appli Localisation Séparer le code des textes affichés Virginie CARPENA

  31. Les choix techniques BD XML … Généricité Adaptabilité Facilité de déploiement et d’utilisation ISO-8859-1 Unicode UTF-8 Fichiers XML au format UTF-8 Expressions régulières Virginie CARPENA

  32. Résumé des choix techniques Virginie CARPENA

  33. JAVA • Sa portabilité • Son kit de développement Compresseur de classes (jar.exe) Générateur de documentation Java (javadoc.exe)   • Son API de base • Les aspects réseau • La mise en œuvre d’interfaces graphiques • La localisation • Le codage • La manipulation d’expressions régulières • La manipulation de fichiers XML • Ses environnements de développement Virginie CARPENA

  34. Les aspects réseau • La communication par socket : Envoi d’une commande Client Serveur Début de session Délimiteur d’enreg Commande ARIANE Délimiteur de fin Fin de session Virginie CARPENA

  35. Les aspects réseau // Initialisation du socket et des flots de communication socket = new Socket(tupai.imag.fr, 5768); isr = new InputStreamReader(socket.getInputStream(),"iso-8859-1"); in = new BufferedReader(isr); out = new PrintWriter(socket.getOutputStream(),true); Virginie CARPENA

  36. Les aspects réseau //Envoie de la commande out.print(sDEBFIN_SESSION + constante.CRLF); //DEBUT de session out.print(sCommande + constante.CRLF); out.print(sDEBFIN_SESSION + constante.CRLF); //FIN de session out.flush(); avec sCommande = /*-----------------------------------------------------------------------------------*/ ** Operation de phase:M C ou G MACHINE = CARPENA DISQUE = 191 LGS = * LGC = * TRAIT = LIENLANG ( * , * ) /*-----------------------------------------------------------------------------------*/ Virginie CARPENA

  37. Les aspects réseau • La communication par le protocole HTTP Client Serveur Connexion Envoi POST + paramètres Virginie CARPENA

  38. Les aspects réseau Connexion au serveur …  url = new URL("http ://clips.imag.fr/cgi-bin/pilaf/gene.py?"); server = (HttpURLConnection)url.openConnection(); server.setRequestMethod(« POST »); server.setRequestProperty("Content-type", "application/x-www-form-urlencoded"); server.connect(); … BufferedWriter bw = new BufferedWriter(new OutputStreamWriter (server.getOutputStream())); String s = mot=bouillir&categorie=ppas&variables=fem+plu ; bw.write(s, 0, s.length()); bw.flush(); bw.close(); Virginie CARPENA

  39. Expressions régulières • Système puissant permettant de retrouver un mot ou une phrase • Expressions mathématiques : opérateurs, valeurs, variables • Utilisé par les linguistes Virginie CARPENA

  40. Expressions régulières • Exemple : recherche de la réponse renvoyé par le serveur <HTML><HEAD><TITLE>R&eacute;sultat g&eacute;n&eacute;ration</TITLE></HEAD><BODY BGCOLOR="FFFFFF"> <TABLE WIDTH="100%"><TR><TD BGCOLOR="#666699" HEIGHT=30VALIGN=CENTER><FONT FACE="Verdana, Arial" SIZE="+2" COLOR="WHITE"><B>R&eacute;sultat de la g&eacute;n&eacute;ration<B></FONT> </TD></TR></TABLE><VAR>Vous avez choisi le jeu de caract&egrave;res :</VAR> ISO<HR><BR><VAR>Voici la g&eacute;n&eacute;ration demand&eacute;e : </VAR>bouillir&nbsp;&nbsp;<B>ppas&nbsp;&nbsp;</B><I>plu fem</I><HR> <PRE>Forme Lemme <B>CAT.</B> Variables<HR>bouillies bouillir <B>ppas </B> plu fem </PRE><TABLE WIDTH="100%"><TR><TD BGCOLOR="#666699">&nbsp;</TD></TR></TABLE> </BODY></HTML> Virginie CARPENA

  41. XML • Langage extensible de balises • Structuré en 3 parties • Prologue <?xml version="1.0" encoding="UTF-8"?> • Informations facultatives <!DOCTYPE caract_utf-8 [ <!ENTITY a_grave "&#224;"> • La syntaxe <LST_COMMANDE> <CDE><num_cde>1</num_cde></CDE> </LST_COMMANDE> Virginie CARPENA

  42. XML • Force de XML • Lisibilité • Structure arborescente • Universalité et portabilité • Déploiement • Intégrabilité • Extensibilité Virginie CARPENA

  43. XML : Les API Sax et DOM Virginie CARPENA

  44. Choix de conception Virginie CARPENA

  45. Choix de conception : les paquetages Virginie CARPENA

  46. Choix de conception : la charte • Les conventions d’écriture inspirées des règles java • Règles de nommage • Règles générales : commentaires de fonctions, … @see @param tous les paramètres d’entrée @return tous les paramètres de sortie @author @version @since Modifié le JJ/MM/YYYY Par AUTHOR Virginie CARPENA

  47. Choix de conception : l’interface graphique Virginie CARPENA

  48. Choix de conception : le paramétrage Virginie CARPENA

  49. Choix de conception : le paramétrage Le fichier commande.xml • liste des commandes <LST_COMMANDE> <GPE_COMMANDE nom_groupe="Les actions et interrogations globales"> <nom_groupe>Les actions et interrogations globales</nom_groupe> <type_groupe>GENERAL</type_groupe> <COMMANDE num_cde="0"> <num_cde>0</num_cde> <nom_cde>GENERAL</nom_cde> <intitule_cde></intitule_cde> Virginie CARPENA

  50. Choix de conception : le paramétrage Le fichier commande.xml • liste des paramètres de commande <PARAMETRE_SAISIE> <PARAMETRE> <nom_param>Machine</nom_param> <libelle_param>LBL_MACHINE</libelle_param> <pos_lib_X>10</pos_lib_X><pos_lib_Y>40</pos_lib_Y> <type_param>ComboBox</type_param> <valeur_def_param>CARPENA</valeur_def_param> <pos_X>20</pos_X><pos_Y>60</pos_Y> <dim_X>160</dim_X><dim_Y>20</dim_Y> <VALEUR_LISTE> </VALEUR_LISTE> </PARAMETRE> Virginie CARPENA

More Related