11/30/2005
[GramOOo] Mémoire et Slides
Voici le mémoire de stage et les slides de soutenance de Myriam

La qualité de son travail linguistique a été souligné par ses examinateurs. Ce rapport est assurément un document fondateur pour plusieurs développements ultérieurs pour des outils linguistiques libres.

Son travail préliminaire est intégré à Gramadoir, correcteur grammatical libre de Kevin Scannel, de l'université de Saint Louis, disponible ici : http://borel.slu.edu/gramadoir/

Laurent Godard.

Posted by Myriam Lechelt @ 11/30/2005 05:02 PM. - Categories: indesko, openoffice6 comments
06/02/2005
[GramOOo] Bilan
J'arrive bientôt à la fin de mon stage chez  Nuxeo/Indesko.
Le projet du correcteur grammatical n'est évidemment pas fini, mais nous arrivons à quelques résultats encourageants pour la suite.

D'ici à la fin du mois, sera disponible mon rapport de stage. Celui-ci présentera tout le travail effectué, les résultats, les limites du système et les perspectives futures.
Il servira de guide à quiconque continuera le projet.

Ce stage marquant la fin de mes études, j'aurai moi-même la possibilité d'y contribuer encore un peu...

Posted by Myriam Lechelt @ 06/02/2005 11:57 AM. - Categories: openoffice -  0 comments
04/29/2005
[GramOOo] petite réctification
A mon grand regret, j'ai appris que malgré que était considéré comme correct par l'accadémie française.

J'ai donc retiré cette règle de mon correcteur, qui dorénavant ne marquera plus malgré que comme faux.
Posted by Myriam Lechelt @ 04/29/2005 11:25 AM. - Categories: openoffice -  0 comments
04/27/2005
[GramOOo] Premiers exemples de fautes corrigées
Nous avons choisi de continuer avec l'outil Gramadoir pour la phase de grammaire.
Après la création de quelques règles, on peut montrer quelques exemples de sortie.
Gramadoir renvoie la phrase, les fautes sont notées en rouge et sur la deuxième ligne apparaît un message qui décrit l'erreur.

Il faut préciser que ces messages ne sont pas définitifs. Pour le moment, nous avons juste testé si les règles s'appliquaient correctement. Nous reviendrons sur le sujet.

Voici donc une copie de la console qui donne la sortie de Gramadoir:

1: Ceci est un tests avec des grosse fautes .
Faute d'accord.

1: Ceci est un tests avec des grosse fautes .
Faute d'accord.

1: Malgré que je sois linguiste , je rédigent des fautes énorme.
Cette combinaison de mots n'est pas correcte.

1:Malgré que je sois linguiste , je rédigent des fautes énorme.
Faute d'accord entre le sujet et le verbe.

1:Malgré que je sois linguiste , je rédigent des fautes énorme.
Faute d'accord.

2: Se test montre que sa fonctionne.
Faute.

2: Se test montre que sa fonctionne.
Faute.

3: Elles sont recherché mes fautes .
Faute d'accord du participe passé.

4: ils parle de ça soeur
Faute d'accord.

4: ils parle de ça soeur
Faute.



Posted by Myriam Lechelt @ 04/27/2005 05:38 PM. - Categories: openoffice -  0 comments
04/22/2005
[GramOOo] tests de règles grammaticales et construction des règles
Je suis en train de tester quelques règles grammaticales sur les deux moteurs, Gramadoir et Languagetool, pour voir celui qui serait le mieux adaptable au français.

Nous l'avons dit, nous aurons besoin de travailler sur deux niveaux, que nous avons appelés "intrachunk" et "interchunk". Le premier concerne les règles qui définissent des erreurs au sein d'un chunk, à savoir des accords de type nom-adjectifs. Le deuxième niveau va permettre de corriger des fautes d'accords sujet-verbes par exemple.

Nous commencerons par les règles intrachunks.
Un exemple avec Gramadoir:
<D f s>ANYTHING</D> <J f p>ANYTHING</J> <N f s>ANYTHING</N>:ERREURACCORD

