Geek mais pas illétré!
Ah le français est une langue complexe, certes, enfin c’est pas une raison pour faire deux fautes par mots…
Mais algorithmiquement parlant, qu’en penser?
Il y a principalement deux catégories de fautes:
- les fautes d’orthographe (ex: ortograf),
- les fautes de grammaire.
La plupart des fautes d’orthographe peuvent être corrigées par l’emploi d’un dictionnaire, lorsqu’il n’ y a pas d’homophonie. Il y a toutefois certes le problème de tout les noms propres qu’il est difficile d’inclure dans un dictionnaire…
Les fautes de grammaires ainsi que l’homophonie, ça c’est un problème bien plus compliqué à gérer. Le français est une langue complexe. Un article de Capital sur lequel je suis tombé par hasard (oui ce n’est pas actuellement dans mes lectures favorites, en plus je n’ai vraiment aucune préférence pour les sites en asp…) présente toute la difficulté de l’accord des nombres, tout du moins la difficulté quand on cherche à le faire d’après une application consciente de règles strictes (le feeling, le pc ne connait point…). Rien qu’à lire cet article, on comprend facilement que rien qu’un petit point parmi tant d’autres peut facilement être quelque peu non trivial à implémenter (ou trivial mais vraiment pas codable en une seule ligne…).
Bref entre les accords, les autres règles de grammaire, et l’homophonie, beaucoup de choses ne peuvent pas être résolues par un simple dictionnaire… Si pour nous, humains (bon je sais ça arrive aussi à Googlebot d’ “examiner” mes textes même s’il ne comprend rien), enfin si pour nous il est facile de comprendre que “iles noueux son pas la” est rempli d’incohérence, qu’en est il pour un programme?
Et bien c’est loin d’être facile… Ceci dit quel peut être l’intérêt de pouvoir algorithmiquement éviter de telles horreurs grammaticales voire sémantiques? On peut y voire deux grands intérêts:
- corriger les maladresses de l’utilisateur (en gros un dictionnaire plus quelques règles grammaticales peuvent arranger bien des soucis, on ne va quand même pas supposer l’utilisateur de mauvaise foi…)
- produire un texte écrit correct par un programme, par exemple par reconnaissance vocale (et là, c’est le problème réel, l’ordinateur n’a aucune notion du bon sens…) : Il faut donc d’une manière ou d’une autre tout coder…
Bon, bonnes nouvelles pour moi:
- je ne prévois pas de m’attaquer à ces problèmes, aussi intéressant qu’ils peuvent être,
- je suis satisfait de mon azerty clavier (même si je n’ai pas encore pris le temps de me mettre à la disposition Dvorak), et je ne suis pas directement concerné par la qualité des logiciels de reconnaissance vocale…
Ceci dit, une fois encore, on peut constater que l’informatique n’a pas que vocation à s’attaquer qu’à des problèmes triviaux (ou complexes par leur “taille” mais purement “logiques”).