Correcteur d'orthographe en français : pourquoi accents, élisions et accords lui donnent du fil à retordre

Un correcteur d'orthographe anglais peut se contenter, pour l'essentiel, d'une liste de mots et d'une mesure de ressemblance. En français, cette recette laisse passer une bonne partie des fautes réelles. Les accents, les apostrophes, les traits d'union et surtout les accords obligent l'outil à comprendre un peu la phrase. Voici ce qui se passe sous le capot.
Deux étages : l'orthographe et la grammaire
Il faut distinguer deux outils souvent confondus. Le correcteur orthographique vérifie chaque mot isolément : existe-t-il dans le dictionnaire ? Sinon, quelles formes proches proposer ? Le correcteur grammatical regarde les mots ensemble : un déterminant pluriel suivi d'un nom au singulier, un participe qui ne s'accorde pas, un a qui devrait être à.
En anglais, le premier étage attrape déjà beaucoup de fautes, parce que la plupart des erreurs produisent des mots inexistants (recieve, definately). Notre article en anglais sur le fonctionnement des correcteurs détaille cette mécanique. En français, une grande partie des fautes courantes donnent des mots qui existent : il a et il à, j'ai mangé et j'ai manger, ses livres et ces livres. Le dictionnaire seul ne voit rien.
Le dictionnaire : des formes, pas seulement des mots
Un verbe français régulier se conjugue en plusieurs dizaines de formes, un adjectif en a quatre (grand, grande, grands, grandes). Plutôt que de stocker chaque forme, les dictionnaires des correcteurs libres, au format Hunspell par exemple, enregistrent un mot de base accompagné d'étiquettes, et un fichier de règles décrit comment produire les terminaisons à partir de ces étiquettes. C'est aussi ce qui permet de proposer des variantes : le projet Grammalecte, correcteur grammatical libre pour le français, fournit trois dictionnaires orthographiques, « Classique », « Réforme 1990 » et « Toutes variantes », le premier étant sélectionné par défaut.
Ce choix explique une surprise fréquente. Si vous écrivez évènement, paraitre ou nénufar, graphies recommandées depuis les rectifications de 1990, un correcteur réglé sur le dictionnaire classique peut les souligner. Ce n'est pas une faute : c'est un réglage. Le même problème touche les mots récents, comme divulgâcher, publié au Journal officiel en 2020 (voir notre article sur les termes officiels) : un dictionnaire qui n'a pas été mis à jour ne le connaît pas.
Où commence et où finit un mot ?
Avant même de chercher un mot, il faut découper le texte. En français, ce découpage est piégeux :
- Les élisions. L'homme, qu'il, jusqu'à, aujourd'hui : l'apostrophe sépare parfois deux mots (l' + homme) et parfois appartient au mot (aujourd'hui). Le correcteur doit savoir lesquels.
- Deux apostrophes. L'apostrophe droite du clavier (') et l'apostrophe typographique (’) sont deux caractères différents pour l'ordinateur. Un correcteur qui n'en reconnaît qu'une soulignera tous les mots élidés écrits avec l'autre.
- Les traits d'union. Dans a-t-il, dit-elle ou donne-le-moi, le trait d'union relie un verbe et des pronoms qu'il faut vérifier séparément. Dans porte-monnaie ou arc-en-ciel, il fait partie d'un nom composé qui figure tel quel au dictionnaire.
- Les espaces. La typographie française place une espace avant ; : ! ?, de préférence insécable. Grammalecte signale ces espacements, ce qu'un outil conçu pour l'anglais ne fera jamais.
Les accents : la faute la plus facile à corriger
Un accent oublié ou mal placé produit souvent un mot inexistant : eleve, tres, deja. Le correcteur le repère sans peine. La difficulté est de bien classer les suggestions. Pour une distance d'édition classique, eleve est exactement à la même distance de élève, de élevé et de relève : deux opérations dans chaque cas, car chaque accent manquant coûte une substitution, comme une lettre fausse.
Une astuce simple consiste à comparer d'abord les mots débarrassés de leurs accents. Les candidats qui deviennent identiques une fois les accents retirés passent en tête : l'utilisateur a presque certainement oublié un accent, pas tapé une autre lettre. En JavaScript, la normalisation Unicode fait l'essentiel du travail :
// Retire les accents : "élève" → "eleve", "ça" → "ca"
const sansAccents = (mot) =>
mot.normalize("NFD").replace(/[̀-ͯ]/g, "").toLowerCase();
// Classe les suggestions : d'abord celles qui ne diffèrent que par les accents
function classer(motTape, candidats, distance) {
const cle = sansAccents(motTape);
return candidats
.map((c) => ({
mot: c,
score: (sansAccents(c) === cle ? 0 : 10) + distance(motTape, c),
}))
.sort((a, b) => a.score - b.score)
.map((s) => s.mot);
}
La fonction distance peut être une distance de Levenshtein ou de Damerau, comme celle que nous construisons pas à pas dans notre article en anglais sur la distance de Levenshtein en JavaScript. La décomposition NFD sépare chaque lettre accentuée en lettre de base suivie d'un signe combinant, que l'expression régulière supprime. Attention : les ligatures œ et æ ne sont pas décomposées par NFD ; il faut les remplacer à part si l'on veut que coeur retrouve cœur.
Reste le cas où l'accent change le sens sans créer de mot inexistant : a et à, ou et où, du et dû, élève et élevé. Là, le dictionnaire est muet. Il faut l'étage grammatical.
Les accords et les homophones : le vrai travail
Le correcteur grammatical analyse la phrase, au moins localement, pour déduire la nature des mots. Quelques exemples de raisonnement :
- Après il ou elle, à est presque toujours une erreur pour a : un pronom sujet appelle un verbe.
- Après un auxiliaire (j'ai, il a), un verbe du premier groupe s'écrit au participe (mangé) ; après une préposition comme pour ou sans, à l'infinitif (manger). C'est le test classique « remplacer par vendu ou vendre » mis en règles.
- Ces (démonstratif) et ses (possessif) sont tous deux corrects devant un nom pluriel : le correcteur ne peut généralement pas trancher, car seul le sens le permet. Un bon outil s'abstient plutôt que de se tromper.
Ce dernier point est essentiel. Un correcteur grammatical qui signale trop de fausses erreurs finit par être ignoré. Grammalecte annonce explicitement ce principe : le moins de « faux positifs » possible, et rien à signaler quand il n'est pas possible de déterminer avec de fortes chances qu'une suite de mots est erronée. Il en résulte des fautes non détectées, mais des alertes en lesquelles on peut avoir confiance.
En pratique
- Vérifiez la langue du correcteur. Un outil réglé sur l'anglais, comme le correcteur de Letterbench, qui ne connaît que des listes de mots anglais, soulignera presque tout un texte français.
- Choisissez votre variante d'orthographe (classique, 1990 ou toutes variantes) et gardez-la pour tout le document.
- Ajoutez les noms propres et les termes de votre métier au dictionnaire personnel, sinon ils masqueront les vraies alertes.
- Relisez vous-même les homophones (ces/ses, leur/leurs, participes passés) : c'est là que les correcteurs, prudents à juste titre, laissent passer le plus de fautes.
- Ne corrigez pas aveuglément. Une suggestion n'est qu'un mot voisin dans un dictionnaire ; c'est vous qui savez ce que vous vouliez dire.
Sources
- Grammalecte, correcteur grammatical et typographique libre pour le français : principe de fonctionnement, erreurs détectées et dictionnaires orthographiques fournis.
