Download - Syntaxe et analyse syntaxique
Eric LaporteInstitut Gaspard-Monge
Université Paris-Est Marne-la-ValléeFrance
http://igm.univ-mlv.fr/~laporte/
Syntaxe et analyse syntaxique
ObjectifsConstituants syntaxiquesAmbiguïtéChunksGrammaires algébriquesRéseaux de transitions récursifsApplication glissanteTransducteursLinéarisation
Syntaxe et analyse syntaxique
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 5Dé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 vaisComment 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 nominauxvingt autres journauxl'Indel'offreune seconde section d'équilibristesl'un des meilleurs bâtiments à voile de la compagnie
Exemple de propriété commune à ces groupesPeuvent ê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 arrival'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 arrivaOn doit donc pouvoir spécifier "un groupe nominal peut être
suivi d'un verbe"
Constituants syntaxiques (3/3)
Exemple 2 : groupes nominaux prépositionnelsdepuis quelques mois
Déplacement de ce groupeDepuis quelques mois la situation évolueLa situation depuis quelques mois évolueLa 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
Det
N
GAdj
AdjGAdv
Adv
un bâtiment à voile assez réputé
Arbres de constituants (2/2)P
GN
préfère
GN
NDet
cetteLuc 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 sacle livre de la fille sur (la photo dans le sac)le livre de (la fille) sur (la photo) dans (le sac)
GN
Det N
le livre de
Prép
sur
Prép
Det N GN
GN
la photo dans
Prép
GN
Det N
la fille Det N
le sacAmbiguïté syntaxiqueÀ chaque arbre correspond une interprétation
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 astucieuselexicales : trouvésyntaxiques : statut de astucieuse
Ambiguïté lexicale et ambiguïté syntaxiqueDifférence dans les étiquettes lexicalesDiffé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 boisLuc recouvre la table avec du boisLuc 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 lesentrepreneurs à quitter la FranceLe MEDEF... cet impôt. La suppression de cet
impôtpousserait les entrepreneurs à quitter la France
Moules et frites à volonté : 15 €Un lecteur anonyme a trouvé cette solution astucieuseOn 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 Toulouseles réponses de Luc à (plusieurs questions de Marie)
GN
Det N
les vols de
Prép
pour
Prép
Det N GN
GN
lundi Toulousela
Npr
soirée de
Prép
GN
Ambiguïté artificielle (2/2)
les vols de (la soirée de lundi) pour Toulouseles réponses de Luc à (plusieurs questions de Marie)
GN
Det N
les réponses de
Prép
à
Prép
Det N GN
GN
Marie
Luc plusieurs
Npr
questions de
Prép
GN
Npr
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 chunksConstituants 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ésou expressions multi-mots
L'un des meilleurs bâtiments à vendre actuellementbâtiments à vendre n'est pas un mot composé
L'un des meilleurs bâtiments à voile de la compagniebâtiments à voile est un mot composé
Compositionnalité ou nonbâtiments à vendre
sens calculable à partir des sens de bâtiments et à vendrebâ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 grammarsOutil de manipulation des constituants syntaxiquesRègles indiquent la combinaison et l'ordre des
élémentsGN --> Det N GAdjGN --> NprGAdj --> GAdv AdjGAdv --> GAdv AdvGAdv --> 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 droitNpr --> LucDet --> unN --> bâtiment à voileAdj --> réputéAdv --> assezGN --> Det offre de GN
Membre gauche : obligatoirement un non-terminalMembre droit : séquence de symboles terminaux ou
non terminaux
Dérivation
Réécriture utilisant les règlesGN --> 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
Axiomeun des non-terminauxSi la grammaire engendre des phrases, l'axiome
correspond au symbole "phrase"Phrase grammaticalephrase engendrée par la grammaireAnalyse syntaxiqueassocier à 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 compagnieP --> GN quitte GN Prép GN
Luc quitte Paris vers 10 hP --> GN part Prép GN
Luc part après la réunionP
GN
préfère
GN
NDet
cetteLuc compagnie
Règles pour les phrases (2/2)
P --> montrez-PRO GN Montrez-moi tous les volsP --> 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êtGN --> Det Adj N une petite attenteGN --> Det GAdj N la plus longue attenteGN --> Det N GAdj un coût trop élevéGN --> Det de N beaucoup d'attenteGN --> Det N Prép GN les vols pour ToulouseGN --> Det N Rel
les vols qui arrivent à Toulouse avant midiGN --> 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 attenteP --> P Conj P On s'arrête et on attendGAdj --> GAdj Conj GAdj tentant mais dangereux
etc.
GN --> Det N Prép GN les vols pour ToulouseGN --> Det N Prép GN Conj Prép GN
les vols pour Toulouse ou depuis Toulouse
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 (1/2)
Règles :
entrepr0 salariés des taille0 entreprises entrepr0 patrons des taille0 entreprisesentrepr0 salariés des entreprises entrepr0 patrons des entreprisestaille0 petites taille0 moyennes taille0 grandes
Grammaires algébriques (2/2)
DérivationsDéfinitionf g pour f, g (V | X)* ssi on a les factorisations
f = uAv et g = uhvavec une règle A h P.Exemple : des taille0 entreprises des grandes entreprises
Langage engendré par la grammairec’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 entreprisesest engendré par la grammaire
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 (RTN) (1/3)
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
DéfinitionUn 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
Réseaux de transitions récursifs (3/3)
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érivationsDéfinitionf g pour f, g (Q | X)* ssi on a les factorisations
f = uqv et g = uhvavec 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 moyenneset
des taille0 entreprises des petites et moyennes entreprises
Langage engendré par le réseauc’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
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.
Équivalence entre RTN et grammaires (1/4)
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.
Ces deux formalismes engendrent les mêmes langages formels
Avantages des grammairesplus simple pour les démonstrations mathématiques
Avantages des RTNplus de réutilisationplus lisible pour l'auteur des ressourcesconstruction et maintenance manuelle plus faciles
Équivalence entre RTN et grammaires (4/4)
ObjectifExpressions, 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 glissanteIl faut représenter tout ce qui peut figurer dedans, ou au moins connaître tout l'alphabet
Application glissante (1/3)
Application glissante dans UnitexC'est le seul mode d'application des graphesOn lance l'analyse syntaxique à chaque point du texte, ou à chaque état de l'automate acycliqueL'analyse peut se terminer n'importe où aussi
RésultatsLes 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 (2/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
Application glissante (3/3)
Ancrer la grammaire en y incorporant la marque de début et la marque de finExemple :
grep "oui" texte.txt trouve fouinegrep "^oui$" texte.txt ne trouve pas
fouine
Empêcher l'application glissante
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
Marquage des séquences reconnues
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 (1/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 correspondantePour 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
Transducteurs (2/2)
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
Effacer avec un transducteur
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)
RTN à sorties
Cascade de transducteursMode 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+1Sortie : 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
Application glissante d'un transducteur ou d'un RTN à sorties
Deux sources d'ambiguïté
L'application glissanteComme 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 transducteursUne 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
Ambiguïté
ObjectifObtenir un résultat simpleChoisir entre les sorties incompatibles produites par le transducteur ou le RTN à sorties
Linéarisation
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
Linéarisation d'Unitex