Syntaxe et analyse syntaxique Eric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée France http://igm.univ-mlv.fr/~laporte/
Syntaxe et analyse syntaxique Objectifs Constituants syntaxiques Ambiguïté Chunks Grammaires algébriques Réseaux de transitions récursifs Application glissante Transducteurs Linéarisation
Objectifs de la syntaxe Traduction The guy of room 5 misses the girl of room 3 La fille de la chambre 3 manque au type de la chambre 5 Délimiter pour déplacer Mots ambigus [1939 :] [l'Allemagne] [annexe] [la Pologne] [Veuillez me faire parvenir] [l'annexe technique] [du contrat] Délimiter pour lever l'ambiguïté
Syntaxe Je vais fermer l'autre porte * autre fermer je l'porte vais Comment les mots se combinent-ils en phrases qui ont un sens ? Dans quel ordre ? Quelles combinaisons sont possibles ?
Constituants syntaxiques (1/3) Certaines suites de mots dans une phrase forment des constituants Exemple 1 : groupes nominaux vingt autres journaux l'Inde l'offre une seconde section d'équilibristes l'un des meilleurs bâtiments à voile de la compagnie Exemple de propriété commune à ces groupes Peuvent être suivis d'un verbe dans une phrase
Constituants syntaxiques (2/3) vingt autres journaux titrent... l'Inde est... l'offre parvient à... une seconde section d'équilibristes arriva l'un des meilleurs bâtiments à voile de la compagnie peut... ce n'est pas vrai de n'importe quelle séquence de mots * journaux titrent... * l'parvient à... * seconde d'équilibristes arriva On doit donc pouvoir spécifier "un groupe nominal peut être suivi d'un verbe"
Constituants syntaxiques (3/3) Exemple 2 : groupes nominaux prépositionnels depuis quelques mois Déplacement de ce groupe Depuis quelques mois la situation évolue La situation depuis quelques mois évolue La situation évolue depuis quelques mois ce n'est pas vrai de n'importe quelle séquence de mots * Depuis mois la situation quelques évolue * La depuis situation quelques mois évolue * La situation mois évolue depuis quelques
Arbres de constituants (1/2) GN GAdj Det Adj N GAdv Adv un bâtiment à voile assez réputé
Arbres de constituants (2/2) P GN GN Det N Luc préfère cette compagnie Notation parenthésée (P (GN Luc) préfère (GN (Det cette) (N compagnie))) (P (GN (Det Quels) (N vols)) proposent (GN (Det un) (N dîner)) ?)
Arbres et interprétations (1/3) le livre de (la fille sur la photo) dans le sac le livre de la fille sur (la photo dans le sac) le livre de (la fille) sur (la photo) dans (le sac) GN Det N Prép GN Prép GN le livre de sur Det N Prép GN Det N la fille la photo dans Det N Ambiguïté syntaxique À chaque arbre correspond une interprétation le sac
Arbres et interprétations (2/3) Les arbres permettent de représenter certaines ambiguïtés <confiture>de la confiture <ingredient>à la rhubarbe congelée</ingredient></confiture> <confiture>de la confiture <ingredient>à la rhubarbe</ingredient> congelée</confiture> Ambiguïté syntaxique
Arbres et interprétations (3/3) La tempête n'a pas eu l'ampleur redoutée en raison de la concomitance d'une forte marée (Le Monde 12 novembre 2007) A paper in this week's Science purports to identify an impact crater as big as the famous "dinosaur killer" at Chicxulub, in Mexico (The Economist 15 mai 2004) Ambiguïté syntaxique
Ambiguïtés syntaxiques Luc recouvre la table de bois Le MEDEF demande depuis longtemps la suppression de cet impôt, qui pousserait les entrepreneurs à quitter la France Moules et frites à volonté : 15 €
Ambiguïtés (1/2) Un lecteur anonyme a trouvé cette solution astucieuse lexicales : trouvé syntaxiques : statut de astucieuse Ambiguïté lexicale et ambiguïté syntaxique Différence dans les étiquettes lexicales Différence dans l'arbre Beaucoup d'ambiguïtés sont à la fois lexicales et syntaxiques
Ambiguïtés (2/2) Le marketing utilise des procédés littéraires élaborés à des fins utilitaires et mercantiles (Le Monde juin 2008) On a placé la table ronde sur les revêtements naturels à 10 h
Ambiguïtés syntaxiques et reformulation Luc recouvre la table de bois Luc recouvre la table avec du bois Luc recouvre la table qui est en bois Le MEDEF demande depuis longtemps la suppression de cet impôt, qui pousserait les entrepreneurs à quitter la France Le MEDEF... cet impôt. Cet impôt pousserait les entrepreneurs à quitter la France Le MEDEF... cet impôt. La suppression de cet impôt pousserait les entrepreneurs à quitter la France Moules et frites à volonté : 15 € Un lecteur anonyme a trouvé cette solution astucieuse On a placé la table ronde sur les revêtements naturels à 10 h
Ambiguïté artificielle (1/2) les vols de (la soirée de lundi) pour Toulouse les réponses de Luc à (plusieurs questions de Marie) GN Det N Prép Prép GN GN les vols de Npr pour Det N Prép GN la soirée de lundi Toulouse
Ambiguïté artificielle (2/2) les vols de (la soirée de lundi) pour Toulouse les réponses de Luc à (plusieurs questions de Marie) GN Det N Prép GN Prép GN Npr les réponses de à Det N Prép GN Luc plusieurs questions de Npr Marie
Constituants non récursifs ou chunks (1/2) (GN (GN l'un des meilleurs bâtiments à voile) de (GN la compagnie)) Une suite de deux chunks Constituants qui ne contiennent pas un constituant de la même catégorie (GN l'un des meilleurs bâtiments à voile de (GN la compagnie)) Un GN inclus dans un autre : le petit est un chunk, le grand non Si le GN est précédé d'une préposition, on l'inclut dans le chunk
Constituants non récursifs ou chunks (2/2) [Parmi ces passagers] [du Mongolia], [on comptait] [divers fonctionnaires civils] et [des officiers] [de tout grade] Une phrase est presque une séquence de chunks, surtout nominaux [on comptait] chunk verbal [M. Fogg] [quitta] [l'hôtel], [seul], [après avoir] [recommandé] [à son domestique] [de l'attendre] [seul] chunk adjectival [Oui] ! [oui] ! [répétait] [machinalement] [le pauvre garçon] [machinalement] chunk adverbial
Mots composés ou expressions multi-mots L'un des meilleurs bâtiments à vendre actuellement bâtiments à vendre n'est pas un mot composé L'un des meilleurs bâtiments à voile de la compagnie bâtiments à voile est un mot composé Compositionnalité ou non bâtiments à vendre sens calculable à partir des sens de bâtiments et à vendre bâtiments à voile à voile n'a pas vraiment un sens indépendamment de bâtiment et quelques autres noms Distribution libre ou figée (bâtiments + stylos + ...) (à vendre + en bon état + ...) (bâtiments + bateaux + *stylos) (à voile + à vapeur + *à mâts)
Grammaires algébriques (1/2) Context-free grammars Outil de manipulation des constituants syntaxiques Règles indiquent la combinaison et l'ordre des éléments GN --> Det N GAdj GN --> Npr GAdj --> GAdv Adj GAdv --> GAdv Adv GAdv --> Adv Lexique Liste des mots (symboles terminaux) Liste des symboles non terminaux GN GAdj GAdv Det...
Grammaires algébriques (2/2) Les règles peuvent comporter des mots dans le membre droit Npr --> Luc Det --> un N --> bâtiment à voile Adj --> réputé Adv --> assez GN --> Det offre de GN Membre gauche : obligatoirement un non-terminal Membre droit : séquence de symboles terminaux ou non terminaux
Dérivation Réécriture utilisant les règles GN --> Det N GAdj (règle) --> Det N GAdv Adj (règle GAdj --> GAdv Adj ) --> Det N Adv Adj (règle GAdv --> Adv ) --> un N Adv Adj (règle Det --> un ) --> un bâtiment à voile Adv Adj (règle N --> bâtiment à voile ) --> un bâtiment à voile assez Adj (règle Adv --> assez ) --> un bâtiment à voile assez réputé (règle Adj --> réputé ) On peut dériver un bâtiment à voile assez réputé de GN
Axiome Le langage formel engendré par la grammaire est l'ensemble des séquences de terminaux dérivables à partir de l'axiome Axiome un des non-terminaux Si la grammaire engendre des phrases, l'axiome correspond au symbole "phrase" Phrase grammaticale phrase engendrée par la grammaire Analyse syntaxique associer à une phrase son (ou ses) arbres de dérivation
Règles pour les phrases (1/2) P --> GN préfère GN Luc préfère cette compagnie P --> GN quitte GN Prép GN Luc quitte Paris vers 10 h P --> GN part Prép GN Luc part après la réunion P GN GN Det N Luc préfère cette compagnie
Règles pour les phrases (2/2) P --> montrez-PRO GN Montrez-moi tous les vols P --> est-ce que il y a GN Prép GN ? Est-ce qu'il y a un dîner sur le vol 312 ? P --> GN proposent GN ? Quels vols proposent un dîner ? Notation parenthésée (P (GN (Det Quels) (N vols)) proposent (GN (Det un) (N dîner)) ?)
Règles pour les groupes nominaux GN --> Det N un arrêt GN --> Det Adj N une petite attente GN --> Det GAdj N la plus longue attente GN --> Det N GAdj un coût trop élevé GN --> Det de N beaucoup d'attente GN --> Det N Prép GN les vols pour Toulouse GN --> Det N Rel les vols qui arrivent à Toulouse avant midi GN --> Det N Prép GN Prép GN les vols de la soirée pour Toulouse
Règles pour la coordination GN --> GN Conj GN un arrêt et une attente P --> P Conj P On s'arrête et on attend GAdj --> GAdj Conj GAdj tentant mais dangereux etc. GN --> Det N Prép GN les vols pour Toulouse GN --> Det N Prép GN Conj Prép GN les vols pour Toulouse ou depuis Toulouse
Grammaires algébriques (1/2) Définition (X, V, A0, P) : X alphabet terminal, V alphabet des variables (V ∩ X = ø), A0 V axiome, P ensemble fini des règles V × (V | X)*.
Grammaires algébriques (2/2) Règles : entrepr0 salariés des taille0 entreprises entrepr0 patrons des taille0 entreprises entrepr0 salariés des entreprises entrepr0 patrons des entreprises taille0 petites taille0 moyennes taille0 grandes
salariés des petites entreprises Dérivations Définition f g pour f, g (V | X)* ssi on a les factorisations f = uAv et g = uhv avec une règle A h P. Exemple : des taille0 entreprises des grandes entreprises Langage engendré par la grammaire c’est l’ensemble des f X* tels que A0 … f. Exemple : entrepr0 salariés des taille0 entreprises salariés des petites entreprises X* donc salariés des petites entreprises est engendré par la grammaire
Réseaux de transitions récursifs (RTN) (1/3) Recursive transition network (RTN) Comme les graphes, mais un noeud peut appeler un autre graphe (sous-graphe) Pour appeler un sous-graphe écrire ":" et le nom du sous-graphe Par rapport à un graphe simple : on peut représenter plus de formes Les appels à des sous-graphes peuvent faire des cycles
Réseaux de transitions récursifs (2/3) entrepr.grf taille.grf Etat initial : entrepr0 Transition étiquetée par un état : de entrepr3 vers entrepr4 étiquetée par taille0
Réseaux de transitions récursifs (3/3) Définition Un automate fini (X | Q, Q, q-, F, δ) : X alphabet terminal, Q ensemble des états (Q ∩ X = ø), q- état initial Q, F Q ensemble des états finaux, δ ensemble fini des transitions Q × (X | Q | ε) × Q L'alphabet est constitué de deux parties disjointes, l'alphabet terminal et l'ensemble des états
Les RTN avec Unitex Un RTN peut être composé de plusieurs graphes reliés par des appels des uns vers les autres Le RTN est l'union disjointe de ces graphes (les états de chaque graphe sont numérotés à partir de 0, mais aucun état n'est commun à plusieurs graphes) Alphabet terminal X : les étiquettes qui ne sont pas des appels à des sous-graphes Etat initial q- : l'état initial du graphe principal Transitions étiquetées par des états : les appels à des sous-graphes (l'état est l'état initial du sous-graphe appelé)
Dérivations Définition f g pour f, g (Q | X)* ssi on a les factorisations f = uqv et g = uhv avec un chemin étiqueté h allant de q à un état final. Exemple : il existe un chemin étiqueté petites et moyennes allant de taille0 à taille1, donc taille0 petites et moyennes et des taille0 entreprises des petites et moyennes entreprises Langage engendré par le réseau c’est l’ensemble des f X* tels que q- … f. Exemple : entrepr0 salariés des taille0 entreprises salariés des petites et moyennes entreprises X* donc salariés des petites et moyennes entreprises est engendré par le réseau
Équivalence entre RTN et grammaires (1/4) Ces deux formalismes engendrent les mêmes langages formels Pour une grammaire (X, V, A0, P): À chaque règle A h on fait correspondre un automate avec un unique état initial A qui n’a aucune transition entrante. (Deux quelconques de ces automates ne peuvent avoir en commun que leur état initial. Si une transition va d’un état d’un de ces automates à un état d’un autre alors elle sort de l’état initial commun aux deux automates.) On obtient un réseau (X | Q, Q, A0, F, δ) en regroupant dans F les états finaux de ces automates et dans δ leurs transitions. Une dérivation A h est valable dans la grammaire ssi elle est valable dans le réseau.
Pour un réseau (X | Q, Q, q-, F, δ) : • A chaque état q on fait correspondre l’automate obtenu en prenant q comme unique état initial, puis une grammaire (X | Q, Vq, Aq, Pq) engendrant le même langage sur X | Q que cet automate. Les ensembles de variables Vq sont disjoints de Q et deux à deux disjoints. • On crée une grammaire (X, V | Q, q-, P1 | P2) où V est l’union des Vq, P1 l’union des Pq, et P2 l’ensemble des règles q Aq.
Le langage engendré par la grammaire est égal à celui engendré par le réseau Si une dérivation (élémentaire) q f pour un état q Q est valable dans le réseau, alors elle est valable (en plusieurs étapes) dans la grammaire Inversement, à toute dérivation q- f de la grammaire avec f X* on peut faire correspondre une dérivation équivalente (même arbre syntaxique) constituée d’étapes de la forme q Aq g avec g (Q | X)*, qui utilisent uniquement des règles de Pq, or chacune de ces étapes correspond à une étape q g dans le réseau.
Équivalence entre RTN et grammaires (4/4) Ces deux formalismes engendrent les mêmes langages formels Avantages des grammaires plus simple pour les démonstrations mathématiques Avantages des RTN plus de réutilisation plus lisible pour l'auteur des ressources construction et maintenance manuelle plus faciles
Application glissante (1/3) Objectif Expressions, automates, grammaires ou RTN pour des séquences dont on ne connaît pas les limites (groupes nominaux) Applicables de n'importe où jusqu'à n'importe où Cf. grep : extrait les lignes qui comportent un facteur reconnu par une expression Expressions, automates, grammaires ou RTN pour des séquences dont on connaît les limites (phrases) : application non glissante Il faut représenter tout ce qui peut figurer dedans, ou au moins connaître tout l'alphabet
Application glissante (2/3) Application glissante dans Unitex C'est le seul mode d'application des graphes On lance l'analyse syntaxique à chaque point du texte, ou à chaque état de l'automate acyclique L'analyse peut se terminer n'importe où aussi Résultats Les séquences reconnues peuvent se suivre, se chevaucher ou être incluses les unes dans les autres : ambiguïtés [Les participants] [sont sortis] [de la salle] [Les fichiers {annexes] au contrat} sont attachés au message [Les fichiers] {[annexes] au contrat} sont attachés au message
Application glissante (3/3) Réduction des ambiguïtés d'inclusion avec Unitex [Les fichiers] {[annexes] au contrat} sont attachés au message Option "Longest matches" (par défaut) : toute séquence reconnue incluse dans une autre est éliminée des résultats [Les fichiers] {annexes au contrat} sont attachés au message Option "Shortest matches" : toute séquence reconnue en contenant une autre est éliminée des résultats [Les fichiers] [annexes] au contrat sont attachés au message Option "All matches" : toutes les séquences reconnues sont conservées dans les résultats [Les fichiers] {[annexes] au contrat} sont attachés au message
Empêcher l'application glissante Ancrer la grammaire en y incorporant la marque de début et la marque de fin Exemple : grep "oui" texte.txt trouve fouine grep "^oui$" texte.txt ne trouve pas fouine
Marquage des séquences reconnues Exemple 1 : les expressions qui marquent les dialogues (dit-il...) Insérer des balises <dialogue> et </dialogue> avant et après une forme reconnue Même si le contexte est nécessaire pour reconnaître les formes, on peut ne pas l'inclure dans la zone marquée Exemple 2 : les chunks
Transducteurs (1/2) Un automate fini contient des séquences qui peuvent être reconnues dans un texte existant Un transducteur fini est utilisé pour engendrer une nouvelle version du texte : il contient des séquences qui seront reconnues (séquences d’entrée) et d’autres qui seront insérées (séquences de sortie)
Transducteurs (2/2) Avec Unitex Les séquences de sortie sont affichées au-dessous des noeuds Pour créer un transducteur, insérer une barre (/) entre la séquence d’entrée et la séquence de sortie correspondante Pour appliquer le transducteur : - dans Locate, indiquer si les séquences de sortie doivent être insérées à gauche des séquences d’entrée correspondantes (mode Merge), ou si elles doivent les remplacer (mode Replace) - dans Display, indiquer le nom du fichier de sortie, sans extension
Effacer avec un transducteur Dans un transducteur Unitex, un noeud sans barre (/) est interprété comme un noeud avec une sortie vide (/<E>) Si le transducteur est appliqué en mode Replace, les parties reconnues par des noeuds sans sortie ne sont pas copiées dans le fichier de sortie Exemple : pour supprimer le balisage, faire un transducteur qui reconnaît les balises et l'appliquer en mode Replace
RTN à sorties Comme un RTN mais les noeuds peuvent avoir des sorties sauf ceux qui appellent un sous-graphe (les sorties sont spécifiées dans le sous-graphe)
Cascade de transducteurs Mode d'application d'un ensemble de transducteurs à un ensemble de séquences S0 Entrée : S0 i = 0 ; tant que (condition) appliquer un transducteurTi aux séquences de Si, obtenir Si+1 i = i+1 Sortie : Si Variantes - on a n transducteurs T1, T2... Tn et on les applique dans l'ordre - on a un seul transducteur et on l'applique itérativement jusqu'à ce que Si+1 = Si
Ambiguïté Application glissante d'un transducteur ou d'un RTN à sorties Deux sources d'ambiguïté L'application glissante Comme l'application d'un graphe ou d'un RTN : les séquences reconnues peuvent se suivre, se chevaucher ou être incluses les unes dans les autres L'ambiguïté des transducteurs Une séquence donnée peut être reconnue par plusieurs chemins du même transducteur, mais avec des sorties différentes Le résultat est une structure complexe
Linéarisation Objectif Obtenir un résultat simple Choisir entre les sorties incompatibles produites par le transducteur ou le RTN à sorties
Linéarisation d'Unitex 1. On peut supprimer certaines séquences reconnues en choisissant une option "Longest matches" ou "Shortest matches" 2. En cas de chevauchement entre séquences restantes, la séquence qui se termine en premier a la priorité [Les fichiers {annexes] [au contrat} de travail] [Les fichiers annexes] [au contrat de travail] 3. Il peut rester des incompatibilités entre séquences qui se terminent au même point. Unitex en choisit une, mais le choix n'est pas spécifié. Exemple : une même séquence reconnue par deux chemins différents [XN La [N table ronde]] sur les revêtements naturels [XN La [N table] [XA ronde]] sur les revêtements naturels