LI324(1) : Langages formels

CM : Vendredi, 15:30-17:3015:45-17:45, salle 124 site Rentiers
TD : Mardi, 09:00-11:00, salle 124 site Rentiers
Premier cours : Vendredi 21 septembre 2007, premier TD le 25 septembre
Pas de CM les vendredi 12 octobre ;
CM/TD de rattrapage le vendredi 14 décembre

On présentera dans ce cours les bases avancées de la théorie des langages formels, aussi bien du point de vue mathématique que du point de vue informatique (avec une préoccupation linguistique). Le but est d'aborder d'une part la problématique de l'analyse syntaxique automatique (parsing), centrale en TAL, et d'autre part celle de la compilation, problématique plutôt informatique mais qui inspire de nombreuses applications de TAL et de linguistique formelle.



 

Organisation du cours

01 18/09/07 TD Pas de séance
21/09/07 CM Ch0. Panorama
Ch1. Langages rationnels (1)
  1. Théorème de Kleene (poly)
  2. Propriétés de fermeture
02 25/09/07 TD Automates et algorithmes
Exercices, corrigés
28/09/07 CM Ch1. Langages rationnels (2)
  3. Minimisation
  4. Suppression des ε-transitions

Ch2. Langages algébriques (1)
  1. Rappels (poly)
  2. Transformations de grammaires
03 02/10/07 TD Transformations de grammaires
Exercices
04/10/07 CM Ch2. Langages algébriques (2)
  2. Transformations de grammaires (suite)
  3. Automates à piles
04 09/10/07 TD Transformations, automates à pile
Exercices
12/10/07 CM Pas de séance
05 16/10/07 TD Transformations, automates à pile
corrigé1, corrigé2
19/10/07 CM Ch2. Langages algébriques (3)
  4. Correspondance AP/GA

Ch3. Machines de Turing
  1. Définition
  2. Exemple (poly)
06 23/10/07 TD Corresp. AP/GA ; Machines de Turing
Exercices, corrigé
26/10/07 CM Ch3. Machines de Turing (2)
  3. Langages/Problèmes (poly)
  4. Pbs (in)décidables

Ch4. Parsing (1)
  1. Algorithmes naïfs
07 30/10/07 TD Introduction au parsing
Exercices, corrigé
02/11/07 CM Ch4. Parsing (2)
  2. Algorithmes prédictifs
08 06/11/07 TD Algorithmes prédictifs
Exercices
09/11/07 CM Ch4. Parsing (3)
  Algorithmes tabulaires
09 13/11/07 TD DST
16/11/07 CM Ch4. Parsing (4)
  Algorithmes tabulaires

Ch5. Traduction dirigée par la syntaxe (1)
(poly)
10 20/11/07 TD Correction DST
Parsing prédictf
23/11/07 CM Ch5. Traduction dirigée par la syntaxe (2)
(poly)
Ch6. Lex & Yacc
11 27/11/07 TD nltk
30/11/07 TP Lex & Yacc
Compilation séparée (schéma)
Premiers essais : voir répertoire code
  • lex seul : reco-mots
  • lex seul : compte-mots
  • lex seul : table des symboles pdf
  • yacc seul : etf (1 & 2)
  • lex & yacc : arithmetique
12 04/12/07 TD nltk
07/12/07 TP Lex & Yacc
Traduction automatique (!)
Quelques utilitaires dans le répertoire code
13 11/12/07 TD nltk
14/12/07 TP Lex & Yacc
Traduction automatique (suite)
à partir de trad4 (voir code) :
- installation et vérification
- ajout des adjectifs (de couleur)
grammar engineering :
  - clitiques objet
  - chgts de diathèse
14 18/12/07 TD nltk
 

Contrôles

