Grammaires algébriques 2006/2007 1 Motivation Syntaxe valide... ou non Exemple 1.1.. *La cet. La, cet. La cet. La à cet. Un ngage formel, pour un vocabuire donné, est un ensemble de phrases syntaxiquement correctes utilisant ce vocabuire. Compétence et performance linguistique Exemple 1.2. *La cet. La cet.. Et si Yoda est l élocuteur? Performance phrase dite ou écrite Compétence comment construire et comprendre une phrase correcte modèle (fini) du ngage Compétence linguistique Exemple 1.3.. original. original et méconnu. original, talentueux et méconnu. original, talentueux, illuminé et méconnu.... phrases correctes règles de formation simples et en petit nombre : ajout d adjectifs, de ponctuation et de conjonctions compétence permet des phrases de longueur infinie : limite pragmatique Règles de réécriture Exemple 1.4. original. Exemple 1.5. n v n adj v (1) n adj v n adj et adj v (2) original et méconnu. Exercice 1.6. Quelle règle de réécriture pour les ajouts d articles dans «original, talentueux et méconnu.» et dans «original, talentueux, illuminé et méconnu.»? 1
Grammaires syntagmatiques Ambiguïté det n v det n SP det v prep n det n ε Faire intervenir les catégories,, etc. dans les règles de réécriture. Exemple 1.7. Analyse syntaxique grammaire (ensemble de règles de réécriture ) phrase à analyser («.») (les) structure(s) syntaxique(s) (3) det n v det n En bref Formaliser Exhiber structure Permettre de dériver un analyseur 2 Langages formels Définition 2.1. Un ngage formel sur un alphabet Σ est un sous-ensemble du monoïde libre Σ,, ε généré par Σ. Exemple 2.2. Soit Σ = {a, b} ; {a n b n n 0} et {ww w Σ } sont des ngages. 2
Opérations sur les ngages opérations ensemblistes (union, intersection, complément) :,,, concaténation (ou produit cartésien) : L 1 L 2 = {xy x L 1, y L 2 }, étendue par L 0 = {ε} et, pour i 0, L i+1 = L i L, étoile de Kleene : L = i 0 L i, plus de Kleene : L + = i 1 L i, quotient gauche : L 2 \L 1 = {w x L 2, xw L 1 }, quotient droit : L 1 /L 2 = {w x L 2, wx L 1 },... Le français comme un ensemble Exemple 2.3. Σ = {adj, adv, det, n, prep, v, et}, L français = {det n v,... pas très pratique... et aucune structure! 3 Systèmes de réécriture 3.1 Définitions Systèmes de réécriture det n adj v, det n adj et adj v,... }. Définition 3.1., P est un système de réécriture est un vocabuire et P un sous-ensemble de. Les éléments α β de P sont appelés des règles de réécriture. Exemple 3.2. n v n adj v (4) Dérivations Définition 3.3. Soit, P un système de réécriture. La retion de dérivation r sur est définie pour tout ϕ et σ de par ϕασ r ϕβσ ssi r = α β P. (5) Enfin, te retion est étendue aux séquences de règles dans le monoïde libre P par ε = id rπ = r π. = = r P π P r et π. 3
Langage décrit par un système de réécriture On distingue souvent une chaîne de caractères ρ de ; on peut alors définir un ngage par génération depuis l axiome ρ comme ou bien par reconnaissance dans l état d acceptation ρ comme L(, P ) = {ω ρ ω}, (6) L(, P ) = {ω ω = ρ}. (7) (Dans ce dernier cas, on substitue les notations et = à et.) Deux systèmes 1, P 1 et 2, P 2 sont équivalents si L( 1, P 1 ) = L( 2, P 2 ). 4 Grammaires Grammaires syntagmatiques [Cho59] Définition 4.1. Un quadruplet Σ,, S, P est une grammaire syntagmatique G (en angis phrase structure grammar) : Σ est l alphabet terminal, est l alphabet non terminal, S est l axiome, P est un ensemble de règles de forme ϕaσ ϕασ où A. Soit = Σ le vocabuire,, P est bien un système de réécriture génératif. Conventions de notation a, b, c, d,... sont des éléments de Σ ; A, B, C, D,... sont des éléments de ; X, Y, Z sont des éléments de ; u, v, w, x, y, z sont des éléments de Σ ; α, β, γ, δ,... sont des éléments de. Hiérarchie de Chomsky [Cho59] Restrictions sur forme des règles de P : 0. α β avec α dans + et β dans : grammaires contextuelles avec effacement ; ne sont pas des grammaires syntagmatiques ; 1. ϕaσ ϕασ avec ϕ et σ dans, A dans et α dans + : grammaires contextuelles ou monotones ; 2. A α avec A dans et α dans : grammaires non contextuelles ou algébriques ; 3. A α avec A dans et α dans Σ ou dans Σ : grammaires linéaires à droite. Machines et automates La hiérarchie de Chomsky trouve un écho dans les systèmes de réécriture recognitifs : 0. Langages récursivement énumérables, reconnaissables par une Machine de Turing (TM) ; 1. Langages contextuels, reconnaissables par une Machine de Turing dont le ruban a une longueur linéaire de taille des données traitées (LBTM) ; 2. Langages non contextuels ou algébriques, reconnaissables par un automate à pile (Push-Down Automaton, PDA) ; 3. Langages rationnels, reconnaissables par un automate d états finis (Finite-State Automaton, FSA). ous voici en possession d une équivalence entre ngages générés par certains systèmes génératifs et ngages reconnus par certains systèmes recognitifs. ous ne sommes plus si éloignés d une dérivation automatique d un analyseur syntaxique. 4
Exercice 4.2. Donner un algorithme de transformation d une grammaire linéaire à droite en grammaire linéaire à gauche. Exercice 4.3. Donner un algorithme de construction d un automate d états finis équivalent à une grammaire linéaire à droite. On en déduit par le théorème de Kleene [Kle56] que les expressions rationnelles sont une autre description finie des grammaires linéaires. 4.1 Grammaires algébriques Grammaire algébrique (CFG) [Cho56] Exemple 4.4. français français français Forme de Backus-aur (BF) [Bac59] Exemple 4.5. Systèmes d équations [GR62] SP... det SA n SA v v SA v... SA SA adj SA ε <francais >::= <francais > < > <francais >::= < > < >::= < > < > < >::= < > < > <SP > < >::=... < >::=det <SA> n <SA> < >::=v < >::=v <SA> < >::=v < > < >::=... <SA>::= <SA> adj <SA>::=ε 5
Exemple 4.6. L français =L + L =L L L L L SP... L ={det}l SA {n}l SA L ={v} {v}l SA {v}l... L SA ={adj }... Langages algébriques L ensemble des ngages algébriques est fermé par union concaténation intersection avec un ngage rationnel homomorphisme... Dérivations droites et gauches Définition 4.7. Une dérivation droite rm est définie par Définition 4.8. Une dérivation gauche lm Parcours d un arbre syntaxique Exemple 4.9. Lors d une dérivation droite : ϕax rm ϕαx ssi A α P (8) est définie par yaσ yασ ssi A α P (9) lm 6
Une seule dérivation droite (ou gauche) par arbre de dérivation. Ambiguité L existence de deux arbres syntaxiques différents marque une ambiguité. Théorème 4.10. Soit G une grammaire algébrique ; elle est ambigüe si et seulement si une phrase de L G possède plus d une dérivation droite (ou gauche). Il existe des ngages algébriques intrinsèquement ambigus. Exemple 4.11 ([Par66]). Le ngage {a i b j c k i = j ou j = k} est intrinsèquement ambigu. Théorème 4.12 ([Can62, CS63]). Le problème de l ambiguité d une grammaire algébrique n est pas décidable. 5 Analyseurs Génératif vers recognitif Syntaxe formalisée par une grammaire algébrique G =, Σ, P, S. Construction automatique d un automate à pile A = Q, Σ, R, ϕ s, F, $, pour G. 5.1 Automates à pile Automate à pile (PDA) Définition 5.1. Un automate à pile A = Q, Σ, R, ϕ s, F, $, est un système de réécriture Q Σ {$, }, R recognitif où Q est l alphabet de pile, Σ est l alphabet d entrée, R {$} Q { } Σ {$} est un ensemble de règles ϕ xy ψ y, (10) ϕ s Q est le contenu initial de pile, F Q est l ensemble des contenus finaux de pile, $ est le marqueur de fin, et est le délimiteur de sommet de pile. L A = {w $ϕ s w$ = $ϕ f $ avec ϕ f F }. (11) 7
5.2 Analyse descendante Analyseur descendant Définition 5.2. L analyseur récursif descendant pour une grammaire algébrique G =, Σ, P, S est un automate à pile A desc = Q, Σ, R, ϕ s, F, $, où Q est l ensemble des production pointées de P, notées R est l ensembles des règles [A α α ] si A αα P, (12) [A α Bα ] predict [A αb α ][B β], [A α aα ] a match [A αa α ], [A α ], ϕ s = [S S$], F = {[S S $]}. Analyse descendante 8
Exemple 5.3. $[S $] det det $ = predict $[S $][ ] det det $ = predict $[S $][ ][ det ] det det $ = match $[S $][ ][ det ] det $ = match $[S $][ ][ det ] det $ = $[S $][ ] det $ = predict $[S $][ ][ ] det $ = match $[S $][ ][ ] det $ = predict $[S $][ ][ ][ det ] det $ = match $[S $][ ][ ][ det ] $ = match $[S $][ ][ ][ det ] $ = $[S $][ ][ ] $ = $[S $][ ] $ = $[S $] $ Transducteur à pile L analyse précédente ne dit que si une phrase appartient au ngage de G ou non. Définition 5.4. Un transducteur à pile A, τ pour G est constitué d un automate à pile A pour G et d un homomophisme τ de R dans P défini par τ([a α Bα ] predict [A αb α ][B β] ) =B β, τ([a α aα ] a match [A αa α ]) =ε, et τ([a α ] ) =ε. L exemple précédent donnait les productions dans l ordre d une dérivation gauche. Faiblesses de l analyse descendante 1. L automate à pile est non déterministe ; il nécessite un backtrack coûteux ; 2. l ensemble de règles R permet des règles de forme [A Aα] predict [A A α][a Aα] si grammaire est récursive gauche. 9
5.3 Analyse ascendante Dérivations droites Exemple 5.5. Lors d une dérivation droite : 10
11
Et si on inverse retion : si on évalue rm 1 depuis chaîne terminale? Analyseur ascendant Définition 5.6. L analyseur ascendant pour une grammaire algébrique G =, Σ, P, S est un automate à pile A asc =, Σ, R, ϕ s, F, $, où R est l ensembles des règles α A α A, a shift a, ϕ s = ε, 12
F = {S}. Définition 5.7. Le transducteur ascendant A, τ est défini par τ(α A α A ) = A α, τ( a shift a ) = ε. Analyse ascendante Exemple 5.8. $ $ = shift $ $ = shift $ $ = $ $ = shift $ $ = shift $ $ = shift $ $ = $ $ = $ $ = $ $ 6 Conclusion En résumé Les grammaires algébriques permettent 1. de générer des ngages formels de csse des ngages algébriques ; 2. de structurer syntaxe sous forme d arbres de dérivation ; 3. une analyse à l aide d automates à pile. References [Bac59] John W. Backus. The syntax and semantics of the proposed international algebraic nguage of the Zürich ACM-GAMM Conference. In IFIP Congress, pages 125 131, 1959. [Can62] David G. Cantor. On the ambiguity problem of Backus systems. Journal of the ACM, 9(4):477 479, 1962. [Cho56] oam Chomsky. Three models for the description of nguage. IEEE Transactions on Information Theory, 2(3):113 124, 1956. [Cho59] oam Chomsky. On certain formal properties of grammars. Information and Control, 2(2):137 167, 1959. [CS63] [GR62] oam Chomsky and Marcel Paul Schützenberger. The algebraic theory of context-free nguages. In P. Braffort and D. Hirshberg, editors, Computer Programming and Formal Systems, Studies in Logic, pages 118 161. orth-holnd Publishing, 1963. Seymour Ginsburg and H. Gordon Rice. Two families of nguages reted to ALGOL. Journal of the ACM, 9(3):350 371, 1962. 13
[Kle56] Stephen C. Kleene. Representation of events in nerve nets and finite automata. In C. E. Shannon and J. McCarthy, editors, Automata Studies, pages 3 40. Princeton University Press, 1956. [Par66] Rohit J. Parikh. On context-free nguages. Journal of the ACM, 13(4):570 581, 1966. 14