Suite du travail sur LanguageTool


Mon 18 June 2007 By nuxeo

Ces derniers jours ont été consacrés en partie à l'étude des possibilités
d'intégration d'un désambiguïseur dans LanguageTool.



Nous avions parlé, dans le précédent billet, de réécrire les règles de
désambiguïsation de An Gramadóir dans le formalisme XML. Il y a bien
sûr beaucoup de manières différentes de représenter les règles en XML.



Voici deux propositions qui reprennent des règles écrites par Myriam
Lechelt
. Les deux premières règles sont très proches de la
représentation des règles d'erreurs de LanguageTool. Dans les deux
suivantes, nous avons ajouté un attribut "ambigu" à l'élément token,
pour spécifier quel est le token ambigu, et une balise "disambig" qui
contient le tag à attribuer au token ambigu.



<rulegroup name="Pronoms personnels objets" id="Pro_Pers_Obj">

    <rule name="nous">

        <pattern>

            <token
postag="R Pers"/>

            <token
ambig="yes">nous</token>

        </pattern>

        <disambig token="nous" postag="R
pers obj 1 p"/>

    </rule>

</rulegroup>

<rulegroup name="D ambig + N" id="D_ambig_N">

    <rule name ="Dms">

        <pattern>

            <token
ambig="yes" postag="D m s"/>

            <token
postag="N"/>

        </pattern>

        <disambig  postag="D m
s"/>

    </rule>

</rulegroup>



---------------------------------------------------



<rulegroup name="Pronoms personnels objets" id="Pro_Pers_Obj">

    <rule name="nous">

        <pattern mark_from="1">

            <token
postag="R Pers"/>

          
 <token>nous</token>

        </pattern>

        <message><suggestion>R
pers obj 1 p</suggestion></message>

    </rule>

</rulegroup>

<rulegroup name="D ambig + N" id="D_ambig_N">

    <rule name ="Dms">

        <pattern mark_to="-1">

            <token
postag="D m s"/>

            <token
postag="N"/>

        </pattern>

        <message><suggestion>D m
s</suggestion></message>

    </rule>

</rulegroup>





Nous avons aussi "décortiqué" un peu le code de LanguageTool pour voir
comment sont gérées les règles d'erreurs, et nous en inspirer pour gérer les
règles de désambiguïsation. Nous avons donc vu qu'il nous faudrait adapter
principalement 3 fichiers : PatternRule.java, PatternRuleLoader.java et
XMLRuleHandler.java.





Cependant, par manque de temps, nous n'allons pas réaliser ce travail
d'implantation d'un désambiguïseur.

Nous allons donc passer directement à l'étape du traitement des fautes de
grammaire. Par contre,  pour pouvoir travailler sur cette partie de
LanguageTool, nous avons besoin de phrases correctement  étiquetées, et
donc désambiguïsées. Nous avons donc extrait une centaine de phrases d'un
corpus d'erreurs, utilisé dans l'ouvrage de V. Lucci & A. Millet (1994 ;
L'orthographe de tous les jours, enquête sur les pratiques
orthographiques des français
, Champion), et nous allons les étiqueter,
en utilisant le tagset de LanguageTool.



Nous pourrons ensuite utiliser ces phrases étiquetées pour tester les
règles d'erreurs écrites par Myriam pour An Gramadóir, et que nous
aurons préalablement importées dans LanguageTool, ainsi que de nouvelles
règles que nous pourrons ajouter à partir du corpus.



Nous verrons sans doute ainsi les limites du formalisme actuel et nous
tâcherons de les dépasser.

(Post originally written by Agnes Souque on the old Nuxeo blogs.)


Category: Product & Development