Modalités
  • Contrôle continu : un devoir sur table (mi-semestre, 40%) et une épreuve écrite (session d'examen de janvier, 60%).
  • Contrôle final : une épreuve écrite pendant la session d'examen de janvier-février (100%).
  • Session de rattrapage (sept.) : pour tous : une épreuve écrite pendant la session d'examen de septembre (100%).
  • Aucune note n'est conservée entre février et septembre
Calendrier
  • DST n°1 : mardi 13 novembre
    Lieu et salle habituels
  • Exam : session de janvier 2008
    Vendredi 11 janvier, 15h30-17h30, salle 124
  • 2e session:
    Lundi 23 juin
Annales
voir ma page d'archives
 
 

    Bibliographie

    Généralités. Les ouvrages de Alfred Aho et Jerry Ullman, presque tous traduits en français, constituent une source excellente pour tous les sujets vus dans ce cours. Mais on pourra aussi consulter avec profit l'excellent manuel (Partee, ter Meulen & Wall 93), qui traite tous les aspects de ce cours (sauf la traduction dirigée par la syntaxe et la compilation), d'une façon moins complète, mais souvent mise en perspective par rapport au traitement du langage naturel et à la linguistique.

    Les bases des automates sont présentées, avec des exercices, dans le chapitre 17 de (Partee, ter Meulen & Wall, 93), mais les algorithmes vus en cours n'y sont pas présentés. Les algorithmes de minimisation, déterminisation, élimination des epsilon-transitions sont présentés dans (Hopcroft & Ullman, 79). L'algorithme de conversion d'une expression rationnelle en automate est décrit dans tous les manuels ; celui qui convertit un automate en expression rationnelle (algorithme de Mac Naughton et Yamada) est décrit dans (Autebert 87, pp. 88) (d'une façon assez technique).

    Les grammaires formelles sont traitées dans la plupart des ouvrages cités. Voir par exemple le chapitre 18 de (Partee, ter Meulen & Wall, 93), avec une section sur les automates à pile

    A propos des machines de Turing, on peut de nouveau se reporter à (Partee, ter Meulen & Wall, 93). On peut aussi consulter les manuels sur la complexité algorithmique et la théorie du calcul (theory of computation). Enfin, le texte intégral des articles de Turing, accompagné de préfaces très éclairantes, le tout en français, se trouvent dans (Turing/Girard 1995).

    La problématique de l'analyse syntaxique est détaillée, par exemple, au chapitre 4 de (Aho et al 2000), mais avec un point de vue « compilation ». Pour un point de vue plus linguistique, avec en particulier le problème des grammaires ambiguës, on pourra se reporter au polycopié de François Yvon.

    La traduction dirigée par la syntaxe est décrite dans (Aho et al 2000) (chapitre 5), et dans tout bon manuel de compilation.

    Enfin, pour lex & yacc et leurs variantes, c'est toujours (Levine et al, 1990) qui reste la référence (de nombreux polycopiés en ligne sur Internet, aussi).

    • Jean-Marie Autebert, Langages algébriques, Masson (Paris), 1987.
    • Alfred Aho & Jeffrey Ullman : The Theory of Parsing, Translation, and Compiling, Prentice Hall, 1972.
    • Alfred Aho, Ravi Sethi and Jeffrey Ullman, Compilateurs, Dunod (Paris), 2000. [Traduction de Compilers, Addison-Wesley, 1986]
    • Daniel Jurafsky & James Martin : Speech and Language Processing, Prentice Hall, 2000.
    • J.E. Hopcroft and Jerry D. Ullman, Introdduction to Automata Theory, Languages, and Computation, Addison Wesley Publishing Co. (Reading, Ma), 1979.
    • John Levine, Tony Mason and Doug Brown, lex & yacc, O'Reilly, 1990.
    • Barbara Partee, Alice ter Meulen & Robert E. Wall, Mathematical Methods in Linguistics, Kluwer Academic Publishers, 1993.
    • Alan Turing/Jean-Yves Girard, La machine de Turing, Seuil, coll. Le Point Sciences (S131), 1995.

Ma maison-page July 02 2008