Petit retour sur LanguageTool
Par Agnès Souque, mardi 19 février 2008 à 11:26 :: LanguageTool :: #4 :: rss
Vous êtes nombreux ces jours-ci à vous intéresser à LanguageTool (dont la toute dernière version vient de sortir), alors j'en profite pour poster quelques précisions sur l'outil, d'après vos remarques et interrogations que j'ai pu lire sur le net.
LanguageTool... Il s'agit donc d'un correcteur grammatical libre, créé initialement pour l'anglais par Daniel Naber puis adapté dans plusieurs langues dont le polonais, l'allemand, etc. Un de ses principaux atouts est de constituer une extension d'OpenOffice.org, et de doter ainsi la suite bureautique de la correction grammaticale libre qui lui fait cruellement défaut (en français).
En 2007, j'ai pris la suite du projet de Nuxeo visant à développer un correcteur grammatical pour OpenOffice.org, et dans le cadre de mon mémoire de Master 2 Recherche en Industries de la langue, j'ai réalisé l'adaptation de LanguageTool au français. Les différentes étapes de ce travail sont expliquées sur ce blog ainsi que dans mon mémoire
Actuellement, nous pouvons dire qu'OpenOffice.org dispose enfin d'un correcteur grammatical, mais il reste encore du travail pour que cet outil soit plus performant. Si vous avez fait quelques tests sur des phrases avec des fautes de grammaire, vous avez sans doute eu des messages curieux vous indiquant des fautes là où il n'y en avait pas...
J'ai pu lire notamment de mauvaises détections sur "un espace", "un poste", "sa poche", etc. Je vais tacher d'expliquer comment ces fausses erreurs peuvent être détectées.
La détection des fautes se fonde sur des règles dans lesquelles sont décrits des modèles d'erreurs, modèles auxquels est comparé le texte. Si une séquence du texte correspond à un modèle, une erreur est détectée. Un exemple sera sans doute plus parlant :
- Prenons une phrase toute simple: "Il a un poste en CDI". Le correcteur étiquette chaque mot de cette phrase selon ses catégories et sous-catégories possibles. "Il" reçoit l'étiquette
Pronom pers sujet 3e pers sing, etc. Par contre le mot "poste" est très ambigu : il peut être un verbe à différentes personnes et modes, et également un nom masculin ou féminin. Le correcteur est capable ici de désambiguïser ce mot et de dire que dans le contexte où il se situe, il ne peut être qu'un nom et ne doit donc pas conserver les étiquettes verbe. Il n'est en revanche pas capable de dire s'il faut garder l'étiquetteNom masc singouNom fém sing. Le mot "poste" conserve alors les 2 étiquettes. - Prenons à présent une règle qui détecte une erreur d'accord en genre entre un déterminant masculin et un nom féminin par exemple. Cette règle décrit un motif du type :
"Dét masc + Nom fém". - Lors de la recherche des erreurs de grammaire, le texte est comparé aux règles. Dans notre exemple, la règle va correspondre à la séquence " un poste" dans la phrase, car "un" a l'étiquette
déterminant masculin, et une des 2 étiquettes de "poste" estNom fém. Donc une erreur est signalée sur l'accord entre "un" et "poste", alors qu'il est en fait correct...
C'est pour la même raison que "un espace" et "sa poche" sont signalés comme mal accordés. Dans le cas d'"espace", le mot est masculin ou féminin, par contre, pour "poche", il s'agit d'une erreur dans le lexique qui considère que ce mot peut également être masculin... Pour remédier à ce type de fausses détections, il faut agir au niveau du lexique utilisé, qui n'est pas très bon... Des entrées sont manquantes, d'autres sont erronées, et beaucoup non adaptées à LanguageTool. Il faudrait par exemple regrouper en une seule entrée tous les mots qui sont à la fois masculin et féminin, ou singulier et pluriel. Fusionner par exemple"espace" masculin et "espace" féminin en une entrée "espace" épicène, ou bien "souris" singulier et "souris" pluriel en une entrée unique "souris" invariable.
D'autre part, LanguageTool n'intègre pas de correction orthographique. Cela signifie que si un mot est mal orthographié, il ne figure pas dans le lexique, il ne peut alors pas être étiqueté, et ne pourra coller à aucune règle. Si vous écrivez "Elle fait des crepe" en oubliant l'accent circonflexe de "crêpe", ce mot ne va pas être reconnu, donc pas étiqueté. Il s'ensuit que la règle devant normalement détecter la faute d'accords entre "des" et "crepe" ne va pas pouvoir s'appliquer, et qu'aucun problème ne va être signalé. Ce problème peut être contourné si LanguageTool est utilisé dans OpenOffice.org, car la correction orthographique peut être effectuée en amont de la correction grammaticale. Par contre, lors d'une utilisation en standalone, les mots inconnus sont vraiment gênants. Il faudrait donc ajouter une fonction de correction orthographique dans LanguageTool afin de réduire au maximum le nombre de mots inconnus et que la correction grammaticale puisse s'opérer au mieux.
Voilà pour quelques petits éclaircissements sur les "bugs" de correction... Il y a d'autres pierres à apporter à LanguageTool, mais je ne vais pas rentrer dans les détails ici. Pour ceux qui sont intéressés, je fais allusion à l'implantation d'un segmenteur en chunks et d'un module de calcul d'unification, dont j'explique l'intérêt dans mon mémoire. Ce mémoire présente aussi le nouveau formalisme conçu pour pouvoir intégrer les chunks et l'unification à LanguageTool.
Commentaires
1. Le mardi 19 février 2008 à 16:45, par Patrick
2. Le mercredi 20 février 2008 à 11:17, par Bruno GALLART
3. Le mercredi 20 février 2008 à 12:11, par Agnès
4. Le jeudi 20 mars 2008 à 16:33, par newbeewan
5. Le jeudi 20 mars 2008 à 17:16, par Agnès
6. Le jeudi 20 mars 2008 à 17:23, par Fabien
7. Le jeudi 20 mars 2008 à 17:34, par Agnès
8. Le dimanche 30 mars 2008 à 16:04, par newbeewan
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.