Indexation lexicale, première approche

Frédéric Weiss (CID, ENS de Lyon)

Dans le domaine de l'analyse textuelle, on trouve les logiciels d'indexation lexicale, c'est-à-dire les logiciels capables de produire la liste des mots d'un texte avec leur fréquence d'apparition. Pour l'étudiant et le chercheur en lettres et sciences humaines, ce sont des outils particulièrement intéressants pour l'étude du vocabulaire d'un texte.

Ce document présente les notions de base à connaître avant de se lancer dans ce type d'indexation. À titre d'illustration, un exemple a été traité à l'aide du logiciel TextStat [1]. Idéal pour une première approche.

 

IntroductionNotion de texte brutLancement de TextStat

Première essai : réglage par défautLecture des résultatsIndex, version 1

Deuxième essai : réglage amélioréRetour à TextStatIndex, version 2

Notions de baseSéparateurs et occurrencesFormes et fréquencesVocabulaire et indexTri d'un index

Troisième essai : texte retouchéRetouche du texte brutRetour à TextStatIndex, version finale

Introduction

Notion de texte brut

On souhaite traiter la nouvelle de Balzac intitulée Le Chef-d'œuvre inconnu. Le texte est accessible en ligne [2]. Il faut le copier-coller dans le bloc-notes de Windows (Notepad) et l'enregistrer au format TXT. Ce format, encore appelé texte brut, évacue toute mise en forme et toute mise en page.

La commande Fichier/Enregister sous du bloc-notes affiche une boîte de dialogue permettant de choisir le jeu de caractères (rubrique Codage ci-dessous) :

Notepad, options d'enregistrement

Il faut choisir l'option ANSI (c'est l'option par défaut) qui correspond en fait au jeu de caractères Windows 1252 [3]. Les autres options reposent sur le jeu de caractères Unicode qui n'est pas toujours accepté par les logiciels d'indexation.

À titre d'illustration, voici le début du texte [4] :

Vers la fin de l'année 1612, par une froide matinée de décembre, un jeune homme dont le vêtement était de très-mince apparence, se promenait devant la porte d'une maison située rue des Grands-Augustins, à Paris. Après avoir assez long-temps marché dans cette rue avec l'irrésolution d'un amant qui n'ose se présenter chez sa première maîtresse, quelque facile qu'elle soit, il finit par franchir le seuil de cette porte, et demanda si maître François PORBUS était en son logis. Sur la réponse affirmative que lui fit une vieille femme occupée à balayer une salle basse, le jeune homme monta lentement les degrés, et s'arrêta de marche en marche, comme quelque courtisan de fraîche date, inquiet de l'accueil que le roi va lui faire. Quand il parvint en haut de la vis, il demeura pendant un moment sur le palier, incertain s'il prendrait le heurtoir grotesque qui ornait la porte de l'atelier où travaillait sans doute le peintre de Henri IV délaissé pour Rubens par Marie de Médicis. Le jeune homme éprouvait cette sensation profonde qui a dû faire vibrer le coeur des grands artistes quand, au fort de la jeunesse et de leur amour pour l'art, ils ont abordé un homme de génie ou quelque chef-d'oeuvre. Il existe dans tous les sentiments humains une fleur primitive, engendrée par un noble enthousiasme qui va toujours faiblissant jusqu'à ce que le bonheur ne soit plus qu'un souvenir et la gloire un mensonge. Parmi ces émotions fragiles, rien ne ressemble à l'amour comme la jeune passion d'un artiste commençant le délicieux supplice de sa destinée de gloire et de malheur, passion pleine d'audace et de timidité, de croyances vagues et de découragements certains. A celui qui léger d'argent, qui adolescent de génie, n'a pas vivement palpité en se présentant devant un maître, il manquera toujours une corde dans le coeur, je ne sais quelle touche de pinceau, un sentiment dans l'oeuvre, une certaine expression de poésie. Si quelques fanfarons bouffis d'eux-mêmes croient trop tôt à l'avenir, ils ne sont gens d'esprit que pour les sots. A ce compte, le jeune inconnu paraissait avoir un vrai mérite, si le talent doit se mesurer sur cette timidité première, sur cette pudeur indéfinissable que les gens promis à la gloire savent perdre dans l'exercice de leur art, comme les jolies femmes perdent la leur dans le manége de la coquetterie. L'habitude du triomphe amoindrit le doute, et la pudeur est un doute peut-être. [...]

