Grammalecte

Correcteur grammatical open source

A propos

Grammalecte est un correcteur grammatical open source pour LibreOffice et OpenOffice.

Le but de cette campagne se résume en quelques points :

  • Créer une extension pour Firefox et Thunderbird.
  • Améliorer encore et toujours la correction grammaticale.
  • Créer une application serveur capable de fournir des corrections à toute application qui lui transmettrait du texte.
  • Améliorer les outils annexes.
  • Créer une extension pour Google Chrome.


La première fonction d’un correcteur grammatical, c’est bien sûr de détecter et de signaler les erreurs. Grammalecte peut détecter, entre autres choses, les problèmes de typographie, les doublons, les espaces superflus ou manquants, les erreurs d’accord de nombre et de genre, les conjugaisons erronées, les faux amis employés à mauvais escient, les confusions, les pléonasmes.

Mais comme rien ne vaut une démonstration, voici des captures d’écran :

Grammalecte est aussi doté d’un moteur de suggestion.

* * *

Le correcteur peut aussi vous informer de la nature grammaticale des mots :

* * *

Grammalecte dispose aussi d’un conjugueur intégré. Plus besoin d’aller sur le Net ou chercher dans son dictionnaire comment se conjuguent les verbes.

* * *

Enfin, le correcteur possède un outil de correction typographique automatisé qui vous évite d’avoir à modifier une à une les erreurs de ce genre.

C’est simple. Le formateur est préréglé pour la très grande majorité des cas. Il suffit de cliquer sur Appliquer.

A quoi va servir le financement ?

Faire de Grammalecte une extension pour ces deux logiciels nécessitera de réécrire tout le programme. C’est une opération de longue haleine qui demandera à elle seule plusieurs mois. Pour Firefox, le but visé sera de signaler les erreurs du contenu d’une page web, et bien sûr aussi celles des zones de saisie de texte.
Précision pour les connaisseurs : Actuellement, Grammalecte est écrit en Python et sera réécrit en JavaScript. Cette extension n’aura pas besoin d’interroger un serveur local ou distant pour analyser le texte, elle disposera elle-même de tout ce qu’il faut pour ça.

 

Détecter les erreurs et suggérer, c’est la fonction principale d’un correcteur grammatical. Quel que soit le niveau de financement que cette campagne parviendra à atteindre, l’amélioration du correcteur constituera toujours plus ou moins un quart du temps que j’y consacrerai.

Je ne vais pas vous embêter ici avec des propos techniques sur la désambiguïsation et le préprocesseur de texte, ou sur les limites des mécanismes de suggestion. Si ces sujets vous intéressent, un article sur LinuxFR détaille ces problématiques.

 

 

Le principe est simple : une application passe un texte qu’elle veut corriger et le serveur renvoie la liste des erreurs avec, pour chacune, les informations suivantes :
— position de l’erreur,
— type d’erreur (pour les applications qui auraient l’intelligence de souligner avec différentes couleurs),
— message explicatif,
— suggestion(s),
— [optionnellement] hyperlien vers une page explicative plus complète,
— identifiant de la règle détectant l’erreur (utile seulement pour le débogage).

 

Personnalisation du formateur de texte

Le formateur de texte est un outil de correction automatisé. Aujourd’hui, il ne fait que ce qu’il est programmé à faire. L’idée serait de le rendre personnalisable, afin d’en modifier le fonctionnement selon vos préférences et d’ajouter vos propres règles de transformation.

Améliorer le “lexicographe”

Le lexicographe est un outil qui donne des informations sur les mots. Actuellement il n’en donne que sur la nature grammaticale (nom masculin, verbe, adjectif, préposition…). Il est prévu d’ajouter d’autres informations :
— catégorie(s) sémantique(s) (médecine, informatique, physique, éducation, religion, agriculture, musique…),
— indice de fréquence,
— origine étymologique (latin, grec, anglais, arabe, russe…),
— et autres données utiles (régionalisme, néologisme, argot, abréviation, sigle…).

Un assistant pour proposer directement des mots dans une base de données lexicale commune

Jusqu’à présent les améliorations du dictionnaire se faisaient via un site web. Celui-ci a rempli son rôle pour constituer de manière collaborative un dictionnaire plus complet que ce que nous avions il y a des années. Mais il est temps de simplifier grandement la procédure de sorte que les non-experts puissent proposer directement des ajouts et des modifications directement depuis Writer et Firefox, via un assistant qui simplifiera toute la procédure.

