GRAMMALECTE

CORRECTEUR GRAMMATICAL OPEN SOURCE POUR WRITER & FIREFOX

ACCUEIL   •   FONCTIONNALITÉS   •   DOCUMENTATION   •   FAQ   •   TÉLÉCHARGER   •   REMERCIEMENTS

FOIRE AUX QUESTIONS

Pourquoi le correcteur ne signale pas toutes les erreurs ? Pourquoi signale-t-il des erreurs qui n’en sont pas ?

Plusieurs raisons sont possibles, mais quelques explications sur les différentes vérifications sont nécessaires pour comprendre.

Vérification de l’orthographe

Un correcteur orthographique vérifie seulement que les mots écrits existent dans son lexique, les souligne en rouge si ce n’est pas le cas (et s’efforce de faire des suggestions sur demande de l’utilisateur), et c’est tout. Cet examen se fait mot à mot, sans souci de l’ordonnancement de ceux-ci. Par exemple, si vous écrivez : « Ils étai partie aux restaurent à près a voir mi a jours sont profile », aucune erreur ne sera signalée en rouge, car chaque mot existe en français.

Analyse grammaticale

Le correcteur parcourt le texte à la recherche de motifs d’erreurs, décrits par des règles, sur des suites de mots, dont il vérifie la nature grammaticale et les liens logiques. Pour fonctionner, le logiciel a besoin d’un dictionnaire de mots dont il connaît la nature grammaticale, le genre, le nombre, la conjugaison, etc.

Le correcteur peut se tromper si :

  • une règle est erronée ;
  • une règle ne tient pas compte d’un cas particulier (les règles sont souvent basées sur des probabilités) ;
  • l’étiquetage grammatical d’un mot est incorrect ou incomplet.

Le correcteur ne voit pas certaines erreurs, car :

  • il n’y a aucune règle qui cherche à détecter celles-ci (la complexité est parfois trop grande) ;
  • certaines règles ignorent délibérément certains cas, plutôt que de prendre le risque de faire une fausse alerte ;
  • toutes les fautes ne sont pas détectables par un correcteur grammatical.

Analyse sémantique

Un ordinateur ne comprend pas ce que vous écrivez. Il ne peut détecter les erreurs de sens que vous pourriez commettre. Par exemple, si vous confondez pause et pose (deux noms féminins), vous pouvez écrire une phrase grammaticalement correcte, mais absurde. Sur ce point, on ne peut pas faire grand-chose.

Il est seulement possible de corriger des expressions courantes, comme « par acquis de conscience » (erronée), parce qu’elles sont aisément identifiables.

Il est aussi envisageable de se livrer à une analyse du contexte, avec une étude des champs lexicaux employés, mais nous ne disposons pas d’un dictionnaire étiqueté pour ça (et nous n’en disposerons probablement pas avant longtemps).

 

Quelle différence avec LanguageTool ?

Grammalecte est écrit en Python, LanguageTool en Java. Les deux fonctionnent théoriquement plus ou moins de la même manière, par la reconnaissance d’erreurs décrites par des règles de détection plus ou moins larges. Mais les mécaniques internes des deux correcteurs sont assez différentes.

Les différences techniques sont grosso modo les suivantes : LanguageTool repose avant tout sur un tokeniseur qui découpe les phrases et un désambiguïsateur qui étiquette les “tokens”, tandis que Grammalecte travaille sans tokenisation avec des expressions régulières et un préprocesseur de texte qui transforme le texte en interne pour le modifier et le simplifier.

Le fonctionnement de Grammalecte et la comparaison avec LanguageTool sont décrits dans un article sur LinuxFR.

Pourquoi réinventer la roue ? Pourquoi ne pas plutôt améliorer LanguageTool ?

  • J’aime le Python et pas le Java. Je n’apprécie pas beaucoup non plus le XML, format dans lequel sont écrites les règles grammaticales de LanguageTool. En bref, je trouve que le Java et le XML sont trop verbeux, ce qui rendait déjà mon implication dans LanguageTool quasi nulle.
  • Le développement de LanguageTool est centralisé, ce qui n’est pas toujours commode pour les adaptations spécifiques au français. Lightproof, en revanche, fournit un kit minimal pour développer son propre système, ce qui me convenait mieux.
  • Lightproof utilise directement le dictionnaire orthographique Hunspell (quel que soit celui que vous installez : Moderne, Classique, Réforme 1990, etc.), tandis que LanguageTool utilise un lexique qui n’est qu’une conversion du dictionnaire Classique & Réforme 1990 (qui ne concorde donc pas tout à fait avec le dictionnaire installé). Et, bien sûr, je préfère logiquement employer directement ce sur quoi je travaille déjà.
  • La dispersion des efforts n’est pas si grande, attendu que l’un des plus gros travaux pour concevoir un correcteur grammatical, c’est de constituer un lexique étiqueté, et c’est déjà Dicollecte qui fournit celui de LanguageTool.
  • Après plusieurs années, Grammalecte a rattrapé LanguageTool sur bien des points et l’a même dépassé sur certains.

Comment participer ? Où signaler les bogues ?

Cette section du site n’est qu’une vitrine. Vous pouvez participer sur Dicollecte.

Vous pouvez signaler les bogues sur le forum.

« Que je voudrais bien tenir un de ces puissants de quatre jours, si légers sur le mal qu’ils ordonnent, quand une bonne disgrâce a cuvé son orgueil ! Je lui dirais… que les sottises imprimées n’ont d’importance qu’aux lieux où l’on en gêne le cours ; que sans la liberté de blâmer, il n’est point d’éloge flatteur ; et qu’il n’y a que les petits hommes qui redoutent les petits écrits. »

Le Mariage de Figaro, de Beaumarchais
(5 ans avant la Révolution française)

Grammalecte

Écrit en Python
et en JavaScript

sur Twitter

Un grand merci à

nos soutiens

Base technique

Lightproof

Hunspell

Suites bureautiques

LibreOffice

OpenOffice

Navigateur

Firefox

Support

LibreOffice / OpenOffice

Firefox

Unity.Web Hosting