Lancement de TextStat

TextStat est conçu pour fonctionner sous le système Windows (les exemples présentés dans ce document ont été réalisés sous Windows XP). Au lancement, on obtient la fenêtre suivante :

TextStat, fenêtre principale

Remarques : Pour basculer en version française, utiliser la commande Langage/Français. Pour recharger les paramètres par défaut, utiliser la commande Fichier/Défauts.

Première essai : réglage par défaut

On se propose d'effectuer un premier traitement avec les paramètres par défaut (cf. illustration précédente). Il suffit de cliquer successivement sur les trois boutons suivants :

TextStat, traitement en trois clics

Ouvre une boîte de dialogue qui permet de sélectionner le texte à traiter.
(Bouton situé au-dessus de la première ligne de saisie.)

Ouvre une boîte de dialogue qui permet de sélectionner le dossier de destination et de nommer le fichier de résultats.
(Bouton situé au-dessus de la deuxième ligne de saisie.)

Lance le traitement.

Lecture des résultats

TextStat génère les résultats dans un fichier, et il les affiche simultanément dans le volet de droite de la fenêtre principale :

TextStat, résultats du traitement

En début de fichier, on trouve des données statistiques rudimentaires, notamment :

Suit la liste des mots du texte avec leur fréquence, c'est-à-dire l'index.

Index, version 1

L'index obtenu avec les paramètres par défaut ressemble à celui-ci (2446 entrées triées dans l'ordre alphabétique) :

Index, version 1 (extrait)

En l'état, il n'est pas satisfaisant : les accents n'ont pas été pris en compte, les mots élidés ont perdu leur apostrophe, les noms propres sont traités comme des noms communs. Ceci entraîne des erreurs importantes : le mot « à » est confondu avec « a », le mot « t' » est confondu avec le « -t- » de liaison, etc.

Deuxième essai : réglage amélioré

Retour à TextStat

À ce stade, on peut améliorer le réglage de TextStat. Les rubriques influant sur la fabrication de l'index sont :

Autres réglages en bref :

Index, version 2

L'index obtenu en prenant en compte les accents ressemble à celui-ci (2481 entrées triées dans l'ordre alphabétique) :

Index, version 2 (extrait)

En l'état, il n'est pas encore satisfaisant, mais on peut régler le cas des mots élidés en agissant sur la notion de séparateur. Quelques éclaircissements s'imposent.

Notions de base

Séparateurs et occurrences

Le découpage automatique d'un texte en mots repose sur les caractères séparateurs. En parcourant le texte dans le sens de la lecture, ce sont bien eux qui permettent de découper la chaîne des caractères en mots. Noter que le terme « mot » est ambigu ; à ce stade du traitement, on parle d'occurrence (ou mot-occurrence).

Le jeu de caractères Windows 1252 contient a priori les séparateurs suivants :

Liste des séparateurs courants

Caractère

Aperçu

Numéro

Espace

32

Point d'exclamation

!

33

Guillemet simple

"

34

Apostrophe

'

39

Parenthèse ouvrante

(

40

Parenthèse fermante

)

41

Virgule

,

44

Trait d'union

-

45

Point

.

46

Deux-points

:

58

Point-virgule

;

59

Point d'interrogation

?

63

Crochet ouvrant

[

91

Crochet fermant

]

93

Guillemet ouvrant

«

171

Guillemet fermant

»

187