Un déterminant fémin singulier, suivit d'un adjectif féminin pluriel, suivit d'un nom féminin singulier est une faute, car il n'y a pas unification du trait nombre.

<D m s>ANYTHING</D> <J f p>ANYTHING</J> <N f s>ANYTHING</N>:ERREURACCORD
<D f s>ANYTHING</D> <J f s>ANYTHING</J> <N m s>ANYTHING</N>:ERREURACCORD
<D f p>ANYTHING</D> <J f p>ANYTHING</J> <N f s>ANYTHING</N>:ERREURACCORD

Notre lexique comporte 6 types de déterminants, 9 d'adjectifs et 9 de noms, plus de nombreux verbes. Je vous laisse calculer le nombre de combinaisons possibles pour décrire les erreurs... En effet, les systèmes décrivent des règles d'erreurs et supposent donc de prévoir toutes les erreurs possibles (ou du moins le plus possibles).

C'est pour cela que nous avons décidé de générer automatiquement les règles. Nous commençons par générer toutes les combinaisons possibles et nous supprimons celles qui sont correctes.

Pour l'instant nous n'avons généré que les cas suivants:
<D ...> <N ...>
<D ...> <J ...> <N ...>
<
D ...> <J ...> <J ...> <N ...>
Nous obtenons alors 4244 règles d'erreurs.

Reste à savoir si les systèmes ne seront pas "perturbés" par de si nombreuses règles...
Posted by Myriam Lechelt @ 04/22/2005 11:41 AM. - Categories: openoffice -  0 comments
04/15/2005
[GramOOo] nécessité d'un segment intermédiaire entre les mots et la phrase
En examinant quelques fautes de français, et en se demandant comment il est possible de les corriger, on se rend vite compte de la difficulté à laquelle on est confronté.

Nous avons désambiguïsé les mots par rapport au contexte immédiat, gauche ou droit. On voit bien qu'on pourra faire la même chose pour corriger un accord entre un nom et un adjectif par exemple.
Si un adjectif masculin singulier est suivit d'un nom féminin singulier, il y a faute, car il n'y a pas concordance, unification des traits.

Mais prenons la phrase suivante:

      *  La grève des lycéens continuent.
