Lizzie Crowdagger : le blog

Un blog avec de la fantasy urbaine, des lesbiennes, des vampires, des flingues et des motos
Home

Aller au menu | Aller à la recherche

Il y a des coups de stylo rouge qui se perdent (ou : la correction grammaticale)

, 14:16 - Lien permanent

Écrire sans faire de fautes, c'est délicat, et je ne suis pas sûre que beaucoup de monde ait de souvenirs joyeux des dictées à l'école. Pourtant, quand on est écrivaine, il faut bien tâcher d'en faire un minimum, au risque de passer pour une incompétente. C'est d'autant plus vrai quand on passe par l'auto-édition : autant, dans le circuit « classique », on peut compter sur les corrections de l'éditeur, autant sans ce filtre, si on a fait une faute, on sait qu'elle se retrouvera sous les yeux des lecteurs et lectrices. Dans le pire des cas, il arrêtera sa lecture et publiera un commentaire rageur sur le fait que vous lui avez volé quelques euros (ou son temps si c'est disponible gratuitement), dans le meilleur elle te dira « j'ai bien aimé ton texte mais quand même il y avait quelques fautes », mais dans toutes les circonstances on se dit qu'on aurait bien aimé la voir avant, cette fichue faute.

Il n'y a pas de secret : si on veut traquer les fautes, il faut relire. Et relire encore. Et faire relire par d'autres gens. On répète le processus et on espère qu'à la fin il n'y en aura plus. Voilà, cet article est terminé, merci de votre attention, au revoir.

Non, plus sérieusement, je voulais présenter un peu les outils qui existent pour espérer automatiser un peu le processus. Je vais donc, ici, parler un peu des logiciels qui permettent de corriger l'orthographe et la grammaire, et en particulier de ceux auxquels j'ai accès, c'est-à-dire les logiciels libres.

Distinction entre orthographe et grammaire

Avant d'aller plus loin, commençons par les bases, et par rappeler la distinction entre un correcteur orthographique et correcteur grammatical. Alors d'abord, je vais être honnête : à l'école, j'avais des notes correctes en dictée et je ne faisais pas trop de fautes, mais la distinction entre grammaire et orthographe, tout comme les termes un peu « théoriques » comme « complément circonstanciel de lieu » ou « adjectif épithète » ça me passait au-dessus de la tête. Donc je ne vais pas donner un cours théorique là-dessus, et à vrai dire je ne suis toujours pas sûre de saisir la différence fondamentale entre « orthographe » et « grammaire » quand on parle de la langue française. Par contre, je vois à peu près la différence entre un correcteur orthographique et un correcteur grammatical quand on parle de logiciels, du coup je me dis que ça doit vaguement correspondre un peu à la différence entre orthographe et grammaire.

Correcteur orthographique

Un correcteur orthographique va, en gros, prendre chaque mot individuellement, et vérifier s'il existe dans le dictionnaire. C'est comme quand vous essayez de placer un mot au Scrabble : s'il est dans la liste des mots autorisés, vous marquez des points, s'il n'est pas dedans, le coup n'est pas accepté. Bon, là vous ne marquez pas de point, mais s'il n'est pas dedans, votre mot sera souligné. Ça paraît assez simple, dit comme ça, mais si vous avez déjà joué au Scrabble, vous vous êtes peut-être déjà retrouvé·e dans la situation suivante, d'un côté de la barrière ou de l'autre :

— Mais si, pourrave c'est carrément dans le dictionnaire, regarde, c'est sur wiktionary. Et puis, c'est un mot qu'on emploie tous les jours. Allez, j'ai fait un scrabble, note-moi les points.

— Non, ce n'est pas dans le dictionnaire. Du moins, pas dans la dernière version de l'Officiel du Scrabble. Note un zéro.

Selon avec qui vous jouez, ça peut se résoudre cordialement, ou dégénérer.

Over the line!, ou : moi au Scrabble quand quelqu'un essaie de faire passer un mot qui n'est pas dans le dictionnaire officiel du Scrabble.

Au Scrabble, la solution (si, comme Walther et moi, vous pensez qu'il y a des putains de règles à respecter dans un jeu), c'est d'avoir un dictionnaire commun de mots acceptables et qui est adapté à la langue dans laquelle vous jouez. Pour un correcteur orthographique, c'est un peu différent, puisqu'en plus d'utiliser le bon dictionnaire (si vous avez déjà activé le correcteur orthographique en anglais sur un texte écrit en français, vous aurez constaté que les résultats ne sont pas très pertinents) un correcteur orthographique cherche en général plutôt à s'adapter à vos besoins qu'à savoir si vous avez fait un meilleur score que votre pote. Il y a donc, en général, des possibilités pour ajouter des mots à la base inconnus.

Par ailleurs, il serait parfois compliqué de lister tous les mots possibles, et on va préférer prendre une racine et, à partir de règles, dériver des mots autorisés. Par exemple, si on sait que « manger » est un verbe du premier groupe et qu'il est autorisé, on peut en conclure que « mangerai, mangeons, mangeâmes, mangé  » sont autorisés aussi.

Donc, un correcteur orthographique c'est quand même un peu plus compliqué que juste une liste de mots. Malgré ça, ça reste, dans l'ordre des choses, assez simple quand même, puisqu'on ne regarde qu'un mot à la fois.

 Correcteur grammatical

Un correcteur grammatical, c'est une autre paire de manches, et c'est pour ça qu'il est difficile d'en trouver des vraiment bons. En effet, on ne peut pas juste regarder les mots un par un, mais il faut aussi avoir une idée de quel rôle ils jouent. Est-ce que couvent désigne le bâtiment avec des bonnes sœurs, ou est une conjugaison du verbe couver ?

Alors, je vais être très honnête : je ne sais pas trop comment les correcteurs grammaticaux marchent (ou essaient de marcher, en tout cas). En gros, j'ai l'impression qu'il y a deux approches, qui peuvent être complémentaires :

  • Avoir des règles avec des patterns : si tu as {ADJECTIF} puis {NOM}, tu peux vérifier s'ils sont accordés en nombre et en genre, et sinon c'est une faute.Tu codes des centaines de règles comme ça, et tu espères détecter plus de vraies erreurs que de faux positifs ; à ma connaissance c'est l'approche assez classique et qui continue à être utilisée, parce qu'en plus elle a l'avantage que tu peux mettre un message d'erreur clair et pédagogique. Par exemple, une que mon correcteur grammatical me rappelle souvent c'est « on dit se rappeler quelque chose et se souvenir de quelque chose, mais pas se rappeler de quelque chose ». À moins que ce soit l'inverse, je ne me rappelle plus. Si on veut se la péter un peu, on peut appeler ces règles qu'on écrit et qui marchent « la plupart du temps » ou « pas trop mal » des heuristiques.
  • Se dire que rentrer des règles à la main, ça va cinq minutes, mais qu'on peut faire avaler à notre logiciel des millions de textes qui sont (censément) écrits correctement, et espérer que le logiciel apprenne « tout seul » les règles, grâce à de l'intelligence artificielle, du machine learning ou encore du deep learning[1] Si on a envie de vraiment se la péter, on peut dire qu'il s'agit de métaheuristiques : on ne donne pas directement de règles, mais des règles pour apprendre ces règles.

Dans tous les cas, il faut bien voir que les langues naturelles, ce n'est pas comme les langages informatiques, quelque chose qui s'analyse « facilement » et qui peut se formaliser assez bien. Il y a plein d'irrégularité, d'exceptions, et pour vraiment savoir si quelque chose est correct, il y a besoin d'informations contextuelles qui parfois ne sont même pas incluses dans le texte : « Il m'a pris en stop », est-ce que c'est une faute d'accord du participe passé ? Ça dépend du genre de la personne qui parle. En général, cette information est quelque part dans le texte, mais pour y avoir accès ça peut demander de devoir « comprendre » le texte, ce qui est encore un niveau au-dessus (l'analyse sémantique) qu'essayer de savoir s'il est correct ou pas[2].

Faux positifs et faux négatifs

Pour finir sur les aspects théoriques, avant de parler de programmes concrets, un mot sur la notion de « faux positifs » et « faux négatifs ». « Faux négatif », c'est quand une erreur n'est pas détectée ; « faux positif », c'est quand le programme vous dit que quelque chose est une erreur alors qu'elle n'en est pas une. Quelque part, c'est ce qui est le plus gênant : au pire, si un correcteur ne détecte pas certaines fautes, on peut toujours se dire que ça aurait toujours été pire si vous n'aviez pas passé votre texte au correcteur, alors que si votre correcteur vous fait changer quelque chose qui était juste en quelque chose de faux, c'est un peu plus embêtant.

C'est quelque chose qui s'applique surtout au correcteur grammatical, à cause des fonctionnements que j'ai expliqués au-dessus : dans l'état actuel des choses, que ce soit via des heuristiques ou de l'apprentissage, un correcteur grammatical va corriger quelque chose qui a une forte probabilité d'être une erreur, mais en général sans en être certain. Par exemple, pour l'accord du participe passé avec le verbe avoir[3], d'après mon expérience le correcteur a tendance à donner des informations utiles lorsque le complément d'objet est situé juste avant le verbe : « cette chaise, je l'ai attrapée », mais pas quand il y a un peu trop de distance entre les deux.

C'est important d'avoir ça en tête et de garder une certaine distance par rapport aux corrections obtenues par ce biais : vous ne pouvez pas les appliquer sans réfléchir. Je décourage fortement d'avoir un correcteur (orthographique ou grammatical) qui va plus loin que souligner les mots et vous donner une explication, et va carrément modifier le texte à votre place : pour avoir déjà eu à corriger des textes passés par ce filtre, le résultat c'est, parfois, qu'au lieu d'avoir une faute certes un peu gênante mais qui n'empêche pas la compréhension, vous avez un mot complètement impromptu dont vous vous demandez ce qu'il peut venir faire là et ce que la phrase est censée vouloir dire (et, parfois, il n'y avait même pas de faute à l'origine).

Les correcteurs orthographiques

En termes de logiciel libre, à ma connaissance le papa des correcteurs orthographiques est ispell. C'est un programme en ligne de commande qui va lire un texte en entrée ligne par ligne, et en sortie afficher les mots qui sont faux. La première version a été écrite en 1971, donc c'est pas récent récent, mais il continue à être maintenu à jour et figure probablement dans à peu près toutes les distributions Linux.

Un intérêt principal d'ispell, c'est son interface en ligne de commande. D'accord, je vous vois bougonner : « ouais mais ça va quand même on est en 2016, pour faire la correction orthographique d'un texte j'ai pas vraiment envie de passer par une interface en ligne de commande ». Et c'est là la beauté de cette interface : vous n'avez pas à le faire. Elle est en effet conçue pour pouvoir être utilisée par d'autres programmes, comme votre éditeur de texte, votre navigateur Web, ou votre client mail.

Et l'intérêt de cette interface, c'est qu'il n'y a pas qu'ispell qui peut l'implémenter, mais n'importe quel autre correcteur orthographique. À ma connaissance, les deux principaux « héritiers » d'ispell sont GNU Aspell, et Hunspell. Si vous vous amusez à les lancez en ligne de commande, avec l'option -a (celle qui est faite avant tout pour être utilisée par d'autres programmes), vous pourrez d'ailleurs constatez que les deux se font passer pour ispell :

@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.7-20110707)
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.4.0)

