Un correcteur grammatical pour OOo


Tue 08 March 2005 By nuxeo

Je suis nouvelle stagiaire chez Nuxeo/Indesko. J'ai
commencé hier à travailler pour le projet qui vise à
développer un correcteur grammatical pour la suite de
OpenOffice.org. C'est un gros projet qui lorsqu'il sera mené à
bien sera très utile et très utilisé je pense! Mais il n'en
est qu'à son commencement, il ne faut pas prendre ce qui suit
pour définitif.


Plusieurs correcteurs existent déjà dans différentes
langues, nous en avons retenu trois pour nous servir de
modèles : GRAC, languagetool et Gramadóir.


Grac, « GRAmmar Checker », (http://grac.sourceforge.net/)
est développé en Python par Maxime Biais. Il est basé sur un
algorithme d'apprentissage, et se veut indépendant d'un
langage particulier. C'est un modèle probabiliste. Ce projet
en est à son tout début.


Languagetool, de Daniel Naber (http://www.danielnaber.de/languagetool/),
également programmé en Python, est un correcteur de grammaire
et de style pour l'anglais, basé sur un système de règles (une
quarantaine). Le traitement s'effectue en plusieurs
phases:




  • découpage en phrases




  • tagging qui est l'étiquetage des mots (ex: N, V, ADJ,
    ...)




  • découpage en chunks, c'est-à-dire en propositions (ex:
    syntagme nominal, syntagme verbal, ...)




  • application de règles écrites à la main.




Gramadóir est un correcteur gaélique développé en Perl par
Kevin P. Scannell (http://borel.slu.edu/gramadoir/).
Il est basé sur des règles et sur le « pattern
matching ». Il se compose de plusieurs
« filtres » qui découpent en mots, les étiquettent,
recherchent les erreurs grammaticales etc.


Une fois l'étude de ces trois correcteurs terminée, il nous
faudra ensuite choisir celui qui sera le mieux adaptable au
français pour l'étendre aux règles grammaticales françaises.
L'objectif final reste son insertion dans OpenOffice.org (tout
en restant disponible pour d'autres projets).


(Post originally written by Myriam Lechelt on the old Nuxeo blogs.)


Category: Product & Development