( l'astérisque signifie que la phrase est agramaticale)

Comment le programme va-t-il détecter que  le verbe continuer doit s'accorder avec  le nom grève et non pas lycéens si on se base uniquement sur le contexte immédiat?
Nous avons besoin d'un segment intermédiaire entre les mots et la phrase. On parle de syntagme (groupe) ou de chunk (notion introduite par Abney).
Pour l'exemple, on pourrait effectuer le découpage suivant:

      * [La grève [des lycéens]] [continuent].

[ ]
est un syntagme nominal (SN)
[ ]
est un syntagme verbal (SV)
[ ]
est un syntagme prépositionnel (SP)

Chaque syntagme comporte une tête qui est l'élément principal: nom, verbe, préposition (ici de car des est la contraction de de les), etc.
Le SN s'accorde avec le SV. Si le propriétés du SN ne correspondent pas à celles du SV, alors il y a faute.
Ici, le SN est féminin singulier, le verbe est au pluriel, il y a pas d'unification de traits, il y a faute.

Si notre outil ne se limite pas seulement aux mots et permet la notion de groupes supérieurs, nous pourrons alors corriger bien des fautes.
Posted by Myriam Lechelt @ 04/15/2005 09:53 AM. - Categories: openoffice -  0 comments
04/08/2005
[GramOOo] [tagging] Précision et décision, fin du tagging
Nous arrivons à la fin du temps que nous avions fixé pour l'étape de tagging.
Bien sûr, il reste encore beaucoup de travail, on ne peut pas avoir un excellent outil en si peu de temps.

Toujours est-il que nous avons atteint  98,47 % de décision et 84,4 % de précision (uniquement sur les catégories grammaticales).
Nous avons pu améliorer notre base de règles "brutes" (règles par défaut), grâce à un article de J. Vergne et E. Giguet.

Même si le tagger n'est pas parfait, ceci pourra faire l'objet d'un prochain travail, nous commençons maintenant l'étape de détection d'erreurs grammaticales.

La première chose à faire, est de choisir parmi les deux outils dévellopés libres dont nous disposons : continuer avec Gramadoir, ou choisir Language tool?

Posted by Myriam Lechelt @ 04/08/2005 04:32 PM. - Categories: openoffice -  0 comments
04/05/2005
[GramOOo] [tagging] Précision et décision (premiers résulats)
Nous avons pu nous procurer les outils de la campagne de GRACE afin de mesurer l'avancement de notre tagger.
Nous avions déjà mesuré la décision qui atteint, après l'ajout de quelques règles "brutes", un taux de 97%. Cela signifie que 97 mots reconnus sur 100 (les mots inconnus n'entrent pas en compte) ne sont pas ambigus.
Pour mesurer si ces mots sont correctement étiquetés, il nous faut le taux de précision. Pour le moment, comme nous travaillons encore sur ces mesures nous avons pu comparer uniquement les catégories grammaticales (noms, verbes, pronoms, etc.) et nous avons obtenu un taux de 73%.
73% des mots sont donc étiquetées correctement vis-à-vis de leurs catégories grammaticales.
La perfection serait évidemment d'atteindre 100 % tant en décision qu'en précision (ce qui se traduit par une position  en haut à droite sur le graphique décision/précision).
Mais en attendant, il nous faut faire un choix en fonction du moteur de grammaire qui va détecter les fautes.
Peut-on garder des ambiguïtés ou faut-il que chaque mot ne comporte absolument qu'une seule étiquette quitte à ce que celle-ci ne soit pas forcément correcte? En effet, gagner en décision peut faire perdre en précision et inversement.
Les règles "brutes" qui disent par exemple que "n'importe quel nom ambigu est un nom", permettent de friser les 100% de décision (les mots ne sont plus ambigus). Mais elles nécessitent d'être affinées si l'on veut progresser en précision.
Posted by Myriam Lechelt @ 04/05/2005 03:43 PM. - Categories: openoffice -  0 comments
03/29/2005
[GramOOo] [tagging] petit test
J'ai testé notre tagger avec le petit texte suivant :

Voici une blague de Toto qui fait du surf. Seulement, sur la piste, la neige est mauvaise, elle a fondu. Et Toto qui ne sait pas surfer se casse la figure. Alors il hurle:
"Dorénavant je ne ferai plus de surf le week-end de Pâques !"
Les personnes qui ont skié ce week-end comprendront. Je sais, ce texte ne fait pas trop rigoler. Je voulais voir la façon dont il était désambiguïsé. Il est désambiguïsé !