Cette liste est suffisante : on a volontairement exclu des caractères comme « < », « @ », « & » ou « $ » (inclus dans la liste d'origine), car ce sont des symboles, et non des séparateurs ; ils peuvent donc légitimement figurer dans un index.

Formes et fréquences

Les occurrences équivalentes sont rangées dans la même entrée d'index, sous une forme commune. Ici aussi, on évite le terme « mot » et on parle de forme (ou mot-forme). L'entrée d'index contient également la fréquence qui n'est autre que le nombre d'occurrences de la forme.

On comprend mieux comment le réglage des paramètres Ignorer les majuscules et Ignorer les lettres accentuées modifie l'index final en changeant les critères d'équivalence entre les occurrences : « Ce » est-il équivalent à ou non à « ce » ? « quitté » à « quitte » ?

Remarque : Une forme de fréquence égale à 1 s'appelle un hapax.

Vocabulaire et index

L'ensemble des formes d'un texte constitue son vocabulaire. L'index est la liste des formes avec leur fréquence.

Tri d'un index

Un index est dit alphabétique s'il est trié par ordre alphabétique, hiérarchique s'il est trié par ordre de fréquence.

Remarque : La manière dont TextStat trie l'index ne repose pas sur l'ordre alphabétique, mais sur l'ordre de numérotation Windows 1252. En conséquence, les mots commençant par une voyelle accentuée se retrouvent en fin de liste, alors que ceux commençant par la même voyelle sans accent sont placés au début.

Troisième essai : texte retouché

Le dernier levier sur lequel on peut agir afin d'améliorer l'index final concerne la liste des séparateurs.

Retouche du texte brut

L'apostrophe est un cas particulier : dans un mot élidé, il sépare, tout en faisant partie du mot (« l' » est plus juste que « l ») ; dans un mot comme « aujourd'hui », il n'est pas séparateur [6]. La solution communément adoptée consiste à ne pas déclarer l'apostrophe comme séparateur et à le remplacer, dans le texte brut, par une séquence « apostrophe espace » sauf dans le mot « aujourd'hui ».

Traitement de l'apostrophe : à effectuer systématiquement.

 

Le trait d'union n'est pas toujours séparateur si l'on souhaite conserver les mots composés (ex. « garde-manger », « sous-entendu »). Si l'on fait ce choix, la solution consiste à ne pas déclarer le trait d'union comme séparateur et à le remplacer par un espace dans les contextes où il est toujours séparateur (ex. « dit-il », « chose-là », « allez-y »).

Traitement du trait d'union : à effectuer au choix.

Remarque : Dans un texte court, il est plus simple de procéder pas à pas en recherchant le trait d'union et en le remplaçant par un espace quand il est séparateur.

On pourrait multiplier les exemples sur l'ambiguïté des séparateurs : par exemple, le point n'est pas séparateur dans une abréviation telle que « M. ». Mais il n'y a pas de solution simple pour y remédier.

 

Voici le début du texte après traitement de l'apostrophe et du trait d'union (on a mis en gras les mots préservés) [8] :

Vers la fin de l' année 1612, par une froide matinée de décembre, un jeune homme dont le vêtement était de très mince apparence, se promenait devant la porte d' une maison située rue des Grands-Augustins, à Paris. Après avoir assez long-temps marché dans cette rue avec l' irrésolution d' un amant qui n' ose se présenter chez sa première maîtresse, quelque facile qu' elle soit, il finit par franchir le seuil de cette porte, et demanda si maître François PORBUS était en son logis. Sur la réponse affirmative que lui fit une vieille femme occupée à balayer une salle basse, le jeune homme monta lentement les degrés, et s' arrêta de marche en marche, comme quelque courtisan de fraîche date, inquiet de l' accueil que le roi va lui faire. Quand il parvint en haut de la vis, il demeura pendant un moment sur le palier, incertain s' il prendrait le heurtoir grotesque qui ornait la porte de l' atelier où travaillait sans doute le peintre de Henri IV délaissé pour Rubens par Marie de Médicis. Le jeune homme éprouvait cette sensation profonde qui a dû faire vibrer le coeur des grands artistes quand, au fort de la jeunesse et de leur amour pour l' art, ils ont abordé un homme de génie ou quelque chef-d'oeuvre. Il existe dans tous les sentiments humains une fleur primitive, engendrée par un noble enthousiasme qui va toujours faiblissant jusqu' à ce que le bonheur ne soit plus qu' un souvenir et la gloire un mensonge. Parmi ces émotions fragiles, rien ne ressemble à l' amour comme la jeune passion d' un artiste commençant le délicieux supplice de sa destinée de gloire et de malheur, passion pleine d' audace et de timidité, de croyances vagues et de découragements certains. A celui qui léger d' argent, qui adolescent de génie, n' a pas vivement palpité en se présentant devant un maître, il manquera toujours une corde dans le coeur, je ne sais quelle touche de pinceau, un sentiment dans l' oeuvre, une certaine expression de poésie. Si quelques fanfarons bouffis d' eux mêmes croient trop tôt à l' avenir, ils ne sont gens d' esprit que pour les sots. A ce compte, le jeune inconnu paraissait avoir un vrai mérite, si le talent doit se mesurer sur cette timidité première, sur cette pudeur indéfinissable que les gens promis à la gloire savent perdre dans l' exercice de leur art, comme les jolies femmes perdent la leur dans le manége de la coquetterie. L' habitude du triomphe amoindrit le doute, et la pudeur est un doute peut-être. [...]

