vendredi 6 juin 2025

Lemmatisation


Première étape incontournable : la lemmatisation.

Lexiflaire, c’est plus de 15 millions de manches jouées.
Chaque manche contient en moyenne 2,3 indices et 2,3 propositions.

Ça nous fait environ 70 millions de tokens à traiter.
(un token, c’est une unité de texte — en gros, un mot.)

Mais il y a des doublons, beaucoup...

Prenons un exemple :

  • "animal" apparaît 170 000 fois

  • "animaux" : 30 000 fois

  • "animale" (forme adjectivale féminine) : 2 400 fois

Est-ce vraiment utile de conserver toutes ces variantes comme des mots différents ?
Dans la majorité des traitements qu’on souhaite faire… non. Ce qu’on veut, c’est regrouper toutes ces formes sous une seule entrée logique : le lemme.

Dit autrement :

  • Le lemme d’un nom, c’est sa forme au singulier.

  • Le lemme d’un adjectif, sa forme au masculin singulier.

  • Le lemme d’un verbe, son infinitif.

L’objectif : regrouper ce qui a le même sens, même si la forme change selon le genre, le nombre ou le temps.

Sans lemmatisation, le corpus contient environ 200 000 formes différentes.
Beaucoup ne sont que les déclinaison d'un même mot : pluriels, conjugaisons, féminins, fautes de frappe…

Après lemmatisation, ce chiffre tombe à environ 35 000 lemmes.
Pour cela, j’utilise Morphalou, développé par le CNRTL, qui référence plus de 540 000 formes fléchies correspondant à environ 68 000 lemmes.

Ambiguïtés grammaticales

Un même mot peut parfois dépendre de plusieurs lemmes.
Par exemple, minerais : est-ce une conjugaison du verbe miner, ou le pluriel du nom minerai ?

Une première règle simple s’applique :
-Si un mot est identique à un lemme, on choisit ce lemme-là.
Sinon, on hiérarchise les catégories grammaticales selon l’ordre :
nom > verbe > adjectif.

Et quand le mot est mal orthographié ?


Mais évidemment, pour pouvoir lemmatiser un mot, encore faut-il qu’il soit correctement orthographié. Les erreurs et fautes de frappe sont fréquentes — surtout dans un jeu de rapidité comme Lexiflaire, où on n’a pas toujours le temps de s’embêter avec les accents.

La correction orthographique, comme celle qu’on retrouve dans un traitement de texte ou un clavier de smartphone, existe… mais comment ça fonctionne ?

Elle s’appuie sur une structure appelée DAWG (Directed Acyclic Word Graph), qui permet de rechercher de manière « floue » dans un dictionnaire, grâce à la distance de Levenshtein.

Cette distance mesure le nombre minimal d’opérations (insertion, suppression, substitution) nécessaires pour transformer un mot en un autre. Par exemple, si l’on saisit « flimme », l’algorithme pourra proposer « flemme » ou « flamme », qui ne sont qu’à une distance de 1.

Dans notre cadre, ce mécanisme permet de limiter la perte de données liée aux fautes d’orthographe, même si environ 15 % des mots restent non corrigés, faute de correspondance claire.

Exemples concrets :

  • "minerai" → c’est déjà un lemme, donc on le garde tel quel.

  • "animaux" → correspond uniquement au lemme "animal" → on garde "animal".

  • "minerais" → peut être le pluriel du nom "minerai" ou une forme du verbe "miner" → on donne la priorité au nom, donc on garde "minerai".

  • "fllamme" → inconnu tel quel, mais il existe une seule correspondance à une distance de Levenshtein de 1 : "flamme", qui est un lemme → on garde "flamme".

  • "flimme" → inconnu, deux correspondances à distance 1 : "flemme" et "flamme" → ambigu, on ignore ce mot.

Conclusion

Cette étape de lemmatisation constitue la base de tous les traitements à venir.
Le prochain article portera sans doute sur la création de graphes sémantiques, rendue possible par cette normalisation.


1 commentaire:

  1. Merci pour ces informations intéressantes .👍
    Est-il possible de savoir comment fonctionne l'attribution des points?Particulièrement pourquoi zéro point dans certaines manches ? Quels sont les critères paramétrés?..etc
    😉


    RépondreSupprimer