Voici la sortie du tagger sans qu'aucune règle ne soit appliquée:
Les mots ambigus sont entre balises <B></B>

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE teacs SYSTEM "/dtds/gramadoir.dtd">
<teacs>
<line> <B><Z><A/><P/></Z> Voici</B> <B><Z><D f s/><J f s/><N f s/></Z>une</B> <B><Z><N f s/><V imp pres 2 s/><V ind pres 1 s/><V ind pres 3 s/><V sub pres 1 s/><V sub pres 3 s/></Z>blague</B> <P>de</P> <N m s>Toto</N> <R rel e sp>qui</R> <B><Z><J m s/><N m s/><V ind pres 3 s/><V ppa m s/></Z>fait</B> <D m s>du</D> <N m s>surf</N>. </line>
<line> <A>Seulement</A>, <B><Z><J m s/><P/></Z>sur</B> <B><Z><D f s/><N m sp/><R pers obj 3 f s/></Z>la</B> <N f s>piste</N>, <B><Z><D f s/><N m sp/><R pers obj 3 f s/></Z>la</B> <B><Z><N f s/><V ind pres 3 s/><V sub pres 3 s/></Z>neige</B> <B><Z><J e p/><J e s/><N m s/><V etre ind pres 3 s/></Z>est</B> <B><Z><J f s/><N f s/></Z>mauvaise</B>, <R pers suj 3 f s>elle</R> <B><Z><N m sp/><V avoir ind pres 3 s/></Z>a</B> <B><Z><J m s/><N m s/><V ppa m s/></Z>fondu</B>. </line>
<line> <C coor>Et</C> <N m s>Toto</N> <R rel e sp>qui</R> <A>ne</A> <V ind pres 3 s>sait</V> <B><Z><A/><N m sp/></Z>pas</B> <V inf>surfer</V> <R pers obj 3 sp>se</R> <B><Z><N f s/><N m s/><V imp pres 2 s/><V ind pres 1 s/><V ind pres 3 s/><V sub pres 1 s/><V sub pres 3 s/></Z>casse</B> <B><Z><D f s/><N m sp/><R pers obj 3 f s/></Z>la</B> <B><Z><N f s/><V imp pres 2 s/><V ind pres 1 s/><V ind pres 3 s/><V sub pres 1 s/><V sub pres 3 s/></Z>figure</B>. </line>
<line> <A>Alors</A> <R pers suj 3 m s>il</R> <B><Z><V imp pres 2 s/><V ind pres 1 s/><V ind pres 3 s/><V sub pres 1 s/><V sub pres 3 s/></Z>hurle</B>: &quot;<A>Dorénavant</A> <R pers suj 1 s>je</R> <A>ne</A> <V ind futu 1 s>ferai</V> <B><Z><A/><D e p/><D e s/><N m sp/><V ind psim 1 s/><V ind psim 2 s/><V ppa m p/></Z>plus</B> <P>de</P> <N m s>surf</N> <B><Z><D m s/><R pers obj 3 m s/></Z>le</B> <N m s>week-end</N> <P>de</P> <N f p>Pâques</N> !&quot; </line>
<line> <R pers suj 1 s>Je</R> <B><Z><V ind pres 1 s/><V ind pres 2 s/></Z>sais</B>, <B><Z><D m s/><R dem e s/></Z>ce</B> <N m s>texte</N> <A>ne</A> <B><Z><J m s/><N m s/><V ind pres 3 s/><V ppa m s/></Z>fait</B> <B><Z><A/><N m sp/></Z>pas</B> <A>trop</A> <V inf>rigoler</V>. </line>
<line> <B><Z><D e p/><R pers obj 3 p/></Z>Les</B> <N f p>personnes</N> <R rel e sp>qui</R> <V avoir ind pres 3 p>ont</V> <V ppa m s>skié</V> <B><Z><D m s/><R dem e s/></Z>ce</B> <N m s>week-end</N> <V ind futu 3 p>comprendront</V>. </line>
<line> <R pers suj 1 s>Je</R> <B><Z><V ind impa 1 s/><V ind impa 2 s/></Z>voulais</B> <V inf>voir</V> <B><Z><D f s/><N m sp/><R pers obj 3 f s/></Z>la</B> <N f s>façon</N> <R rel e sp>dont</R> <R pers suj 3 m s>il</R> <V etre ind impa 3 s>était</V> <B><Z><J m s/><V ppa m s/></Z>désambiguïsé</B>. </line>
</teacs>