C'est donc l'espace qui joue alors le rôle de séparateur à la place de l'apostrophe et du trait d'union.

Retour à TextStat

On relance TextStat avec les paramètres suivants :

TextStat, paramétrage final

Ignorer les majuscules

Oui

Ignorer les lettres accentuées

Non

Liste des séparateurs de mots

Remplacer la liste d'origine par les caractères suivants :
espace ! " ( ) , . : ; ? [ ] « »

L'apostrophe a été définitivement évacuée de la liste des séparateurs. Le trait d'union est évacué temporairement pour conserver les mots composés.

Remarque : Pour taper certains séparateurs dans la zone de saisie, appuyer sur la touche Alt et taper leur numéro Windows 1252 précédé de zéro. Ci-dessus, "«" s'insère en tapant Alt+0171 et "»" en tapant Alt+0187.

Index, version finale

L'index final (ci-dessous, trié dans l'ordre alphabétique) contient 2488 formes et représente 10168 occurrences :

1612 – bizarre

bizarrerie – couleurs

coup – elle

elles – fort

forte – lansquenet

laquelle – nuit

o – pourrait

poursuivez – ridée

rien – telles

témoignait – yeux

TextStat présente l'index de manière tabulée : chaque ligne contient une forme, un caractère de tabulation et la fréquence de la forme. Il est donc très facile de copier-coller l'index dans un tableur comme Excel afin de le trier convenablement. Ci-dessous, un extrait de l'index trié dans l'ordre hiérarchique décroissant :

Index hiérarchique (extrait)


[1] C'est un logiciel très simple, réalisé par Lionel Allorge, gratuit et téléchargeable sur le site web Lune Rouge, à l'adresse [http://www.lunerouge.org/spip/article.php3?id_article=364].

[2] Site web Balzac. La Comédie humaine. Édition critique en ligne [http://www.v2asp.paris.fr/musees/balzac/furne/presentation.htm]. Textes au format HTML et encodés en UTF-8.

[3] Une vue d'ensemble des caractères Windows 1252 est disponible sur le site web de Microsoft, à l'adresse [http://www.microsoft.com/globaldev/reference/sbcs/1252.mspx].

[4] On a débarrassé le texte des indications métatextuelles : deux titres de chapitre, des numéros de page, une légende d'illustration (entre crochets). Cinq mots avec césure (de fin de page) ont été recollés.

[5] La prise en charge du format HTML n'est pas totalement satisfaisante, car les entités de caractères (par exemple, « &Eacute; » mise pour « É ») ne sont pas reconnues.

[6] Il existe d'autres exceptions : « presqu'île », « prud'homme », …

[7] On obtient une liste de taille raisonnable.

[8] Le traitement effectué sur l'apostrophe a préservé les mots : « chef-d'oeuvre », « chefs-d'oeuvre » et « c'est-à-dire » (le mot « aujoud'hui » n'apparaît pas). Quant au trait d'union, on l'a écrasé dans les contextes attendus (« eux-mêmes », « voyait-on », « celui-ci », etc.), dans les contextes tels que « très-mince » et « demi-teintes » et quand il sert de tiret (« -- »).