Mettre tout ça ensemble corpus et annotation fréquence et proportions n-grammes expressions régulières perl Le problème PP modifieur du nom ou du verbe? J’ai vu l’homme avec les jumelles J’ai vu l’homme avec le chapeau Je mange la pizza avec la fourchette Je mange la pizza au fromage Je mange la pizza avec une bière Pourqoui faut-il resoudre ce problème? Le 70% des erreurs de construction de structure syntaxique pendant une analyse automatique sont des erreurs d’attachement de PP. Donc, si on ameliorait la performance de la resolution de ce problème, toute l’analyse serait bien meilleure. Comment faut-il resoudre ce problème? J’ai vu l’homme avec les jumelles J’ai vu l’homme avec le chapeau Je mange la pizza avec la fourchette Je mange la pizza au fromage Je mange la pizza avec une bière Y-a-t-il des régularités visibles qui distinguent entre attachement au nom et attachement au verbe? • L’information lexicale, quels mots sont utilisés dans la phrase, est cruciale. Attachment du PP: méthode manuelle 1. Recolte d’un petit corpus d’exemples de PPs avec la distinction entre modifieur du nom ou modifieur du verbe. En général, par introspection ou récolte non-systematique des données observationnelles 2. Création des règles régissant les différences entre ces deux cas de figure par observation jusqu’à couverture des toutes les données observées 3. Implantation d’un système et extension aux exemples qui n’avaient pas été prévus Méthode manuelle: problèmes 1. Recolte non-systematique des données observationnelles, donc pas garantie de rappresentativité 2. Possible complexité excessive du système de règles, surtout si on veut tenir compte des mots 3. Pas de tests systèmatiques, ni de tests sur un ensemble séparé d’exemples, pas d’evaluation quantitative, difficile à comparer avec d’autres méthodes Attachment du PP: méthode basée sur le corpus 1. Annotation d’un corpus d’exemples de phrases spontanées. 2. Recolte de PPs dans le corpus avec la distinction entre modifieur du nom ou modifieur du verbe. Rappresentativ ité 3. Création d’un algorithme apprenant Exhaustivité, automatiquement les règles qui régissent les même si différences entre modifieur du nom ou modifieur grande du verbe. variabilité 4. Implantation de l’algorithme et son entreinement sur la base d’une partie du corpus. 5. Evaluation de la précision de l’algorithme sur la Fiabilité de l’évaluation partie restante du corpus. Step 1 1. Annotation d’un corpus d’exemples de phrases spontanées Questions: toutes le questions concernant l’annotation vue au paravant. Anneés de travail de conception et annotation. Penn Tree Bank annotation syntaxique qui distingue les deux types d’attachement Exemples dans la PTB ( (S (NP-SBJ (NP (NNP Pierre) (NNP Vinken) ) (VP (MD will) (VP (VB join) (NP (DT the) (NN board) ) (PP-CLR (IN as) (NP (DT a) (JJ nonexecutive) (NN director) )) (NP-TMP (NNP Nov.) (CD 29) ))) (. .) )) Exemples dans la PTB ( (S (NP-SBJ (NNP Mr.) (NNP Vinken) ) (VP (VBZ is) (NP-PRD (NP (NN chairman) ) (PP (IN of) (NP (NP (NNP Elsevier) (NNP N.V.) ) (, ,) (NP (DT the) (NNP Dutch) (VBG publishing) (NN group) ))))) (. .) )) Step 2 2a Recolte des PPs dans le corpus avec la distinction entre modifieur du nom ou modifieur du verbe Questions Qu’est-ce qu’on veut extraire? Sous-arbre qui couvre verbe nom PP Comment arrive-t-on à extraire le sous-arbre couvrant verbe nom PP, etant donné les arbres de la PTB? Expressions régulières Essayez Step 2 2b Simplification et normalisation de données Tête d’un syntagme: nom pour SN, verbe pour SV etc On transforme le sous-arbre en suite de têtes syntaxiques plus valeur binaire indiquant le type d’attachement Exemple mange pizza avec fourchette 1 mange pizza au fromage 0 PP tuples VERB NOUN PREP NOUN2 abolish levy for concern 0 accept payment from Linear 0 accompany President on tour 0 accrue dividend at % 0 accumulate wealth across spectrum 0 yank balloon to ground 1 yield % at bank 1 yield % in offering 1 yield % in week 1 zip order into exchange 1 Step 3 3 Création d’un algorithme apprenant automatiquement les règles qui régissent les différences entre modifieur du nom ou modifieur du verbe Question: faut-il comprendre ce qu’on apprend ou pas? Autrement dit, faut-il apprendre grâce à une explication ou par imitation? La méthode basée sur les corpus utilise souvent l’apprentissage par imitation Quel algorithme? Essayez VERB NOUN PREP NOUN2 abolish levy for concern 0 accept payment from Linear 0 accompany President on tour 0 accrue dividend at % 0 accumulate wealth across spectrum 0 yank balloon to ground 1 yield % at bank 1 yield % in offering 1 yield % in week 1 zip order into exchange 1 Step 3 - ENTREINEMENT Mémoriser les données d’entreinement, c-à-d mémoriser la tuple (têtes,attachement) si des exemples se repètent, mettre à jour un compteur Step 3 – TEST Pour chaque donnée de test si on a déjà vu la même donnée (la même séquence de 4 mots), alors attachement = attachement à l’entreinement sinon si on a vu une (ou plusieurs) sous-séquence(s) des 3 mots à l’entreinement, alors attachement = attachement majoritaire de la (moyenne des) sous-séquences des 3 mots sinon si on a vu une (ou plusieurs) sous-séquence(s) des 2 mots à l’entreinement, alors attachement = attachement majoritaire de la (moyenne des) sous-séquences des 2 mots sinon si on a vu une (ou plusieurs) sous-séquence(s) d’un mot à l’entreinement, alors attachement = attachement majoritaire de la (moyenne des) sous-séquences d’un mot sinon attachement majoritaire Step 3 – TEST Pour chaque donnée de test if (verbe nom prep nom2) in tuples d’entreinement alors attachement = attachement de la tuple elsif (verbe nom prep) ou (nom prep nom2) ou (verbe prep nom2) in tuples d’entreinement alors attachement = attachement majoritaire de (verbe nom prep) + (nom prep nom2) +(verbe prep nom2) elsif (verbe prep) ou (nom prep ) ou (prep nom2) in tuples d’entreinement alors attachement = attachement majoritaire de (verbe prep) + (nom nom2) +(prep nom2) elsif (prep) in tuples d’entreinement alors attachement = attachement majoritaire de prep sinon attachement majoritaire dans le corpus d’entreinement Step 4 4 Implantation de l’algorithme et son entreinement sur la base d’une partie du corpus Exemple #!/usr/local/bin/perl5 # Computes: collects tuples and updates counts # Loads: <verbe nom prep nom2> tuples open(TRAINING, "training-quads"); while (<TRAINING>) { ($v, $n, $p, $n2, $a) = split; if ($a == 0 ) { $noms{"$v $n $p $n2"}++; $noms{"$v $p $n"}++; $noms{"$n $p $n2"}++; $noms{"$v $p $n2"}++; $noms{"$v $p"}++; $noms{"$n $p"}++; $noms{"$p $n2"}++; $noms{$p}++; $noms++; } else {….} }; Exemple #!/usr/local/bin/perl5 # Computes: collects tuples and updates counts # Loads: <verbe nom prep nom2> tuples open(TRAINING, "training-quads"); while (<TRAINING>) { ($v, $n, $p, $n2, $a) = split; if ($a == 0 ) { else { …. } $verbs{"$v $n $p $n2"}++; $verbs{"$v $p $n"}++; $verbs{"$n $p $n2"}++; $verbs{"$v $p $n2"}++; $verbs{"$v $p"}++; $verbs{"$n $p"}++; $verbs{"$p $n2"}++; $verbs{$p}++; $verbs++; } }; Step 5 5 Evaluation de la précision de l’algorithme sur un echantillon de nouvelles phrases PP: évaluation open(TESTING, "testing-quads"); while (<TESTING>) { ($v, $n, $p, $n2, $a) = split; deviner l’attachement avec algorithme vu dessus calculer la précision des réponses }; PP: évaluation open(TESTING, "testing-quads"); while (<TESTING>) { ($v, $n, $p, $n2, $a) = split; c’est à vous }; MERRY CHRISTMAS BUON NATALE Programme détaillé du cours - Sémestre d'hiver 8 janvier 2003 Les données textuelles comme base pour l'évaluation: Evaluation de la performance: les mesures de précision et de rappel. Evaluation de la fiabilité: l'accord inter-juge (le kappa). TP petit programme Perl pour calculer precision, rappel et accord inter-juge. Programme détaillé du cours - Sémestre d'hiver 15 jan Introduction à l'apprentissage automatique: l'approche d'apprentissage automatique aux problèmes de TALN. Les méthodes d'apprentissage symbolique: les arbres à décisions. TP Programme détaillé du cours - Sémestre d'hiver 22 jan L'apprentissage automatique du lexique 2 L'apprentissage automatique de la distinction entre arguments et modifieurs (Avec Eva) TP Programme détaillé du cours - Sémestre d'hiver 29 jan L'apprentissage automatique du lexique 1 (anglais) La classification automatique des verbes en classes semantiques. TP Petit programme Perl/tgrep pour les SPs 5 fév Révision Programme détaillé du cours - Sémestre d'été 12 mars Introduction à la théorie de la probabilité: probabilité simple et probabilité conditionelle; le théorème de Bayes 19 marsDistributions la distribution binomiale; la distribution normale. 26 marsL'apprentissage probabiliste: l'apprentissage automatique de la sous-catégorisation (Brent). 2 avril L'apprentissage probabiliste: Desambiguisation des classes des verbes (Lapata and Brew, Gildea). 9 avril L'apprentissage probabiliste: Attachment du PP: un seul PP, plusieurs PPs (Collins and Brooks, Merlo et al.) 23 avril annullé Programme détaillé du cours - Sémestre d'été 30 avril L'analyse syntaxique probabiliste: PCFGs. 7 mai L'analyse syntaxique probabiliste: Collins 1996. 14 mai L'analyse syntaxique probabiliste: Collins 1997. 21 mai L'analyse syntaxique probabiliste: Charniak 2000 28 mai buffer/Gerold 4 juin annullé 11 juin Apprentissage de verbes en Espagnol (Eva) 18 juin Révision