Compteur de mots, détecteur de répétitions

Il s’agit d’un outil énumérant tous les mots d’un texte et comptant le nombre de fois qu’ils ont été utilisés. Le calcul des occurrences se fera sur le lemme (par exemple, “aimerais” sera compté comme une occurrence de “aimer”, “départs” comme une occurrence de “départ”, etc.).

Note : Pas de port prévu des outils annexes pour Thunderbird.

 

 

 

Attendu qu’il faudra faire une refonte complète du code et des dictionnaires, je prévois qu’il faudra environ 9 mois pour les extensions pour Firefox et Thunderbird, peut-être plus si les difficultés sont plus nombreuses que prévu. La partie serveur devrait être bouclée en 2 ou 3 mois. Et il faudra aussi 3 ou 4 mois pour les outils annexes. L’amélioration du correcteur grammatical se fera tout du long du processus, et je prévois dans tous les cas de figure d’y consacrer environ un quart du temps.

Cela dit, tout ne viendra pas d’un bloc, mais au fur et à mesure que le développement avancera. J’ai l’habitude de publier de nouvelles versions du logiciel quand je les estime suffisamment éprouvées. Il en ira de même à l’avenir. En ce qui concerne Firefox et Thunderbird, ne vous attendez tout de même pas à des préversions avant six mois, au mieux. Pour plusieurs raisons, il est nécessaire de commencer par les parties les moins intéressantes pour les utilisateurs (réorganisation du code, tests unitaires, refonte du dictionnaire, etc.).

L’argent servira tout simplement à développer le logiciel à temps plein. Environ 8 % de la somme iront à Ulule et aux intermédiaires financiers. Environ 24 % de cotisations sociales. Entre 250 et 1000 € seront distribués à d’autres projets open source, principalement sous forme de récompenses pour obtenir quelques modifications mineures qui seront utiles pour Grammalecte. Par exemple, avec Writer, les erreurs grammaticales sont pour l’instant toutes soulignées en bleu. Je vais donc demander à ce que le code soit modifié pour qu’on puisse attribuer des couleurs différentes aux erreurs, ce qui permettra de distinguer les erreurs typographiques, les erreurs de conjugaison, les erreurs d’accord, les incohérences, etc.

 

L’intégration des mots dans le dictionnaire suit une politique assez stricte qui exclut nombre de mots dont l’intérêt est discutable.

En remerciement, les contributeurs à ce projet bénéficieront du droit d’ajouter des mots qui sont normalement exclus du dictionnaire.

Autrement dit, il sera possible d’ajouter au dictionnaire des patronymes, des prénoms, des noms de société, des sigles et acronymes, des toponymes (villages, villes, rivières ou autres éléments géographiques), des noms de produits ou des néologismes qui sont normalement refusés.

De nombreux mots appartenant aux catégories mentionnées sont bien sûr acceptables dans le dictionnaire s’ils remplissent les conditions requises. Si les mots que vous voudriez voir dans le dictionnaire sont conformes à la politique du dictionnaire, il vous suffit de les proposer sur Dicollecte. S’ils ne remplissent pas ces conditions, il vous faudra financer Grammalecte pour obtenir le privilège de les ajouter.

