LI324(1) : Langages formels

CM : Mardi, 14:00-16:00, salle 105 îlot Jussieu
TD : Mercredi, 9:00-11:00, château des rentiers (salle à préciser)
Premier cours : 26 septembre 2005, premier TD le 27 septembre
Pas de TD le mercredi 11 octobre, ni le mercredi 1er novembre, pas de CM le mardi 7 novembre.
Les deux derniers CM de l'année (5 et 12 décembre) ont lieu en salle machine de 12h15 à 14h15 au lieu de 14h00-16h00.

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

26/09/06 CM Réunion de rentrée
Ch0. Panorama
Ch1. Langages rationnels (1)
  1. Théorème de Kleene
  2. Propriété de fermeture
27/09/06 TD Automates I (exos)
03/10/06 CM Ch1. Langages rationnels (2)
04/10/06 TD Automates II (exos)
10/10/06 CM Ch2. Langages algébrique (1)
11/10/06 TD Transformations de grammaires
pas de séance, voir feuille d'exercices
17/10/06 CM Ch2. Langages algébrique (2)
Ch3. Machines de Turing (1)
18/10/06 TD Transformations de grammaires et
automates à pile (exos)
24/10/06 CM Ch3. Machines de Turing (2) (poly)
18/10/06 TD Machines de Turing (exos)
31/10/06 CM Ch3. Machines de Turing (3)
Ch4. Parsing (1)
01/11/06 TD férié
07/11/06 CM séance annulée
08/11/06 TD Problèmes de parsing (exos)
14/11/06 CM Ch4. Parsing (2)
15/11/06 TD Algorithmes de parsing (1)
21/11/06 CM Ch4. Parsing (3)
22/11/06 TD Devoir sur table
28/11/06 CM Ch5. Traduction dirigée par la syntaxe (Polys 1, 2, 3)
29/11/06 TD Algorithmes de parsing (2)
05/12/06 CM Ch6. Lex & yacc Exemple lex 1 Parser yacc autonome
06/12/06 TD Parsing et nltk
12/12/06 TD Lex et yacc
13/12/06 TD nltk et révision
 

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
  • Devoir sur table n° 1
    Mercredi 22 novembre, horaires et lieux habituels
  • Examen final : session de janvier
    Mardi 9 janvier 2006, horaires et lieux habituels (105)
  • Examen 2e session : mercredi 13 juin 2007, salle 134, 16h30-18h30.
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 June 19 2007