OrthoBot
Description
OrthoBot détecte les fautes d'orthographe. Il parcourt l'ensemble des mots d'une page, les compare à une liste de mots français(dictionnaire), et propose une correction si un mot n'appartient pas à cette liste. Lorsque le bot détecte une faute, il modifie la page en colorant le mot, et propose une correction de la forme: faute(correction: 'correction1','correction2',...) .
OrthoBot ne corrige pas les hypermots étant donnée qu'il s'agit souvent de noms propres et qu'ils sont normalement correctement orthographiés.
Méthodes de correction
Lorsqu'une faute est trouvée, OrthoBot va chercher une correction possible en modifiant le mot pour trouver un correctif dans son dictionnaire. Pour se faire, il va appliquer successivement différentes méthodes pour pouvoir trouver le maximum de corrections possibles:
-Cas 1: 1 lettre est fausse. Il modifie une à une chaque lettre du mot et teste s'il existe une correspondance dans le dictionnaire. Si oui, il proposera cette correction.
-Cas 2: Il manque une lettre. Il teste l'ajout d'une lettre à chaque emplacement possible(au début du mot, entre la 1e et la 2e lettre, etc.), cherche une correspondance dans le dictionnaire, propose une correction si elle existe.
-Cas 3: Il y a une lettre en trop. Il essaye d'effacer chaque lettre une à une et contrôle s'il existe une correspondance dans le dictionnaire et propose une éventuelle proposition.
-Cas 4: Cas particuliers. Modifie la lettre 'f' par 'ph' et cherche une correction dans le dictionnaire.
Exemples de Résultats
Si notre bot rencontre une page contenant le texte suivant:
Ceci est une pâge test pour OrthoBot. Elle contien des fautes d'orthografe.
Il va modifier la page comme ci-dessous:
Ceci est une pâge (correction(s): page, pâme, âge, pige, pâte, pâle) test pour OrthoBot. Elle contien (correction(s): contiens, contient) des fautes d'orthografe (correction(s): orthographe).
Cet exemple est tiré de la page créée pour tester notre bot: testOrthobot
Remarques
-Le dictionnaire ne comprenant pas de nom propres, OrthoBot les signale comme des fautes, notamment les lieux ou pays. Il semble donc important que ces mots soient des hypermots.
-Possibilité d'étendre le dictionnaire au noms propres en ajoutant à celui-ci des listes de mots (par exemple une liste de pays).
-OrthoBot ne détecte ni les fautes d'accords, ni celles de conjugaison, car ce ne sont pas des fautes d'orthographe à proprement parler.
-La partie 'Cas particuliers' de la correction peut être étendue à de nombreuses fautes.
-Une fois qu' OrthoBot trouve une faute sur une page, il la garde en mémoire pour ne pas avoir à corriger ce mot plusieurs fois.
-Si OrthoBot rencontre du texte coloré soit en vert soit en rouge il ne le prend pas en compte. Si un mot est vert c'est qu'il est une proposition de correction donc il est correct, et si il est rouge, ce mot est orthographié faux et a déjà été signalé à son auteur. Il est donc inutile dans ces deux cas de contrôler l'orthographe.
-OrthoBot ne corrige pas le mot, il ne fait que proposer une solution, tout en modifiant la page. Il revient donc aux utilisateurs de corriger cette dernière après le passage du bot.
-Le dictionnaire est, pour le moment, un dictionnaire de mots en français uniquement.
-Le bot ignore les parties des pages contenant du code.
Évaluation du Bot
- Lorsqu'un mot est mal orthographié, il est systématiquement découvert. Mais un mot correctement orthographié peut être évalué comme faux. Dans les cas ou cela arrive, c'est parce que le mot est un mot d'une langue autre que Française ou qu'il est un nom propre. Aucun mot français correctement orthographié est découvert comme faux par notre Bot.
- Le bot trouve toutes les corrections, selon les critères décrits ci-dessus, d'un mot en un temps moyen d'environ 1 seconde pour un mot de 6 à 8 caractères. Ce qui est raisonnable puisqu'une page contenant 60 fautes est évaluée en 1 minute environ tandis qu'il faudrait beaucoup plus de temps pour le faire à la main suivant la taille de la page.
-Notre Bot serait prêt à être mis sur un serveur et exécuté périodiquement.
Code
Sur ce dépôt: [1]