Accueil  / Semaine 6 / Troncature et lemmatisation

Troncature et lemmatisation

Antidictionnaire

Les termes naturellement fréquents tels que les articles (le, la, les), les propositions, les verbes fréquents (avoir, être) et les adverbes sont souvent explicitement omis. On forme alors ce qu’on appelle un antidictionnaire, c’est-à-dire une liste de termes qui sont toujours omis.

La troncature

Si je fais une requête du type « chats ET chien » et qu’un document contient les mots chat et chien, il faut que le moteur de recherche puisse reconnaître que chat et chats sont en fait le même mot. Pour y arriver, les moteurs tronquent les mots. On tronque les mots pour éviter les variantes orthographiques qui se présentent souvent en fin du mot (comme clef et clé), mais on peut aussi tronquer pour éviter des variantes qui se présentent au milieu du mot comme Ste-Madeleine et Sainte-Madeleine. Dans notre exemple, le mot chats deviendra chat : il est fréquent de biffer le « s » final des mots en recherche d’informations.

Omettre la troncature peut constituer une erreur grave. Par exemple, si un expert a déclaré « ondelette » dans son champ d’expertise, on souhaiterait qu’un journaliste qui fasse une recherche avec « ondelettes » puisse trouver notre expert ! Le problème est d’autant plus grave avec un modèle simple comme le modèle booléen.

Voici d’autres exemples de troncature :

mot troncature
continuait continu
contour contour
contournait contourn
contournant contourn
majesté majest
majestueuse majestu
majestueusement majestu

En langue anglaise, l’algorithme de troncature le plus célèbre a été écrit par Martin Porter en 1979 [1]. Depuis, Martin Porter travaille sur le projet Snowball dans lequel on créé et rend disponibles des algorithmes et des programmes de troncature pour le danois, l’allemand, le russe, l’italien, l’espagnol, le français, etc. Comme le logiciel en question est disponible sous la licence BSD, vous pouvez tirer profit des implémentations en langage Java et C.

La lemmatisation

On peut aller plus loin que la troncature et chercher le « lemme » des mots. En somme, on débarrasse les mots de leur genre, leur nombre, leur personne (toi, moi, etc.), leur mode (impératif, indicatif, etc.). On transformera donc tous les verbes à l’infinitif et les mots au masculin singulier. Pour y arriver, il faut déterminer le mode, le genre, etc., des mots, trouver les verbes et les autres catégories de mots, ce qui exige une connaissance de la grammaire. La lemmatisation est donc beaucoup plus complexe que la troncature. Il n’est pas certain que la lemmatisation soit toujours requise : la troncature, bien que moins efficace, peut suffire.

Partie du discours

On peut aussi utiliser la détection automatique des parties du discours (part-of-speech ou POS en anglais) pour améliorer la précision de la recherche. Les parties du discours comprennent le nom commun, le nom propre, l’adjectif qualificatif, le déterminant, le pronom, le verbe, l’adverbe, la préposition, etc. Ainsi une recherche avec le mot-clef Pierre pourra cibler soit les noms propres (le prénom Pierre) ou les noms communs (une pierre). L’analyse des parties du discours est importante lorsque l’on traite des documents multilingues.


[1Martin Porter travaille depuis 2002 pour une compagnie nommée LemurConsulting.