Syntaxe Traitement automatique des langues Natalia Grabar INSERM UMRS 872, eq. 20 Université René Descartes Paris France; DIH, HEGP/APHP - 20 rue Leblanc - Paris 15 octobre 2010 Traitement automatique des langues Natalia Grabar Syntaxe Syntaxe 1 Notions de base de la syntaxe 2 Étiquetage morpho-syntaxique 3 Ressources nécessaires pour l’étiquetage morpho-syntaxique 4 Lemmatisation 5 Analyse syntaxique 6 Utilisation d’informations syntaxiques Traitement automatique des langues Natalia Grabar Syntaxe Notions de base de la syntaxe Analyse de la structure d’une phrase Phrase et ses constituants L’ordre des constituants Rôles tenus par les constituants Traitement automatique des langues Natalia Grabar Syntaxe Types d’analyse d’une phrase Types d’analyse Str. fondamentale Constituants Fonctions Rôles thématiques Rôles sémantiques Modalité Traitement automatique des langues Le chat Sujet SN Sujet Thème Agent mange Prédicat SV Verbe Rhème Action assertion la souris SN COD/objet Patient Natalia Grabar Syntaxe Constituants d’une phrase Fondamentaux et segondaires Les constituants de la phrase sont des groupes, qui reposent sur des catégories élémentaires. Ces catégories peuvent être : fondamentales (mots pleins) noms, verbes, adjectifs, adverbes segondaires (mots grammaticaux ou “ vides ”) prépositions, interjections, etc. Un groupe est composé d’une série de mots regroupés autour d’une tête. On parle d’expansion par rapport au mot tête. Traitement automatique des langues Natalia Grabar Syntaxe Constituants d’une phrase Syntagme Un syntagme est l’élement de base de la phrase. Type de syntagme syntagme nominal (SN) syntagme pronominal syntagme verbal (SV) Traitement automatique des langues Fonction sujet COD sujet COD prédicat Exemple Sophie, un arbre l’arbre vert toi, le mien personne, je écrire, va écrire se dirige à la gare Natalia Grabar Syntaxe Constituants d’une phrase Syntagme syntagme verbal (SV) : écrit, va écrire, se dirige à la gare définition étroite : verbe définition large (grammaire générative) : verbe et tous ses compléments, verbe = prédicat. Traitement automatique des langues Natalia Grabar Syntaxe Constituants d’une phrase Syntagme Type de syntagme syntagme adjectival (SA) syntagme adverbial (SAdv) Traitement automatique des langues Fonction attribut circonstant (manière, temps, lieu quantification) Exemple grand, très grand plutôt impressionnant rapidement, franchement dis fois trop Natalia Grabar Syntaxe Constituants d’une phrase Syntagme Type de syntagme syntagme infinitival Fonction verbe nom syntagme prépositionnel (SP) circonstant (manière, temps, lieu,) quantification) Traitement automatique des langues Exemple Paul veut venir. Devenir stressé est un fait courant aujourd’hui. dans la forêt pour le principe pour finir Natalia Grabar Syntaxe Constituants d’une phrase Syntagme Un syntagme peut être : (minimal) constitué que des catégories obligatoires qui le définissent : SN = Det + Nom : le livre, le chat, l’école (expansé) comportant des ajouts facultatifs : SN : le petit livre vert, l’école la plus ancienne SV : se trouve sur le bureau de mon collègue Représentation arborescente des syntagmes et des phrases. Traitement automatique des langues Natalia Grabar Syntaxe Constituants d’une phrase Coordination La coordination permet de constituer des phrases avec des propositions qui n’entretiennent pas de rapport de dépendance entre elles. Cette fois, l’articulation des propositions se fait avec des conjonctions de coordination (mais, ou, et, donc, or, ni, car). Ils sont affreux, sales et méchants. Pierre habite à Paris, mais travaille à Strasbourg. Pierre mangera du poisson ou de la viande. Pierre ne boit ni ne fume. Traitement automatique des langues Natalia Grabar Syntaxe Constituants d’une phrase Subordination La subordination est une relation asymétrique de dépendance entre une proposition subordonnée (enchâssée) et une proposition principale (matrice). La proposition subordonnée est un constituant de la proposition principale. Jean attend que Paul revienne. Traitement automatique des langues Natalia Grabar Syntaxe Constituants d’une phrase Subordination Une proposition de subordination joue dans la phrase les mêmes fonctions qu’un mot ou un groupe de mots. Le caractère de la subordonnée est indiqué par la présence d’un terme introducteur (termes en qu-) : conjonction de subordination : que termes relatifs : qui, que, dont, quoi, où, lequel termes interrogatifs : où, quand, comment, combien, pourquoi autres : si, comme Traitement automatique des langues Natalia Grabar Syntaxe Ordre des mots Place des constituants dans une phrase : ordre libre : circonstants (SPrep, SAdv) ordre contraint : clitiques, qu- Traitement automatique des langues Natalia Grabar Syntaxe Ordre des mots Changement de place =⇒ changement de sémantique Tu viens ? Viens-tu ? Les autres sont venus après. Puis vinrent les autres. Franchement, a-t-il parlé ? A-t-il parlé franchement ? Traitement automatique des langues Natalia Grabar Syntaxe Ordre des mots Quelques règles : COD COI On ramasse les champignons dans la forêt. C court C long Paul parle à maman de son dernier voyage en Chine. Traitement automatique des langues Natalia Grabar Syntaxe Ordre des mots SVO (ordre canonique d’une phrase en français) : Pierre lit un livre. Inversion du sujet : La nuit apparaissent d’étranges créatures. As-tu vu le dernier Rivette ? Phrase au passif : Le livre est lu par Pierre. Traitement automatique des langues Natalia Grabar Syntaxe Ambiguı̈té dans la portée Il réclame encore des nouilles. Il se dit que c’était sûrement un avocat pourri. Je suis le pilote. La peur du gendarme. La critique de cet auteur. La circulation a été déviée par la gendarmerie. J’entends chanter Don Juan. J’ai souvent vu manger des poulets. Quand as-tu dit que tu étais venu ? Je vois un homme avec un téléscope. L’homme descend du singe, et le singe descend de l’arbre. Traitement automatique des langues Natalia Grabar Syntaxe Étiquetage morpho-syntaxique Un premier niveau de modélisation d’une phrase Une tâche précieuse et souvent indispensable en TAL Quelques notions Schéma Catégories grammaticales Traitement automatique des langues Natalia Grabar Syntaxe Quelques notions Lemmatisation: Transformation d’un mot sous forme fléchie en sa forme canonique distances → distance Étiquetage morpho-syntaxique: Assignation à un mot d’une ou des étiquette(s) possibles Étiquette: informations morphosyntaxiques, c’est-à-dire une catégorie grammaticle (nom), des traits morphologiques (féminin, pluriel) Ambiguı̈té: Possibilité d’assigner des catégories (traits) différentes à un mot Traitement automatique des langues Natalia Grabar Syntaxe Quelques notions Analyse morpho-syntaxique est faite selon deux axes: Identification des: mots composés (timbre poste) flexions (je travaille, nous travaillons) dérivations (médecin, médical, médecine) Description du mot (je travaille) : racine: travail lemme: travailler catégorie morphosyntaxique (ou grammaticale): verbe traits morphologiques: 1 ère personne, présent de l’indicatif Traitement automatique des langues Natalia Grabar Syntaxe Schéma Corpus/Texte brut Segmentation (mots, locutions) Corpus/Texte segmenté Etiquetage Analyse morphologique (flexions, dérivation, racinisation) Corpus/Texte étiqueté Corpus/Texte lemmatisé Analyse morphologique (flexions, dérivation, racinisation) Corpus/Texte lemmatisé Traitement automatique des langues Etiquetage Corpus/Texte étiqueté Natalia Grabar Syntaxe Catégories grammaticales La/det coronarographie/n met/v en/prep évidence/n des/det lésions/n bitronculaires/adj ./pointfinal Substantif: coronarographie, lésions, évidence Verbe: met Adjectif: bitronculaires Préposition: en Déterminant: la, des Adverbe: Nom propre: Traitement automatique des langues Natalia Grabar Syntaxe Choix du jeu d’étiquettes Version de base Nom Verbe Prep Adj Adv Det Pro Conj Ponct Sym Préfixe Intj Sigle Date Versions étendues NomMS... Vinf... DetFS... DetDem... ProRel... ConjC... PointF Virgule... Dépend des besoins de la tâche : approche minimaliste : 16 étiquettes approche maximaliste : 190 étiquettes Brill : 50 étiquettes Cordial : environ 160 étiquettes TreeTagger : 36 étiquettes (pour l’anglais) Traitement automatique des langues Natalia Grabar Syntaxe Assignation de catégories grammaticales Désambiguı̈sation lexicale Étiquetage morphosyntaxique Part-of-speech tagging (POS tagging) Objectif: Problème de classification Déterminer la catégorie lexicale de chaque mot d’un texte... ... sans effectuer une analyse syntaxique complète des phrases. Traitement automatique des langues Natalia Grabar Syntaxe Difficultés Ambiguı̈té (de catégorie) grammaticale Un mot → plusieurs catégories grammaticales La/DET/N/PRO coronarographie/N/V est/A/N/V normale/A/N. Principe: Utilisation du contexte du mot (connaissances syntaxiques locales) Solutions (dépendantes de l’architecture): Au niveau de l’analyse morphologique, recours à une analyse syntaxique permettant une désambiguı̈sation sur une base statistique Indication de l’ambiguı̈té, appartenance du mot ambigu à plusieurs catégories Traitement automatique des langues Natalia Grabar Syntaxe Difficultés Mots inconnus / dictionnaire incomplet Polyarthrite/N rhumatoı̈de/? avec/ADV/PREP atteinte/N/V viscérale/A traitée/V par/N/PREP LASILIX/? Solutions: Règles contextuelles Catégorie par défaut Traitement automatique des langues Natalia Grabar Syntaxe Règles d’étiquetage Prise en compte du contexte DET/PRO V → PRO V “ Grammaires locales ” d’INTEX (Silberztein, 1993) Transducteurs de Xerox (Chanod & Tapanainen, 1995) “ Grammaires ELAG ” d’UNITEX Traitement automatique des langues Natalia Grabar Une grammaire locale d’INTEX me te se nous vous <PRO> il on le la les <PRO> ne <ADV> m’ t’ l’ s’ lui leur nous vous <PRO> n’ <ADV> le la les <PRO> lui leur <PRO> en y <PRO> <PRO> Exemple : il/PRO la/DET/N/PRO ferme/A/N/V <V> <V:3s> Syntaxe Principales méthodes d’étiquetage Méthodes stochastiques Méthodes à base de règles Approches mixtes Traitement automatique des langues Natalia Grabar Syntaxe Méthodes stochastiques Le calcul d’une étiquette à une position donnée est réalisé: à partir des deux étiquettes précédentes (n-gram) sur la probabilité d’avoir une étiquette pour un mot donné Utilisation de Chaı̂nes de Markov Traitement automatique des langues Natalia Grabar Syntaxe Méthodes stochastiques Probabilité conditionnelle d’étiquetage connaissant les mots précédents M = · · · mi−2 mi−1 mi · · · ← mots E = · · · ei−2 ei−1 ei · · · ← étiquettes p(E | M) = p(E )p(M | E ) p(M) hypothèses simplificatrices p(E | M)p(M) = p(e1 )p(e2 | e1 ) n Y i=3 p(ei | ei−1 , ei−2 ) n Y p(mi | ei ) i=1 probabilité de transition p(ei | ei−1 , ei−2 ) probabilité d’émission p(mj | ei ) Traitement automatique des langues Natalia Grabar Syntaxe Méthodes stochastiques Remarques: Nécessité d’un apprentissage sur corpus étiqueté au préalable Base de connaissances contextuelles (langue, type de texte) Systèmes très lourds: nombre de règles très élevé (103 –104 ) calcul de probabilité Bonne précision: jusqu’à 95% pour l’anglais Les raisons pour lesquelles l’étiquetage fonctionne bien ou échoue sont très difficilement accessibles Difficile d’analyser, de comprendre et d’améliorer la capacité de ces approches Traitement automatique des langues Natalia Grabar Syntaxe TreeTagger Etiqueteur probabiliste utilisant des arbres de décision Développé par Institute for Computational Linguistics de l’Université de Stuttgart Langues: Anglais, Français, Allemand, Italien, Grec Apprentissage préalable de probabilité sur un corpus de référence Utilisation: Dictionnaires (avec des probabilités) Arbres de décision Possibilité de pré-étiquetage des documents Traitement automatique des langues Natalia Grabar Syntaxe Méthodes à base de règles Etiquetage à partir de ressources Remarques : Points positifs: Fondement linguistique Règles lisibles, modifiables manuellement Facilite la compréhension des erreurs La base de connaissances peut être modifiée suppression de règles ajout de nouvelles règles problème de contradiction entre les règles Nécessite de disposer des dictionnaires de règles travail manuel et coûteux Systèmes plus rapides Assez bonne précision Traitement automatique des langues Natalia Grabar Syntaxe Cordial Développé par la société Synapse pour la correction orthographique Propose de nombreuses fonctionnalités dont l’étiquetage Utilisation: Dictionnaires Littré Noms communs Noms propres Homonymes Codes postaux, communes Sigles Faux amis Base de règles constituée sur des corpus Traitement automatique des langues Natalia Grabar Syntaxe Approches mixtes Utilisation de règles apprises statistiquement (règles probabilistes) Avantages: Pas de construction laborieuse des règles Mise en évidence d’informations utiles l’analyste humain pourrait ne pas remarquées Inconvénients : Difficultés d’interprétation des règles d’un point de vue linguistique Complexité des interactions entre les règles Traitement automatique des langues Natalia Grabar Syntaxe Étiqueteur de Brill (Brill, 1995) Apprentissage de règles d’étiquetage morpho-syntaxique sur un corpus étiqueté au préalable Étiquetage des corpus à venir à l’aide du modèle appris (les règles) Apprentissage fondé sur des transformations, guidé par l’erreur Transformation-based error-driven learning calculs statistiques analyse de ses propres erreurs leur correction Traitement automatique des langues Natalia Grabar Syntaxe Étiqueteur de Brill Méthode générale Texte sans annotation 1 Étiqueteur initial Texte annoté de référence Texte annoté courant 3 1 étiqueteur initial 2 espace des transformations autorisées 3 fonction d’évaluation liste ordonnée de règles de 2* 4 transformation Apprentissage de transformations, guidé par l’erreur Testeur de règles Traitement automatique des langues 4 Règles Natalia Grabar Syntaxe Étiqueteur de Brill Règles de transformation Règles de réécriture changer l’étiquette de Déterminant à Pronom si le mot suivant est un Verbe conjugué Il/PRO la/DET voit/V → Il/PRO la/PRO voit/V Traitement automatique des langues Natalia Grabar Syntaxe Étiqueteur de Brill Espace des transformations possibles changer l’étiquette de a à b lorsque : 1 le mot précédent (suivant) est étiqueté z 2 le deuxième mot qui précède (suit) est étiqueté z 3 l’un des deux mots qui précèdent (suivent) est étiqueté z 4 l’un des trois mots qui précèdent (suivent) est étiqueté z 5 le mot précédent est étiqueté z et le mot suivant est étiqueté w 6 le mot précédent (suivant) est étiqueté z et le deuxième mot qui précède (suit) est étiqueté w Traitement automatique des langues Natalia Grabar Syntaxe Brill: effet de l’entraı̂nement Méthode Stochastique Stochastique Règles (lex) Règles (lex) Règles (non-lex) Traitement automatique des langues Taille du corpus d’apprentissage (mots) 64 000 1 000 000 64 000 600 000 600 000 Nombre de règles ou de probabilités conditionnelles 6 170 10 000 215 447 378 Précision (%) 96,3 96,7 96,7 97,2 97,0 Erreur (%) 3,7 3,3 3,3 2,8 3,0 Natalia Grabar Syntaxe Étiqueteur de Brill + Acquisition automatique des règles + Obtient des résultats aussi bons que les méthodes probabilistes + en se contentant d’un corpus d’apprentissage beaucoup plus petit + Les règles sont compréhensibles, et peuvent être modifiées à la main + Nombre de règles moins élevé (∼ 102 ) Traitement automatique des langues Natalia Grabar Syntaxe Exemples d’étiqueteurs Brill mail.cst.dk/tools/index.php Cognitive computation group, U Illinois l2r.cs.uiuc.edu/~cogcomp/pos_demo.php TreeTagger www.ims.uni-stuttgart.de/projekte/corplex/ TreeTagger/DecisionTreeTagger.html Genia Tagger Multext Cordial Multext www-tsujii.is.s.u-tokyo.ac.jp/GENIA/tagger/ www.lpl.univ-aix.fr/projects/multext/index.html www.synapse-fr.com/ www.lpl.univ-aix.fr/projects/multext/index.html Traitement automatique des langues Natalia Grabar Syntaxe TreeTagger (français) Polyarthrite rhumatoïde avec atteinte c viscÃrale c traitÃe par Lasilix . NOM KON PRP NOM PRO PRO:POS PRP PRO:POS SENT Traitement automatique des langues polyarthrite rhumatoïde avec atteinte c viscÃrale c traitÃe par Lasilix . Natalia Grabar Syntaxe TreeTagger (français) Polyarthrite rhumatoı̈de avec atteinte viscérale traitée par Lasilix . NOM ADJ PRP NOM ADJ VER:pper PRP PRO:POS SENT Traitement automatique des langues polyarthrite rhumatoı̈de avec atteinte viscéral traiter par Lasilix . Natalia Grabar Syntaxe Brill CCGT (français) Polyarthrite rhumatoı̈de avec atteinte viscérale traitée par Lasilix . Polyarthrite rhumatoı̈de avec atteindre viscéral traiter par lasilix . Traitement automatique des langues Natalia Grabar Syntaxe TreeTagger (anglais) Nonalcoholic steatohepatitis ( NASH ) is a morbid condition highly related to obesity . Traitement automatique des langues JJ SYM ( NP ) VBZ DT JJ NN RB VBN TO NN SENT nonalcoholic steatohepatitis ( Nash ) be a morbid condition highly relate to obesity . Natalia Grabar Syntaxe Brill CCGT (anglais) Nonalcoholic steatohepatitis ( NASH ) is a morbid condition highly related to obesity . Traitement automatique des langues NNP NN ( NNP ) VBZ DT JJ NN RB VBN TO NN . nonalcoholic steatohepatitis ( nash ) be a morbid condition highly relate to obesity . Natalia Grabar Syntaxe Genia Tagger (anglais) Nonalcoholic steatohepatitis ( NASH ) is a morbid condition highly related to obesity . Traitement automatique des langues Nonalcoholic steatohepatitis ( NASH ) be a morbid condition highly related to obesity . JJ NN ( NN ) VBZ DT JJ NN RB JJ TO NN . B-NP I-NP O B-NP O B-VP B-NP I-NP I-NP B-ADJP I-ADJP B-PP B-NP O Natalia Grabar Syntaxe Ressources nécessaires pour l’étiquetage morpho-syntaxique Outils d’étiquetage morpho-syntaxique Lexique Règles mots inconnus, mots ambigues Traitement automatique des langues Natalia Grabar Syntaxe Lemmatisation Suite à l’analyse morphologique Suite à l’assignation d’une étiquette morpho-syntaxique Proposition d’un lemme d’un mot forme canonique, forme citationnelle Fonction généralement accomplie par les étiqueteurs Sinon, un outil spécifique Traitement automatique des langues Natalia Grabar Syntaxe Lemmatisation Fiammetta Namer, FLEMM : un analyseur flexionnel du français à base de règles, Traitement Automatique des Langues (TAL), 2000, 41(2), p. 523-547 www.univ-nancy2.fr/pers/namer/Telecharger_Flemm.html Lemmatiseur pour le français Sorties de Brill et de TreeTagger Correction des étiquettes et des lemmes Définition des lemmes Une base de règles Une base d’exceptions connues Traitement automatique des langues Natalia Grabar Syntaxe Analyse syntaxique Définition de groupes de constituants Définition de relations fonctionnelles entre les groupes Définition de dépendances entre les constituants =⇒ Analyse hiérarchique de la phrase Traitement automatique des langues Natalia Grabar Syntaxe Analyse syntaxique Grammaire formelle V : vocabulaire VT : terminaux VN : non terminaux VT ∩ VN = ∅; V = VT ∪ VN S : “ axiome ” de la grammaire (phrase) P : règles Traitement automatique des langues Natalia Grabar Syntaxe Analyse syntaxique P −→ SN SV SN −→ PRO SV −→ V SN SN −→ DET N SP P SP −→ PREP SN AA SV SN PRO V je JJ SN bb b vois DET SP N SS un homme PREP SN # # AA avec DET N un téléscope Je vois un homme avec un téléscope. Traitement automatique des langues Natalia Grabar Syntaxe Analyse syntaxique P −→ SN SV SN −→ PRO SV −→ V SN SP SN −→ DET N P SP −→ PREP SN AA SV a SN aa a PRO V SN A A je vois DET N SP S S PREP SN # # AA un homme avec DET N un téléscope Je vois un homme avec un téléscope. Traitement automatique des langues Natalia Grabar Syntaxe Analyse syntaxique Corpus arborés : Penn Treebank http://www.cis.upenn.edu/~treebank/ Corfrans http://www.u-grenoble3.fr/idl/cursus/enseignants/ tutin/corpus.htm Anne Abeillé, Lionel Clément, Alexandra Kinyon et François Toussenel. Un corpus français arboré : quelques interrogations. In Proc TALN 2001 journal Le Monde Traitement automatique des langues Natalia Grabar Syntaxe Analyse syntaxique Quelques analyseurs syntaxiques : Analyseur syntaxique de GREYC (Caen) users.info.unicaen.fr/~jvergne/analyseur_GREYC/ analyseur_du_GREYC.html Memory-based Shallow parser du ILK ilk.uvt.nl/cgi-bin/tstchunk/demo.pl IPS du LATL www.latl.unige.ch/french/projets/ips_f.html LinkParser de Carnegie Mellon University www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0010.html Traitement automatique des langues Natalia Grabar Syntaxe Utilisation d’informations syntaxiques Information syntaxique sur le contenu Utilisée en correction orthographique et grammaticale erreurs d’accord Indices de l’information sémantique thématique, genre, objectif, ... Unités linguistiques complexes GN : sténose de l’aorte traduction indexation, recherche d’information constitution de terminologies Traitement automatique des langues Natalia Grabar Syntaxe Installation de TreeTagger http://www.ims.uni-stuttgart.de/projekte/corplex/ /TreeTagger/DecisionTreeTagger.html Créer un dossier TreeTagger, s’y placer, et télécharger les quatre parties indiquées: 1 2 3 4 ftp://ftp.ims.uni-stuttgart.de/pub /corpora/tree-tagger-linux-3.1.tar.gz ftp://ftp.ims.uni-stuttgart.de/pub /corpora/tagger-scripts.tar.gz La troisième partie dépend de la langue choisie ; pour le français: ftp://ftp.ims.uni-stuttgart.de/pub/corpora /french-par-linux-3.1.bin.gz ftp://ftp.ims.uni-stuttgart.de/pub/corpora/ /install-tagger.sh Lancer l’installateur : sh install-tagger.sh Traitement automatique des langues Natalia Grabar Syntaxe Utilisation de TreeTagger Pour lancer TreeTagger, supposé installé dans /le/dossier/TreeTagger : /le/dossier/TreeTagger/cmd/tree-tagger-french fichier.txt >fichier.tt Traitement automatique des langues Natalia Grabar Syntaxe Installation et utilisation de Flemm Fiammetta Namer Flemm: French lemmatizer Corrige les erreurs, ajoute des informations morphosyntaxiques Télécharger: www.univ-nancy2.fr/pers/namer/Telecharger_Flemm. html Ajouter la variable d’environnement PER5LIB export PERL5LIB= /Flemmv31 Exécuter: perl flemm.pl --entree ~ /Flemmv31/tests/test tt 1.input --sortie ~ /Flemmv31/tests/test tt 1.xml --format xml --tagger treetagger Traitement automatique des langues Natalia Grabar Syntaxe Installation et utilisation de Derif Fiammetta Namer Derif: analyseur dérivationnel du français Disponible sur demande auprès de F. Namer Installation locale Utilisation perl ~ /Derif0405/derif.pl --entree echant-cat.txt --sortie echant-cat.derif --format triplet Traitement automatique des langues Natalia Grabar Syntaxe Exercice Installer TreeTagger Appliquer TreeTagger sur le fichier d’exemples Convertir les étiquettes si nécessaire Installer Derif Appliquer Derif sur le fichier d’exemples Analyser les résultats à chaque étape Traitement automatique des langues Natalia Grabar