Outils pour le traitement des textes Levée d'ambiguïtés morpho-syntaxiques Éric Laporte Université Paris-Est Marne-la- Vallée
Sommaire Règles de priorité entre analyses Dépendances entre analyses Règles-exceptions Dépendances entre règles Chevauchements Indépendance double : le système Elag
Règles de priorité entre analyses Niveaux de plausibilité d'emploi dans les lexiques Dela z1 : eau, mentir, synthèse... z2 : chapitrer, foc, retraiter... z3 : bréhaigne, celer, rason... Priorités : z1 > z2 > z3 Étiquettes de priorités différentes pour un même mot ambigu {chapitre,chapitre.N+z1:ms} {chapitre,chapitrer.V+z2:P1s:P3s:S1s:S3s:Y2s} {gemme,gemme.N+z2:fs} {gemme,gemmer.V+z3:P1s:P3s:S1s:S3s:Y2s} {rasons,raser.V+z1:P1p:Y1s} {rasons,rason.N+z3:mp}
Réalisation : solution 1 (1/2) Dépend de la structure de données qui représente le texte étiqueté Solution 1 : table {diminué,diminuer.V+z1:Kms} {hasard,hasard.N+z1:ms},? {par,par.PREP+z1} {par,par.N+z3:ms} Algorithme : pour chaque mot, supprimer les étiquettes dont le niveau de priorité n'est pas maximal
Réalisation : solution 1 (2/2) Algorithme : pour chaque mot, supprimer les étiquettes dont le niveau de priorité n'est pas maximal {diminué,diminuer.V+z1:Kms} {hasard,hasard.N+z1:ms},? {par,par.PREP+z1} {par,par.N+z3:ms}
Réalisation : solution 2 (1/3) Solution 2 : table avec expressions multi-mots {diminué,diminuer.V+z1:Kms} {hasard,hasard.N+z1:ms},? {par,par.PREP+z1} {par,par.N+z3:ms} {par hasard,par hasard. ADV+z1}
Réalisation : solution 2 (2/3) Algorithme : supprimer chaque étiquette qui, pour chacun des mots simples qui en font partie, est en concurrence avec au moins une étiquette d'un niveau de priorité supérieur {diminué,diminuer.V+z1:Kms} {hasard,hasard.N+z1:ms},? {par,par.PREP+z1} {par,par.N+z3:ms} {par hasard,par hasard. ADV+z1}
Réalisation : solution 2 (3/3) Algorithme : supprimer chaque étiquette qui, pour chacun des mots simples qui en font partie, est en concurrence avec au moins une étiquette d'un niveau de priorité supérieur {ça,ça.PRO+z1:3ms} {mineur,mineur.N+z1:ms} {pas,pas.ADV+z1} {que,que.CONJS+z1} {si,si.CONJS+z1} {si,si.ADV+z1} {si mineur,si mineur.N+z2:ms:mp} {pas,pas.N+z1:ms:mp} {ça,ça.N+z3:ms} {que,que.PRO+z1} {mineur,mineur.A+z1:ms} {si,si.N+z1:ms:mp}
Réalisation : solution 3 (1/4) Solution 3 : automate acyclique Algorithme : pondérer les transitions en fonction des plausibilités d'emploi ; conserver uniquement les chemins de poids maximal
Réalisation : solution 3 (2/4) 11 0,25 1 1
Réalisation : solution 3 (3/4) 1 1 0,5 0,
Réalisation : solution 3 (4/4)
Évaluation Contexte : préparation à l'analyse syntaxique L'absence d'une étiquette correcte peut empêcher l'analyse de toute la phrase Toute diminution du rappel dégrade la qualité de la grammaire de levée d'ambiguïtés Règles de priorité et rappel Dans un domaine spécialisé, une étiquette z2 ou même z3 peut être correcte même si elle est en concurrence avec z1 Exemple : Cette oeuvre est en si mineur Ces règles peuvent donc diminuer le rappel
Dépendances entre analyses (1/2) Une propriété technique de certaines règles Dans une règle de priorité, le traitement d'une analyse peut dépendre de l'existence ou de l'absence d'une autre analyse {diminué,diminuer.V+z1:Kms} {hasard,hasard.N+z1:ms},? {par,par.PREP+z1} {par,par.N+z3:ms} {par,par.N+z3:ms} est éliminé parce que {par,par.PREP+z1} est présent
Dépendances entre analyses (2/2) Conséquences Si une règle r 1 élimine {par,par.PREP+z1} avant l'application de la règle de priorité r 2, {par,par.N+z3:ms} est conservé Si r 1 est appliquée après r 2, {par,par.N+z3:ms} est éliminé Le comportement du système dépend de l'ordre d'application des règles Si la grammaire de levée d'ambiguïtés contient une des deux règles, l'introduction de l'autre peut perturber le fonctionnement de la première La construction de la grammaire n'est pas monotone
N et V (1/3) Priorité de N par rapport à V après des Exemple : voyager ainsi à l'abri des bois {abri,abri.N+z1:ms} {des,un.DET+Dind+z1:mp:fp}. {bois,boire.V+z1:P1s:P2s:Y2s} {bois,bois.N+z1:ms:mp} {des,du.CONTR+z1:mp:fp} Formalisation Structure de données : table Pour chaque mot qui suit des et qui a au moins une étiquette N et une V, supprimer les étiquettes V
N et V (2/3) Structure de données : automate acyclique Si un chemin c contient des suivi d'une étiquette V en "parallèle" avec une étiquette N, supprimer c
N et V (3/3)
Évaluation Risque de diminution du rappel ? J'ai même dans mon dossier des incendies remarquables Les membres eux-mêmes sont des organes expressifs des passions des n'est jamais suivi d'un verbe Aucun risque
Dépendances entre analyses {bois,boire.V+z1:P1s:P2s:Y2s} est éliminé parce que {bois,bois.N+z1:ms:mp} est présent {abri,abri.N+z1:ms} {des,un.DET+Dind+z1:mp:fp}. {bois,boire.V+z1:P1s:P2s:Y2s} {bois,bois.N+z1:ms:mp} {des,du.CONTR+z1:mp:fp} Cette dépendance entre règles est une complication inutile Supprimer chaque étiquette V qui suit des Supprimer chaque chemin qui contient des suivi d'une étiquette V
que : formalisation 1 Priorité de que.PRO sur que.CONJS avant V sauf à l'infinitif (V:W), au participe présent (V:G) ou au participe passé (V:K) Exemple : les détails que comporte un aussi long voyage {que,que.PRO+PronQ+z1} {un,un.DET+Dind+z1:ms} {comporte,comporter.V+z1:P1s:P3s:S1s:S3s:Y2s} {comporte,comporte.N+z2:fs} {que,que.CONJS+z1} Structure table Formalisation 1 Supprimer les étiquettes que.CONJS suivies d'un mot qui a au moins une étiquette V avec un temps-mode autre que W, G ou K {un,un.N+Nnum+z1:ms:mp} {un,un.A+z2:ms}
Évaluation Risque de diminution du rappel ? J'espère que cela ne vous arrivera plus La règle élimine l'étiquette correcte que.CONJS {que,que.PRO+PronQ+z1} {ne,ne.XI+z1:ms}{cela,celer.V+t+z3:J3s} {cela,cela.PRO+Pdem+z1:ms} {que,que.CONJS+z1} Autres exemples Il est vrai que portes et fenêtres manquent absolument Ce n'est que fêtes et réjouissances
Dépendances entre analyses L'analyse correcte {que.CONJS} {cela.PRO} est éliminée en raison de l'existence de {cela,celer.V}, qui fait partie d'une autre analyse {que,que.PRO+PronQ+z1} {ne,ne.XI+z1:ms}{cela,celer.V+t+z3:J3s} {cela,cela.PRO+Pdem+z1:ms} {que,que.CONJS+z1} Si une règle r 1 élimine {cela,celer.V} avant l'application de la règle de priorité r 2, {que.CONJS} est conservé Si r 1 est appliquée après r 2, {que.CONJS} est éliminé Le comportement du système dépend de l'ordre d'application des règles
que : formalisation 2 Formalisation 2 Supprimer les étiquettes que.CONJS suivies d'un mot étiqueté uniquement V avec des temps-modes autres que W, G ou K {que,que.PRO+PronQ+z1} {un,un.DET+Dind+z1:ms} {comporte,comporter.V+z1:P1s:P3s:S1s:S3s:Y2s} {comporte,comporte.N+z2:fs} {que,que.CONJS+z1} {un,un.N+Nnum+z1:ms:mp} {un,un.A+z2:ms} Dans cette version, la règle n'élimine pas l'étiquette que.CONJS
Évaluation Risque de diminution du rappel ? Cette version est plus prudente, mais : Je demande que soient cités deux nouveaux témoins La règle élimine l'étiquette correcte que.CONJS {que,que.PRO+PronQ+z1} {soient,être.V+z1:S3p} {que,que.CONJS+z1}
Dépendances entre analyses L'analyse {que.CONJS} est éliminée si {comporte,comporte.N+z2:fs} est absente du lexique, mais pas si elle est présente dans le lexique Une extension correcte du lexique (ajout d'une entrée correcte) perturbe le fonctionnement du système {que,que.PRO+PronQ+z1} {un,un.DET+Dind+z1:ms} {comporte,comporter.V+z1:P1s:P3s:S1s:S3s:Y2s} {que,que.CONJS+z1} {un,un.N+Nnum+z1:ms:mp} {un,un.A+z2:ms}
que : formalisation 3 (1/2) Structure automate acyclique Les 2 formalisations précédentes sont possibles Formalisation 3 Supprimer les chemins qui contiennent que.CONJS suivi d'une étiquette V avec un temps-mode autre que W, G ou K
que : formalisation 3 (2/2)
Évaluation Risque de diminution du rappel ? Cette version est plus prudente, mais : Je demande que soient cités deux nouveaux témoins La règle élimine l'étiquette correcte que.CONJS
Dépendances entre analyses Supprimer les chemins qui contiennent que.CONJS suivi d'une étiquette V avec un temps-mode autre que W, G ou K Les critères de suppression d'une analyse tiennent à son contenu uniquement Aucune dépendance entre analyses Non adaptable à la structure table
N et A Priorité de A:ms par rapport à N après N:ms Exemple : un moine bouddhiste birman {moine,moine.N+z1:ms} {bouddhiste,bouddhiste.A+z1:ms:fs} {bouddhiste,bouddhiste.N+z1:ms:fs} Formalisation Structure de données : table Après un mot qui a au moins une étiquette N:ms, s'il y a au moins une étiquette N et une A:ms, supprimer les étiquettes N
Évaluation Risque de diminution du rappel ? Une fois son neveu général, elle ne se résignera pas La règle élimine l'étiquette correcte général.N:ms Autre exemple Un petit bouddhiste recueilli par des moines népalais {neveu,neveu.N+z1:ms} {général,général.A+z1:ms} {général,général.N+z1:ms}
Dépendances entre analyses L'analyse correcte {neveu.N:ms} {général.N:ms} est éliminée en raison de l'existence de {général.A:ms}, qui fait partie d'une autre analyse Si une règle r 1 élimine {général.A:ms} avant l'application de la règle de priorité r 2, {général.N:ms} est conservé Si r 1 est appliquée après r 2, {général.N:ms} est éliminé Le comportement du système dépend de l'ordre d'application des règles {neveu,neveu.N+z1:ms} {général,général.A+z1:ms} {général,général.N+z1:ms}
Dépendances entre analyses : formalisation grammaire G : n règles texte étiqueté : m analyses (a i ) 1 i m texte étiqueté : m' analyses LAL ((a i ) 1 i m, G) m' m levée d'ambiguïtés lexicales Un processus de sélection
Indépendance des analyses : formalisation LAL ((a i ) 1 i m, G) = 1 i m LAL (a i, G) a LAL ((a i ) 1 i m, G) a LAL (a, G) La propriété d'indépendance des analyses est une propriété du système de levée d'ambiguïtés (formalisme et règles), non une propriété des analyses
Dépendances entre analyses (1/2) En cas de dépendances entre analyses : - le comportement du système peut dépendre de l'ordre d'application des règles - une extension correcte du lexique (ajout d'une entrée correcte) peut perturber le fonctionnement du système
Dépendances entre analyses (2/2) Les conditions portent sur un ensemble danalyses, non sur une seule analyse Les règles ne sont pas utilisables pour d'autres types d'ambiguïtés (ex. : phonétiques), car les ensembles danalyses seraient différents Exemple : La chaîne freine la roue chaîne - chêne -... freine - frêne -... roue - roux -...
Règles-exceptions (1/2) Dans une séquence ce que, on ne peut étiqueter que {ce.PRO} et {que.PRO} Je ressors avec ce que je veux {avec,avec.PREP+z1} {ce,ce.PRO+z1:ms:mp} {ce,ce.DET+z1:ms} {que,que.CONJS+z1} {que,que.PRO+z1}
Règles-exceptions (2/2) Dans une séquence ce que, on ne peut étiqueter que {ce.PRO} et {que.PRO} Exception : si la préposition est à, de ou en, que peut ne pas être un PRO Il veillait à ce que rien ne manquât Cela vient de ce que nous sommes seuls Il y a eu violation de la loi en ce que la chambre a commis une erreur {à,à.PREP+z1} {ce,ce.PRO+z1:ms:mp} {ce,ce.DET+z1:ms} {que,que.CONJS+z1} {que,que.PRO+z1}
Formalisation 1 Formalisation 1 r 1 - Si un mot qui a au moins une étiquette PREP est suivi de ce que, supprimer les étiquettes autres que {ce.PRO} et {que.PRO} r 2 - Si un mot qui a au moins une étiquette {à.PREP}, {de.PREP} ou {en.PREP} est suivi de ce que, supprimer les étiquettes autres que {ce.PRO} ; r 2 est une exception à r 1
Évaluation Lisibilité La règle générale est trompeuse Elle peut ne pas s'appliquer alors que ses conditions d'application sont réunies Dépendance entre règles L'introduction de r 2 perturbe le fonctionnement de r 1 La construction de la grammaire de levée d'ambiguïtés n'est pas monotone La contradiction partielle complique la structure de la grammaire et donc sa mise à jour
Formalisation 2 Formalisation 2 r 1 - Si un mot qui a au moins une étiquette PREP autre que à, de ou en est suivi de ce que, supprimer les étiquettes autres que {ce.PRO} et {que.PRO} r 2 - Si un mot qui a au moins une étiquette {à.PREP}, {de.PREP} ou {en.PREP} est suivi de ce que, supprimer les étiquettes autres que {ce.PRO} Aucune contradiction
Formalisation 3 Formalisation 3 r 1 - Si un mot qui a au moins une étiquette PREP autre que à, de ou en est suivi de ce que, supprimer les étiquettes autres que {que.PRO} r 2 - Si un mot qui a au moins une étiquette {à.PREP}, {de.PREP} ou {en.PREP} est suivi de ce que, supprimer les étiquettes autres que {ce.PRO} Aucune contradiction
que (1/4) Après virgule ou limite de phrase, bien que ne peut être étiqueté que {bien.CONJS} {que.CONJS} Mais, bien que mes ressources ne me permettent pas...,{bien,bien.N+z1:ms} {bien,bien.ADV+z1} {que,que.CONJS+z1} {que,que.PRO+z1} {bien,bien.A+z1:ms:mp:fs:fp} {bien,bien.CONJS+z1}
que (2/4) Priorité de que.PRO sur que.CONJS avant V sauf à l'infinitif (V:W), au participe présent (V:G) ou au participe passé (V:K) Exemple : les détails que comporte un aussi long voyage {que,que.PRO+PronQ+z1} {un,un.DET+Dind+z1:ms} {comporte,comporter.V+z1:P1s:P3s:S1s:S3s:Y2s} {comporte,comporte.N+z2:fs} {que,que.CONJS+z1} Cette règle peut théoriquement entrer en contradiction avec la précédente {un,un.N+Nnum+z1:ms:mp} {un,un.A+z2:ms}
que (3/4) Cette règle peut théoriquement entrer en contradiction avec la précédente Exemple : Il avait hérité d'un hôtel particulier du XVIII e siècle, bien qu'avait fait construire un de ses ancêtres plus habile en affaires que lui Formalisation 1 Spécifier laquelle fait exception à l'autre La règle sur que V fait exception à la règle sur ", bien que" Il y a alors dépendance entre les deux règles
que (4/4) Formalisation 2 Modifier explicitement la règle ", bien que" Si bien que - est après virgule ou limite de phrase, et - n'est pas suivi d'un V sauf à l'infinitif (V:W), au participe présent (V:G) ou au participe passé (V:K), alors il ne peut être étiqueté que {bien.CONJS} {que.CONJS} Plus aucune dépendance entre les deux règles
Dépendances entre règles : formalisation grammaire : n règles (r j ) 1 j n texte étiqueté T : m analyses texte étiqueté : m' analyses LAL (T, (r j ) 1 j n ) m' m levée d'ambiguïtés lexicales Un processus de sélection
Indépendance des règles : formalisation LAL (T, (r j ) 1 j n ) = 1 j n LAL (T, r j ) a LAL (T, (r j ) 1 j n ) j [1, n] a LAL (T, r j ) Les résultats ne peuvent pas dépendre de l'ordre d'application des règles Chaque règle sapplique au texte représenté avec toutes ses ambiguïtés Avantages - l'introduction de nouvelles règles ne modifie pas le fonctionnement des anciennes - si toutes les règles ont un rappel de 100 %, alors la grammaire aussi
Dépendances entre règles En cas de dépendances entre règles : - l'introduction d'une nouvelle règle peut perturber le fonctionnement des règles existantes - la construction de la grammaire de levée d'ambiguïtés n'est pas monotone
Chevauchement Pour chaque mot qui suit sans ou pour et qui a au moins une étiquette N et une V:W, supprimer les étiquettes N écouter sans pouvoir télécharger C'est pour sourire un peu {écouter,écouter.V+z1:W} {sans,sans.PREP+z1} {pouvoir,pouvoir.N+z1:ms} {pouvoir,pouvoir.V+z1:W}
Évaluation Risque de rappel C'est une règle approximative Les employés ne peuvent pas agir sans pouvoir de sanction Elle élimine l'étiquette correcte {pouvoir.N:ms} Il y a une dépendance entre analyses
Chevauchement (1/5) Cette règle peut chevaucher (overlap) avec la règle de priorité de A:ms par rapport à N après N:ms Après un mot qui a au moins une étiquette N:ms, s'il y a au moins une étiquette N et une A:ms, supprimer les étiquettes N (dépendance entre analyses) Affichez des photos sans sourire commercial {commercial,commercial.A+z1:ms} {sans,sans.PREP+z1} {sourire,sourire.N+z1:ms} {sourire,sourire.V+z1:W} {commercial,commercial.N+z1:ms}
Chevauchement (2/5) Formalisation 1 On applique la règle sur avant la règle sur {commercial,commercial.A+z1:ms} {sans,sans.PREP+z1} {sourire,sourire.V+z1:W} {commercial,commercial.N+z1:ms} {commercial,commercial.A+z1:ms} {sans,sans.PREP+z1} {sourire,sourire.N+z1:ms} {sourire,sourire.V+z1:W} {commercial,commercial.N+z1:ms}
Chevauchement (3/5) Formalisation 2 On applique la règle sur avant la règle sur ou en même temps {commercial,commercial.A+z1:ms} {sans,sans.PREP+z1} {sourire,sourire.V+z1:W} {commercial,commercial.A+z1:ms} {sans,sans.PREP+z1} {sourire,sourire.N+z1:ms} {sourire,sourire.V+z1:W} {commercial,commercial.N+z1:ms} {sourire,sourire.N+z1:ms}
Chevauchement (4/5) Formalisation 3 L'ordre d'application peut aussi dépendre de la position des zones d'application... Exemple : priorité à gauche {commercial,commercial.A+z1:ms} {sans,sans.PREP+z1} {sourire,sourire.N+z1:ms} {sourire,sourire.V+z1:W} {commercial,commercial.N+z1:ms}
Chevauchement (5/5) Si on applique la règle sur avant, elle perturbe le fonctionnement de la règle sur Le résultat dépend de l'ordre d'application des règles Dépendance entre règles La construction de la grammaire n'est pas monotone En cas de dépendances entre analyses, un chevauchement peut provoquer une dépendance entre règles Une règle peut ainsi perturber son propre fonctionnement
Indépendance double Comment assurer que la construction de la grammaire peut être monotone ? Indépendance des analyses et des règles LAL ((a i ) 1 i m, (r j ) 1 j n ) = 1 j n 1 i m LAL (a i, r j ) a LAL ((a i ) 1 i m, (r j ) 1 j n ) j [1, n] a LAL (a, r j )
Indépendance double Réalisation par le système Elag : - chaque règle = un automate qui représente l'ensemble des séquences conformes à la règle - grammaire = intersection des règles - LAL(T, G) = T G Interface utilisateur : - format utilisateur lisible - format compilé prêt pour intersection