24/01/20051 Fouille de données dans les corpus de textes Classification Michèle Jardino Groupe Langues, Information et Représentations
24/01/20052 Plan Quelques définitions Classification supervisée, classes étiquetées Classification automatique non supervisée de documents (textes), classes non étiquetées Méthodes indépendantes du type des données Représentation vectorielle des documents Mesures de similarité entre documents, notion de distances Classification hiérarchique Partition de documents, algorithme K-moyennes
24/01/20053 Définitions I Classification –Action de distribuer par classes, par catégories –Résultat de cette action Classe –ensemble d’individus ou d’objets qui ont des caractères communs Classer –Diviser et répartir en classes Classifier –Répartir selon une classification
24/01/20054 Définitions II Le terme classification est ambigu ; ne sépare pas –l’action de création de classes ~= classer –l’action d’affectation à une classe = classifier Dans ce cours : classification = création de classes –Grouper, agglomérer, partitionner, diviser En anglais : un terme non ambigu –A clustering = a cluster = un regroupement –« A grouping of a number of similar things » –To cluster
24/01/20055 Classification / Clustering Classification: Apprentissage supervisé : Apprendre une méthode pour prédire la classe d'un élément à partir d'éléments déjà classés
24/01/20056 Clustering Apprentissage non supervisé Trouver les classes naturelles (implicites) pour rassembler des données non étiquetées
24/01/20057 Définitions III Taxinomie, taxonomie –Étude théorique des bases, lois, règle, principes d’une classification Classification des plantes, animaux, microbes, science fondatrice de la biologie Livre : « L’analyse des données, La taxinomie », J.B. Benzécri, 1973, Dunod Taxinomie des syntagmes !!! Catégorisation (plus spécifique que classe) –Classement par catégories, notamment en linguistique, en psychologie sociale
24/01/20058 Classification supervisée: classes des documents articles scientifiques à regrouper en paquets homogènes –thème général (mathématique, physique, littérature …) –date de publication, nom des auteurs –Ceux qui traitent à la fois d’informatique et de biologie –Ceux qui se ressemblent selon un certain critère –Des critères précis aux critères vagues
24/01/20059 Qui classe? –Du travail de documentaliste, supervisée, qui crée des classes de documents, avec des critères humains, classes avec des étiquettes –Au travail automatique réalisé par une machine, qui répartit des documents en classes selon des critères logiques et/ou mathématiques, à partir d'un classement initial
24/01/ Création de classes de documents De manière supervisée : –classes étiquetées préalablement (sports et loisirs, art et culture…) –classement par des humains (coûteux) –Google : évaluateurs volontaires ODP (Open Directory Project)
24/01/ Genre des Classes Classes à plat ou hiérarchisées Exemple Google : –16 classes à plat (sujets), chacune ayant des classes secondaires (catégories)
Le Web présenté par sujets et par catégories Achats GastronomieAchats Gastronomie, Habillement, Musique,...HabillementMusique Actualité A la UneActualité A la Une, Presse, Télévision,...PresseTélévision Arts CinémaArts Cinéma, Littérature, Musique,...LittératureMusique Commerce et économie EmploiCommerce et économie Emploi, Immobilier,...Immobilier Formation Formation professionnelleFormation Formation professionnelle, Universités,...Universités Informatique OrdinateursInformatique Ordinateurs, Logiciels,...Logiciels Internet ActualitésInternet Actualités, Recherche,...Recherche Jeux Jeux de rôleJeux Jeux de rôle, Jeux vidéo,...Jeux vidéo Loisirs CollectionsLoisirs Collections, Humour, Tourisme,...HumourTourisme Maison BricolageMaison Bricolage, Décoration, Jardin,...DécorationJardin Références BibliothèquesRéférences Bibliothèques, Langues,...Langues Régional FranceRégional France, Amérique, Europe,...AmériqueEurope Santé MaladiesSanté Maladies, Médecine,...Médecine Sciences AstronomieSciences Astronomie, Sciences humaines,...Sciences humaines Société AssociationsSociété Associations, Institutions, Religion,...InstitutionsReligion Sports AutomobileSports Automobile, Football, Rugby,...FootballRugby Catégorie apparentée : Kids and Teens > International > Français (2736)Kids and Teens > International > Français Apportez votre contribution au répertoire le plus complet du Web (avec évaluateurs « humains » !). Proposer un siteProposer un site - Open Directory Project - Devenir évaluateur de siteOpen Directory ProjectDevenir évaluateur de site
24/01/ Arts Catégories Actualité et médias (24) Architecture (109) Artistes (87) Arts appliqués (228) Arts du spectacle (521) Arts plastiques (1674) Associations (7) Audiovisuel (3819) Bande dessinée (887) Enseignement et formation (21) Festivals (19) Genres (31) Histoire de l'art (51) Littérature (3086) Musique (3518) Numérique (58) Pages personnelles (28) Portails (16) Régional (28) Répertoires (21)
24/01/ Une hiérarchie de classes supervisées de Google
24/01/ Classes: séparées / superposées Représentation 2-D simple Pas de chevauchement Diagramme de Venn Chevauchement a k j i h g f e d c b
24/01/ Problèmes de la classification supervisée Classification supervisée nécessite beaucoup de moyens humains Quand le nombre de documents augmente, la classification initiale est à revoir: –Création de nouvelles classes –Changement des critères de choix Classifications peu cohérentes
24/01/ Classification non supervisée « clustering » –Classification automatique (programme informatique) –Faire émerger des classes latentes (cachées), non étiquetées –Classes isolées les unes des autres partition du corpus de documents classes disjointes par opposition classes superposées –2 types d’organisation des classes à plat : choix du nombre de classes en hiérarchie = arbre de classes, classification ascendante ou descendante
24/01/ Quelques références Une partie du cours de Marti Hearst, Berkeley : "Using Very Large Corpora / Spelling Correction / Clustering" R (The R Project for Statistical Computing) : http :// Livres : –Celeux G., Diday E., Govaert G., Lechevallier Y., Ralambondrainy H. (1989). Classification automatique des données. Dunod. –Duda R.O. and Hart P.E. (1973). Pattern classification and Scene Analysis. Wiley & sons. –Kaufman L., Rousseeuw P.J.(1990). Finding groups in data.Wiley & sons. –Lebart L., Morineau A., Piron M. (1995). Statistique exploratoire multidimensionnelle. Dunod.
24/01/ Outils du « clustering » Représentation vectorielle –1 document = 1 vecteur –Distances et similarités entre vecteurs –1 classe de document = 1 vecteur Logiciel –Classification hiérarchique –Classification à plat : algorithme des k- moyennes
24/01/ Evaluation du "clustering" Manuelle Comparaison avec des classes étiquetées Mesures de qualité –distances –grandes similarités entre éléments d'une même classe et faibles similarités entre éléments de classes différentes
24/01/ Représentation vectorielle des documents On a perdu la séquentialité des mots Chaque texte est devenu un sac de mots Les composantes d’un vecteur texte, T j –f 1 Tj,f 2 Tj, …,f V Tj –fréquences des mots dans le document T j –Si le document contient n mots différents (n<=V), il y a n composantes non nulles et V-n composantes nulles Poids d’un document –Nombre de mots du document, N (N>=n) Plus simplement : représentation binaire : présence du mot (1) ou absence du mot (0) (cf indice de Jaccard)
24/01/ Distances géométriques entre vecteurs Distances entre vecteurs T j et T r dans espace multi-dimensionnel –Distance euclidienne D(T j,T r ) = i (f i Tj –f i Tr ) 2 –Distance de Manhattan (City-block ) D(T j,T r )= i |f i Tj –f i Tr | –i varie de 1 à V (taille du vocabulaire)
24/01/ Représentation d’une classe de textes I 1 classe de textes= 1 ensemble de textes Que choisir (automatiquement) comme texte(s) représentatif de la classe, –le plus long –celui qui contient le plus de mots très fréquents –plusieurs textes de la classe –1 texte créé, représentant moyen de la classe : Moyenne simple : 1 texte qui contiendra tous les mots des documents de la classe Barycentre : 1 texte qui en plus pondérera ces mots selon le poids de chaque texte
24/01/ Représentation d’une classe de textes II Choix dépend essentiellement de la taille du corpus à traiter Méthode du barycentre permet de gérer rapidement de très grands corpus, théorème de Huygens : il suffit de maximiser pour chaque classe la somme des écarts entre ses textes et son centre de gravité des classes Complexité de l’algorithme se réduit à K*V, K est le nombre de classes et V le nombre de mots
24/01/ Classification automatique Classification hiérarchique de bas en haut –Agglomérations successives Classification hiérarchique de haut en bas –Divisions successives Classification à plat –Partition
24/01/ Exemple de classification hiérarchique phrasettes
24/01/ Classification hiérarchique De bas en haut –Initialisation : 1 élément par classe –A chaque étape, on fusionne les deux classes les plus proches –Choix du critère : distance entre classes Distance entre les deux éléments les plus proches ou distances entre moyennes De haut en bas –Initialisation : 1 classe qui regroupe tous les éléments –Séparation en deux classes –Procéder récursivement sur chaque sous-ensemble –Peut être très rapide Les deux méthodes produisent un dendrogramme
24/01/ Etape 0 b d c e a a b Etape 1 Etape 2 d e Etape 3 c d e Etape 4 a b c d e fusion Etape 4 Etape 3 Etape 2Etape 1Etape 0 division Classification hiérarchique : Exemple
24/01/ Classification hiérarchique de bas en haut Principe –Regroupe les textes semblables au fur et à mesure –Utilise la matrice des distances entre documents, matrice de dimension T 2 Algorithme d’agglomération progressive –Choisir un texte, chercher le texte le plus proche (T comparaisons) –Rassembler les deux textes les plus proches –Ensuite réitérer Soit en regroupant le nouveau texte avec un texte non classé Soit en regroupant le nouveau texte avec une classe déjà formée
24/01/ Lien simple
24/01/ Lien complet
24/01/ Lien moyen
24/01/ En résumé : classification hiérarchique de bas en haut –Applications à la recherche d’informations Classification des documents retournés par un moteur de recherche –Dépend ordre classification –Nombre de classes connu en fin de processus, dépend du seuil fixé –Tous les textes ne sont pas classés
24/01/ En résumé : classification hiérarchique de haut en bas Comment faire le partage? –Dichotomies –Trichotomies –…. Pas optimal
24/01/200535
24/01/ Classification non-supervisée : K-moyennes, nuées dynamiques (1) Partition des textes en K classes séparées, le nombre K est choisi à l’avance Point représentatif de chaque classe: –barycentre des classes, qui change pendant la recherche de la meilleure partition, texte virtuel Algorithme –Choix d’une partition initiale en K classes –Recherche systématique pour chaque texte de la meilleure classe, calcul distance du texte au barycentre –Mise à jour des barycentres de la classe émettrice et de la classe réceptrice
24/01/ "Clustering" simple: K-moyennes Uniquement sur des données numériques : 1- Choisir au hasard le centre de chacune des K classes 2- Affecter chaque élément à la classe dont le centre lui est le plus proche (en utilisant par exemple une distance euclidienne) 3- déplacer chaque centre vers la moyenne des éléments de la classe 4- répéterde 2 à 3 jusqu'à convergence
24/01/ exemple K-moyennes, étape 1 k1k1 k2k2 k3k3 X Y Choisir 3 centres de classes (au hasard)
24/01/ exemple K-moyennes, étape 2 k1k1 k2k2 k3k3 X Y Affecter chaque point à la classe dont le centre est le plus proche
24/01/ exemple K-moyennes, étape 3 X Y Déplacer chaque centre de classe vers la moyenne de chaque classe k1k1 k2k2 k2k2 k1k1 k3k3 k3k3
24/01/ exemple K-moyennes, étape 4 X Y Réaffecter les points qui sont plus proches du centre d'une autre classe Q : Quels sont les points qui changent de classe? k1k1 k2k2 k3k3
24/01/ exemple K-moyennes, étape 4 … X Y R : les trois points qui changent de classe k1k1 k3k3 k2k2
24/01/ exemple K-moyennes, étape 4b X Y Re-calculer les moyennes des classes k1k1 k3k3 k2k2
24/01/ exemple K-moyennes, étape 5 X Y Déplacer les centres des classes vers les moyennes k2k2 k1k1 k3k3
24/01/ Discussion Résultats peuvent varier beaucoup selon le choix initial des centres de classes Piéger dans un minimum local –Exemple: Pour accroître les chances de trouver un minimum global –Essayer plusieurs conditions initiales –Recuit simulé éléments centres de classe initiaux
24/01/ K-moyennes, en bref Avantages Simple, compréhensible Éléments affectés automatiquement aux classes Désavantages Nombre de classes fixé à l'avance Chaque élément doit être dans une classe Très sensible aux éléments marginaux (intérêt d'une normalisation)
24/01/ Classification non-supervisée : K-moyennes, nuées dynamiques (2) Algorithme usuel –utilisé avec distance euclidienne pondérée –coûteux en temps de calcul Version améliorée : –Utilisation distance de Kullback-Leibler, critère à minimiser : K, Tj D KL (K, T j ) = K H(K) - Tj H(T j ) = somme des distances de Kullback Leibler entre tous les centres de gravité des classes et les textes qui les composent –Recherche aléatoire d’une meilleure classe et non pas de la meilleure classe à chaque itération
24/01/ Distance entre distributions de vecteurs Soit une classe C constituée de vecteurs T j et représentée par son centre de gravité K Distance (divergence) de Kullback-Leibler entre le vecteur K et un des vecteur T j de la classe est : D KL (K, T j ) = H(K) - H(T j ) = - i f(m i,K)*log[f(m i,K)/f(K)]/N + i f(m i,T j )*log[f(m i,T j /f(T j )]/N avec : f(m i,K) = Tj C f(m i,T j ) = fréquence du mot m i dans la classe C f(K) = Tj C f(T j ) = i,Tj C f(m i,T j ) = fréquence de tous les mots de la classe C N = K f(K) = Tj f(T j ) = i,Tj f(m i T j ) = fréquence de tous les mots des textes H(K) et H(T j ) sont les entropies des vecteurs K et T j
24/01/ Critère de classification des nuées dynamiques Critère à minimiser : –∑ K, Tj D KL (K, T j ) = K H(K) - Tj H(T j ) = somme des distances de Kullback Leibler entre tous les centres de gravité des classes et les textes qui les composent Critère adapté à modélisation probabiliste (Bayésien naïf) –Hypothèse sac de mots –Vraisemblance des données = produit des probabilités des mots du textes i p(m i |T j ) f(mi,Tj) = i [ f(m i,T j ) /N ] f(mi,Tj) N nombre de mots du texte T j = valeur moyenne géométrique de p(T j |mots) –Lien avec l’entropie 1/ N Log( mj p(|m i |T j ) f(mi,Tj) ) = - H(T j )
24/01/200550
24/01/ x z y pypy P pzpz pxpx p x + p y + p z =1 Projection 3D des textes
24/01/200552
24/01/ Pour résumer Utiliser le "clustering" pour essayer de trouver des classes cohérentes dans les données Rechercher le nombre de classes optimal Etudier les classes obtenues : –Eléments centraux –Traits discriminants pour induire une typologie voire un étiquetage des classes obtenues