Prérequis pour les mots usuellement acceptés :

  • Prénoms : Plus de 100 000 occurrences sur Google sont requises (parfois moins si le prénom est celui d’un dieu ou d’un héros d’un mythe de l’Antiquité).
  • Patronymes : Ne sont acceptées que les personnes décédées depuis au moins 20 ans.Mais toutes les catégories de patronymes ne sont pas acceptables. On intègre les personnages historiques célèbres, les mathématiciens ayant donné leur nom à un théorème, les philosophes, les écrivains, les peintres, les musiciens, les physiciens renommés. Au moins 100 000 occurrences sur Google sont requises. Les célébrités du cinéma, de la télé, du show-business, du sport, les politiciens, les chefs spirituels, les “peoples” en général sont refusés.
  • Sigles et acronymes doivent être présents à la fois dans le Robert et le Larousse.
  • Toponymes : Sont acceptées les cités de plus de 20 000 habitants en France, Belgique, Canada, Suisse et Luxembourg. Pour les autres pays, nous ne prenons que les villes avec plus de 200 000 habitants. Nous acceptons aussi les cités en ruine ou mythiques dont la renommée a traversé les siècles (Troie, Pompéi, Angkor, Mohenjo-Daro, Teotihuacán, etc.). Pour les fleuves, les montagnes et les régions, il faut au moins 100 000 occurrences sur Google. (Note : un gentilé ne peut être accepté que si le lieu géographique est lui-même accepté.)
  • Les compagnies, les entreprises, les organisations, les sociétés de toute sorte doivent exister depuis au moins 20 ans, elles doivent être présentes au CAC 40 ou avoir 500 000 occurrences sur Google.
  • Produits : Tous proscrits, sauf s’ils sont passés dans l’usage courant et sont, ce faisant, devenus des noms communs. La majuscule n’est alors pas requise, le pluriel est régulier. Exemples : alcootest, bureautique, caméscope, chèque-restaurant, coton-tige, digicode, déchetterie, dictaphone, hygiaphone, mobylette, nylon, texto, velcro, viagra, etc.
  • Noms communs : les noms communs sont habituellement acceptés. Toutefois, s’ils sont rares (moins de 2000 occurrences sur Google), ils sont susceptibles d’être refusés. Nous refusons aussi parfois les bizarreries, les barbarismes et les variantes graphiques plus rares que les orthographes communes.

Le calcul des occurrences avec Google se fait uniquement sur le web francophone avec cette requête:
http://www.google.fr/search?q="LE_MOT_RECHERCHÉ"&lr=lang_fr&safe=off&filter=0

Les contributeurs pourront proposer des mots outrepassant ces règles.

Toutefois, si un mot est susceptible de semer la confusion dans le correcteur grammatical ou orthographique, je me réserve le droit de le classer dans une section “sécurisée” du dictionnaire, voire de le refuser, ou encore de l’exclure des suggestions du correcteur (c’est-à-dire que le mot sera accepté et considéré comme valide, mais ne fera pas partie des graphies suggérées si on se trompe quand on l’écrit).

Par ailleurs, seuls les caractères alphabétiques latins (avec ou sans signes diacritiques) et numériques, ainsi que le point et le tiret, sont acceptés. Les mots de plus de 40 caractères sont susceptibles d’être refusés.