Et voici la sortie après application des règles :

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE teacs SYSTEM "/dtds/gramadoir.dtd">
<teacs>
<line> <P>Voici</P> <D f s>une</D> <N f s>blague</N> <P>de</P> <N m s>Toto</N> <R rel e sp>qui</R> <V ind pres 3 s>fait</V> <D m s>du</D> <N m s>surf</N>. </line>
<line> <A>Seulement</A>, <P>sur</P> <D f s>la</D> <N f s>piste</N>, <D f s>la</D> <N f s>neige</N> <V etre ind pres 3 s>est</V> <J f s>mauvaise</J>, <R pers suj 3 f s>elle</R> <V avoir ind pres 3 s>a</V> <V ppa m s>fondu</V>. </line>
<line> <C coor>Et</C> <N m s>Toto</N> <R rel e sp>qui</R> <A>ne</A> <V ind pres 3 s>sait</V> <A>pas</A> <V inf>surfer</V> <R pers obj 3 sp>se</R> <V ind pres 1 s>casse</V> <D f s>la</D> <N f s>figure</N>. </line>
<line> <A>Alors</A> <R pers suj 3 m s>il</R> <V ind pres 1 s>hurle</V>: &quot;<A>Dorénavant</A> <R pers suj 1 s>je</R> <A>ne</A> <V ind futu 1 s>ferai</V> <A>plus</A> <P>de</P> <N m s>surf</N> <D m s>le</D> <N m s>week-end</N> <P>de</P> <N f p>Pâques</N> !&quot; </line>
<line> <D e s>Les</D> <N f p>personnes</N> <R rel e sp>qui</R> <V avoir ind pres 3 p>ont</V> <V ppa m s>skié</V> <D m s>ce</D> <N m s>week-end</N> <V ind futu 3 p>comprendront</V>. </line>
<line> <R pers suj 1 s>Je</R> <V ind pres 1 s>sais</V>, <D m s>ce</D> <N m s>texte</N> <A>ne</A> <V ind pres 3 s>fait</V> <A>pas</A> <A>trop</A> <V inf>rigoler</V>. </line>
<line> <R pers suj 1 s>Je</R> <V ind impa 1 s>voulais</V> <V inf>voir</V> <D f s>la</D> <N f s>façon</N> <R rel e sp>dont</R> <R pers suj 3 m s>il</R> <V etre ind impa 3 s>était</V> <V ppa m s>désambiguïsé</V>. </line>
<line> <R pers suj 3 m s>Il</R> <V etre ind pres 3 s>est</V> <V ppa m s>désambiguïsé</V> ! </line>
</teacs>
Posted by Myriam Lechelt @ 03/29/2005 07:40 PM. - Categories: openoffice -  0 comments
[GramOOo] [tagging] ordre des règles et plusieurs passages
L'ordre des règles est très important dans Gramadoir. La première que trouve le programme est appliquée. Il faut donc mettre les plus générales à la fin.
Si le contexte qui sert à désambiguïser est lui même ambigu, la règle ne s'applique pas.
Prenons les trois mots suivants:

<line> <R pers suj 3 f s>elle</R> <V etre ind pres 3 s>est</V> <V ppa f s>prise</V> </line>

"Elle" n'est pas ambigu. Il permet de désambiguïser "est" qui peut être un nom, un adjectif ou le verbe être. S'il est précédé d'un pronom personnel, alors c'est un verbe. Ensuite, il faut que la règle qui concerne la désambiguïsation du participe passé soit placée après, sinon, elle ne va pas s'appliquer si "est" n'est pas encore desambiguïsé. Mais par contre, il faut qu'elle soit placé avant les règles sur l'indicatif sinon prise sera étiqueté :

<V ind pres 1 s>prise</V>        (verbe priser)

Prenons maintenant le cas "il s'est tu". Mettons de côté le problème du pronom "se" car nous en l'avons pas encore traité. Si l'on place la règle des participes après celle qui dit que "tu" par défaut et un pronom personnel (de même que "il"), on aura:

<line> <R pers suj 3 m s>il</R> s' <V etre ind pres 3 s>est</V> <R pers suj 2 s>tu</R> </line>.

"Tu" est étiqueté comme un pronom personnel.
Ceci est problèmatique car la règle des pronoms personnels nécessite d'être placée avant la désambiguïsation de verbes sinon cette dernière ne peut pas se faire.

On pourrait donc avoir besoin de deux passages pour l'application des règles. Mais ceci serait-il vraiment nécessaire? Le mot n'attendra pas le deuxième passage pour se désambiguïser, il matchera la première règle qu'il trouvera.
Posted by Myriam Lechelt @ 03/29/2005 09:58 AM. - Categories: openoffice -  0 comments
Last modified: 02/13/2005 01:45 PM

Nuxeo Bloggers: Log in!
Nuxeo - Indesko - Nuxeo 5 Project
All content is copyrighted by their author.
CPSSkins is Copyright © 2003-2006 by Jean-Marc Orliaguet. | CPS is Copyright © 2002-2006 by Nuxeo SAS.