• Aucun résultat trouvé

Nettoyage des DAG

6.2 Désambiguïsation contextuelle

6.2.1 Nettoyage des DAG

Le but de ce module est d’améliorer la pertinence des chemins contenus dans le DAG obtenu par notre chaîne de traitement. Pour ce faire, nous ne voulons conserver au sein de chaque DAG que les analyses pertinentes et stocker les an- notations proposées par nos divers modules uniquement dans les commentaires. En outre, si un inconnu n’a pas été analysé par notre système de normalisation et demeure suspect, nous avons fait le choix de permettre au module de correction de la chaîne de traitement SxPipe de proposer des candidats de correction. De la sorte, cela nous permettra de passer d’un DAG tel que celui proposé pour la figure 6.2 à un DAG comme illustré dans la figure 6.3 si on a la phrase « le collis est pas làs »6. Revenons plus précisément sur ces différentes étapes de nettoyage et de complétion du DAG.

5. Le corpus WiCoPaCo aurait certes pu être envisagé, mais il diffère grandement de nos corpus.

6. Les tokens annotés « Sxp » correspondent aux corrections proposées par le correcteur intégré à Sxpipe.

0 le 1 2 3 4 5 collis (Emprunt)

collision (Norm) collin (Norm) col lis (Agglu) collis (Néo) colis (Norm)

est pas

las (Diacritique) _INC_làs

Figure 6.2 – DAG avant lissage et ajout des candidats proposés par le module de correction de SxPipe « le collis est pas làs »

0 le 1 2 3 4 5

collis (Emprunt+Néo) collin (Norm) collision (Norm)

col lis (Agglu) colis (Norm) est pas las (Sxp+Diacritique) les (Sxp) lis (Sxp) lus (Sxp) lès (Sxp) là (Sxp) lys (Sxp)

6.2.1.1 Réécriture des formes annotées

Dans SxPipe, chaque forme composant un texte est représentée par deux élé- ments : (i) le ou les tokens initiaux la composant indiqués en commentaire (entre accolades) et (ii) la représentation de la forme en question à l’état actuel. À la suite de l’application de notre chaîne de traitement sur un texte, il peut arriver que certaines représentations des formes aient été modifiées. Elles peuvent avoir été normalisées et dans ce cas leurs commentaires ont été annotés en conséquence à l’aide du symbole / . Ou encore, elles peuvent avoir été étiquetées dans la re- présentation même de leur forme afin de conserver ou de faire ressortir certaines informations. Un inconnu non catégorisé, par exemple, sera annoté à l’extérieur des commentaires comme suit{token1} _INC_Forme. Afin de ne pas gêner toutes

les analyses à venir et principalement notre futur module de désambiguïsation, il est nécessaire de rendre à la forme de chaque token sa forme soit initiale dans le cas soit analysée en conséquence. Toutes les étiquettes conçues par la chaîne de trai- tement SxPipe adaptée sont ainsi déplacées dans les commentaires. Par exemple, si le smiley :) a été détecté, il aura été étiqueté comme ceci : {:1 \)2} _SMILEY

et sera ensuite réécrit ainsi : {:1 \)2/SMILEY} :\)

6.2.1.2 Suppression des analyses redondantes

Il peut arriver qu’un inconnu se voit attribuer des étiquettes par de nombreux modules. Par exemple, prenons le token novelle, il sera :

• soupçonné par le module de détection des tokens étrangers d’être un emprunt non adapté,

• considéré comme une possible agglutination des tokens novel7et le par notre module prévu à cet effet,

• reconnu par notre module de détection de néologismes comme une possible création lexicale faite à partir de novelliser,

• normalisé par notre système de normalisation des tokens inconnus altérés en nouvelle (avec un score de 0,74), novel (avec un score de 0,50) ou novella (avec un score de 0,44).

Si on conserve toutes ces analyses on se retrouve avec une liste de 6 réécritures possibles pour ce token dont deux identiques : novelle, novel le, novelle, nouvelle, novel et novella. On fait donc le choix de les rassembler en une seule et même analyse ainsi que l’illustre le DAG représentant notre exemple à la figure 6.4.

7. Notons que les tokens novel et novella correspondent à des entités nommées prise en compte par notre système. L’absence de majuscule en début de ce mot s’explique par le fait que l’on conserve la casse choisie par l’utilisateur.

0 1 2 3 4 Cette

novelle (Emprunt + Néo) nouvel le (Agglu) novelle (Néo) nouvelle (Norm) novel (Norm) novella (Norm) est top

Figure 6.4 – Nettoyage du DAG représentant la phrase « Cette novelle est top »

À ce stade, nous voulons uniquement réunir les analyses portant sur les tokens inconnus non altérés. Sans contexte, nous ne pouvons pas décréter objectivement quelle est l’analyse la plus pertinente. En effet, bien que l’exemple proposé ci- dessus soit plus favorable à notre système de normalisation des altérations incon- nues aux dépens du module de détection des agglutinations, l’inverse peut aussi arriver. Nous ne priorisons donc pas les différents modules de normalisation entre eux.

6.2.1.3 Ajout des candidats de correction proposé par SxPipe

Notons enfin qu’il arrive qu’un token reste considéré comme inconnu en fin de chaîne. Dans ce cas, afin d’optimiser les chances de normalisation de notre sys- tème, nous utilisons le correcteur ambigu text2dag intégré à SxPipe. Comme expliqué précédemment, ce correcteur fonctionne à l’aide de règles de substitution pondérées manuellement permettant de remplacer un ou plusieurs caractères. Il a l’avantage d’être paramétrable. On peut ainsi définir le poids de correction maxi- mum souhaité ou encore le nombre maximum de candidats suggérés. Soulignons toutefois que plus le poids d’une correction est élevé, moins elle est sûre. En fonc- tion de son paramétrage, ce correcteur peut donc être très bruyant. À l’inverse, si on le restreint trop, il ne proposera qu’un faible nombre de corrections peu coû- teuses (telles que des fautes d’accents par exemple), mais fiables. Notre système étant suivi d’une étape de désambiguïsation, nous avons fait le choix de laisser à ce correcteur une marge de manœuvre assez conséquente. Nous l’avons ainsi limité à 10 candidats dont le poids de correction ne dépasserait pas 140 (à titre indicatif, une correction légère est pondérée à 5). Ses corrections, annotées /SXP_Poids, pourront être distinguées des autres candidats de normalisation. Nous pourrons ainsi évaluer l’apport de ce correcteur sur nos résultats.