Pour être parfaitement limpide, ces contreparties vous permettent d’ajouter, par exemple, votre nom de famille, le nom de votre village, des prénoms rares, vos personnages favoris (Tyrion Lannister, Cthulhu, Skywalker, Atréides, Corwin, Obélix, Batman, etc.), vos artistes (Houellebecq, Nothomb, Bacall, Sinatra, Cotillard, Moby, etc.) ou groupes préférés (Metallica, Therion, Beatles, Doors, etc.), les sigles que vous jugez utiles, les produits (Freebox, iPad, Photoshop, Ubuntu, Debian, Word, Krita, Rubik's Cube, etc.), les noms de compagnie, de société, etc.

Comment joindre la liste des mots que vous voulez ajouter au dictionnaire

Il suffira de m’en fournir la liste au format texte (un mot par ligne) par courriel. Ceux qui prendront la peine de fournir une liste étiquetée pourront proposer deux fois plus de mots pour le même montant. C’est simple : mini-guide pour étiqueter votre liste.

A propos du porteur de projet

Depuis 2007, je travaille à l’amélioration du dictionnaire orthographique qui est utilisé dans la plupart des logiciels libres existants (LibreOffice, OpenOffice, Firefox, Thunderbird, Chrome, Opera, Linux, etc.). Pour ce faire, j’ai écrit un site web collaboratif où chacun peut proposer d’ajouter les mots manquants ou de modifier l’existant. Depuis le début, environ 25 000 mots ont été ajoutés (nous avons à présent plus de 77 000 mots dans la base), et surtout nous sommes passés d’un dictionnaire anarchique, incohérent et lacunaire sans aucun étiquetage à un dictionnaire normalisé étiqueté grammaticalement à 100 %, sans compter d’autres étiquettes potentiellement utiles.
Tout ce travail préliminaire m’a permis en 2010 d’entamer l’écriture du correcteur grammatical, d’abord par curiosité. Puis, comme le logiciel rencontrait un succès d’estime, j’ai régulièrement publié des versions (environ une trentaine à ce jour). C’est extrêmement chronophage, car il faut régler une infinité de détails. En vérité, les détails constituent l’une des tâches majeures de la conception d’un correcteur grammatical.

Grammalecte pour LibreOffice/OpenOffice est téléchargé entre 50 et 100 fois par jour et utilisé dans l’administration.

FAQ

  • Ce qui sera financé sera-t-il publié sous licence libre ?

    Oui. Grammalecte est un logiciel libre et tout ce que vous financerez sera bien sûr publié sous licence libre.

    Dernière mise à jour : il y a 1 année, 1 mois

  • Où envoyer la liste des mots ?

    Dès que le premier palier sera franchi, je vous indiquerai l’adresse à laquelle envoyer votre liste et la procédure (simple) à suivre. Vous serez vraisemblablement nombreux, alors je voudrais coordonner un minimum cette action.

    Dernière mise à jour : il y a 1 année, 1 mois

  • Pourquoi le serveur n’arrive-t-il qu’en deuxième partie ?

    Certains d’entre vous ont été étonnés que le serveur n’arrive qu’en deuxième partie de cette campagne, alors qu’il est techniquement logique de commencer par ça. La raison est simple : les gens d’Ulule m’ont demandé de segmenter cette campagne pour qu’elle ait plus de chances d’aboutir. Il m’est apparu que les extensions pour Firefox et Thunderbird étaient susceptibles d’intéresser bien plus de monde que le nombre de gens désireux de monter leur propre serveur pour leurs besoins. Il n’y a pas d’autre raison. À l’origine, le serveur devait effectivement paraître le premier.

    Cela dit, que ceux qui s’intéressent au serveur ne s’inquiètent aucunement. Je n’ai pas voulu ennuyer tout le monde avec des détails techniques, mais le but de cette campagne c’est fondamentalement de bâtir un écosystème grammatical autonome capable de s’exporter en extensions pour diverses applications. De toute façon, pour produire les extensions pour Firefox et Thunderbird, je suis obligé de commencer à détacher Grammalecte de LibreOffice/OpenOffice/Hunspell. Ça consistera à réorganiser tout le code, écrire les fonctionnalités manquantes, créer le désambiguïsateur dont j’ai parlé sur LinuxFR, réorganiser et réétiqueter les données, les compiler en un dictionnaire binaire indexable, modifier la plupart des règles pour les adapter à ces changements, écrire de nouvelles règles qui prendront le relais de certaines fonctionnalités autrefois dédiées au correcteur orthographique, améliorer une multitude de détails casse-pieds, etc. Tout ça, ce sont les briques de base du serveur, c’est le passage quasi obligatoire. Alors, certes, je vais d’abord me servir de tout ça pour les extensions pour Firefox et Thunderbird, puis je finaliserai le serveur après, puisque c’est l’ordre choisi pour cette campagne de financement, mais soyez certains que le serveur n’est pas considéré comme un produit accessoire.

    Dernière mise à jour : il y a 1 année, 1 mois

  • Très bien l'idée des couleurs pour les différentes fautes, est-ce que les daltoniens s'y retrouveront ? Y aura-t-il un mode pour daltonien en modifiant les motifs de traits, ou d'épaisseurs des-dits traits ? Bref, ou alors un mix des différentes couleurs de signalisations avec des motifs afin que sur un écran monochrome on puisse s'y retrouver si on veut se mettre à la place des daltoniens ? Merci.

    Le correcteur grammatical est un module dépendant des logiciels dans lesquels il est inclus. Actuellement, il m’est impossible d’imposer à Writer de souligner dans une autre couleur. Il faut que je demande la création de cette possibilité aux développeurs de Writer, et je proposerai une récompense pour inciter à le faire. Mais ça ne veut pas dire que tout est permis et qu’il n’y aura pas de contraintes. J’ignore si on pourra choisir n’importe quelle couleur ou si on sera limité à un panel restreint. J’ignore s’il sera possible de changer le motif du trait (si c’est possible, le choix sera probablement limité). Un logiciel comme LibreOffice intègre plein de langues et, pour des raisons de cohérence, il sera peut-être choisi de limiter les couleurs à un ensemble prédéfini et commun à toutes les langues.

    Pouvoir choisir les couleurs et les formes du trait, ce serait idéal. Si ce choix nous est offert, alors ça ne devrait pas être compliqué d’ajouter un panel de couleurs et formes différentes pour les daltoniens.

    Mais, navré, il n’y aucune certitude sur ce point. Peut-être même que personne ne sera motivé pour ajouter cette fonctionnalité à Writer.

    Dernière mise à jour : il y a 1 année, 1 mois