Bon, voilà, c'est pour l'anecdote, mais il est probable que vous n'utiliserez pas ces programmes directement, et que vous utiliserez probablement l'intégration du correcteur orthographique dans votre éditeur de texte, LibreOffice, Firefox, etc. À ma connaissance, Hunspell a l'air d'être celui le plus utilisé en ce moment (c'est celui par défaut de LibreOffice, ou Firefox, et il est aussi utilisé par des logiciels propriétaires comme InDesign), et il marche plutôt bien à mon goût.

Il n'y a pas grand-chose de plus à dire là-dessus, vu que l'interface pour ajouter des mots au dictionnaire ou choisir la langue va un peu dépendre de l'éditeur que vous utilisez. Le truc qui me paraît tout de même intéressant de noter, c'est que le choix du dictionnaire est un peu plus fin que anglais ou français : pour ce qui est de la langue française, en plus de pouvoir choisir des variantes en fonction du pays (québécois par exemple), vous pouvez aussi spécifier si vous voulez de la réforme de 1990 (vous savez, celle qui a fait hurler il n'y a pas si longtemps parce qu'on écrit « maintenant » (si on définit « maintenant » comme «nbsp;depuis plus de vingt-cinq ans », en tout cas) « ognon ») ou pas, ou autoriser les deux versions. Ça peut paraître un point de détail mais si vous êtes plusieurs à faire des corrections sur un texte ça peut être une bonne idée de se mettre d'accord pour éviter que chaque personne corrige les corrections de l'autre.

Les correcteurs grammaticaux

À ma connaissance, il y a moins de choix en termes de logiciels faisant de la correction grammaticale. Le seul à ma connaissance qui soit généraliste est LanguageTool, et j'ai l'impression qu'il est loin d'être aussi utilisé qu'un correcteur orthographique comme Hunspell. Il y a cependant des extensions pour Firefox et LibreOffice, et il peut aussi être utilisé dans des éditeurs comme Emacs ou Vim (ainsi que, depuis récemment, par le fabuleux convertisseur Crowbook). C'est le seul que j'ai vraiment testé et, ma foi, ça donne quand même des corrections utiles. Par contre, je l'utilise uniquement quand c'est pour faire de la relecture, et vu le nombre de faux positifs je ne me verrais pas trop l'activer en permanence dans mon traitement de texte.

Si j'ai bien compris, par défaut LanguageTool utilise principalement des règles (donc une approche par heuristiques). Il est cependant possible d'utiliser un ensemble de données n-gram (traduction hasardeuse) pour détecter les confusions entre deux mots. Cela dit, c'est huit GO de données, et je ne sais pas ce que ça donne pour le français. Je n'ai pas testé cette possibilité, mais je trouve en tout cas intéressant de le signaler. De même, si la correction grammaticale et l'intelligence artificielle vous intéressent, et que vous êtes étudiant·e dans ce domaine, il y a une offre pour une Master Thesis pour développer une approche par le machine learning pour LanguageTool (pour l'anglais pour l'instant).

Un petit exemple d'utilisation concret :

languagetool.png

(Exemple d'utilisation de LanguageTool, directement dans l'interface graphique qu'il fournit. Il souligne la faute à « en terme de », « des éditeur », « le seul que j'ai vraiment testée », mais pas celle à « il est loin d'être aussi utilisée ».)

Pour ce qui est spécifiquement du français, signalons aussi Grammalecte, qui est un correcteur dédié à cette langue et est disponible comme extension pour Firefox et LibreOffice (ou OpenOffice). Je l'ai testé rapidement sur cet article, et il m'a permis de corriger quelques fautes (dont quelques foutus accords de participe passé). Il propose aussi un formateur typographique qui mettra les espaces insécables au bon endroit (cf mon article là-dessus, Utiliser correctement les espaces insécables (c'est pas si facile).

Je ne saurais pas trop comparer Grammalecte et LanguageTool et vous dire quel est le meilleur. Cela dit, sans vouloir généraliser à partir de trois fautes, plus pour montrer l'interface qu'autre chose, reprenons l'exemple utilisé avec LanguageTool :

grammalecte.png

(Exemple d'utilisation de Grammalecte dans Firefox. Lui me signale correctement la faute à « il est loin d'être aussi utilisée ». Il voudrait aussi que j'utilise des apostrophes typographiques au lieu de l'apostrophe normale, ce que je ne me suis pas amusée à faire pour ce billet de blog.)

Personnellement, je préfère LanguageTool, parce qu'il est plus généraliste, et ce sur deux aspects :

  • la langue, d'abord : des fois j'écris aussi des trucs en anglais, et même si ça m'arrive moins souvent qu'en français, ma grammaire est aussi plus faible ;
  • actuellement, à ma connaissance et de manière simple en tout cas, Grammalecte ne peut être utilisé que dans Firefox et LibreOffice, et ce ne sont pas les logiciels que j'utilise le plus pour écrire les textes dont j'ai vraiment besoin de vérifier la grammaire.

Pour ce qui est des logiciels commerciaux, je ne les ai pas testés. J'ai entendu des écrivain·e·s dire du bien d'Antidote. En anglais, Grammarly se présente comme the world’s most accurate grammar checker et a l'air d'avoir une extension gratuite ; il a aussi l'air de fonctionner « en ligne » (donc a priori le texte est corrigé sur leur serveur avant d'être rebalancé vers votre navigateur), ce qui personnellement déclenche à peu près tous mes signaux d'alerte et ferait que je vous recommanderais de ne pas l'utiliser. Il y a sans doute plein d'autres logiciels propriétaires, mais comme je n'aime pas les logiciels propriétaires[4], je ne les ai pas testés.

La minute publicitaire

Autant je trouve qu'un correcteur orthographique s'intègre parfaitement au moment de l'écriture et de l'édition d'un texte, et j'aurais tendance à penser qu'il faut l'activer dès qu'on est en train d'éditer un texte, autant je trouve que le correcteur grammatical ne s'intègre pas de manière aussi ergonomique, principalement à cause de ses nombreux faux positifs, et je pense plus intéressant de le réserver à la période de relecture, où on ne fait que chasser les fautes.

C'est pour ça que depuis la version 0.9.1, Crowbook vous permet de générer des versions de relecture de vos œuvres écrites au format Markdown ! Crowbook augmente votre productivité d'écrivaine ! Témoignage de L.C. écrivaine à succès : « Depuis que j'utilise Crowbook, j'ai calculé que j'ai gagné environ 2% de productivité ! Si je n'avais pas passé des mois à développer ce logiciel plutôt qu'à écrire, ça aurait pu être intéressant. »

Bonus : les détecteurs de répétitions

Il ne s'agit plus vraiment de correction orthographique ou grammaticale (quoique des correcteurs grammaticaux gèrent peut-être ça aussi), mais on est toujours dans la thématique du stylo rouge : la chasse aux répétitions.

Je ne sais pas si les soucis de répétitions sont une spécialité de la langue française, mais en tout cas l'intégralité des logiciels pour détecter des répétitions que j'ai pu trouver sont écrits par des personnes françaises.

Histoire de continuer l'autopromotion éhontée, je vais commencer par celui que j'ai développé, Caribon, qui est un outil en ligne de commande à l'interface assez rébarbative, mais qui est aussi utilisable en ligne. Si je le mets en premier, ce n'est pas juste pour faire ma pub, mais aussi parce que c'est le seul que j'ai retrouvé qui est sous licence libre (il y en avait un autre, écrit en Python, mais les liens que j'ai retrouvés pointent vers un serveur qui n'existe plus).

Sinon, en dehors des logiciels libres, il y a Repetition Detector (version d'essai gratuite, mais Windows uniquement) et Analyseur+ (gratuit, mais pour MAC uniquement ; il fait aussi un peu plus de choses que détecter les répétitions). Antidote, déjà mentionné au-dessus, fait aussi de la correction de répétitions.

Bon après honnêtement, je trouve qu'avec la détection de répétitions, on se retrouve vite noyé·e dans les faux positifs. Même en ignorant certains mots courants (la, le, les, du, des, etc.) le problème fondamental c'est qu'il est très compliqué de séparer une répétition voulue d'une répétition involontaire. Donc c'est un outil qui peut être utile, mais pas à utiliser aussi régulièrement. Pour le coup, ça prend plus de temps, et ça peut être compliqué si vous faites votre relecture à un endroit où il y a d'autres gens, mais pour moi l'idéal pour repérer les soucis de répétitions (et d'autres erreurs de style) est de relire le texte à haute voix.

Ce qui m'emmène à la conclusion :

Dans l'état actuel des choses, il n'y a pas de correcteur parfait

Quel que soit le logiciel que vous utilisez, même si vous ne vous limitez pas aux logiciels libres ou gratuits et que vous trouvez une Rolls Royce de la correction, il faudra toujours passer du temps pour faire des corrections manuelles (enfin, visuelles surtout), et, surtout, prendre les suggestions des correcteurs automatiques avec un peu de distance et réfléchir avant de les intégrer.

Je suggère quand même vraiment (en plus d'activer le correcteur orthographique de votre éditeur si ce n'est pas déjà fait) d'essayer un correcteur grammatical comme LanguageTool ou Grammalecte (ou les deux). Il ne détectera probablement pas toutes les erreurs, il vous soûlera probablement avec plein d'erreurs qui n'en sont pas (ou certaines qui en sont mais pas vraiment, les erreurs que personnellement je classe dans la catégorie «  gnagnagna oui je sais officiellement c'est une erreur mais en vrai ça se dit alors fais pas chier »), mais au milieu de tout ça il vous signalera aussi des erreurs que vous n'aviez pas repérées ou des règles que vous aviez oubliées (par exemple quand est-ce qu'il faut mettre des tirets ou pas). Ce n'est pas une passe que je ferais sur tous mes billets de blog, encore moins sur tous mes tweets, mais pour des textes qui ont vocation à être publiés ça ne mange pas de pain d'avoir une vérification supplémentaire.

(Accessoirement, je serais très contente si vous utilisez Caribon pour détecter les répétitions dans vos textes mais, en toute honnêteté, l'intérêt est tout de même un peu moindre.)


Pour me permettre de pouvoir continuer à diffuser des textes librement, vous pouvez vous abonner sur Tipeee à partir d'1€ par mois, ce qui vous donnera accès à mes prochains textes de fiction en avant-première.


Notes

[1] Je ne sais pas si ces mots désignent vraiment des choses différentes, ou si c'est juste qu'il y a besoin de faire un rebranding régulièrement pour dire « d'accord, à chaque fois depuis 50 ans qu'on a dit qu'on allait faire des machines intelligentes vous avez bien vu les limites, mais ça va être complètement différent, investissez des millions dans notre start-up, vous allez voir ! ».

[2] Mais on peut sans doute trouver une règle qui marche « pas trop mal » en disant que s'il y a des guillemets fermants et un « dit-elle », le « je » précédent est féminin, et masculin si c'est un « dit-il ».

[3] Une des joies de la grammaire française...

[4] Pour tout de même argumenter ce point : je ne vois aucune raison de faire a priori confiance à un développeur de logiciel. La seule façon dont je puisse faire confiance à un programme qui s'exécute sur mon ordinateur, c'est si je peux regarder le code source et (parce qu'en vrai, je ne le fais évidemment que rarement) si d'autres gens ont pu regarder le code source. Ce n'est pas une garantie absolue, parce qu'il est possible qu'un logiciel libre inclut une backdoor (ou envoie tout ce que vous tapez à un serveur privé) et que personne ne l'ait encore remarqué, mais si des programmeurs décident qu'ils doivent rendre plus difficile encore le fait de déceler une faille de sécurité (volontaire ou pas, d'ailleurs), il est hors de question que je le fasse tourner sur mon ordinateur.

Billets connexes

307 lectures