UNIVERSITÉ STENDHAL – GRENOBLE 3 LABORATOIRE LIDILEM CONCEPTION ET DÉVELOPPEMEN

UNIVERSITÉ STENDHAL – GRENOBLE 3 LABORATOIRE LIDILEM CONCEPTION ET DÉVELOPPEMENT D'UN FORMALISME DE CORRECTION GRAMMATICALE AUTOMATIQUE - APPLICATION AU FRANÇAIS - Agnès Souque Juin 2007 Mémoire de Master 2 Sciences du Langage, mention Industries de la Langue, Spécialité parole, écrit et conception d'outils pour l'apprentissage des langues, Parcours Traitement Automatique de la Langue Ecrite et de la Parole Orientation Recherche Directeur de mémoire : Thomas Lebarbé, Maître de conférences 2 Table des matières Introduction......................................................................................................................9 Chapitre 1 : Existant......................................................................................................11 1. Structure générale d'un correcteur grammatical......................................................11 1.1. Tokenization.................................................................................................................11 1.2. Tagging et désambiguïsation.......................................................................................12 1.3. Segmentation en syntagmes minimaux.......................................................................12 1.4. Détection des fautes.....................................................................................................12 2. Travail de M. Lechelt : adaptation au français d'un correcteur existant..................13 2.1. Analyse de différents correcteurs................................................................................13 2.1.1. Rejet de GRAC et de LanguageTool...................................................................13 2.1.2. Sélection de An Gramadóir.................................................................................14 2.2. Adaptation de An Gramadóir à la correction grammaticale du français.....................14 2.2.1. La tokenization....................................................................................................14 2.2.2. Le tagging............................................................................................................15 2.2.3. La détection des fautes........................................................................................15 2.2.4. La rédaction des règles........................................................................................16 2.3. Évaluation et perspectives...........................................................................................17 2.3.1. Évaluation et limites de An Gramadóir...............................................................17 2.3.2. Perspectives.........................................................................................................19 3. LanguageTool .........................................................................................................20 3.1. Rejet de la première version de l'outil.........................................................................20 3.1.1. Structure de LanguageTool à l'époque................................................................20 3.1.2. Points faibles à l'origine du rejet.........................................................................22 3.2. Évolutions et nouvelle version de l'outil.....................................................................22 3.2.1. Évolutions du système.........................................................................................22 3.2.2. Structure actuelle de LanguageTool....................................................................23 4. Conclusion...............................................................................................................24 Chapitre 2 : Adaptation de LanguageTool à la correction du français.....................25 1. Test des règles existantes.........................................................................................25 1.1. Test et erreurs détectées...............................................................................................25 3 1.2. Problème de l'ambiguïté catégorielle..........................................................................26 1.3. Tentative de contournement du problème...................................................................28 2. Implantation d'un désambiguïseur...........................................................................28 2.1. Choix d'un type de désambiguïseur.............................................................................28 2.2. Choix d'un formalisme pour les règles........................................................................29 2.3. Intégration dans LanguageTool...................................................................................29 3. Importation des règles de An Gramadóir dans LanguageTool................................30 3.1. Importation des règles de désambiguïsation...............................................................30 3.1.1. Représentation en XML.......................................................................................30 3.1.2. Réécriture des règles............................................................................................31 3.2. Importation des règles d'erreurs..................................................................................35 3.2.1. Réécriture automatique........................................................................................35 3.2.2. Réécriture des règles sur les syntagmes verbaux.................................................36 3.2.3. Réécriture des règles sur les syntagmes nominaux.............................................37 4. Augmentation des règles à partir d'un corpus de fautes..........................................39 4.1. Analyse des fautes commises......................................................................................39 4.1.1. Fautes d'orthographe............................................................................................39 4.1.2. Fautes déjà détectées par LanguageTool.............................................................40 4.1.3. Fautes a priori non détectables............................................................................40 4.1.4. Fautes détectables avec un nouveau formalisme.................................................40 4.1.5. Fautes détectables avec le formalisme actuel de LanguageTool.........................41 4.2. Rédaction de nouvelles règles d'erreurs......................................................................41 4.2.1. Accord Déterminant + Nom + Verbe..................................................................41 4.2.2. Accord en nombre Être + Participe passé ou Adjectif........................................42 4.2.3. Confusion entre la forme verbale et la forme nominale......................................42 4.2.4. Confusion entre "on" et ont"................................................................................43 4.2.5. Confusion entre "cet", "cette", "ces" et "c'est".....................................................43 4.2.6. Accord Pronom relatif "qui" + Verbe :................................................................44 5. Typologie des erreurs corrigées...............................................................................44 5.1. Les erreurs corrigées par LanguageTool.....................................................................44 5.1.1. Les erreurs de proximité phonétique...................................................................45 5.1.2. Les erreurs d'accord dans le syntagme nominal..................................................45 5.1.3. Les erreurs dans le groupe verbal........................................................................45 4 5.1.4. Les erreurs d'accord avec le sujet........................................................................46 5.2. Des fautes d'orthographe ou de grammaire ?..............................................................46 5.2.1. Point de vue linguistique : orthographe lexicale et orthographe grammaticale..47 5.2.2. Point de vue informatique : correction orthographique et correction grammaticale..................................................................................................................47 5.2.3. Chevauchement des fautes d'orthographe et de grammaire................................48 5.3. Les fautes du dactylographe........................................................................................49 6. Conclusion...............................................................................................................50 Chapitre 3 : Amélioration du formalisme de LanguageTool.....................................51 1. Critique des limites du formalisme actuel...............................................................51 1.1. Le "pattern-matching" rigide......................................................................................51 1.1.1. Explosion combinatoire des règles......................................................................51 1.1.2. Nécessité et impossibilité de prévoir tous les contextes......................................52 1.1.3. Limitation au contexte immédiat.........................................................................54 1.2. De nombreuses fausses alarmes..................................................................................54 1.2.1. Mots ambigus.......................................................................................................55 1.2.2. Mots mal étiquetés...............................................................................................55 1.2.3. Détections multiples............................................................................................56 1.2.4. Détections en cascade..........................................................................................56 2. Première évolution du formalisme...........................................................................56 2.1. Segmentation en chunks et unification de structures de traits.....................................57 2.1.1. Chunks.................................................................................................................57 2.1.2. Rappels sur les structures de traits et l'unification...............................................59 2.2. Intérêt de la combinaison chunks-unification pour la correction grammaticale.........59 2.2.1. Correction "intra-chunk".....................................................................................59 2.2.2. Correction "inter-chunks"....................................................................................60 2.2.3. Aide à la désambiguïsation..................................................................................60 2.3. Vérification orthographique........................................................................................61 3. Développement d'un nouveau formalisme...............................................................61 3.1. Description du formalisme..........................................................................................61 3.1.1. Élément <rule>....................................................................................................61 3.1.2. Élément <example>.............................................................................................63 3.1.3. Élément <message>.............................................................................................63 5 3.1.4. Élément <unify>..................................................................................................63 3.1.5. Élément <pattern>...............................................................................................64 3.1.6. Élément <token>.................................................................................................64 3.1.7. Élément <chunk>.................................................................................................65 3.1.8. Élément <feature>...............................................................................................66 3.1.9. Élément <exception>...........................................................................................67 3.2. Interprétation du formalisme.......................................................................................67 3.3. Conception d'un calculateur d'unification...................................................................69 3.3.1. Pré-requis.............................................................................................................69 3.3.2. Fonctionnement du module de calcul d'unification.............................................70 3.3.3. Développement....................................................................................................72 3.3.4. Test du prototype.................................................................................................73 4. Conclusion...............................................................................................................75 Chapitre 4 : Conclusions et perspectives ....................................................................77 1. Premier correcteur grammatical OpenOffice.org....................................................77 2. Proposition de formalisme.......................................................................................77 2.1. Nouvelle structure ......................................................................................................78 2.2. Développement de règles à partir d'un corpus............................................................79 2.2.1. Constitution d'un corpus d'erreurs.......................................................................79 2.2.2. Analyse du corpus...............................................................................................80 3. Intégration au projet OpenOffice.org.......................................................................81 4. Vers une autre approche de la correction grammaticale..........................................82 Glossaire..........................................................................................................................83 Bibliographie..................................................................................................................87 Webographie...................................................................................................................89 6 Remerciements à Thomas Lebarbé, mon directeur de recherche préféré, pour sa patience et la confiance qu'il m'a accordée, à la société Nuxeo pour sa collaboration, et plus particulièrement à Laurent Godard pour son soutien technique et ses conseils avisés, à Jean-Pierre Chevrot et Agnès Millet, pour m'avoir fourni le précieux corpus sur lequel s'appuie une partie de mon travail, à la communauté LanguageTool, et en particulier à Marcin Miłkowski pour le temps qu'il m'a consacré, et sans l'aide de qui une partie de mon travail n'aurait pu être réalisée, à Virginie, pour ses relectures... "pointilleuses", pour ses petites ritournelles qui me poursuivront à vie : "on est un... lapin" et "on ne se base pas...", à tout le bureau I110 et ses pièces rapportées : Ninie, Alexia, Mathieu, Delphine, Tiphaine, Julien et Nico pour leur bonne humeur constante et leurs minutes culturelles, à toute l'équipe du DIP, en particulier Roseline pour sa gentillesse, à Marie-Christine et Antoine pour avoir partagé leur bureau, et à Claude et Olivier pour leur acte héroïque, à mon Héros, mon Dieu, mon Maître, pour m'avoir poussée, sans jamais me laisser tomber... à mon père, ma mère, Irène et Daniel pour leurs précieux encouragements et leurs coups de main ponctuels. Introduction 7 Introduction Ce travail s'inscrit dans le cadre du projet communautaire OpenOffice.org dans la continuité du stage de Master 2 Industrie de la langue de Myriam Lechelt. Il est encadré par Thomas Lebarbé, maître de conférences à l'université Stendhal, qui a initié cette recherche avec Laurent Godard de la société Nuxeo-InDesko. L'objectif de ce travail interdisciplinaire (linguistique et informatique) est la création d'un outil de correction grammaticale libre pour le français, pouvant être intégré à l'environnement bureautique, ou utilisé indépendamment de celui-ci. Dans ce domaine, les outils existants sont généralement des logiciels propriétaires aux coûts d'intégration élevés, qui sont peu ou pas décrits dans la littérature, et fermés à toute amélioration externe. Nos travaux de recherche visent donc, de manière plus générale, à développer un outil de correction grammaticale générique, dont les ressources langagières seront accessibles et modifiables. Dans un premier chapitre, nous exposons le fonctionnement général des correcteurs grammaticaux. Nous résumons ensuite le travail qui a été réalisé par Myriam Lechelt pour adapter l'un d'entre eux au français. Il s'agit de An Gramadóir, un outil libre créé pour le gaélique. Les conclusions sur cette adaptation en ont montré les limites, et pour cette raison, nous avons décidé de travailler sur un autre correcteur, LanguageTool, que nous présentons et dont nous pensons qu'il est mieux adaptable au français. Le second chapitre est consacré à la transcription des travaux de M. Lechelt dans le formalisme actuel de LanguageTool. Nous avons tout d'abord comblé une lacune de l'outil, en réalisant l'implantation d'un module de désambiguïsation, puis nous avons importé les règles de An Gramadóir. Nous détaillons alors comment nous les avons modifiées et simplifiées. L'analyse d'un corpus de fautes de grammaire nous a ensuite permis de compléter ces règles, et pour finir nous définissons la typologie des erreurs traitées. Dans le chapitre 3, après avoir critiqué certaines limites de LanguageTool, telle que l'explosion combinatoire des règles, nous proposons un nouveau formalisme pour y remédier. Fondé sur la combinaison de deux principes linguistiques, la segmentation en chunks et l'unification, ce formalisme permet la détection des fautes d'accords avec seulement quelques règles génériques. Nous le décrivons, puis nous présentons un prototype d'outil de calcul d'unification que nous avons développé, permettant de montrer la faisabilité de ce que nous avons décrit. Chapitre 1 : Existant 8 Chapitre 1 : Existant Dans ce chapitre, nous commençons par expliquer le fonctionnement général des correcteurs grammaticaux. Nous résumons ensuite le travail qui a été effectué pour adapter au français un de ces outils : "An Gramadóir", sans oublier les conclusions auxquelles ce travail a mené, qui ne sont pas toutes positives. Pour cette raison, nous nous sommes tournée vers un autre correcteur, LanguageTool, que nous présentons et sur lequel nous travaillons dans les chapitres suivants. 1. Structure générale d'un correcteur grammatical L'objectif de notre travail est de développer un correcteur grammatical. Il semble donc naturel de commencer par présenter, de manière générale, comment ce type d'outils fonctionne. La figure 1 ci-dessous illustre la succession des différentes étapes de traitement dont nous parlons : la tokenization, l'étiquetage, la désambiguïsation, la segmentation en syntagmes minimaux, et enfin la détection des fautes. Ces étapes sont identiques d'un correcteur à l'autre, mais avec des méthodes variables. En revanche, certaines ne sont pas toujours présentes. Les zones hachurées, dans la figure 1, correspondent aux étapes qui ne sont pas effectuées systématiquement par tous les outils de correction grammaticale. Figure 1: Structure générale d'un correcteur grammatical (les uploads/Ingenierie_Lourd/ conception-et-developpement-dun-formalisme-de-correction-grammaticale-automatique-applicaion-au-fracais.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager