Post on 13-Jan-2016
description
Outils pour le traitement des textes
Levée d'ambiguïtésmorpho-syntaxiques
Éric LaporteUniversité Paris-Est Marne-la-
Vallée
Sommaire
Règles de priorité entre analysesDépendances entre analysesRègles-exceptionsDépendances entre règlesChevauchementsIndé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)1 1
0,25
1
1
Réalisation : solution 3 (3/4)
1
1
0,5
0,251
1
1
1
1
1
1
1
Réalisation : solution 3 (4/4)
Évaluation
Contexte : préparation à l'analyse syntaxiqueL'absence d'une étiquette correcte peut empêcher l'analyse de toute la phraseToute diminution du rappel dégrade la qualité de la grammaire de levée d'ambiguïtés
Règles de priorité et rappelDans un domaine spécialisé, une étiquette z2 ou même z3 peut être correcte même si elle est en concurrence avec z1Exemple : 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èglesDans 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équencesSi une règle r1 élimine {par,par.PREP+z1} avant l'application de la règle de priorité r2, {par,par.N+z3:ms} est conservé
Si r1 est appliquée après r2, {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 desExemple : 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}
FormalisationStructure de données : tablePour 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 acycliqueSi 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 remarquablesLes membres eux-mêmes sont des organes expressifs des passions
des n'est jamais suivi d'un verbeAucun 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 desSupprimer chaque chemin qui contient des suivi d'une étiquette V
que : formalisation 1Priorité 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 tableFormalisation 1Supprimer 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 plusLa 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 exemplesIl est vrai que portes et fenêtres manquent absolumentCe 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 r1 élimine {cela,celer.V} avant l'application de la règle de priorité r2, {que.CONJS} est conservéSi r1 est appliquée après r2, {que.CONJS} est éliminéLe comportement du système dépend de l'ordre d'application des règles
que : formalisation 2
Formalisation 2Supprimer 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émoinsLa 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 acycliqueLes 2 formalisations précédentes sont possibles
Formalisation 3Supprimer 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émoinsLa 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 KLes critères de suppression d'une analyse tiennent à son contenu uniquementAucune dépendance entre analyses
Non adaptable à la structure table
N et A
Priorité de A:ms par rapport à N après N:msExemple : un moine bouddhiste birman
{moine,moine.N+z1:ms}
{bouddhiste,bouddhiste.A+z1:ms:fs}
{bouddhiste,bouddhiste.N+z1:ms:fs}
FormalisationStructure de données : tableAprè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 pasLa règle élimine l'étiquette correcte général.N:ms
Autre exempleUn 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 r1 élimine {général.A:ms} avant l'application de la règle de priorité r2, {général.N:ms} est conservéSi r1 est appliquée après r2, {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 (ai)1 i m
texteétiqueté :
m' analysesLAL ((ai)1 i m, G)
m' m
levéed'ambiguïtés
lexicales
Un processus de sélection
Indépendance des analyses : formalisation
LAL ((ai)1 i m, G) = 1 i m LAL (ai, G)
a LAL ((ai)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 d’analyses, 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 d’analyses seraient différents
Exemple : La chaîne freine la rouechaîne - chêne - ...freine - frêne - ...roue - roux - ...
Règles-exceptions (1/2)
Dans une séquence <PREP> 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 <PREP> 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 PROIl veillait à ce que rien ne manquâtCela vient de ce que nous sommes seulsIl 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
r1 - 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}
r2 - 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} ; r2 est une exception à r1
Évaluation
LisibilitéLa règle générale est trompeuseElle peut ne pas s'appliquer alors que ses conditions d'application sont réunies
Dépendance entre règlesL'introduction de r2 perturbe le fonctionnement de r1
La construction de la grammaire de levée d'ambiguïtés n'est pas monotoneLa contradiction partielle complique la structure de la grammaire et donc sa mise à jour
Formalisation 2
Formalisation 2
r1 - 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}
r2 - 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
r1 - 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}
r2 - 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édenteExemple : Il avait hérité d'un hôtel particulier du XVIIIe siècle, bien qu'avait fait construire un de ses ancêtres plus habile en affaires que lui
Formalisation 1Spécifier laquelle fait exception à l'autreLa 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 2Modifier 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(rj)1 j n
texte étiqueté
T :m
analyses
texteétiqueté :
m' analysesLAL (T, (rj)1 j n)
m' m
levéed'ambiguïtés
lexicales
Un processus de sélection
Indépendance des règles : formalisation
LAL (T, (rj)1 j n) = 1 j n LAL (T, rj)
a LAL (T, (rj)1 j n) j [1, n] a LAL (T, rj)
Les résultats ne peuvent pas dépendre de l'ordre d'application des règlesChaque règle s’applique 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échargerC'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 rappelC'est une règle approximativeLes employés ne peuvent pas agir sans pouvoir de sanctionElle é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 1On applique la règle sur <PREP> <V:W> avant la règle sur <N:ms> <A:ms>
{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 2On applique la règle sur <N:ms> <A:ms> avant la règle sur <PREP> <V:W> 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 3L'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 <PREP> <V:W> avant, elle perturbe le fonctionnement de la règle sur <N:ms> <A:ms>Le résultat dépend de l'ordre d'application des règlesDépendance entre règlesLa 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 ((ai)1 i m, (rj)1 j n) = 1 j n 1 i m LAL (ai, rj)
a LAL ((ai)1 i m, (rj)1 j n) j [1, n] a LAL (a,
rj)
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