Cours classification automatique de textes, tutoriel & guide de travaux pratiques en pdf.
Pourquoi automatiser la classification ?
On assiste aujourd’hui à un accroissement de la quantité d’information textuelle disponible et accessible d’une manière exponentielle. D’après les derniers chiffres, on parle de plus de 200 millions de serveurs hôtes sur Internet et plus de 3 milliards de pages, la taille des corpus tests utilisés est passée de quelques mégaoctets à plusieurs Gigaoctets.
Dans les années 1996-1997, Reuters a produit un peu plus de 800 000 nouvelles en anglais par année. Si l’on ajoute aux articles écrits par les journalistes de l’agence ceux provenant d’autres sources, on arrive à un total de 5.5 millions de textes anglais par année à catégoriser.
À un moment, l’organisation employait 90 personnes dédiées à l’étiquetage de ces documents. Il serait à coup sûr très intéressant de pouvoir déterminer avec précision le coût de classification. De combien de temps a besoin un humain pour associer un texte à une catégorie ? En pratique, il s’agit d’une question difficile à répondre. Assurément, plusieurs variables influencent le phénomène et les lignes qui suivent porteront sur certaines d’entre elles.
Certainement une grande partie du temps consommé pour classer un document est employé dans sa lecture, puis éventuellement à sa relecture. On peut aussi imaginer que la longueur des textes à classer est assez déterminante du temps qui va être requis pour cette opération, et sans doute, d’une personne à une autre, la vitesse de lecture varie. Une fois cette étape achevée, il faut trancher à quelle(s) catégorie(s) ce texte appartient. Au temps de réflexion exigé s’ajoute, certainement, le temps de se référer à la description des classes et éventuellement de consulter d’autres textes préalablement associés à certaines classes, pour valider la décision. D’autres facteurs interviennent également comme, comme par exemple le nombre de classes qui peut faire la différence : plus il y a de classes différentes, autrement dit plus il y a d’étiquettes possibles pour un texte donné, plus il est difficile de faire un choix parmi celles-ci. Aussi, plus la sémantique des catégories est précise, fine, détaillée, plus il faut faire attention avant d’y associer un document. À cet égard, classer des documents appartenant soit à la catégorie «informatique» soit à la catégorie «mathématiques» est vraisemblablement plus aisée que celle de classer des documents appartenant à l’une ou l’autre des catégories «Intelligence artificielle» , «Génie logiciel» et «Système d’information» .
En conséquence, nous pouvons résumer les contraintes majeures qui s’opposent au traitement manuel de classification des documents textuels dans les trois points suivants :
• La réalisation manuelle de cette tâche par un expert est extrêmement coûteuse en terme de temps et personnel car il s’agit de lire attentivement chaque texte, au vu de la quantité phénoménale de textes aujourd’hui accessibles (par le biais du réseau Internet en particulier) (Moulinier, 1996), (Sebastiani, 2002)
• Les traitements manuels sont peu flexibles et leur généralisation à d’autres domaines est quasi impossible; c’est pourquoi on cherche à mettre au point des méthodes automatiques (Moulinier 1996), (Sebastiani 2002)
• Cette opération peut être perçue comme subjective puisque basée sur l’interprétation du document, deux experts peuvent classer différemment un même document, ou encore un même expert peut classer différemment un même document soumis à deux instants différents (Clech & Zighed, 2004), (Clech, 2004)
Ainsi l’intérêt de la recherche d’automatisation de la classification de textes n’est plus à démontrer, et c’est dans cette perspective que plusieurs travaux de recherche se concentrent ces dernières années.
Historique de la Catégorisation de textes
C’est une discipline assez ancienne, en 1627, Gabriel Naudé propose un classement selon cinq grands thèmes : théologie, jurisprudence, histoire, sciences et arts, belles lettres. Le désir de maîtriser l’Univers se fait sentir dans la multiplication des encyclopédies. L’encyclopédie de Diderot (parue entre 1751 et 1772) est organisée selon l’ordre alphabétique avec des renvois associatifs alors que celle de Panckoucke (parue de 1776 à 1780) suit une organisation méthodique selon un ordre arborescent (Fayet & Scribe, 1997).
Le système de classification par thème, apparu dès les débuts de l’écriture et institutionnalisé à Alexandrie conduisit à la création par Dewey, en 1876, d’un système de classification « universel ». Il s’agit d’une classification documentaire de type encyclopédique.
Toutefois l’idée d’effectuer la classification de textes par des machines remonte au début des années 60 et qui a connu des progrès considérables à partir des années 90 avec l’apparition d’algorithmes beaucoup plus performants qu’auparavant.
Jusqu’au début des années 80, pour construire un classifieur, il fallait consacrer d’importantes ressources humaines à cette tâche. Plusieurs experts éditaient des règles manuellement puis les affinaient au fur et à mesure des tests. L’avènement des de l’AA s’est donc traduit par un gain de temps conséquent. Il n’est plus nécessaire par exemple de reconfigurer tout le système en cas de changement d’arborescence.
Ces évolutions technologiques et algorithmes avancées font aujourd’hui de la catégorisation un outil fiable.
Au début des années 90, les travaux proviennent essentiellement de la communauté de Recherche d’Information (RI). En effet, les méthodes de numérisation, les algorithmes de classification et les méthodologies de test ont été adaptés à la CT en particulier au cours des conférences TREC (Text REtrieval Conference. http://trec.nist.gov).
La communauté d’Apprentissage Automatique (AA) s’est intéressée elle aussi à ce problème il y a une dizaine d’années en le considérant comme domaine d’application à ces algorithmes de reconnaissance des formes. Actuellement, les méthodes de numérisation de texte restent largement inspirées de la RI alors que les classifieurs les plus performants sont issus de l’AA. Une autre communauté composée essentiellement de statisticiens et de linguistes, traite également le problème de la CT en s’appuyant sur les méthodes d’analyse de données. Le but ici n’est pas de créer un système qui classe automatiquement des documents sans intervention humaine mais d’extraire des informations synthétiques du corpus. Les problématiques traitées ici sont par exemple l’étude des genres littéraires ou la détermination de l’auteur d’un texte.
Les systèmes de classification et vocabulaire utilisé
L’objectif de la CT est de classer de façon automatique les documents dans des catégories qui ont été définies soit préalablement par un expert, il s’agit alors de classification supervisée ou catégorisation, soit de façon automatique, il s’agit alors de classification non supervisée ou encore clustering.
Classification, catégorisation ou encore clustering ? C’est des termes qu’on peut rencontrer dans la littérature puisque la CT provient de plusieurs domaines scientifiques différents qui n’utilisent pas toujours le même vocabulaire pour la dénomination des différentes tâches.
Les deux termes « Classification », « Catégorisation » ont des histoires et des origines très différentes. La confusion entre ces deux termes persiste depuis le temps, dans le langage courant voire philosophique. La première définition de la classification apparaît pour la première fois dans la cinquième édition du dictionnaire de l’académie française en 1798
« Distribution en classes et suivant un certain ordre ». Le mot « Catégorisation » n’existait pas dans le dictionnaire français, contrairement au mot « catégorie », quoiqu’il puisse être défini comme étant l’action de créer des catégories ou le résultat de cette action. Ce terme vient du grec « katêgoria : qualité attribuée à un objet ». Les catégories sont définies par Aristote comme étant « les espèces les plus générales de ce qui est signifié par un mot simple ». Il rassemble dans un même groupe des éléments proches et recense dix catégories différemment à certains pythagoriciens qui voulaient opposer toutes les espèces deux à deux : masculin et féminin, pair et impair, fini et infini, statique et dynamique, etc.…
Comme tenu de l’historique de ces deux termes et leur contexte d’utilisation actuelle, nous allons essayer de distinguer entre les différentes variantes de classification de textes et le vocabulaire utilisé dans la section suivante.
Catégorisation (Supervisé)
Ainsi, la catégorisation de textes correspond à la procédure d’affectation d’une ou de plusieurs catégories ou classes prédéfinies à un texte. Elle correspond à la classification supervisée pour l’apprentissage automatique et à la discrimination en statistiques alors que la recherche d’informations utilise des termes plus proches de l’application concernée : filtrage ou routage.
Cette problématique a par ailleurs dernièrement trouvé de nouvelles applications dans les domaines du traitement du langage tels que : l’affectation de sujets en recherche d’information, l’aide de l’utilisateur pour l’indexation de documents (Hayes & Weinstein, 1990), la veille technologique, le filtrage personnalisé des documents intéressant un internaute connaissant ses préférences de sujets (catégories) (Lang, 1995), le routage de textes (tels que le courrier) et l’amélioration de la recherche sur le web (Armstrong & all, 1995), et enfin l’organisation des sources textuelles de plus en plus nombreuses, en particulier des pages web. Aujourd’hui, cette problématique utilise largement des méthodes issues de l’apprentissage automatique et beaucoup d’algorithmes d’apprentissage supervisé lui ont été appliqués (Naïve bayes, K-plus proches voisins, arbres de décision, machines à vecteurs support, réseaux de neurones, etc…)
Clustering (Non supervisé)
Toutefois quand l’ensemble des catégories n’est pas donné au départ, et qu’il s’agit de le créer en regroupant les textes en classes qui possèdent un certain degré de cohérence interne, on est dans un contexte de classification non supervisée pour l’apprentissage automatique.
La classification non supervisée consiste à trouver de manière automatique une organisation cohérente à un groupe de documents homogènes pour construire des regroupements cohérents (des classes ou clusters), elle correspond en statistiques au clustering, qui est également le terme utilisé en recherche d’informations.
Le clustering consiste donc, à diviser les objets (dans notre cas des textes) en groupes sans connaître à priori leurs classes d’appartenance.
Les techniques pour réaliser de tels regroupements constituent un domaine d’étude très riche, qui a donné lieu à de multiples propositions dont le recensement n’est pas l’objet de ce document.
¬ Dans ce qui suit notre travail va être concentré sur la catégorisation de textes (la classification supervisée).
Définition de la Catégorisation de textes
Dans sa forme la plus simple, la catégorisation de documents consiste à assigner à un texte une ou plusieurs étiquettes permettant d’indexer le document dans un ensemble prédéfini de catégories, Originellement conçue pour assister le classement documentaire d’ouvrages ou d’articles dans des domaines techniques ou scientifiques.
La Catégorisation de Textes (C.T) est le processus qui consiste à assigner une ou plusieurs catégories parmi une liste prédéfinie à un document. L’objectif du processus est d’être capable d’effectuer automatiquement les classes d’un ensemble de nouveaux textes.
La catégorisation de documents consiste à apprendre, à partir d’exemples caractérisant des classes thématiques, un ensemble de descripteurs discriminants pour permettre de ranger un document donné dans la (ou les) classe(s) correspondant à son contenu (Brown & Chong, 1998).
Principalement, les algorithmes de catégorisation s’appuient sur des méthodes d’apprentissage qui, à partir d’un corpus d’apprentissage, permettent de catégoriser de nouveaux textes. Ce type de méthodes sont dites inductives car elles induisent de la connaissance à partir des données en entrée (les textes) et des sorties (leurs classes).
Les divers travaux dans le domaine cherchent à trouver un algorithme permettant d’assigner un texte à une classe avec le plus grand taux de réussite possible sans toutefois assigner un texte à trop de classes. Dans un tel contexte, une mesure de similarité textuelle permet d’identifier la ou les catégories les plus proches du document à classer. Si cette notion de similarité sémantique est un processus souvent intuitif pour l’homme, elle résulte d’un processus complexe et encore mal compris du cerveau.
Le problème de la catégorisation peut se résumer en une formalisation de la notion de similarité textuelle, soit en d’autres termes à trouver un modèle mathématique capable de représenter la fonction de décision d’appartenance des textes aux catégories.
Nous considérons un ensemble de classes C = {ci} et un ensemble de documents D = {dj} . Un système de classification associe automatiquement à chaque document un ensemble de classes (0,1 ou plusieurs). Le problème de la classification a été formalisé de plusieurs manières, nous vous proposons la formalisation de Sebastiani (Sebastiani, 1999) reprise par Yang (Yang, 1999)
Deux fonctions sont définies :
• Une fonction de décision qui associe à chaque document un ensemble de classes
• Une fonction cible qui nous renseigne sur l’appartenance exacte d’un document à un ensemble de classes.
La fonction de décision est une estimation de la fonction cible qu’on ignore. Plus cette estimation est correcte, plus le système de classification est performant.
La fonction de décision et la fonction cible attribuent à chaque couple (dj ,ci )∈ D X C une valeur booléenne pour indiquer si le document dj appartient ou non à la classe ci .
La fonction de décision sera définie de la manière suivante :
D : D X C { vrai, faux } , D(d,c) = Vrai si d est associé à la classe c sinon D(d,c) = Faux
La fonction cible sera définie de la manière suivante :
C : D X C { vrai, faux } , C(d,c) = Vrai si d est associé à la classe c sinon C(d,c) = Faux
Dans les systèmes de classification basés sur des méthodes d’apprentissage, la fonction de décision sera évaluée à l’aide d’un corpus d’entraînement. Cette fonction peut faire intervenir un grand nombre de valeurs numériques qu’un humain ne peut pas saisir. La détermination de cette fonction est appelée phase d’apprentissage, tandis que l’utilisation de cette fonction pour attribuer une catégorie à un document se fera pendant la phase de test.
La notion de classe pour les systèmes de classification
La notion de classe pour un système de classification a été habituellement synonyme de « thème ». Dans ce contexte, classer les documents revient à les organiser par différentes thématiques. (Par exemple : Earn, Ship, Trade, correspondent à des thèmes dans le corpus Reuters). Cependant, la problématique de classification a évolué en même temps que les besoins et elle s’intéresse aujourd’hui à différentes tâches pour lesquelles les catégories ne sont pas interprétables comme des thèmes : ainsi, par exemple, les tâches consistant à classer les documents par auteur, par genre, par style, par langue, ou encore selon que le document exprime un jugement positif ou négatif, etc.. Ainsi la classe va correspondre à un besoin d’information d’un utilisateur ou d’une société et n’est donc pas obligatoirement un thème unique. Nous considérerons dans la suite qu’une classe est simplement une étiquette à associer à des documents.
Dans la figure 1.1, un système de classification d’emails est représenté où les classes peuvent être de différentes natures (thèmes, messages provenant de certaines personnes, messages d’un certain type, etc…)