« OrthoBot » : différence entre les versions
Aucun résumé des modifications |
(Wikipastbot update) |
||
Ligne 5 : | Ligne 5 : | ||
Lorsque le bot détecte une faute, il modifie la page en colorant le mot, et propose une correction de la forme: <span style="color:red">faute</span>(correction: <span style="color:green">'correction1'</span>,<span style="color:green">'correction2'</span>,...) . | Lorsque le bot détecte une faute, il modifie la page en colorant le mot, et propose une correction de la forme: <span style="color:red">faute</span>(correction: <span style="color:green">'correction1'</span>,<span style="color:green">'correction2'</span>,...) . | ||
[[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. | [[OrthoBot]] ne corrige pas les hypermots étant donnée qu'il s'agit souvent de noms propres et qu'ils sont normalement correctement <span style="color:red">orthographiés</span> (correction(s): <span style="color:green">orthographié, orthographiées | ||
</span>). | |||
==Méthodes de correction== | ==Méthodes de correction== | ||
Ligne 28 : | Ligne 29 : | ||
Si notre bot rencontre une page contenant le texte suivant: | Si notre bot rencontre une page contenant le texte suivant: | ||
Ceci est une pâge test pour [[OrthoBot]]. Elle contien des fautes d'orthografe. | Ceci est une <span style="color:red">pâge</span> (correction(s): <span style="color:green">pige, pâme, pâle, page, âge, pâte | ||
</span>) test pour [[OrthoBot]]. Elle <span style="color:red">contien</span> (correction(s): <span style="color:green">contiens, contient | |||
</span>) des fautes d'<span style="color:red">orthografe</span> (correction(s): <span style="color:green">orthographe | |||
</span>). | |||
Il va modifier la page comme ci-dessous: | Il va modifier la page comme ci-dessous: | ||
Ceci est une <span style="color:red">pâge</span> (correction(s): <span style="color:green">page, pâme, âge, pige, pâte, pâle</span>) test pour [[OrthoBot]]. Elle <span style="color:red">contien</span> (correction(s): <span style="color:green">contiens, contient</span>) des fautes d'<span style="color:red">orthografe</span> (correction(s): <span style="color:green">orthographe</span>). | Ceci est une <span style="color:red"><span style="color:red">pâge</span> (correction(s): <span style="color:green">pige, pâme, pâle, page, âge, pâte | ||
</span>)</span> (correction(s): <span style="color:green">page, pâme, âge, pige, pâte, pâle</span>) test pour [[OrthoBot]]. Elle <span style="color:red"><span style="color:red">contien</span> (correction(s): <span style="color:green">contiens, contient | |||
</span>)</span> (correction(s): <span style="color:green">contiens, contient</span>) des fautes d'<span style="color:red"><span style="color:red">orthografe</span> (correction(s): <span style="color:green">orthographe | |||
</span>)</span> (correction(s): <span style="color:green">orthographe</span>). | |||
Cet exemple est tiré de la page créée pour tester notre bot: [[testOrthobot]] | Cet exemple est tiré de la page créée pour tester notre bot: [[testOrthobot]] | ||
Ligne 57 : | Ligne 64 : | ||
==Évaluation du Bot== | ==É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. Nous avons trouvé un total de 571 fautes différentes sur toutes les pages du wiki. Parmi ces fautes, 32% sont des mots provenant d'autres langues, principalement de l'anglais, 24% sont des noms propres (lieu, personnes), 21% sont des fautes diverses comme des abréviations ou des noms de méthodes de python. Enfin, 18% sont des vraies fautes: des mots réellement mal écrits qui doivent être corrigés. Et 5% des mots faux trouvés sont des mots correctement orthographiés qui ne sont malheureusement pas dans le dictionnaire que nous avons utilisé. | - Lorsqu'un mot est mal orthographié, il est systématiquement découvert. Mais un mot correctement orthographié peut être évalué comme faux. Nous avons trouvé un total de 571 fautes différentes sur toutes les pages du <span style="color:red">wiki</span> (correction(s): <span style="color:green">kiki, tiki | ||
</span>). Parmi ces fautes, 32% sont des mots provenant d'autres langues, principalement de l'anglais, 24% sont des noms propres (lieu, personnes), 21% sont des fautes diverses comme des abréviations ou des noms de méthodes de python. Enfin, 18% sont des vraies fautes: des mots réellement mal écrits qui doivent être corrigés. Et 5% des mots faux trouvés sont des mots correctement <span style="color:red">orthographiés</span> (correction(s): <span style="color:green">orthographié, orthographiées | |||
</span>) qui ne sont malheureusement pas dans le dictionnaire que nous avons utilisé. | |||
Une solution pour augmenter le pourcentage des vraies fautes serait de joindre à notre dictionnaire français un dictionnaire anglais ainsi qu'un dictionnaire des noms propres. Cela réduirait déjà passablement le nombre de fautes trouvées et améliorerait l'efficacité de notre bot. Il faudrait aussi si possible trouver un dictionnaire le plus récent possible qui contient tous les néologismes de ces dernières années. Le dictionnaire que nous utilisons n'est aussi pas complet au niveau des conjugaisons et cela peut amener notre bot à trouver une fausse erreur. | Une solution pour augmenter le pourcentage des vraies fautes serait de joindre à notre dictionnaire français un dictionnaire anglais ainsi qu'un dictionnaire des noms propres. Cela réduirait déjà passablement le nombre de fautes trouvées et améliorerait l'efficacité de notre bot. Il faudrait aussi si possible trouver un dictionnaire le plus récent possible qui contient tous les néologismes de ces dernières années. Le dictionnaire que nous utilisons n'est aussi pas complet au niveau des conjugaisons et cela peut amener notre bot à trouver une fausse erreur. | ||
- 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. | - 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 <span style="color:red">tandis</span> (correction(s): <span style="color:green">candis, tendis, taudis | ||
</span>) 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 toutes les 24h. | -Notre Bot serait prêt à être mis sur un serveur et exécuté périodiquement toutes les 24h. |
Version du 30 mai 2017 à 08:04
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 (correction(s): orthographié, orthographiées ).
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 (correction(s): pige, pâme, pâle, page, âge, pâte ) test pour OrthoBot. Elle contien (correction(s): contiens, contient ) des fautes d'orthografe (correction(s): orthographe ).
Il va modifier la page comme ci-dessous:
Ceci est une pâge (correction(s): pige, pâme, pâle, page, âge, pâte ) (correction(s): page, pâme, âge, pige, pâte, pâle) test pour OrthoBot. Elle contien (correction(s): contiens, contient ) (correction(s): contiens, contient) des fautes d'orthografe (correction(s): orthographe ) (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, ainsi que les tableaux.
É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. Nous avons trouvé un total de 571 fautes différentes sur toutes les pages du wiki (correction(s): kiki, tiki ). Parmi ces fautes, 32% sont des mots provenant d'autres langues, principalement de l'anglais, 24% sont des noms propres (lieu, personnes), 21% sont des fautes diverses comme des abréviations ou des noms de méthodes de python. Enfin, 18% sont des vraies fautes: des mots réellement mal écrits qui doivent être corrigés. Et 5% des mots faux trouvés sont des mots correctement orthographiés (correction(s): orthographié, orthographiées ) qui ne sont malheureusement pas dans le dictionnaire que nous avons utilisé. Une solution pour augmenter le pourcentage des vraies fautes serait de joindre à notre dictionnaire français un dictionnaire anglais ainsi qu'un dictionnaire des noms propres. Cela réduirait déjà passablement le nombre de fautes trouvées et améliorerait l'efficacité de notre bot. Il faudrait aussi si possible trouver un dictionnaire le plus récent possible qui contient tous les néologismes de ces dernières années. Le dictionnaire que nous utilisons n'est aussi pas complet au niveau des conjugaisons et cela peut amener notre bot à trouver une fausse erreur.
- 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 (correction(s): candis, tendis, taudis ) 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 toutes les 24h.
Code
Sur ce dépôt: [1]