Introduction générale

publicité
Table des matières
Table des matières
Introduction générale............................................................................................................................. 1
1.
Data mining .................................................................................................................................. 3
1.1.
Introduction ............................................................................................................................... 3
1.2.
Définition: ................................................................................................................................. 3
1.3.
Interet du data mining : ............................................................................................................. 4
1.4.
Le processus du data mining .................................................................................................... 4
1.4.1.
Définition et compréhension du problème ............................................................................ 5
1.4.2.
Collecte des données ............................................................................................................. 5
1.4.3.
Prétraitement ......................................................................................................................... 5
1.4.4.
Estimation du modèle ............................................................................................................ 6
1.4.5.
Interprétation du modèle et établissement des conclusions ................................................... 6
1.5.
Les algorithmes du data mining ............................................................................................... 7
1.5.1.
Les familles d'algorithmes .................................................................................................... 7
1.5.1.1.
Les méthodes descriptives ................................................................................................ 7
1.5.1.2.
La méthode prédictive ..................................................................................................... 7
1.5.2.
1.6.
Présentation des algorithmes ................................................................................................ 8
Les techniques du data minnig ................................................................................................. 9
1.6.1.
Apprentissage fondée sure l’explication ............................................................................... 9
1.6.2.
Apprentissage statique........................................................................................................... 9
1.6.3.
Apprentissage par réseau neuronaux ..................................................................................... 9
1.6.4.
Apprentissage par algorithme génétique .............................................................................. 9
1.6.5.
Apprentissage par similarité .................................................................................................. 9
1.6.6.
Apprentissage symbolique empirique .................................................................................. 9
1.6.7.
Apprentissage par analogie .................................................................................................. 9
1.7.
Domaine d’application du Data mining ................................................................................ 10
1.8.
Les logiciels de data mining ................................................................................................... 11
2.
Text mining ................................................................................................................................ 12
2.1.
Introduction ............................................................................................................................. 12
2.2.
Définition: ............................................................................................................................... 12
2.3.
Tâches principales de la fouille de textes : .............................................................................. 13
2.3.1.
La classification de textes ................................................................................................... 14
2.3.2.
La recherche d'information.................................................................................................. 15
2.3.3.
L’extraction d'information................................................................................................... 15
2.3.4.
Autres tâches plus complexes ............................................................................................. 16
i
Table des matières
2.4.
Les étapes de text mining: ....................................................................................................... 17
2.4.1.
Analyse ............................................................................................................................... 17
2.4.2.
L’interprétation de l'analyse ................................................................................................ 17
2.5.
Le processus de text mining : .................................................................................................. 17
2.5.1.
La définition du problème et identification des buts .......................................................... 18
2.5.2.
La préparation des données ................................................................................................. 18
2.5.3.
Le traitement linguistique .................................................................................................... 18
2.5.4.
L’étude lexicométrique........................................................................................................ 19
2.5.5.
Le traitement des données ................................................................................................... 19
2.6.
Applications : .......................................................................................................................... 19
2.6.1.
Recherche d'information .................................................................................................... 19
2.6.2.
Applications biomédicales ................................................................................................. 19
2.6.3.
Filtrage des communications ............................................................................................... 19
2.6.4.
Applications de sécurité ...................................................................................................... 19
2.6.5.
Gestion des connaissances................................................................................................... 20
2.6.6.
Analyse du sentiment .......................................................................................................... 20
2.7.
3.
Conclusion :............................................................................................................................. 20
Représentation des données ...................................................................................................... 21
3.1.
Introduction ............................................................................................................................. 21
3.2.
La représentation de texte ....................................................................................................... 21
3.2.1.
Choix des termes ................................................................................................................. 21
3.2.1.1.
Représentation en sac de mots (bag-of-words) ............................................................. 22
3.2.1.2.
Représentation par phrases ............................................................................................. 23
3.2.1.3.
Représentation avec des racines lexicales ...................................................................... 23
3.2.1.4.
Représentation avec des lemmes ..................................................................................... 24
3.2.1.5.
Représentation basées sur les n-grammes ....................................................................... 24
3.2.1.6.
Représentation conceptuelle ........................................................................................... 25
3.2.2.
Codage des termes ............................................................................................................... 26
3.2.2.1.
Le codage TFIDF ............................................................................................................ 26
3.2.2.2.
Le codage TFC .............................................................................................................. 26
3.2.2.3.
Le codage Lnu ................................................................................................................ 26
3.2.2.
4.
Reduction de la dimension .................................................................................................. 27
Clustering spectral .................................................................................................................... 29
4.1.
Clustering de données ............................................................................................................. 30
4.1.1.
Introduction ......................................................................................................................... 29
4.1.2.
Définitions ........................................................................................................................... 30
ii
Table des matières
4.1.2.1.
Définition de la classification .......................................................................................... 30
4.1.2.2.
Groupe d’objets similaires............................................................................................... 32
4.1.3.
Les trois principales étapes du clustering ............................................................................ 35
4.1.3.1.
La préparation des données ............................................................................................. 36
4.1.3.2.
Le choix de l’algorithme ................................................................................................. 37
4.1.3.3.
L’exploitation des clusters............................................................................................... 39
4.1.4.
Taxonomie des algorithmes de clustering ........................................................................... 39
4.1.4.1.
La classification hiérarchique .......................................................................................... 40
4.1.4.2.
La classification non hiérarchique (par partitionnement) ................................................ 41
4.1.4.2.1.
Les méthodes K-moyennes ............................................................................................. 42
4.1.4.2.2.
Les méthodes K-medoïdes .............................................................................................. 45
4.1.4.3.
Les méthodes à base de densité ....................................................................................... 46
4.1.4.3.1.
La connectivité pour les méthodes à base de densité ...................................................... 46
4.1.4.3.2.
La fonction de densité ..................................................................................................... 48
4.1.4.4.
Les méthodes à base de grille .......................................................................................... 48
4.1.4.5.
Autres méthodes .............................................................................................................. 49
4.1.4.5.1.
Self-Organizing Maps (SOM) ......................................................................................... 49
4.2.
Clustering spectral ................................................................................................................... 51
4.2.1.
Introduction ......................................................................................................................... 51
4.2.2.
Théorie spectrale des graphes.............................................................................................. 52
4.2.2.1.
Matrices Laplaciennes des graphes ................................................................................. 52
4.2.2.2.
Bi-coupe de graphe (𝐾 = 2) .......................................................................................... 53
4.2.2.3.
Bi-coupe de graphe (𝐾 > 2) ........................................................................................... 56
4.2.3.
Algorithme de classification spectrale................................................................................. 57
4.2.3.1.
Algorithme de bi-partition (K = 2) .................................................................................. 58
4.2.3.1.1.
Algorithme de Shi et Malik ........................................................................................ 58
4.2.3.1.2.
Algorithme de Von Luxburg ....................................................................................... 60
4.2.3.2.
Algorithme de bi-partition (K > 2) .................................................................................. 60
4.2.3.2.1.
Méthodes de bi-partition récursives ................................................................................ 60
4.2.3.2.2.
Méthodes directes de K-partitions ................................................................................... 61
4.2.4.
Choix de l’algorithme pour l’étape de partitionnement....................................................... 63
4.2.5.
Métriques d’évaluation du partitionnement......................................................................... 64
4.2.6.
Conclusion........................................................................................................................... 68
5.
Implémentation.......................................................................................................................... 70
5.1.
Introduction ............................................................................................................................. 70
5.2.
Environnement et matériels : ................................................................................................... 70
iii
Table des matières
5.3.
Présentation des corpus utilisés : ............................................................................................. 71
5.4.
Représentation des données..................................................................................................... 72
5.4.1.
Prétraitement des données ................................................................................................... 72
5.4.1.1.
Elimination de ponctuation et la conversion des caractères : .......................................... 72
5.4.1.2.
Représentation des textes en « sac de mots » .................................................................. 73
5.4.1.3.
Codification des termes ................................................................................................... 74
5.5.
L’Application de l’Algorithme de Clustering Spectrale ......................................................... 75
5.5.1.
Introduction ..................................................................................................................... 75
5.5.2.
Algorithmes ..................................................................................................................... 75
5.5.3.
La Mise en œuvre : .......................................................................................................... 76
5.5.3.1.
Algorithmes classiques .................................................................................................... 76
5.5.3.2
Algorithmes spectrales .................................................................................................... 76
5.6.
Expériences et résultats ........................................................................................................... 75
5.6.1.
Comparaison entre les algorithmes de clustering classiques ............................................... 72
5.6.2.
Clustering Spectral: Version normalisé ............................................................................... 80
5.6.3.
Clustering Spectral: Version non normalisé ........................................................................ 82
5.6.4.
Comparaison entre tous les algorithmes de clustering ........................................................ 80
5.7.
Interface graphique de l’application ....................................................................................... 75
Conclusion générale ............................................................................................................................ 89
Bibliographie...................................................................................................................................... 91
Table des figures ................................................................................................................................ 95
Liste des tableaux .............................................................................................................................. 96
iv
Introduction générale
Introduction générale
Avec l'accroissement de la quantité d'information disponible sur Internet et suite au
développement fulgurant de l'informatique, des besoins réels se posent maintenant au niveau
de l'extraction de l'information pertinente noyée dans des giga-octets voire des téraoctets de
données textuelles véhiculées dans les différents supports, En effet, au
vu du flot
d'information que nous connaissons; accéder aujourd'hui à l'information textuelle utile est
devenu un vrai « casse-tête », il devient de plus en plus important d'aider les utilisateurs à
accéder plus rapidement à l'information recherchée et à développer de nouveaux outils de
recherche d'information.
Des milliers de documents sont disponibles facilement à travers les réseaux et les supports
informatiques dont plus de 90% sont des documents textuels, il devient désormais difficile
d'accéder aux informations sans l'aide d'outils spécifique. [1]
Devant les besoins naissant provoqués par cette réalité préoccupante, Le Text Mining ou
fouille de données textuelles qui est une spécialisation du Data minig répond, en parti, à
cette problématique. L'étude du text mining repose particulièrement sur des liens très étroits
entre des recherches en linguistique textuelle et sur les formalisations adéquates en vue
d'une réalisation informatique.
Le text mining est traditionnellement connu pour sa faculté à extraire les concepts clés de
sources d'information texte. Il propose une approche méthodologique pour exploiter
l'information non structurée et la combiner avec les techniques de data mining usuelles. Il
permet de « comprendre» (mining) artificiellement le texte (text) en vue d'extraire une
quantité d'information limitée mais pertinente afin de répondre au besoin recherché qui est
principalement le gain de temps pour une meilleure productivité et parmi ces application
connue on note plus spécialement la classification automatique de textes.
On appelle classification automatique la catégorisation algorithmique d'objets. Celle-ci
consiste à attribuer une classe ou catégorie à chaque objet (ou individu) à classer. Elle peut
être : supervisée dont les classes sont connues à priori, elles ont en général une sémantique
associée ou non-supervisée (en anglais clustering) où les classes sont fondées sur la
structure des objets, les classes possibles ne sont pas reconnu à l'avance le but pour les
construire est de regrouper dans un même cluster les objets considérés comme similaires.
1
Introduction générale
Dans les deux cas, on a besoin de définir la notion de distance entre deux classes: le critère
d'agrégation.
Le cadre général dans lequel s'inscrit ce mémoire est celui de la classification automatique
non-supervisée dans laquelle aucune hypothèse sur les classes n'est connue, on dispose d'un
ensemble de textes, issus de différents domaines, et on essaye de trouver une liaison
fonctionnelle entre ces textes.
Notre choix est basé sur l'utilisation de la méthode de clustering spectral pour la
classification non supervisée des documents texte et pour leur représentation nous avons
choisi la méthode de sac de mots (ou bag-of-words en anglais).
Notre manuscrit est structuré en cinq chapitres. Les quatre premiers sont à caractère
fondamental et traitent les différents aspects de la classification spectrale. Le dernier est
applicatif et il est dédié à la partie implémentation.
Dans le premier chapitre, nous présenterons le Data Mining qui s'intéresse à l'extraction des
connaissances à partir des données en faisant aussi appel à des techniques généralement
statistiques. Dans le deuxième chapitre nous exposerons la notion du text mining ainsi que
ses objectifs et ses taches. Dans le troisième, vu que pour traiter un document, tous les
algorithmes ne travaillent pas nécessairement directement sur le document lui même, nous
expliquerons les différentes techniques de représentation des textes. Le quatrième chapitre
est divisé en deux parties, la première est consacrée à la présentation des modèles
d'apprentissage non supervisé. Il présente le contexte de l'étude de la classification, en
expliquant en détail différentes approches de classification non supervisée. Dans le cadre
de ce mémoire, nous nous sommes intéressés plus particulièrement aux algorithmes à base
de la classification non hiérarchique (par partitionnement). La deuxième partie présente un
état de l’art sur les algorithmes de classification spectrale basés sur une bi-partition ou une
K-partition des données. Le principe est de définir un espace de projection spectral à partir
des vecteurs propres de la matrice Laplacienne et de rechercher dans cet espace des groupes
représentatifs des données. Les algorithmes spectraux dépendent des paramètres de la
fonction similarité et du nombre de groupes recherchés. Et enfin dans le dernier chapitre
nous mettrons en œuvre, l'approche que nous proposons, avec une description détaillée des
étapes de l'implémentation. Une conclusion générale vient pour clôturer ce travail.
2
Chapitre 01. Data mining
1. Data mining
1.1. Introduction
L’exploration de données, connue aussi sous l'expression de fouille de données, forage de
données, prospection de données, data mining, ou encore extraction de connaissances à
partir de données, « ECD » en français, « KDD » en anglais, a pour objet l’extraction
d'un savoir ou d'une connaissance à partir de grandes quantités de données, par des méthodes
automatiques ou semi-automatiques. [54]
L'utilisation industrielle ou opérationnelle de ce savoir dans le monde professionnel permet
de résoudre des problèmes très divers, allant de la gestion de la relation client à la
maintenance préventive, en passant par la détection de fraudes ou encore l'optimisation
de sites web.
L'exploration de données fait suite, dans l'escalade de l'exploitation des données de
l'entreprise, à l'informatique décisionnelle. Celle-ci permet de constater un fait, tel que
le chiffre d'affaires, et de l'expliquer comme le chiffre d'affaires décliné par produits, tandis
que l'exploration de données permet de classer les faits et de les prévoir dans une certaine
mesure ou encore de les éclairer en révélant par exemple les variables ou paramètres qui
pourraient faire comprendre pourquoi le chiffre d'affaires de tel point de vente est supérieur
à celui de tel autre.
1.2. Définition
Le data mining est un procédé d’exploration et d’analyse de grands volumes de données en
vue d’une part de les rendre plus compréhensibles et d’autre part de découvrir des
corrélations significatives, c’est-à-dire des règles de classement et de prédiction dont la
finalité ultime la plus courante est l’aide à la décision. C’est aussi un procédé de production
de connaissance. En terme de logique philosophique traditionnelle, le data mining consiste à
produire des jugements et des règles de raisonnements.
Ce procédé permet aussi de passer des données à la connaissance, et de découvrir des «
pépites » d’informations cachées dans la gangue des données. [3]
3
Chapitre 01. Data mining
1.3. Intérêt du data mining
Les entreprises sont inondées de données (scanners des supermarchés, internet, bases de
données, etc.). Ces données languissantes dans des entrepôts de données (ou référentiels, ou
data warehouse). [3]
Le data mining permet :
-
d’exploiter ces données pour améliorer la rentabilité d’une activité.
-
augmenter le retour sur investissement des systèmes d’information.
-
produire de la connaissance et cela dans le but de comprendre les phénomènes dans
un premier temps : SAVOIR et dans le but de prendre des décisions dans un second
temps : PREVOIR pour DECIDER.
1.4. Le processus du data mining
Il est très important de comprendre que le data mining n’est pas seulement le problème de
découverte de modèles dans un ensemble de donnée. Ce n’est qu’une seule étape dans tout
un processus suivi par les scientifiques, les ingénieurs ou toute autre personne qui cherche à
extraire les connaissances à partir des données. En 1996 un groupe d’analystes définit le data
mining comme étant un processus composé de cinq étapes sous le standard CRISP-DM
(Cross-Industry Standard Process for Data Mining) comme schématisé ci-dessous [4] :
Figure 1.1 Processus de data mining
Ce processus n’est pas linéaire, on peut avoir besoin de revenir à des étapes précédentes
pour corriger ou ajouter des données. Par exemple, on peut découvrir à l’étape d’exploration
(4) de nouvelles données qui nécessitent d’être ajoutées aux données initiales à l’étape de
collection (2). Décrivons maintenant ces étapes :
4
Chapitre 01. Data mining
1.4.1. Définition et compréhension du problème :
Dans la plus part des cas, il est indispensable de comprendre la signification des données et
le domaine à explorer. Sans cette compréhension, aucun algorithme ne va donner un résultat
fiable. En effet, Avec la compréhension du problème, on peut préparer les données
nécessaires à l’exploration et interpréter correctement les résultats obtenus. Généralement, le
data mining est effectué dans un domaine particulier (banques, médecine, biologie,
marketing, ...etc) où la connaissance et l’expérience dans ce domaine jouent un rôle très
important dans la définition du problème, l’orientation de l’exploration et l’explication des
résultats obtenus. Une bonne compréhension du problème comporte une mesure des résultats
de l’exploration, et éventuellement une justification de son coût. C’est-à-dire, pouvoir
évaluer les résultats obtenus et convaincre l’utilisateur de leur rentabilité.
1.4.2. Collecte des données :
Dans cette étape, on s’intéresse à la manière dont les données sont générées et collectées.
D’après la définition du problème et des objectifs du data mining, on peut avoir une idée sur
les données qui doivent être utilisées. Ces données n’ont pas toujours le même format et la
même structure. On peut avoir des textes, des bases de données, des pages web, ...etc.
Parfois, on est amené à prendre une copie d’un système d’information en cours d’exécution,
puis ramasser les données de sources éventuellement hétérogènes (fichiers, bases de données
relationnelles, temporelles, ...). Quelques traitements ne nécessitent qu’une partie des
données, on doit alors sélectionner les données adéquates. Généralement les données sont
subdivisées en deux parties : une utilisée pour construire un modèle et l’autre pour le tester.
On prend par exemple une partie importante (suffisante pour l’analyse) des données (80 %)
à partir de laquelle on construit un modèle qui prédit les données futures.
Pour valider ce modèle, on le teste sur la partie restante (20 %) dont on connaît le
comportement.
1.4.3. Prétraitement :
Les données collectées doivent être "préparées". Avant tout, elles doivent être nettoyées
puisqu’elles peuvent contenir plusieurs types d’anomalies : des données peuvent être omises
à cause des erreurs de frappe ou à causes des erreurs dues au système lui-même, dans ce cas
il faut remplacer ces données ou éliminer complètement leurs enregistrements. Des données
peuvent être incohérentes c-à-d qui sortent des intervalles permis, on doit les écarter où les
normaliser. Parfois on est obligé à faire des transformations sur les données pour unifier leur
5
Chapitre 01. Data mining
poids. Un exemple de ces transformations est la normalisation des données qui consiste à la
projection des données dans un intervalle bien précis [0,1] ou [0,100] par exemple. Un autre
exemple est le lissage des données qui considère les échantillons très proches comme étant
le même échantillon. Le prétraitement comporte aussi la réduction des données qui permet
de réduire le nombre d’attributs pour accélérer les calculs et représenter les données sous un
format optimal pour l’exploration. Une méthode largement utilisée dans ce contexte, est
l’analyse en composantes principales (ACP).
Une autre méthode de réduction est celle de la sélection et suppression des attributs dont
l’importance dans la caractérisation des données est faible, en mesurant leurs variances. On
peut même réduire le nombre de données utilisées par le data mining en écartant les moins
importantes. Dans la majorité des cas, le prétraitement doit préparer des informations
globales sur les données pour les étapes qui suivent tel que la tendance centrale des données
(moyenne, médiane, mode), le maximum et le minimum, le rang, les quartiles, la variance, ...
etc. Plusieurs techniques de visualisation des données telles que les courbes, les
diagrammes, les graphes,... etc, peuvent aider à la sélection et le nettoyage des données. Une
fois les données collectées, nettoyées et prétraitées on les appelle entrepôt de données (data
warehouse).
1.4.4. Estimation du modèle :
Dans cette étape, on doit choisir la bonne technique pour extraire les connaissances
(exploration) des données. Des techniques telles que les réseaux de neurones, les arbres de
décision, les réseaux bayésiens, le clustering, ... sont utilisées. Généralement,
l’implémentation se base sur plusieurs de ces techniques, puis on choisit le bon résultat.
Dans le reste de ce mémoire on va détailler les différentes techniques utilisées dans
l’exploration des données et l’estimation du modèle.
1.4.5. Interprétation du modèle et établissement des conclusions :
Généralement, l’objectif du data mining est d’aider à la prise de décision en fournissant des
modèles compréhensibles aux utilisateurs. En effet, les utilisateurs ne demandent pas des
pages et des pages de chiffres, mais des interprétations des modèles obtenus. Les
expériences montrent que les modèles simples sont plus compréhensibles mais moins précis,
alors que ceux complexes sont plus précis mais difficiles à interpréter.
6
Chapitre 01. Data mining
1.5. Les algorithmes du data mining
Résoudre un problème par un processus d'exploration de données impose généralement
l'utilisation d'un grand nombre de méthodes et d'algorithmes différents plus ou moins faciles
à comprendre et à employer.
1.5.1. Les familles d'algorithmes :
Il existe deux grandes familles d'algorithmes : les méthodes descriptives et les méthodes
prédictives.
1.5.1.1.
Les méthodes descriptives :
Permettent d'organiser, de simplifier et d'aider à comprendre l'information sous-jacente d'un
ensemble important de données.
Elles permettent de travailler sur un ensemble de données, organisées en instances de
variables, dans lequel aucune des variables explicatives des individus n'a d'importance
particulière par rapport aux autres. Elles sont utilisées par exemple pour dégager, d'un
ensemble d'individus, des groupes homogènes en typologie, pour construire des normes de
comportements et donc des déviations par rapport à ces normes telles que la détection de
fraudes nouvelles ou inconnues à la carte bancaire ou à l'assurance maladie, pour réaliser de
la compression d'informations ou de la compression d'image, etc.
1.5.1.2.
La méthode prédictive :
La raison d'être des méthodes prédictives est d'expliquer ou de prévoir un ou plusieurs
phénomènes observables et effectivement mesurés. Concrètement, elles vont s'intéresser à
une ou plusieurs variables définies comme étant les cibles de l'analyse. Par exemple,
l'évaluation de la probabilité pour qu'un individu achète un produit plutôt qu'un autre, la
probabilité pour qu'il réponde à une opération de marketing direct, celles qu'il contracte une
maladie particulière, en guérisse, les chances qu'un individu ayant visité une page d'un site
web y revienne, sont typiquement des objectifs que peuvent atteindre les méthodes
prédictives.
En exploration de données prédictive, il y a deux types d'opérations : la discrimination ou
classement, et la régression ou prédiction, tout dépend du type de variable à expliquer. La
discrimination s’intéresse aux variables qualitatives, tandis que la régression s’intéresse aux
variables continues.
7
Chapitre 01. Data mining
Les méthodes de classement et de prédiction permettent de séparer des individus en
plusieurs classes. Si la classe est connue au préalable et que l'opération de classement
consiste à analyser les caractéristiques des individus pour les placer dans une classe, la
méthode est dite « supervisée ». Dans le cas contraire, on parle de méthodes « nonsupervisées », ce vocabulaire étant issu de l'apprentissage automatique. La différence entre
les méthodes descriptives de classification, et les méthodes prédictives de classement
provient du fait que leur objectif est divergent : les premières « réduisent, résument,
synthétisent les données» pour donner une vision plus claire de l'amas de données, alors que
les secondes expliquent une ou plusieurs variables cibles en vue de la prédiction des valeurs
de ces cibles pour les nouveaux arrivants.
1.5.2. Présentation des algorithmes :
- ID3 construit un arbre de décision de façon récursive en choisissant l’attribut qui maximise
le gain d’information selon l’entropie de Shannon. Cet algorithme fonctionne exclusivement
avec des attributs catégoriques et un noeud est créé pour chaque valeur des attributs
sélectionnés [5]
- C4.5 est une amélioration d’ID3 qui permet de travailler à la fois avec des données
discrètes et des données continues. Il permet également de travailler avec des valeurs
d’attribut absentes. Enfin, C4.5 élague l’arbre construit afin de supprimer les règles inutiles
et de rendre l’arbre plus compact.
L’algorithme C5, qui est une solution commerciale, est une amélioration supplémentaire de
C4.5. [5]
-Apriori est un algorithme classique de recherche de règles d’association. Comme tous les
algorithmes de découvertes d’associations, il travaille sur des bases de données
transactionnelles (des enregistrements de transactions). [5]
-Knn (k-nearest neighbor.) k plus proches voisins on dispose d’une base de données
d'apprentissage constituée de N couples « entrée-sortie ». Pour estimer la sortie associée à
une nouvelle entrée x, la méthode des k plus proches voisins consiste à prendre en compte
(de façon identique) les k échantillons d'apprentissage dont l’entrée est la plus proche de la
nouvelle entrée x, selon une distance à définir. [5]
-Bayes naïf est un probabiliste simple classificateur basé sur l'application du théorème de
Bayes naïf (avec de fortes) l'indépendance des hypothèses. Un terme plus descriptif pour le
modèle de probabilité sous-jacente serait "indépendant modèle de fonction".
8
Chapitre 01. Data mining
Et beaucoup d'autre ( One Rule, Kmens, EM, Co-training, CART,OC1, SLIQ, AdaBoost ,
Learn++, FP-Growth, Eclat, SSDM, kDCI, GSP, SPADE … )
1.6. Les techniques du data minnig
On dénombre 7 techniques principales dans le domaine du data mining [5]:
1.6.1. Apprentissage fondée sur l’explication
Cet apprentissage formé sur des explications dérivées d’une théorie (généralement complète)
fournie en entrée. Cette forme d’apprentissage repose sure des déductions pour expliquer les
données a partir de la théorie et sur des arbres de décision pour générer de nouvelle
connaissance.
1.6.2. Apprentissage statique
Cet apprentissage repose sur des opérations statiques telles que la classification bayésienne
ou la régression pour apprendre à partir de données.
1.6.3. Apprentissage par réseau neuronaux
Un réseau de neurones est défini par un ensemble d’unités de traitement qui peuvent être des
unités soit d’entrée, soit de sorti, soit cachée, l’apprentissage s’effectue par l’injection de cas
en entrée et par la mesure des conclusions en sortie.
1.6.4. Apprentissage par algorithme génétique
Les algorithmes génétique sont des procédures de recherche fondée sur la dynamique de la
génétique biologique ils comportent 3 opérateur, la sélection, la combinaison et la mutation
qui sont appliquées à des générations successive d’ensemble de donnée. Les meilleures
combinaisons survivent et produisent par exemple des plannings des règles.
1.6.5. Apprentissage par similarité
Ces technique utilisent des indicateur de similarité pour regroupée des donnée ou des
observations et pour définir des règle.
1.6.6. Apprentissage symbolique empirique
Cette forme d’apprentissage extrait des règles symboliques compréhensibles par l’utilisateur
à partir de données en retrouve dans cette catégorie les algorithmes ID3, C4.5 et CN2
notamment.
1.6.7. Apprentissage par analogie :
L’apprentissage s’appuie sur l’analogie entre un nouveaux cas et des cas ressemblant soumis
préalablement.
Les principales natures du problème qui sont résolus par ces techniques :
9
Chapitre 01. Data mining
-
Classification : la capacité de classer des objets ou des événements comme membre
de classe prédéfini.
-
Prédiction : liée à la classification, cette tache vise à prédire une ou plusieurs
caractéristiques inconnues à partir d’un ensemble de caractéristique connue.
-
Optimisation : il s’agit d’optimisée un ou plusieurs paramètre d’un système, compte
tenus d’un ensemble de contrainte.
-
Planning : cette tache consiste a déterminée un ensemble d’action ordonnée qui
satisfont un ensemble donnée de buts.
-
Ordonnancement : l’ordonnancement suit le planning et consiste a positionnée des
actions dans le temps et a leur affectée des ressources
-
Acquisition de connaissance : il consiste à créer une représentation efficace et fidele
de la connaissance d’expert
-
Résolution de conflit : la résolution de conflit peut, par exemple, aider à départager
des experts qui sont en désaccord ou s’appliquer dans le cadre de processus de
négociation.
1.7. Domaines d’application du Data mining :
Activités
commerciales
(grande distribution, vente par
correspondance,
assurances) :
-
segmentation de la clientèle
-
détermination du profil du consommateur
-
analyse du panier de la ménagère
-
mise au point de stratégies de rétention de la clientèle
-
prédiction des ventes
-
détection des fraudes
-
identification de clients à risques
Activités financières :
-
recherche de corrélations entre les indicateurs financiers
-
maximiser le retour sur investissement de portefeuilles d’actions
Activités de gestion des ressources humaines :
-
prévision du plan de carrière
-
aide au recrutement
10
banque,
Chapitre 01. Data mining
Activités industrielles :
-
détection et diagnostic de pannes et de défauts
-
analyse des flux dans les réseaux de distribution
Activités scientifiques :
- diagnostic médical
- santé publique
- étude du génome
- analyse chimique et pharmaceutique
- exploitation de données astronomiques [50]
1.8. Les logiciels de data mining
Il existe de nombreux logiciels de statistiques et de data mining. Certains sont gratuits,
d’autres sont payants. Certains sont mono-utilisateur, d’autres fonctionnent en architecture
client-serveur.
Parmi les gros logiciels, on peut citer :
-
Clementine de SPSS est la solution de data mining la plus vendue dans le
monde. [3]
-
Entreprise Miner de SAS.
-
Statistica Data Miner de StatSoft
-
Insightful Miner de Insightful
-
XL Miner (data mining sous excel)
-
ORACLE, comme d’autres SGBD, fournit des outils de data mining
Parmi les logiciels gratuits, on peut citer :
-
TANAGRA (pour l'enseignement et la recherche)
-
ORANGE,
-
WEKA,
-
RapidMiner
11
Chapitre 02. Text mining
2. Text mining
2.1. Introduction
Le text mining, également connu en tant que exploration de texte de données ou la
découverte de connaissances à partir de bases de données textuelles, fait généralement
référence au processus d'extraction de motifs intéressants et non trivial ou des connaissances
à partir de documents textuels non structurés. Il peut être considéré comme une extension de
la fouille de données ou la découverte de connaissances à partir des bases de données
(structuré).
Comme la forme la plus naturelle de stocker des informations est un texte, text mining est
censé avoir un potentiel commercial supérieure à celle du data mining. En fait, une étude
récente a montré que 80% des informations d'une entreprise est contenue dans des
documents texte [7]. Le text mining, cependant, est aussi une tâche beaucoup plus complexe
(que le data mining), car il implique de traiter avec des données textuelles qui sont
intrinsèquement non structurées et floue. Le text mining est un domaine multidisciplinaire,
impliquant la recherche d'information, analyse de texte, l'extraction d'information,
clustering, la catégorisation, la visualisation, la technologie de base de données,
apprentissage automatique, et le data mining.
Le Text Mining est un ensemble de méthodes, de techniques et d'outils pour exploiter les
documents non structurés que sont les textes écrits, comme les fichiers bureautiques de type
word, les emails, les documents de présentation de type powerpoint ... Pour extraire du sens
de documents non structurés, le text mining s'appuie sur des techniques d'analyse
linguistique. Le text mining est utilisé pour classer des documents, réaliser des résumés de
synthèse automatique ou encore pour assister la veille stratégique ou technologique selon
des pistes de recherches prédéfinies. [51]
2.2. Définition du texte mining :
Le texte mining sert à classifier automatiquement des documents, à avoir un aperçu du
contenu d’un document sans le lire, à alimenter automatiquement des bases de données, à
faire de la veille sur des corpus documentaires importants, à enrichir l’index d’un moteur de
recherche pour améliorer la consultation des documents. En résumé, plusieurs usages et
plusieurs services peuvent découler des solutions de text mining.
12
Chapitre 02. Text mining
Une définition générale du text mining est la suivante : « l'extraction d'information à partir
des formes ou patrons non manifestes (au sens de hidden patterns) dans des grands corpus
de textes ». Autrement dit, l'objectif est le traitement de grandes quantités d'information qui
sont disponibles sous une forme textuelle et non structurée.
Commençons par la distinction entre data mining et text mining c’est-à-dire entre fouille des
données et fouille de données textuelles.
Historiquement, le data mining est à la base du text mining au sens où celui-ci est
l’extension du même but et du même processus vers des données textuelles. La distinction
est donc fondée à son origine principalement sur la nature des données auxquelles
s'adressent l'une et l'autre, d'une part des données numériques et factuelles, et d'autre part des
données textuelles.
Un autre élément de distinction est l'état de structuration des données. En général le data
mining travaille sur des données structurées et stockées dans des bases de données
relationnelles. En revanche, le text mining travaille sur des données textuelles non
structurées.
2.3. Tâches principales de la fouille de textes :
Dans cette section, nous allons énumérer les trois principales tâches auxquelles s'attaque le
text mining. Chacune de ces tâches sera un cas particulier du schéma général de la figure
2.1, pour lequel nous préciserons [4]:
-
la nature des données et des résultats (en particulier, s'il s'agit de textes, quelle
représentation est privilégiée)
-
la nature des ressources utiles, à titre obligatoire ou facultatif
-
la nature des méthodes utilisées pour la programmer, et si elle peut être abordée par
apprentissage automatique
-
les applications concrètes de cette tâche
13
Chapitre 02. Text mining
Figure 2.1 Schéma général d'une tâche de fouille de textes
2.3.1. La classification de textes
C’est la tâche la plus "naturelle" à envisager. Elle consiste à ranger des textes ou des
documents dans des "classes" prédéfinies :
- les données sont donc des textes, la plupart du temps représentés sous la forme de
vecteurs. Des variantes de ce type de représentation ont été étudiées spécialement pour cette
tâche, par exemple pour donner plus d'importance aux mots présents dans des titres, ou
privilégier certaines catégories grammaticales.
- les ressources nécessaires sont celles qui permettent la représentation du texte : antidictionnaire, lemmatiseur voire analyseur morphologique, compte d'occurrences, étiqueteur
"part of speech" si on privilégie certaines catégories...
- cette tâche est presque exclusivement abordée par apprentissage automatique, à partir
d'exemples de textes déjà classés. Parmi les méthodes citées, celles basées sur des comptes
statistiques ("naive Bayes") ou sur les techniques SVM donnent les meilleurs résultats. [4]
-
il y a de très nombreuses applications concrètes de cette tâche. L'une d'elle fonctionne
déjà sur la plupart des gestionnaires de courrier électronique : il s'agit du programme qui
suggère que certains des mails reçus sont probablement des "spams" non désirés. Les deux
classes sont alors "spam" et "non spam" et l'ensemble des courriers déjà reçus constitue
l'échantillon d'apprentissage à partir duquel le programme apprend à poser son diagnostic.
De manière générale, la classification automatique de textes par "thème" peut rendre de
grands services. Enfin, l'autre type d'application en plein développement de la classification
est la reconnaissance automatique des opinions véhiculées par un texte : les classes, dans ce
cas sont par exemple "favorable" et "défavorable". Certaines sociétés qui reçoivent des
courriers électroniques de consommateurs à propos de leurs produits s'en servent pour
14
Chapitre 02. Text mining
analyser leur contenu. Dans ce cas, la représentation des textes a intérêt à privilégier les
adjectifs et les verbes, qui sont les principaux moyens d'exprimer une opinion. [4]
2.3.2. La recherche d'information (ou RI)
C’est l'autre "tâche" générale et déjà omniprésente dans nos usages quotidiens des
ordinateurs. Nous la sollicitons chaque fois que nous recherchons des documents répondant
à une "requête".
- la donnée fournie par l'utilisateur est donc une requête. Celle-ci peut prendre des formes
diverses, suivant le niveau d'expertise de cet utilisateur et la structure de la base de
documents à interroger : simple liste de mots clés, langage de requête structuré
(combinaisons de critères booléens, expressions rationnelles, requêtes type SQL...), voire
document "exemple" dont on cherche des exemplaires "proches" parmi un ensemble de
textes.
- les ressources sollicitées sont tout d'abord le corpus de textes ou de documents que l'on
cherche à interroger. Ce peut être une base d'articles, une encyclopédie, ce peut être
Internet... Il est éventuellement fait appel aux ressources nécessaires à la représentation de la
requête par un vecteur. Enfin, quand la requête est réduite à un ensemble de mots-clés, il est
courant d'utiliser un thesaurus ou une ontologie pour l'étendre à des mots "proches" (par
synonymie, ou par généralisation en "remontant" dans la hiérarchie par exemple).
- la recherche sur Internet est, bien sûr, l'application phare de cette tâche. Les moteurs de
recherche mettent en œuvre des méthodes booléennes : leur index fait leur force ! Or ces
méthodes ne permettent pas de classer en "plus ou moins pertinent" les documents obtenus
(en l'occurrence les sites Web). C'est pourquoi ils doivent employer d'autres techniques (d'où
l'importance du fameux "Page Rank" de Google) pour classer par ordre de pertinence ces
sites. De nombreux autres logiciels existent pour gérer la documentation d'une société ou
d'une organisation : la plupart fonctionnent par des méthodes vectorielles. Des recherches
sont en cours pour étendre leur domaine d'application aux documents structurés disponibles
sous la forme d'arbres, pour lesquels on veut autoriser des requêtes mélangeant contenu
textuel et structure. [4]
2.3.3. L'extraction d'information
Comme son nom l'indique, elle se fixe comme objectif d'extraire de textes des informations
factuelles précises. Imaginons par exemple les textes de petites annonces de vente de
voitures, rédigées librement. Les informations qu'elles contiennent peuvent se résumer à la
15
Chapitre 02. Text mining
valeur de quelques "champs" factuels : qui vend quel type de voiture, de quel kilométrage, à
quel prix, etc. On appelle wrapper (terme anglais qui signifie "envelopper") un programme
capable de remplir automatiquement les valeurs de ces champs à partir du texte initial de la
petite annonce. Un wrapper est nécessairement spécialisé dans le traitement d'un certain type
de textes : celui qui traite les petites annonces de vente de voiture ne saura pas quoi faire
d'annonces de locations d'appartements, et inversement.
Les données d'entrées sont des représentations de textes de même type, où la notion de
séquence est préservée, elles peuvent aussi être des documents structurés (pages HTLM ou
XML) ; les sorties sont des données structurées, en général sous la forme d'une liste
d'attributs (prédéfinis) remplie. [4]
2.3.4. Autres tâches plus complexes :
La fouille de textes s'attaque à d'autres tâches. Citons tout de même l'indexation
automatique, qui consiste à extraire de textes les termes qui pourront servir de mots clés
attachés à ces textes. Ces termes sont habituellement repérés par des méthodes statistiques,
en cherchant les mots qui y sont significativement plus présents que dans un corpus standard
de la langue. De même, les méthodes de résumé automatique se focalisent, pour la plupart,
sur l'extraction des phrases caractéristiques d'un texte, sur la base de la fréquence
d'apparitions des mots qu'elles contiennent. Le résumé obtenu n'est ainsi que la mise bout à
bout de phrases statistiquement représentatives. On le voit, ces tâches font peu appel à des
ressources sophistiquées.
D'autres tâches générales se contentent d'enchaîner les traitements réalisant des tâches plus
élémentaires. C'est le cas des systèmes "question/réponse". Un tel système peut être vu
comme un moteur de recherche sophistiqué : l'utilisateur lui pose une question en langue
naturelle (par exemple "quand est né Mozart ?"), le système doit fournir la réponse factuelle
à la question (et non un document contenant cette réponse comme le ferait un moteur
classique). Cette réponse doit être extraite d'un corpus d'informations générales, ou trouvée
sur le Web. Pour atteindre cet objectif, les systèmes question/réponse procèdent
généralement par étapes :
-
la question est tout d'abord envoyée à un système de classification pour être triée en
fonction du type de réponse qu'elle requiert : ici, une réponse de type "date-denaissance". Elle est par ailleurs analysée pour en extraire les mots clés significatifs :
ici, "Mozart" est évidemment un tel mot clé.
16
Chapitre 02. Text mining
-
le ou les mots clés identifié(s) à l'étape précédente servent ensuite de requête à un
système de recherche d'information, afin de concentrer la recherche sur des
documents pertinents (ici : ceux qui parlent de Mozart).
-
enfin, il reste à passer les documents sélectionnés à l'étape précédente au crible d'une
extraction d'information qui se focalise sur le type de données requis par le type de la
question, tel qu'identifié lors de la première étape.
Chacune de ces étapes fait donc appel à l'un des programmes de la section précédente.
Certains systèmes "question/réponse" font appel à des ressources un peu plus sophistiquées,
comme les analyseurs syntaxiques (notamment pour analyser la question), mais aucun ne
cherche à réaliser un analyse syntaxico-sémantique complète de l'ensemble des données
auxquelles il a accès : ce ne serait absolument pas raisonnable en termes de temps de calculs.
Plusieurs "challenges" internationaux portent sur la comparaison des performances de ces
systèmes.
Pour finir, évoquons très brièvement le cas de la traduction automatique. C'est une tâche
dont l'intérêt applicatif ne fait aucun doute, mais qui est particulièrement difficile. Son cas
est intéressant, parce qu'il résume bien à lui tout seul, les alternatives qui se posent au
domaine du traitement des langues. [4]
2.4. Etape de text mining :
On peut distinguer deux étapes principales :
2.4.1. Analyse :
Consiste à reconnaître les mots, les phrases, leurs rôles grammaticaux, leurs relations et leur
sens. Une analyse sans interprétation n'a que peu d'intérêt et les deux sont dépendantes. C'est
donc le rôle de la seconde étape d'interpréter cette analyse [52].
2.4.2. L’interprétation de l'analyse :
Permet de sélectionner un texte parmi d'autres. Des exemples d'applications sont la
classification de courriers en spam, c'est-à-dire les courriers non sollicités, ou non spam,
l'application de requêtes dans un moteur de recherche de documents ou le résumé de texte
qui sélectionne les phrases représentatives d'un texte [52].
2.5. Le processus de text mining :
Le text mining débute par la modélisation des textes en vue de leur préparation pour l’étape
de Data mining et s’achève par l’interprétation de la fouille pour l’enrichissement des
17
Chapitre 02. Text mining
connaissances d’un domaine [10]. Son déroulement est tout à fait conforme à celui d’un
processus. Le processus du Text Mining comprend la succession d’étapes suivantes :
2.5.1. La définition du problème et identification des buts
Définition des buts attendus et des résultats souhaités.
2.5.2. La préparation des données
Les textes doivent être recueillis en utilisant, par exemple, des outils automatiques de
récupération de l'information, ou de façon manuelle à partir de différentes sources.
2.5.3. Le traitement linguistique
Les textes utilisés en entrée sont des textes en langue naturelle. Pour réussir un traitement
juste de ces textes et extraire des connaissances à partir de ceux-ci, il faut qu’ils passent des
étapes appelées généralement prétraitement. L’étape de prétraitement des textes appartient
au domaine du traitement automatique de la langue naturelle. Elle comporte en général les
phases suivantes: [6]
-
Détection de la langue du texte: Pour commencer le traitement, il faut d’abord
savoir dans quelle langue chaque document est écrit et comment cette langue est
encodée. Il est important de détecter avec précision la langue dans laquelle le texte
est rédigé, car une erreur à ce niveau voue à l’échec les étapes suivantes. Il existe
deux familles d’approches dans l’identification de la langue: linguistique et
statistique.
-
Nettoyage des données : Habituellement, le nettoyage consiste à éliminer les mots
vides (stop-words). Ces mots vides sont des mots ne jouant qu’un rôle syntaxique,
contribuant peu au sens des documents. On les élimine pour deux raisons: (a)
Minimiser la taille du fichier traité (contrainte d’espace). (b) Rendre le traitement
plus rapide (contrainte de temps).
-
Lemmatisation : La lemmatisation est l’opération qui consiste à ramener les
variantes (flexionnelles) d’un même mot à une forme canonique, le lemme. Elle
s’appuie sur une analyse grammaticale des textes afin de remplacer les verbes par
leur forme infinitive et les noms par leur forme au singulier. Cette opération permet
de réduire le nombre de termes dans un index, ce qui est intéressant du point de vue
du stockage des données. [6]
2.5.4. L’étude lexicométrique
18
Chapitre 02. Text mining
La lexicométrie est l’étude quantitative du vocabulaire; elle consiste à mesurer la fréquence
d’apparition des mots dans un même texte, et il en résulte une représentation mathématique
du texte.
2.5.5. Le traitement des données (techniques de Data Mining)
On choisit l’une des techniques du Data Mining telles que les arbres de décisions, les
algorithmes génétiques ou les réseaux de neurones, pour l’appliquer aux textes transformés
(représentation mathématique), ce qui permettra de réaliser plusieurs tâches telles que: la
classification, la traduction automatique, l’identification de la langue, etc. [6]
2.6. Applications :
2.6.1. Recherche d'information
Les moteurs de recherche tels Google, Exalead ou Yahoo! sont des applications très connues
de fouille de textes sur de grandes masses de données. Notons toutefois que les moteurs de
recherche ne se basent pas uniquement sur le texte pour l'indexer, mais également sur la
façon dont les pages sont mises en valeurs les unes par rapport aux autres. L'algorithme
utilisé par Google est PageRank [10].
2.6.2. Applications biomédicales
Un exemple d'application biomédicale de fouille de textes est PubGene, qui combine la
fouille de textes et la visualisation des résultats sous forme de réseaux graphiques. [10]
2.6.3. Filtrage des communications
Beaucoup de gestionnaires de courriers électroniques sont maintenant livrés avec un filtre
anti-spam. Il existe aussi des logiciels anti-spam qui s'interfacent entre le serveur de courrier
et votre gestionnaire de courrier [10].
2.6.4. Applications de sécurité
Le système mondial d'interception des communications privées et publiques Echelon est un
exemple d'utilisation militaire et économique de la fouille de textes.
En 2007, la division de lutte anticriminelle d'Europol a acquis un système d'analyse afin de
lutter plus efficacement contre le crime organisé. Ce système intègre parmi les technologies
les plus avancées dans le domaine de la fouille et d'analyse de textes. Grâce à ce projet
Europol a accompli des progrès très significatifs dans la poursuite de ces objectifs [16].
19
Chapitre 02. Text mining
2.6.5. Gestion des connaissances :
Les méthodes d'Intelligence économique ont pour objectif général d’apporter des
informations à l’organisation [10].
2.6.6. Analyse du sentiment :
Une utilisation particulière de traitement de l'information non structurée peut déboucher sur
une analyse du sentiment. Par exemple, ces documents montrent-ils que mon produit sera
bien vu par les utilisateurs ?
2.7. Conclusion:
La fouille de textes est une thématique scientifique pluridisciplinaire mettant en relation la
recherche universitaire, la recherche en milieu industriel, les préoccupations en sciences
fondamentales et les enjeux politico-économiques. Elle fédère des thématiques issues des
sciences de l'information, de la linguistique, de la statistique et des méthodes d'apprentissage
(I.A). Dans un contexte où, grâce au Web, l'accès à l'information écrite est divers, abondant,
multilingue, la fouille de textes est par excellence un domaine pour lequel il était nécessaire
de faire un état des lieux.
20
Chapitre 03. Représentation des données
3. Représentation des données
3.1. Introduction
Le nombre croissant de textes numérisés actuellement disponibles notamment sur le Web a
développé un besoin aigu dans les techniques de texte mining. Les systèmes de
clustering sont utilisés de plus en plus souvent dans l'exploration de texte, en particulier pour
analyser les textes et d'en extraire les connaissances qu'ils contiennent. Avec la disponibilité
de la vaste quantité d'algorithmes de clustering et de techniques, il devient une source de
confusion pour l'utilisateur de choisir le meilleur algorithme qui convient à son jeu de
données cible.
Avec le grand nombre et rapidement croissant de documents disponibles sous forme
numérique (Internet, bibliothèque, CD-Rom ...), la classification automatique de textes est
devenu un domaine de recherche important. Elle est l'action de la distribution par catégories
ou classes d'un ensemble de documents en fonction de certaines caractéristiques communes.
3.2. La représentation de texte
Pour mettre en œuvre une méthode de classification, il est d'abord nécessaire de transformer
les textes numérisés en un moyen efficace et utile afin qu'ils puissent être analysés.
3.2.1. Choix des termes
Le
modèle espace
vectoriel est l'approche
la
plus utilisée
pour
représenter
des
documents textuels, nous représentons un texte par un vecteur numérique obtenu en
comptant les plus pertinents éléments lexicaux présents dans le texte. Tout document dj sera
transformé en un vecteur : [39]
𝑑𝑗 = (𝑤1𝑗 , 𝑤2𝑗 , … , 𝑤|𝑇|𝑗 )
(3.1)
Où :
-
T est l'ensemble des termes (ou descripteurs) qui apparaissent au moins une
fois dans le corpus
-
(|𝑇| est la taille du vocabulaire)
21
Chapitre 03. Représentation des données
-
Wkj représente le poids (fréquence ou l'importance) du terme tk dans le document
dj.
Documents
Les termes (descripteurs)
D1
W11
W21
W31 …. Wj1 …. Wn1
D2
W21
W22
W32 …. Wj2 …. Wn2
….
….
….
….
Dm
W1m W2m W3m …. Wjm …. Wnm
….
….
….
Table 3.1 Matrice Document-Terme
Il y a plusieurs approches pour sélectionner ces descripteurs parmi lesquelles: [39]
3.2.1.1.
Représentation en sac de mots (bag-of-words)
La représentation la plus simple des textes introduits dans le cadre du modèle d'espace de
vecteur est appelé « sac de mots ». L’idée est de transformer des textes dans des vecteurs où
chaque composante représente un mot. Cette représentation des textes exclut toute analyse
grammaticale et toute notion de distance entre les mots [12], et déstructuré syntaxiquement
les textes en les rendant compréhensible pour la machine. [39]
Les mots ont l’avantage de posséder un sens explicite. Cependant, plusieurs problèmes se
posent. Il faut tout d’abord définir ce qu’est « un mot » pour pouvoir le traiter
automatiquement. On peut le considérer comme étant une suite de caractères appartenant à
un dictionnaire, ou bien, de façon plus pratique, comme étant une séquence de caractères
non-délimiteurs encadrés par des caractères délimiteurs (caractères de ponctuation), il faut
alors gérer les signes, ainsi que les mots composés ; ceci nécessite un prétraitement
linguistique. On peut choisir de conserver les majuscules pour aider, par exemple, à la
reconnaissance de noms propres, mais il faut alors résoudre le problème des débuts de
phrases.
Avec cette approche, les documents sont représentés par des vecteurs de dimension égale à
la taille du vocabulaire (voir la figure 2.2), qui est en général assez grand. En effet, même des
collections de documents de taille moyenne peuvent contenir de nombreux mots différents,
et des vocabulaires de plusieurs dizaines de milliers de mots sont désormais communs
[13].
22
Chapitre 03. Représentation des données
Figure 3.1 Exemple de la représentation d’un texte extrait de la collection CLEF en sac de mots
3.2.1.2.
Représentation par phrases
Une autre représentation, appelé "sac de phrases", effectue une sélection de phrases
(séquences de mots dans le texte, et non pas le lexème «phrases» que nous l'entendons
habituellement), en favorisant ceux qui sont susceptibles d'exercer une signification
importante. Logiquement, une telle représentation doit fournir de meilleurs résultats que
ceux obtenus par la représentation "sac de mots". Cependant, les expériences [14] ont
montré que si les qualités sémantiques sont conservées, les qualités statistiques sont plus
dégradées. [39]
Par exemple « world wide web », ont un degré plus petit d'ambiguïté que les mots
constitutifs, et aussi que les phrases ont l’avantage de conserver l’information relative à la
position du mot dans la phrase [15] [16].
3.2.1.3.
Représentation avec des racines lexicales
Dans la description du modèle précédent, chaque flexion d'un mot est considérée
comme un descripteur différent; en particulier, les différentes formes un verbe sont autant
de mots. Par exemple, les mots franchi et franchit sont considérés comme des
descripteurs différents alors qu'il s'agit de deux formes conjuguées du même verbe.
Pour remédier à ce problème, il faut de considérer uniquement la racine des mots plutôt que
les mots entiers (on parle de stem en anglais). Plusieurs algorithmes ont été proposés pour
substituer les mots par leur racine ; l'un des plus connus pour la langue anglaise est
l'algorithme de Porter [17].
23
Chapitre 03. Représentation des données
3.2.1.4.
Représentation avec des lemmes
Une autre méthode pour la représentation, appelée les techniques de lemmatisation.
Elle consiste
à
rechercher la
lemmatisation remplace un
racine lexicale
terme par
une
d'un
forme
terme [18], tandis
que la
conventionnelle standard, par
exemple, forme infinitive pour les verbes et singuliers pour
les noms
[19]. Cela
empêche que chaque inflexion ou la forme d'un mot doive être considéré en tant
que descripteur de différents et crée en conséquence une dimension de plus. [39]
Un algorithme efficace, nommé TreeTagge a été développé pour les langues anglaise,
française, allemande
et italienne. Cet algorithme utilise les arbres de décision pour
effectuer l'analyse grammaticale, avec des fichiers de paramètres spécifiques à chaque
langue [20].
L’objectif de la lemmatisation est d’associer à chaque mot, une entrée dans le lexique.
D’une manière générale, on définit un lexique comme un ensemble de lemmes, ce qui
correspond plus ou moins à un dictionnaire. Par exemple le lemme de “mangeaient” est
“manger”. Depuis la fin des années 80, les lemmatiseurs sont capables d’associer à chaque
mot d’un texte son lemme grâce à un étiquetage morpho-syntaxique (nom, verbe, adjectif,
etc.) [21]
3.2.1.5.
Représentation basées sur les n-grammes
Une autre méthode de représentation, qui a plusieurs avantages, est basée sur "n-grammes"
(un "n-gramme" est une séquence de n caractères ou mots consécutifs). L'ensemble des ngrammes (n varie généralement de 2 à 5) qui peut être généré pour un document donné est
principalement le résultat du déplacement d'une fenêtre de n
caractères de long du
texte [22]. La fenêtre est déplacée par un caractère à la fois et le nombre d’occurrences de
chaque n-gramme est compté [23], [24].
Par exemple, pour générer les 3-grammes de la phrase ”Tu es libre”, on obtient : "Tu ", "u
e", " es", "es ", "s l", " li", "lib", "ibr", "bre".
Historiquement, les n-grammes étaient conçus pour la reconnaissance de la parole, pour
prédire l’apparition de certains caractères en fonction des autres caractères mais par la suite,
le concept n-grammes a été bénéfique, pour le domaine de recherche d’information et la
classification de textes, avec plusieurs travaux qui ont démontré que cette segmentation ne
faisait pas perdre d’information.
24
Chapitre 03. Représentation des données
Il est à noter qu’il existe une autre utilisation de cette notion, où le n-gramme est une suite
de n mots et dont l’intérêt est de détecter les liens entre les mots pour en déduire quel mot va
apparaître conditionnellement à la présence des n-1 mots précédents.
Plusieurs spécialistes récents dans le domaine, ont employé ce type de codage pour
représenter leurs documents. Cette technique a servi pour coder, même de textes en langue
chinoise.
3.2.1.6.
La représentation
Représentation conceptuelle
à
base
des
concepts,
aussi
appelé
basée
sur ontologie
la
représentation, utilise également le vector space formalisme pour représenter des
documents. La
caractéristique
de cette
approche
réside
dans le
fait
que
les éléments de l'espace vectoriel ne sont pas associés avec des termes d'index seulement,
mais avec des concepts, qui est rendue possible par addition d'un étage supplémentaire à la
carte termes dans les concepts de l'ontologie. [39]
Pour permettre une telle représentation des documents, il est nécessaire de pouvoir projeter
nos termes sur un thesaurus ou un lexicon comme Wordnet
[20]. Cette dernière est
une ontologie d’héritages lexicaux en ligne dans laquelle les mots sont regroupés au sein
de groupes de synonymes appelés «synsets». Chacun de ces groupes représente un
concept lexical sous-jacent. Ces groupes sont reliés entre eux par différents types de liens
(hyperonymie, méronymie, etc.), le tout formant un graphe. Cet outil, ayant pour
objectif de représenter des aspects sémantiques d’un lexique. Deux approches sont
possibles dans cette représentation, dans la première le vecteur de représentation contient
seulement les concepts associés aux mots du texte représenté, et dans la deuxième, le
vecteur contient les concepts et les mots. Prenons l’exemple de la FIG 3.2 en peut
regrouper les trois termes (cime, sommet, crête) du vecteur dans le concept pic.
Figure 3.2 Représentation conceptuelle du mot « pic »
25
Chapitre 03. Représentation des données
3.2.2. Codage des termes (Calcul du poids)
Il existe différentes méthodes pour calculer le poids Wkj sachant que, pour chaque terme,
il est possible de calculer non seulement sa fréquence dans le corpus mais aussi le nombre de
documents contenant ce terme.
3.2.2.1.
Le codage TFIDF :
La plupart des approches [24] sont centrées sur la représentation vectorielle des textes en
utilisant la mesure TF x IDF.
TF représente « Term Frequency » le nombre d'occurrences du terme dans le corpus et IDF
représente le nombre de documents contenant le terme. Ces deux concepts sont combinés
(par produit), en vue d'attribuer un plus fort poids aux termes qui apparaissent souvent dans
un document et rarement dans l'ensemble du corpus. [11]
𝑁𝑏𝑑𝑜𝑐
𝑑𝑜𝑐 (𝑡𝑘 )
𝑇𝐹 × 𝐼𝐷𝐹(𝑡𝑘 , 𝑑𝑗 ) = 𝑂𝑐𝑐(𝑡𝑘 , 𝑑𝑗 ) × log 𝑁𝑏
(3.2)
Où
-
Occ (tk, dj) est le nombre d'occurrences du terme tk dans le document dj
-
Nbdoc est le total certain nombre de documents du corpus
-
Nbdoc (tk) est le nombre de documents de cet appareil dans lequel le
terme tk apparaît au moins une fois.
3.2.2.2.
Codage TFC :
Il est une autre mesure de pondération, appelée TF × IDF Semblable à
TFC qui
corrige les longueurs de les textes par une normalisation du cosinus, pour éviter de donner
plus de crédit aux plus longs documents. [39]
𝑇𝐹𝐶(𝑡𝑘 , 𝑑𝑗 ) =
𝑻𝑭×𝑰𝑫𝑭(𝒕𝒌 ,𝒅𝒋 )
√∑|𝑻| (𝑻𝑭×𝑰𝑫𝑭(𝒕𝒌 ,𝒅𝒋 ))𝟐
𝒌=𝟏
(3.3)
D’autres codages sont également utilisés, comme par exemple le codage LTC qui tente de
réduire les effets des différences de fréquences [2], [27].
3.2.2.3.
Le codage Lnu :
Les différents textes qui composent un corpus ont des tailles différentes dont il faut tenir
compte dans le codage des termes. Selon Singhal [27], il existe deux phénomènes à
considérer dans les textes longs par rapport aux textes courts :
-
les mots présents tendent à avoir des fréquences plus élevées,
-
les textes longs sont plus susceptibles de contenir des mots-clefs différents.
26
Chapitre 03. Représentation des données
Il propose le codage Lnu, défini à la formule (3.3), pour tenir compte de ces phénomènes.
(3.4)
Où :
-
TF m : Fréquence moyenne dans le texte t.
-
U(t) : Nombre de termes uniques dans le texte t.
-
U : Nombre moyen de termes sur l'ensemble des textes du corpus.
3.2.3. Réduction de la dimension
Un problème central pour l’approche statistique de la catégorisation de textes est la grande
dimension de l’espace de représentation. Avec la représentation en sac de mots, chacun des
mots d’un corpus est un descripteur potentiel ; or pour un corpus de taille raisonnable, ce
nombre peut être de plusieurs dizaines de milliers. Pour beaucoup d’algorithmes
d’apprentissage, il faut sélectionner un sous-ensemble de ces descripteurs.
Sinon, deux problèmes se posent :
– le coût du traitement car le nombre des termes intervient dans l’expression de la
complexité de l’algorithme, plus ce nombre est élevé, plus le volume de calcul est important.
– la faible fréquence de certains termes : on ne peut pas construire des règles fiables à partir
de quelques occurrences dans l’ensemble d’apprentissage.
On a observé que les mots les plus fréquents peuvent être supprimés : ils n’apportent pas
d’information sur la catégorie d’un texte puisqu’ils sont présents partout. De même, les mots
très rares, qui n’apparaissent qu’une ou deux fois sur un corpus, sont supprimés, car leurs
faibles fréquences ne permettent pas de construire de règles stables.
Cependant, même après la suppression de ces deux catégories de mots, le nombre de
candidats reste encore élevé, et il faut utiliser une méthode statistique pour choisir les mots
utiles pour discriminer entre documents pertinents et documents non pertinents, ou, plus
généralement, entre les classes de documents.
Les techniques utilisées pour la réduction de dimension sont issues de la théorie de
l’information et de l’algèbre linéaire. Sebastiani [25] classe ces techniques de deux façons :
27
Chapitre 03. Représentation des données
i) selon qu’elles agissent localement ou globalement, et ii) selon la nature des résultats de la
sélection (s’agit-il d’une sélection de termes ou d’une extraction de termes).
28
Chapitre 04. Clustering spectral
4. Clustering Spectrale
4.1. Clustering de données
4.1.1. Introduction
Le clustering (ou regroupement) est un sujet de recherche en apprentissage émanant d'une
problématique plus générale, à savoir la classification. On distingue la classification
supervisée et non supervisée. Dans le premier cas, il s'agit d'apprendre à classer un nouvel
individu parmi un ensemble de classes prédéfinies, à partir de données d'entrainement
(couples (individu, classe)). Issue des statistiques, et plus précisément de l'Analyse De
Données (ADD), la classification non-supervisée, comme son nom l'indique, consiste à
apprendre sans superviseur. A partir d'une population, il s'agit d'extraire des classes ou
groupes d'individus présentant des caractéristiques communes, le nombre et la définition des
classes n'étant pas donnés a priori. [28]
Le clustering (ou la classification non supervisée) est une approche importante en analyse
exploratoire de données non étiquetées, mais reste un problème difficile. Sans connaissances
a priori sur la structure d’une base de données, seule la classification non supervisée permet
de détecter automatiquement la présence de sous-groupes pertinents (ou clusters).
Un cluster peut être défini comme un ensemble de données similaires entre elles et peu
similaires avec les données appartenant à un autre cluster (homogénéité interne et séparation
externe). Les clusters peuvent aussi être décrits comme des régions de l’espace de
représentation des données contenant une densité relativement élevée de points de données,
séparées entre elles par une zone de densité relativement faible. La détection de ces
regroupements joue un rôle indispensable pour la compréhension de phénomènes variés
décrits par un ensemble d’observations. [29]
La classification non-supervisée fut, dans un premier temps, utilisée dans les domaines
d'application suivants :

la médecine : découverte de classes de patients présentant des caractéristiques
physiologiques communes,

le traitement de la parole : construction de systèmes de reconnaissance de l'orateur,

l'archéologie : regroupement d'objets datant de l'âge de fer fia partir de leur
description,
29
Chapitre 04. Clustering spectral

l'éducation : structuration d'une classe d'ouvriers dans le domaine de l'industrie du
téléphone, à partir de leurs besoins communs de formation.
Des méthodes simples datant des années 1950-60 et issues des statistiques, telles que les
approches par construction de taxonomies, offraient aux experts la possibilité d'analyser et
d'explorer leurs données. Progressivement, d'autres applications sont apparues (traitement
d'images, de données textuelles, etc.) imposant alors de nouvelles contraintes de
performances, d'utilisations ou de flexibilités pour ces méthodes. Par ailleurs, le
développement d'outils informatiques puissants a permis d'envisager de nouvelles pistes de
recherche dans le domaine du clustering.
Depuis les années 1990, on peut considérer que le clustering constitue un domaine d'étude
incontournable en apprentissage. Ces techniques occupent en effet une large place dans les
processus de prétraitement, structuration, organisation des données et d'Extraction de
Connaissances dans les Données (ECD). [28]
La classification non-supervisée a trouvé différentes utilisations dans des domaines variés
comme : la recherche et l'extraction d'information, dans des applications sur des données
spatiales, par exemple, SIG (Système d'Information Géographique) ou sur des données
astronomiques, l'analyse des données hétérogènes et séquentielles, les applications Web,
l'analyse ADN en bioinformatique, etc. [30]
De nombreuses méthodes de classifications ont été proposées. Les approches les plus
classiques sont les méthodes hiérarchiques et les méthodes partitives.
4.1.2. Définitions
4.1.2.1.
Définition de la classification
Le concept de classification et la notion de partition d’un ensemble fini sont étroitement liés.
Plusieurs techniques ont été définies se distinguant ou par le type de résultats obtenus ou
alors par la méthode de regroupement qui constitue les classes (celles-ci se basent sur le
calcul des distances).
Dans le premier cas selon qu’il y ait chevauchement entre les classes ou pas, on parlera de
classification dure, douce ou floue ; selon qu’il y ait objet classé ou non on parlera de
30
Chapitre 04. Clustering spectral
classification partielle. Ces mêmes résultats peuvent par ailleurs être représentés sous forme
de structure plate ou d’une hiérarchie de classes. [31]
Partition d’un ensemble fini: Étant donné un ensemble fini d’objets Ω, on appelle partition de
Ω toute famille de parties non vides de Ω disjointes dont l’union forme "ensemble. Ainsi, si 𝐶 est
une partition de Ω , alors :
(4.1)
Cette première définition correspond à l’algorithme de classification dure, c’est la manière la
plus simple de représenter les résultats d’une classification ou chaque objet doit appartenir à une
classe unique, c’est ce que l’on appelle méthodes de partitionnement. La Figure 4.1 représente
un exemple de cette méthode.
a) Classification en 4classes
b) classification en 3 classes
Figure 4.1 Classification par partitionnement
Certes ce type de classification a l’avantage d’être aisément interprétable. Mais il est parfois
inadéquat quand on a besoin de donner plus de flexibilité à la notion de classe afin de ne pas
altérer la qualité de l’information. Dans le cas où des objets sont trop différents des autres, il est
préférable de ne pas les classer. Ainsi il s’agira de classification dure partielle.
Si la contrainte de disjonction est relâchée, un objet peut appartenir à différentes classes, on
parlera de classification douce. Mais aussi de classification douce partielle s’il existe des objets
qui n’appartiennent à aucune classe.
Enfin, dans le cas où chaque objet appartient à toutes les classes avec un degré d’appartenance,
on va vers la notion de classification floue. Elle aboutit souvent vers une classification dure
après une defuzzification des résultats par maximum d’appartenance par exemple, ou encore
vers une classification douce ou les classes sont ordonnées par ordre décroissant du degré
d’appartenance. Chaque objet est alors affecté aux classes dont il vérifie les conditions. [31]
31
Chapitre 04. Clustering spectral
4.1.2.2.
Groupe d’objets similaires
La similarité entre deux éléments i et j est noté 𝑠(𝑖, 𝑗). La similarité entre les données à
étudier est l’information principale (et souvent unique) permettant à l’algorithme de
classification de partitionner le jeu de donnée. Le plus souvent, cette similarité est calculée
selon une mesure de “distance” adaptée au type de données et au problème à résoudre. Une
distance, noté de manière générale 𝑑(𝑖, 𝑗), est une mesure de similarité qui vérifie certaines
propriétés mathématiques (symétrie, séparation et inégalité triangulaire). Lorsque les
données sont décrites dans un espace vectoriel, la distance la plus utilisée est la distance
Euclidienne, alors notée‖𝑖 − 𝑗‖.
Les fonctions distance
Il est souvent utile d’avoir une représentation géométrique afin de fournir une première vue
des données dans le but de repérer des groupes d’objets naturels ou des objets isolés. Chaque
attribut représente alors un axe de coordonnées. L’espace des données est donc un espace
euclidien à M dimensions dans lequel chaque objet est représenté par un point.
La distance d(i, j) entre les points xi et xj, est ensuite mesurée dans cet espace grâce à
l’utilisation d’une fonction de distance d : RM ×RM dans R+, respectant les propriétés
suivantes [32] :
-
d(i, j) ≥ 0 (contrainte de positivité),
-
d(i, j) = 0 si et seulement si xi = xj ,
-
∀xi, xj, d(i, j) = d( j, i) (contrainte de symétrie),
-
∀xi, xj, xl , d(i, j) ≤ d(i, l)+d(l, j) (contrainte d’inégalité triangulaire).
Dans la littérature, il est aisé de trouver plusieurs définitions de métrique de distance.
Cependant, toutes ces mesures ont une interprétation identique : il est très probable que des
points proches dans l’espace de projection représentent des données d’un même groupe (la
distance est alors proche de 0), alors que des points éloignés représentent, quant à eux, des
données appartenant à des groupes différents (la distance tend vers l’infini). La liste suivante
non exhaustive, reprend les plus classiques :
–
La distance de Minkowski : avec p un entier positif non nul.
(4.2)
32
Chapitre 04. Clustering spectral
–
La distance euclidienne est la plus connue et la plus utilisée. Elle peut être
vue comme un cas particulier de la distance de Minkowski pour p = 2 :
(4.3)
–
La distance de Manhattan est également un cas particulier de la distance de
Minkowski pour p = 1 (également appelée ”métrique absolue”) :
(4.4)
La notion de similarité est un élément essentiel de la classification automatique et le biais
introduit par la mesure de similarité permet de former des groupes. Ce concept est dual à
celui de la dis-similarité où deux individus sont autant plus similaires qu’ils sont proches au
sens d’une mesure de dis-similarité.
Mesure de dis-similarité: On appelle indice ou mesure de dis-similarité sur un ensemble Ω,
une application d : Ω × Ω → R+ qui vérifie les propriétés suivantes pour tout couple (𝑥, 𝑦) ∈
Ω × Ω:
(4.5)
Métrique: une métrique sur un ensemble Ω est une application d : Ω × Ω → R+ qui vérifie les
propriétés suivantes pour tout (𝑥, 𝑦, 𝑧) ∈ Ω × Ω × Ω :
(4.6)
Ultra-métrique: On appelle ultra-métrique sur un ensemble, une application d : Ω × Ω → R+
qui vérifie les propriétés suivantes pour tout (𝑥, 𝑦, 𝑧) ∈ Ω × Ω × Ω :
(4.7)
33
Chapitre 04. Clustering spectral
L’homogénéité des individus regroupés au sein d’un groupe est souvent évaluée à l’aide d’un
critère statistique appelée variance dont la définition est rappelée ci-dessous.
Variance: On définit la variance 𝑉(𝐶 i) d un groupe 𝑑’objets 𝐶 i ainsi :
(4.8)
où 𝑁i et μi sont respectivement le nombre d objets et le centroïde du groupe Ci.
Dans la classification non-supervisé, on peut également distinguer la variance intra-classe Vintra,
que l’on souhaite minimiser, de la variance inter-classe Vinter, que l’on cherche à maximiser :
(4.9)
où Ni et μi sont respectivement le nombre d’objets et le centroïde du groupe Ci, et de manière
analogue, N et μ désignent respectivement le nombre d’objets et le centroïde de Ω. La première
évalue l’homogénéïté moyenne des groupes d’une partition et la seconde permet de quantifier la
différence entre les groupes. Le théorème de König-Huyghens permet de relier la variance intraclasse et inter-classe à la variance totale 𝑉 totale = 𝑉 (Ω) :
(4.10)
Les fonctions similarités
De nombreux algorithmes conventionnels de classification utilisent la seule notion de
distance afin d’obtenir des classes (ou des groupes) de points. En effet, il semble cohérent de
regrouper les points dont la distance les uns par rapport aux autres est faible, et de séparer
les points les plus éloignés. Cependant, d’autres algorithmes, plus récents, lui préfèrent la
notion de similarité entre points, qui est plus générale. De plus, contrairement à la mesure de
distance qui prend des valeurs entre 0 et l’infini, la mesure de similarité permet de fournir
des valeurs quantifiables entre 0 et 1, plus aisées à interpréter. [32]
34
Chapitre 04. Clustering spectral
La similarité w(xi, xj) (notée wi j) entre deux points xi et xj est calculée en fonction de la
distance entre ces points. La fonction similarité utilisée w : RN ×RN dans [0,1] respecte les
propriétés suivantes :
-
wi j ∈ [0,1] (contraintes de normalisation),
-
wi j = 1 si et seulement si xi = xj,
-
wi j = wji (contraintes de symétrie).
Contrairement à la métrique de distance, deux points sont considérés comme similaires si la
valeur de la similarité wi j (ou wji) est proche de 1. En revanche, ils sont considérés comme
très différents l’un de l’autre si la valeur de la similarité wi j (ou wji) est proche de 0. Un
exemple simple de similarité est la fonction binaire : wi j ∈ {0,1}.
De la même façon que pour la fonction distance, il existe, dans la littérature, plusieurs
définitions différentes de métrique de similarités entre objets décrits par des attributs. Parmi
celles-ci, nous choisissons de présenter la fonction cosinus, elle permet de mesurer la
similarité entre deux vecteurs normalisés (en fixant leur norme à 1), en calculant l’angle
entre ces derniers. Plus l’angle entre ces vecteurs est faible, plus les objets associés sont
similaires. Cette fonction de similarité est utilisée essentiellement en exploration et analyse
de contenu de documents.
(4.11)
4.1.3. Les trois principales étapes du clustering
Le processus de clustering se divise en trois étapes majeures : (1) la préparation des données,
(2) l'algorithme de clustering et (3) l'exploitation des résultats de l'algorithme. Nous
discutons ici des problématiques générales liées à chacune de ces étapes. [28]
35
Chapitre 04. Clustering spectral
Figure 4.2 Les différentes étapes du clustering
4.1.3.1.
La préparation des données
Variables et sélection
Les objets sont décrits par des variables, aussi appelées attributs, descripteurs ou traits. Ces
variables sont de différentes natures :
-
variables quantitatives : continues (e.g. la taille d'une personne), discrètes (e.g. le
nombre de personnes) ou sous forme d'intervalles (e.g. la période de vie d'une
personne),
-
variables qualitatives : non-ordonnées (e.g. la "couleur" des cheveux) ou ordonnées
(e.g. la taille : "petit", "moyen", "grand", etc.),
-
variables structurées : par exemple la forme d'un objet (polygone, parallélogramme,
rectangle, ovale, cercle, etc.)
L'étape de la préparation des données consiste à sélectionner et/ou pondérer ces variables,
voire à créer de nouvelles variables, afin de mieux discriminer entre eux les objets à traiter.
En effet les variables ne sont pas nécessairement toutes pertinentes : certaines peuvent être
redondantes et d'autres non-pertinentes pour la tâche ciblée. Ce problème de sélection de
variables a été largement étudié en classification supervisée mais reste très ouvert pour une
approche non-supervisée.
Dans un cadre supervisé, chaque variable peut-être évaluée relativement à son pouvoir
discriminant par rapport aux classes prédéfinies. Deux types de méthodes se dégagent : les
36
Chapitre 04. Clustering spectral
méthodes “filtre” (filter) et les méthodes “enveloppe” (wrapper). Dans le premier cas il
s’agit d’enlever les variables non pertinentes avant la phase d’apprentissage alors que les
approches “enveloppe” utilisent de manière explicite le classifieur pour choisir un sousensemble de variables réellement discriminantes.
En revanche, peu de travaux concernent la sélection de variables dans une perspective nonsupervisée, principalement parce que, sans les étiquettes de classe, il est difficile d’évaluer la
pertinence d’une variable. Cette difficulté peut être contournée en effectuant une première
étape de clustering à partir de l’ensemble des variables, puis de considérer chaque cluster
comme une classe et de réitérer ce processus. De fait, cette technique se place parmi les
approches “enveloppe” puisqu’elle est fortement dépendante de l’algorithme de clustering et
des paramètres utilisés (nombre de clusters, etc.). Récemment, des approches “filtres” ont été
envisagées dans ce contexte non-supervisé. [28]
Distances et similarités
La plupart des algorithmes de clustering utilisent une mesure de proximité entre les objets à
traiter. Cette notion de “proximité” est formalisée à l’aide d’une mesure (ou indice) de
similarité, dis-similarité ou encore par une distance. Le choix ou la construction de cette
mesure est déterminant pour la suite du processus. En effet, deux mesures différentes peuvent
induire deux schémas de classification différents. Finalement, chaque domaine d’application
possédant ses propres donnés, il possède également sa propre notion de “proximité” ; il faut
concevoir alors une mesure différente pour chaque domaine d’application, permettant de
retranscrire au mieux les différences (entre les objets) qui semblent importantes pour un
problème donné. [28]
4.1.3.2.
Le choix de l’algorithme
Le choix de l’algorithme de clustering doit donner lieu à une analyse globale du
problème : quelle est la nature (qualitative et quantitative) des données ? Quelle est la nature
des clusters attendus (nombre, forme, densité, etc.) ? L’algorithme doit alors être choisi de
manière à ce que ses caractéristiques répondent convenablement à ces deux dernières
questions. Les critères de décision peuvent être : la quantité de données à traiter, la nature de ces
données, la forme des clusters souhaités ou encore le type de schéma attendu (pseudo-partition,
partition stricte, dendrogramme, etc.).
37
Chapitre 04. Clustering spectral
La taille des données
La quantité d’objets à traiter est un premier facteur de décision. En effet, pour des données de
très grande taille (par exemple en traitement d’images), les algorithmes de complexité plus que
linéaires sont quasiment prohibés. Ainsi des méthodes telles que l’algorithme des 𝑘-𝑚𝑒𝑎𝑛𝑠,
proposé en 1967 par MacQueen ou plus généralement la méthode des nuées dynamiques, étant de
complexité linéaire, sont très souvent utilisés. En revanche, lorsque l’on souhaite organiser
quelques milliers, voire quelques centaines d’objets, il est possible d’avoir recours à des
méthodes plus complexes et nécessitant un temps de traitement plus important (méthodes
hiérarchiques ou de partitionnement plus élaborées). [28]
La nature des données
Beaucoup d’algorithmes de clustering s’appuient sur une matrice de similarité ou dis-similarité.
Le plus souvent, cette matrice est obtenue à partir des descriptions des données. La nature de
ces descriptions (variables qualitatives et/ou quantitatives), détermine alors le choix de la
mesure de (dis)similarité utilisée.
Par ailleurs, on peut ne pas souhaiter traduire les données dans une telle matrice et conserver
la table initiale des descriptions. Certaines méthodes, telles que le clustering conceptuel le
permettent.
Quand bien même une matrice de similarité existe, certaines méthodes de clustering
s’appuient sur la notion d’espace métrique. Pour l’algorithme des k-means par exemple,
cet espace métrique permet de définir de nouveaux objets (ici les centroides) absents de
l’ensemble initial des données. Dans le cas où un tel espace n’est pas présent, le processus
de clustering se base uniquement sur la mesure de similarité. Des variantes sont alors
envisageables telles que l’algorithme des nuées dynamiques proposé par Diday en 1972 ou
plus simplement les algorithmes “k-médoides” ou PAM (Partitioning Arround Medoids).
La forme des clusters
Les variations de taille et densité sont également à prendre en compte dans le choix de
l’algorithme de clustering. On entend, par variation de taille, la capacité d’un algorithme à
obtenir à la fois des clusters contenant beaucoup d’objets, et des clusters contenant peu
voire très peu d’objets. De même, la prise en compte de la densité permet ou non d’obtenir
des clusters contenant des objets plus ou moins “proches”, au sens de la mesure de similarité
établie. [28]
38
Chapitre 04. Clustering spectral
Le type de résultats attendus
La sortie d’un algorithme de clustering peut être, par exemple, une partition (ou
pseudo-partition), une fonction ou encore un dendrogramme (arbre hiérarchique). De
même, chaque cluster obtenu peut être défini soit par l’ensemble des objets qui le composent,
soit par une description relative aux variables initiales. On parle d’une définition
en extension, dans le premier cas, et en intension, dans le second. Précisons que la plupart des
approches proposent une classification à partir d’une définition en extension des clusters.
Une nouvelle fois, le choix de la méthode de clustering devra être fait en fonction du type de
résultat souhaité et donc de l’exploitation envisagée de ce résultat.
4.1.3.3.
L’exploitation des clusters
La tentation est grande, pour un non-spécialiste, de considérer comme “acquis” le résultat
d’un processus de clustering. Autrement dit, les clusters obtenus ne sont généralement ni remis en
cause ni évalués en terme de disposition relative, dispersion, orientation, séparation, densité
ou stabilité. Pourtant, il est sans aucun doute utile de distinguer les classes pertinentes
obtenues, des autres. De même, cette étape d’analyse permet d’envisager le recours à une autre
approche de clustering plus adaptée. Deux situations sont possibles : soit la tâche de clustering
s’inscrit dans un traitement global d’apprentissage, soit les clusters générés par clustering
constituent un résultat final.
Dans le premier cas, l’analyse des clusters obtenus (mesures statistiques de qualité) peut aider à
orienter le traitement suivant. Une description des clusters n’est pas nécessaire dans cette situation.
En revanche, dans le cas où le clustering constitue à lui seul un processus global de découverte
de classes, l’exploitation des clusters pour une application donnée passe par une description de ces
derniers. Lorsque les objets se présentent sous la forme d’une matrice de (dis)similarité, il
existe peu de méthodes pour décrire les classes (méloïdes, k objets représentatifs et mesures de
cohésion). Lorsque les objets sont décrits par un ensemble de variables, on peut avoir recours à
des méthodes de description des classes (descriptions conceptuelles). [28]
4.1.4. Taxonomie des algorithmes de clustering
Une multitude d'algorithmes de classification sont proposés dans la littérature qui peuvent
être groupés selon différents critères :
-
Le type de données utilisées pour l'approche
39
Chapitre 04. Clustering spectral
-
Le critère de classification qui définit la similarité entre les observations
-
La théorie et les concepts de base sur lesquels les techniques de classification sont
basées (par exemple les statistiques, les réseaux de neurones, ...)
Ainsi par rapport à la méthode utilisée pour définir les classes, les algorithmes peuvent être
classifiés de façon générale dans les catégories suivantes [33] :
La classification hiérarchique. Le résultat de ce type d'algorithmes est un arbre de clusters,
appelé dendogramme, qui montre comment les clusters sont organisés. En coupant le
dendogramme au niveau désiré, une classification des données dans des groupes disjoints est
ainsi obtenue.
La classification par partitionnement cherche à décomposer directement la base de
données dans un ensemble de clusters disjoints. Plus spécifiquement, ils essaient de
déterminer un nombre de partitions qui optimisent certains critères (fonction objective). La
fonction objective peut mettre en valeur la structure locale ou globale des données et son
optimisation est une procédure itérative.
La classification à base de densité. L'idée centrale de ce type de classification est de
grouper des objets voisins de l'ensemble des données en classes suivant une fonction de
densité.
La classification à base de grille. Ce type d'algorithmes est principalement proposé pour
des données spatiales. La caractéristique principale de ce type d'algorithme est qu'il quantifie
l'espace des données dans un nombre fini de cellules et ensuite il réalise toutes les opérations
dans cet espace quantifié.
4.1.4.1.
La classification hiérarchique
La classification hiérarchique construit une hiérarchie de clusters, ou autrement dit, un arbre
de clusters, connue aussi sous le nom de dendogramme. Une telle approche permet
d'explorer les données à travers différents niveaux de granularité. Les méthodes de la
classification hiérarchique sont divisées en deux types d'approches : ascendante (CHA), dite
agglomérative et descendante (CHD), dite divisive.
La première (ascendante) qui est la plus couramment utilisée consiste, à construire
l'hiérarchie à partir des objets (au départ on a un objet par classe), puis à fusionner les
classes les plus proches, afin de n'en obtenir plus qu'une seule contenant tous les objets. La
seconde (descendante), moins utilisée, consiste à construire l'hiérarchie à partir d'une seule
classe regroupant tous les objets, puis à partager celle-ci en deux groupes. Cette opération
40
Chapitre 04. Clustering spectral
est répétée à chaque itération jusqu'à ce que toutes les classes soient réduites à des
singletons. Le processus continu jusqu'à ce qu'un critère d'arrêt (d'habitude c'est le nombre k
de clusters demandé) est atteint.
Les avantages de la classification hiérarchique incluent :
-
Facilité pour traiter différentes formes de similarité ou de distance entre objets
-
Applicable aux différents types d'attributs
-
Une flexibilité en ce qui concerne le niveau de granularité
Les points faibles sont liés au :
-
Choix du critère d'arrêt qui reste vague
-
Fait que la plupart des algorithmes hiérarchiques ne revoient pas les clusters
intermédiaires qu'une fois qu'ils sont construits pour les améliorer
Les méthodes de classification hiérarchique basées sur des métriques de liens donnent
comme résultats des clusters de formes convexes.
Dans la classification hiérarchique la représentation des données utilisée d'habitude,
observation-variable, n'est pas très significative. Au lieu de cela on utilise une matrice de
distance 𝑁 × 𝑁, qui calcule les similarités ou dissimilarités entre les données.
Elle est parfois appelée matrice de connectivité. Les critères du lien sont calculés à partir de
cette matrice. Parfois, par rapport à la mémoire machine, la taille de la matrice des distances
est trop grande. Pour relaxer cette limite, différentes heuristiques sont utilisées pour
introduire dans cette matrice une densité plus faible.
Cela peut être réalisé en omettant des entrées inférieures à un certain seuil, ou en utilisant
seulement un certain sous-ensemble de représentants des données, ou en gardant pour
chaque individu qu'un certain nombre des plus proches voisins.
Une matrice creuse peut-être utilisée pour représenter intuitivement les concepts de
connectivité et de proximité. On remarque que la manière dont on traite la matrice de
(dis)similarité et on construit une métrique de liens répète tout simplement nos idées a priori
sur le modèle des données. [30]
4.1.4.2.
La classification non hiérarchique (par partitionnement)
Les algorithmes de partitionnement de données partagent les données en plusieurs sousensembles. Puisque l'examen de tous les sous-ensembles possibles est infaisable du point de
vue computationnel, quelques heuristiques gloutonnes sont utilisées sous forme
41
Chapitre 04. Clustering spectral
d'optimisation itérative. Plus précisément, cela correspond aux différents schémas de
réallocation qui réaffectent itérativement les points entre les 𝑘 clusters. Par rapport aux
méthodes hiérarchiques traditionnelles, dans lesquelles les clusters ne sont pas revus après
avoir été construits, les méthodes par réaffectations améliorent les clusters progressivement.
Une des voies pour réaliser le partitionnement de données, c'est d'avoir un point de vue
conceptuel qui identifie le cluster avec un certain modèle dont les paramètres inconnus
doivent être estimés. Plus exactement, les modèles probabilistes supposent que les données
proviennent d'un mélange de plusieurs populations dont on ne connait pas les distributions et
d'autres paramètres à estimer. Un grand avantage des méthodes probabilistes est
l'interpretabilité des classes obtenues.
En fonction de la méthode de calcul des prototypes, les méthodes de partitionnement par
optimisation itérative sont divisées en 𝑘 − 𝑚é𝑑𝑜ï𝑑𝑒𝑠 et 𝑘 − 𝑚𝑜𝑦𝑒𝑛𝑛𝑒𝑠 (𝑘 − 𝑚𝑒𝑎𝑛𝑠). 𝑘 −
𝑚é𝑑𝑜ï𝑑𝑒 a deux avantages : le premier, est qu'il n'a pas de limites par rapport au type
d'attributs et deuxièmement, le choix du medoïde est dicté par la location d'une fraction des
points prédominants dans le cluster et ainsi est moins sensible à la présence des données
aberrantes. Dans le cas des 𝑘 − 𝑚𝑜𝑦𝑒𝑛𝑛𝑒𝑠, un cluster est représenté par son centre, qui est
une moyenne (d'habitude c'est une moyenne pondérée) des points affectés au cluster. Ce
type d'algorithme est très adapté aux cas d'attributs numériques. D'une autre part, les
centroïdes ont l'avantage d'avoir un sens géométrique et statistique assez clair. [30]
4.1.4.2.1.
Les méthodes K-moyennes
L'algorithme 𝒌 − 𝒎𝒐𝒚𝒆𝒏𝒏𝒆𝒔 ou 𝒌 − 𝒎𝒆𝒂𝒏𝒔 [34, 35] est l'outil de classification le plus
utilisé dans les applications scientifiques et industrielles. Quoiqu'il ne fonctionne pas très
bien pour les attributs catégoriels, il a un bon sens géométrique et statistique pour les
attributs numériques. La somme des dispersions (distances) entre un point et son centroïde,
exprimée par une distance appropriée, est utilisée comme fonction objective.
Par exemple, la fonction objective basée sur la norme 𝐿2, la somme des carrées des erreurs
(en Anglais Sum Of Squared Errors (SSE)) entre les points 𝑥i et les centroïdes 𝑤 j
correspondant, est égale à la variance intra-cluster totale :
(4.12)
42
Chapitre 04. Clustering spectral
La somme des carrés des erreurs peut être rationalisée comme le log-vraisemblance pour les
modèles de mélanges distribués normalement. Le but est de trouver un clustering avec une
dispersion intra-cluster minimale. Par conséquent, k-means peut être dérivé du formalisme
probabiliste général. On rappelle que seulement les moyennes sont estimées (dans le cas des
k-moyennes). Une fonction objective basée sur la norme 𝐿2 a plusieurs propriétés
algébriques uniques. Elle coïncide avec l'erreur par paire et avec la différence entre la
variance totale des données et la variance interclasses :
(4.13)
Par conséquent, la séparation des classes est atteinte en même temps que la consistance du
cluster.
L’algorithme général de ces méthodes
Entrées : k le nombre maximum de classes désiré.
Début
1. Choisir k individus au hasard (comme centre des classes initiales)
2. Affecter chaque individu au centre le plus proche
3. Recalculer le centre de chacune de ces classes
4. Répéter l’étape (2) et (3) jusqu’à stabilité des centres
5. Éditer la partition obtenue.
Fin
Nous citons ici deux méthodes connues sur le principe de k-means sont :
-
Méthodes de centres mobiles
-
Méthodes des nuées dynamiques
La première version (Méthodes de centres mobiles) consiste à réitérer les deux étapes
suivantes : (1) réaffecter tous les points à leurs centroïdes proches, et (2) recalcule les
centroïdes des nouveaux groupes formés. Les itérations continuent jusqu'à ce qu'un critère
d'arrêt soit atteint (par exemple, le nombre d'itérations).
43
Chapitre 04. Clustering spectral
Algorithme des méthodes de centres mobiles
Entrées : k le nombre maximum de classes désiré.
Début
1. Choisir 𝑘 individus au hasard (comme centre des classes initiales)
2. Affecter chaque individus au centre le plus proche Ce qui donne une partition en k
classes 𝑃1 = {𝐶1, . . . , 𝐶k }
3. On calcule les centres de gravité des chacune des classes de 𝑃1 Ce qui donne 𝑘
nouveaux centres de classes.
4. Répéter l’étape (2) et (3) jusqu’à deux itérations successives donnent la même
partition
5. Éditer la partition obtenue.
Fin
Cette version est connue comme l'algorithme de Forgy [36] et a plusieurs avantages :
-
Il travaille facilement avec n'importe quelle norme 𝐿p
-
Il permet une simple parallélisation
-
Il est insensible à l'ordre des données
La deuxième version (Méthodes des nuées dynamiques) classique dans l'optimisation
itérative, réaffecte des points basés sur l'analyse plus détaillée des effets sur la fonction
objective causés par le mouvement d'un point de son groupe actuel vers un nouveau cluster
potentiel.
Si le transfert a un effet positif, le point est déplacé et les deux centroïdes sont recalculés.
Cette version est difficilement réalisable du point de vue computationnel, car elle nécessite
une boucle propre pour chaque observation par déplacement des centroïdes.
Cependant, dans le cas 𝐿2 tous les calculs peuvent-être algébriquement réduits à calculer
simplement une seule distance. Par conséquent, dans ce cas les deux versions ont la même
complexité de calcul. C'est une évidence expérimentale que la deuxième version (classique),
comparée à algorithme de Forgy [36], fournit souvent de meilleurs résultats. En particulier,
Dhillon et al. [37] ont remarqué que les k-moyennes sphériques de Forgy (utilisant une
similarité basée sur le cosinus à la place d'une distance Euclidienne) ont tendance de bloquer
quand ils sont appliqués à la classification de documents. Ils se sont aperçus qu'une version
qui réaffecte les observations et recalcule immédiatement les centroïdes fonctionne
beaucoup mieux. En plus de ces deux versions, il y a eu plusieurs tentatives pour trouver le
minimum de la fonction de coût des k-moyennes.
44
Chapitre 04. Clustering spectral
La grande popularité des k-means est bien méritée. C'est un algorithme simple qui se base
sur un fondement solide de l'analyse de la variance, mais il souffre des aspects suivants :
-
Les résultats dépendent beaucoup de l'initialisation
-
Le minimum local calculé semble être très loin du minimum global
-
Le processus est sensible aux données atypiques.
-
Les classes qui résultent peuvent être déséquilibrées (même vide, dans la version de
Forgy [36])
La grande popularité des k-moyennes a favorisé l'apparition de plusieurs extensions et
modifications. La distance de Mahalanobis peut être utilisée pour couvrir des clusters hyperellipsoïdaux. On peut utiliser comme fonction de coût le maximum de la variance intraclasses, au lieu de la somme.
Farthest first clustering : est une variente de K means qui place chaque centre de cluster à
son tour au point le plus éloigné du centre de cluster existant. Ce point doit se trouver dans
la zone de données. Cela accélère considérablement le regroupement dans la plupart des cas
avec moins de réaffectation et d’ajustement nécessaire.
Farthest first clustering prend très peu de secondes pour regrouper les éléments de données
que de la simple K-means prend le plus de temps pour effectuer le regroupement.
4.1.4.2.2.
Les méthodes K-medoïdes
En statistiques, un médoïde est le représentant le plus central d'une classe. L'algorithme des
k-medoids (k-médoïdes) est un algorithme de partitionnement plus robuste vis-à-vis les
données aberrantes que celui des k-means (k-moyennes).
Comme les k-moyennes, l'algorithme des k-médoïdes minimise l'erreur quadratique
moyenne qui est la distance entre les points de la classe et le point central (ou médoïde).
Pour les k-moyennes, chaque cluster est représenté par son centre tandi que dans les
k‐médoïdes, chaque cluster est représenté par un des objets du cluster.
Dans les méthodes 𝑘 − 𝑚é𝑑𝑜ï𝑑𝑒𝑠 une classe est représentée par un de ses points. C'est un
algorithme efficace puisqu'il traite n'importe quel type d'attributs et que les medoïdes ont
une résistance intégrée contre les données atypiques puisque les points périphériques des
clusters ne sont pas pris en compte. Quand les medoïdes sont sélectionnés, les classes sont
définies comme des sous-ensembles de points proches des medoïdes respectifs, et la
45
Chapitre 04. Clustering spectral
fonction objective est définie comme la distance moyenne ou une autre mesure de dissimilarité entre un point et son medoïde.
4.1.4.3.
Les méthodes à base de densité
Un ensemble ouvert dans l'espace Euclidien peut être divisé en un ensemble de ses
composantes connectées. L'implémentation de cette idée pour le partitionnement d'un
ensemble fini de points a besoin de tels concepts comme la densité, la connectivité et les
limites (extrémité, bordure, frontière) plutôt que la distance. Ils sont fortement reliés aux
plus proches voisins d'un point. Un cluster, défini comme une composante densément
connectée, évolue dans n'importe quelle direction où la densité le mène. Par conséquent, les
algorithmes à base de densité sont capables de découvrir des clusters de formes arbitraires.
Ainsi, ce principe fournit une protection naturelle contre les données aberrantes. Les clusters
ne sont pas nécessairement convexes (entièrement contenus/remplis). Le bruit et les données
isolées sont identifiés. Le nombre de classes n’a pas besoin d’être prédéfini préalablement.
Un seul parcours de la base de données est effectué pour la réalisation de ces clusters. [30]
La méthode par densité voit les clusters comme des régions denses séparées par des régions
qui le sont moins.
Le principe :
-
un point est voisin d'un autre point s'il est à une distance inférieure à une valeur
fixée, cette valeur est à choisir selon l’échelle de l’étude et l’exploitation de la
solution recherchée ;
-
un point est dense si le nombre de ses voisins dépasse un certain seuil. Ce critère est
aussi défini par l’utilisateur selon les objectifs de son étude. [38]
Il existe deux types d'approches à base de densité. Le premier type d'approche attache la
densité a un point qui appartient aux données d'apprentissage. Il compte des algorithmes
spécifiques comme DBSCAN, GDBSCAN, OPTICS et DBCLASD. Le deuxième type
d'approche attache la densité à un point dans l'espace d'attributs. Il inclut l'algorithme
DENCLUE.
4.1.4.3.1.
La connectivité pour les méthodes à base de densité
Des concepts majeurs de cette section sont la densité et la connectivité, les deux mesurées en
termes de distribution locale des plus proches voisins. L'algorithme DBSCAN (Density
46
Chapitre 04. Clustering spectral
Based Spatial Clustering of Applications with Noise) qui vise les données spatiales de
petites dimensions est le plus connu dans cette catégorie. Avec cet algorithme, la découverte
d’un groupe se fait en deux étapes. Tout d’abord, un point dense est choisi aléatoirement,
puis tous les points qui sont accessibles à partir de ce point, selon le critère de densité,
forment le groupe. Deux paramètres indiqués par l’utilisateur entrent en jeu : Epsilon
(𝜀), le rayon de voisinage, et 𝑀𝑖𝑛𝑃𝑡𝑠, le seuil de densité qui correspond au nombre
minimal d’objets dans le voisinage d’un point.
L’algorithme opère de la façon suivante pour chaque point du nuage :
Prenant un point au hasard, l’algorithme crée un cluster à partir de ce point (on dit que c’est
le noyau) s’il réalise ces deux conditions : il faut qu’il y ait au moins un certain nombre de
points, déterminé par 𝑀𝑖𝑛𝑃𝑡𝑠, à une distance de voisinage inférieure à 𝜀.
Par exemple, un cluster est formé à droite mais pas à gauche sous l’image ci-dessous pour
un 𝑀𝑖𝑛𝑃𝑡𝑠 de 3. Si ce point ne réalise pas ces conditions, il est considéré comme bruit. [38]
Figure 4.3 la formation d’un cluster dans DBSCAN
Le cluster formé contient alors l’ensemble des points à l’intérieur du voisinage du noyau.
Il opère de la même manière pour tous les autres points appartenant au cluster, augmentant
ainsi le nombre de points du cluster (voir image ci-dessous). On dit que tous les points de ce
cluster sont densité-accessibles.
Figure 4.4 les points de ce cluster sont densité-accessibles
47
Chapitre 04. Clustering spectral
Il s’arrête lorsque les points ne respectent plus les critères 𝜀 ou 𝑀𝑖𝑛𝑃𝑡𝑠, ce sont des points
de bordure (q est un point de bordure sur la figure de droite). Deux points de bordure sont
densité-connectés. En prenant alors un autre point, un autre cluster peut être formé.
Dans cet algorithme, deux clusters de densité différente peuvent fusionner si la distance qui
les sépare est inférieure à 𝜀. C’est pour cela que les paramètres 𝜀 et 𝑀𝑖𝑛𝑃𝑡𝑠 sont
déterminants pour le nombre de clusters trouvé. On peut aussi noter que le choix de ces deux
paramètres permet de supprimer le bruit plus ou moins efficacement. L’algorithme
commence par un point au hasard, mais le résultat trouvé sera toujours le même. Pour définir
un voisinage, il faut introduire une fonction de distance.
Le bruit est pris en compte. Il n’y a pas un nombre de clusters prédéfini, contrairement au
cas des algorithmes d’affectations comme K-means. C’est une méthode rapide (forte
complexité). Les clusters découverts sont de formes variées et non prédéfinies. [38]
4.1.4.3.2.
La fonction de densité
Hinneburg et Keim ont calculé des fonctions de densité définies sur l'espace des attributs
sous-jacent. Ils ont proposé l'algorithme DENCLUE (DENsity-based CLUstEring).
DENCLUE modélise la densité avec la notion d’influence, c’est-à-dire que chaque donnée
exerce une influence sur ses voisins. Cette influence décroit avec la distance. Elle est
représentée par une fonction mathématique. DENCLUE est capable de travailler dans des
ensembles de points multidimensionnels. Cette méthode est appropriée pour des ensembles
de données très bruitées. Les paramètres d’entrée sont le rayon des classes et le nombre
minimum d’objet. Elle est plus rapide que DBSCAN (jusqu’à 45 fois plus rapide que
DBSCAN). [38]
4.1.4.4.
Les méthodes à base de grille
Dans la section précédente, nous avons utilisé des concepts majeurs tels que la densité, les
limites et la connectivité. Une autre manière de traiter ces concepts est d'extraire la topologie
de l'espace des attributs sous-jacent. Pour limiter les combinaisons (possibilités) des
recherches, on considère des segments multi-rectangulaires. On rappelle qu'un segment
(appelé aussi cube, cellule, région) est un produit cartésien direct des sous-rangs de chaque
variable (adjacent dans le cas des variables numériques). Le segment élémentaire qui
correspond à des sous-rangs d'une seule valeur ou un seul histogramme est appelé unité.
48
Chapitre 04. Clustering spectral
L’idée de ces méthodes est qu'on divise l'espace de données en un nombre fini de cellules
formant une grille. Ce type d'algorithme est conçu pour des données spatiales.
En fait, avec une telle représentation des données, au lieu de faire la classification dans
l'espace de données, on le fait dans l'espace spatial en utilisant des informations statistiques
des points dans la cellule. Les méthodes de ce type sont hiérarchiques ou de partitionnement.
Les algorithmes les plus connus sont STING, CLIQUE et WaveCluster
Le partitionnement des données est induit par l'appartenance des points dans des segments
qui résultent de l'espace de partitionnement, alors que l'espace de partitionnement est basé
sur les caractéristiques de la grille extraites des données d'entrée. Un avantage de ce
traitement indirect est que l'accumulation des données sous forme de grille rend les
techniques à base de grille indépendante par rapport à l'ordre (rangement) des données. En
revanche, les méthodes par réaffectation et les méthodes incrémentales sont très sensibles à
l'ordre des données. Tandis que les méthodes à base de densité fonctionnent mieux sur des
variables numériques, les méthodes à base de grille fonctionnent avec des variables de
différents types. Dans une certaine mesure, les méthodes à base de grille reflètent un point
de vue technique. Cette famille d'approches est éclectique : elle contient les deux types
d'algorithmes : hiérarchiques et de partitionnement.
4.1.4.5.
Autres méthodes
4.1.4.5.1.
Self-Organizing Maps (SOM)
La méthode des cartes auto-organisatrices, ou cartes topologiques - Self-Organizing Maps
(SOM) est un algorithme de classification non supervisé basé sur un réseau de neurones
artificiels. Les neurones de la couche de sortie sont reliés entre eux pour former un réseau
qui reste fixe durant l’apprentissage. Chaque neurone possède des coordonnées dans
l’espace des données et représente un prototype d’une classe. Deux neurones reliés
s’influencent l’un l’autre au cours de l’apprentissage. L’algorithme « SOM » permet de
découvrir la topologie des données. Les neurones proches les uns des autres dans cette
topologie (souvent rectangulaire) peuvent correspondre à la même classe.
Cet algorithme est considéré comme une méthode de quantification vectorielle, regroupant
les informations en leurs classes respectives tout en tenant compte de leur topographie dans
l’espace des observations et ceux en :
49
Chapitre 04. Clustering spectral
-
Définissant a priori une notion de voisinage entre classes.
-
Faisant appartenir des observations voisines dans l’espace des données à la même
classe ou à des classes voisines, après classement.
-
Compressant
de
données
multidimensionnelles
tout
en
préservant
leurs
caractéristiques. [31]
Le principe s'appuie sur la théorie des réseaux à compétition, c’est­à­dire sur l'établissement
d'une liaison de compétition entre les neurones autres que ceux d’entrée. En pratique, cela
signifie que des liens inhibiteurs relient les neurones. Lors de la phase d'apprentissage, le
réseau spécialise ses neurones en reconnaissance de catégories d’entrées, ce qui est en effet
une façon d'apprendre des classes. Une classe est définie comme l’ensemble des exemples
reconnus par un neurone de sortie d'un réseau à compétition.
Les SOM sont composés, comme tous les réseaux à compétition, d'une couche d’entrée et
d'une couche de compétition. La couche de compétition est structurée par une distance
permettant de définir une notion de voisinage. La compétition, au départ, ne se fait alors plus
entre un neurone et les autres, mais entre un voisinage et le reste de la carte. Cette distance
est en fait une fonction du temps, de sorte qu'on retrouve une compétition par neurone en fin
d'apprentissage. L'avantage de cette approche par voisinages variables est de séparer
effectivement les exemples très différents les uns des autres. Les dernières classes sont un
raffinement des celles obtenue au départ.
50
Chapitre 04. Clustering spectral
4.2. Clustering Spectrale
4.2.1. Introduction
Le clustering spectrale (ou la classification spectrale) est une technique issue de la théorie
des graphes et de l’analyse numérique. Elle présente un fort lien avec les machines à
noyaux, de par le fait que ces deux méthodes s’appuient sur la définition d’un espace de
projection non linéaire dans lequel s’effectue la classification. Elle est de plus en plus
utilisée, à la fois en raison de son efficacité, mais également de sa simplicité relative
d’implémentation qui se résume en l’extraction du spectre (valeurs et vecteurs propres)
d’une matrice de similarités conçue à partir d’un ensemble de données. Contrairement aux
algorithmes traditionnels de classification non supervisée comme celui des K-moyennes, la
méthode de classification spectrale offre l’avantage de traiter des ensembles de données de
structures complexes ”non globulaires” et non linéairement séparables, comme illustré sur la
figure 4.5. [40]
Figure 4.5 Illustration de la limite de la méthode des K-moyennes.
Par ailleurs, la méthode de clustering spectrale
permet de considérer l’angle de
classification comme un problème de coupe de graphe, sans émettre d’hypothèses sur la
forme globale des objets. Il existe plusieurs techniques de classification spectrale qui
optimisent des fonctions coûts (ou fonctions objectifs) différentes à partir du graphe de
données. Ces techniques sont, pour la majorité, basées sur la minimisation d’un critère de
type coupe de graphe. Les fonctions les plus fréquemment utilisées dans la littérature sont :
la coupe minimale, la coupe ratio, la coupe min-max ou encore la coupe normalisée. [41]
Dans ce chapitre, nous présentons différents algorithmes de classification spectrale. Nous
donnons, tout d’abord, des détails sur la théorie spectrale des graphes et montrons que tout
graphe peut se résumer en une matrice Laplacienne. Nous présentons alors les propriétés
51
Chapitre 04. Clustering spectral
mathématiques de cette dernière mais également celles de ses variantes normalisées. Dans
un second temps, nous montrons que le partitionnement des données peut s’apparenter à la
recherche de la coupe optimale du graphe prédéfini. Nous distinguons ici deux cas : le cas
où le nombre de groupes K recherchés est égal à deux et le cas où ce nombre est supérieur à
deux. Dans la littérature, les problèmes les plus fréquemment traités sont ceux à K = 2. Il est
possible de trouver deux types de méthodes permettant de traiter les cas où K > 2 : les
méthodes directes et celles récursives. Ces dernières ont pour objectif d’affiner
récursivement les groupes d’objets obtenus à l’itération précédente. Il nous est alors possible
de décrire quelques algorithmes permettant d’optimiser le critère de coupe afin de trouver la
partition qui se rapproche le plus de celle optimale.
4.2.2. Théorie spectrale des graphes
Le clustering spectrale est une méthode de classification en K groupes, basée sur le spectre
de la matrice de similarités. Elle repose sur la minimisation d’un critère de type Coupe
Simple à K =2, ou de type Coupe Multiple à K ≥2.
Nous distinguons dans cette partie, les cas où le nombre de classes est égal à deux (K = 2) et
où le nombre de classes est strictement supérieur à deux (K > 2).
4.2.2.1.
Matrices Laplaciennes des graphes
L’outil principal pour l’analyse spectrale de graphes associés aux données est la matrice
Laplacienne. Plusieurs Laplaciens sont définis et regroupés dans le tableau 4.1. Nous
supposons que le graphe de données 𝐺(𝑉, 𝐸 , 𝑊 ) est un graphe non orienté et pondéré. [40]
Matrices Laplaciennes
Équations
Non normalisée
𝐿 = 𝐷 − 𝑊
Normalisée asymétrique 𝐿̅1 = D-1𝐿 = 𝐼 − 𝐷-1𝑊
Normalisée symétrique
1
1
1
1
𝐿̅2 = 𝐷 −2 𝐿𝐷−2 = 𝐼 − 𝐷−2 𝑊𝐷 −2
Table 4.1 Les différentes techniques de calcul de la matrice Laplacienne
Matrice Laplacienne non normalisée.
La matrice Laplacienne non normalisée est une combinaison linéaire de la matrice de
similarités W et de la matrice de degrés D. Elle est définie comme suit :
𝐿 = 𝐷 –𝑊
52
(4.14)
Chapitre 04. Clustering spectral
La matrice de similarité 𝑊 d’un graphe non dirigé est une matrice d’adjacence pondérée
symétrique de taille NxN où chaque arête est pondérée par une mesure de similarité entre les
vecteurs.
-
𝑊(𝑖, 𝑗) = 𝑤(𝑥𝑖, 𝑥𝑗) 𝑠𝑖 𝑙𝑒𝑠 𝑛œ𝑢𝑑𝑠 𝑖 𝑒𝑡 𝑗 𝑠𝑜𝑛𝑡 𝑐𝑜𝑛𝑛𝑒𝑐𝑡é𝑠
-
𝑊(𝑖, 𝑗) = 0 si les nœuds 𝑖 et 𝑗 ne sont pas connectés
La matrice des degrés 𝐷 est une matrice de similarité d’un graphe non dirigé, diagonale de
taille NxN. Le degré d’un nœud représente le poids total des arêtes incidentes au nœud. [43]
Matrice Laplacienne normalisée.
La matrice Laplacienne normalisée est généralement définie de deux manières différentes :
[41]
-
la matrice Laplacienne normalisée asymétrique (issue de la méthode de la marche
aléatoire) :
𝐿̅1 = D-1𝐿 = 𝐼 − 𝐷 -1𝑊
-
(4.15)
la matrice Laplacienne normalisée symétrique :
1
1
1
1
𝐿̅2 = 𝐷−2 𝐿𝐷−2 = 𝐼 − 𝐷−2 𝑊𝐷−2
4.2.2.2.
(4.16)
Bi-coupe de graphe (𝑲 = 𝟐)
Dans la théorie des graphes, il existe plusieurs fonctions objectifs différentes : la coupe
minimale (notée MinCut ), la coupe ratio (notée RatioCut ), la coupe normalisée (notée NCut ), la
coupe min-max (notée MinMaxCut ), etc.
L’objectif est de couper le graphe 𝐺(𝑉, 𝐸 , 𝑊) en deux sous-ensembles disjoints de nœuds, C1
et C2, grâce à l’optimisation d’une de ces fonctions. Les groupes d’objets C1 et C2 sont définis
tels que:
-
C1 ∪C2 = 𝒳, où 𝒳 est l’ensemble des N objets
-
C1 ∩C2 =∅.
La figure 4.6 représente la matrice de similarités ordonnées par groupes obtenus, issue du
graphe. Les blocs diagonaux (désignés par C1 et C2) correspondent aux similarités intragroupe pour l’ensemble C1 et l’ensemble C2, respectivement. Les zones hors blocs diagonaux
(désignées par les couleurs grise et noire) correspondent, quant à elles, aux similarités intergroupes. [40]
53
Chapitre 04. Clustering spectral
Figure 4.6 - Exemple de coupe de graphe et matrice de similarités ordonnée pour deux groupes C 1 et C2
La coupe inter-groupes est calculée en sommant les poids sur les arcs de connexions entre
les deux sous-ensembles C1 et C2, elle est définie par :
(4.17)
La coupe intra-groupe (également appelée ”association”) est calculée en sommant les poids sur
les arcs de connexions entre les objets du sous-ensemble C1 (ou C2), elle est définie par :
(4.18)
La coupe minimale
La fonction objective de la méthode de la coupe minimale est de trouver deux sous-graphes et,
par suite, deux sous-ensembles d’objets C1 et C2 pour lesquels la somme des poids des
connexions entre ces sous-ensembles est minimale.
La fonction objectif de cette méthode est alors relativement simple et est définie par :
JMinCut (C1,C2) = Cut (C1,C2)
(4.19)
Cependant, la minimisation de la coupe ne produit pas toujours des partitions naturelles. En
effet, dans cette méthode, la taille des sous-ensembles d’objets n’est pas prise en
considération, ce qui peut conduire à des solutions aberrantes, comme montré sur la figure 4.7
(ligne pointillée). Le principal inconvénient de cette méthode, illustré par cet exemple, est le
partitionnement des données en sous-ensembles déséquilibrés. Cela s’explique principalement
par le fait que les sous-ensembles ou les nœuds isolés ont un degré faible. [40]
54
Chapitre 04. Clustering spectral
Figure 4.7 - Mise en évidence du problème lié au critère de MinCut
La coupe ratio
Le critère de coupe permettant de prendre en compte le cardinal des sous-ensembles. Celui-ci
est égal au nombre de nœuds (ou d’objets) associés à un sous-ensemble (ou groupe) donné. La
fonction objectif est alors :
(4.20)
Le critère introduit le cardinal des sous-ensembles dans le but d’obtenir des sous-ensembles
équilibrés. Cependant, ce critère ne prend pas en considération les connexions intra-groupes.
Pour pallier à ce problème, il est nécessaire d’utiliser un critère traitant à la fois les connexions
inter-groupes et les connexions intra-groupes.
La coupe min-max
L’objectif de ce critère de coupe min-max est :
-
la minimisation des connexions inter-groupes, qui revient à minimiser le terme Cut
(C1,C2)
-
la maximisation des connexions intra-groupes, qui revient donc à maximiser les
termes Cut (C1,C1) et Cut (C2,C2).
Afin de satisfaire ces deux objectifs simultanément, le critère de coupe min-max est défini
comme suit :
(4.21)
Cette mesure exprime la cohésion d’un sous-ensemble de nœuds (représentée par la somme des
55
Chapitre 04. Clustering spectral
poids des arcs de liaison entre nœuds d’un même sous-ensemble), relativement à sa séparation
de l’autre sous-ensemble (la somme des poids des arcs liant les nœuds d’un sous-ensemble aux
nœuds de l’autre sous-ensemble).
La coupe normalisée
L’objectif dans ce cas est identique à celui de la coupe min-max. Cependant, les termes
utilisés afin de maximiser les connexions intra-groupes ne sont pas rigoureusement les
mêmes. En effet, dans ce critère, la notion de volume d’un sous-ensemble est introduite.
Afin de satisfaire simultanément les deux objectifs qui sont la minimisation de la coupe
inter-groupes et la maximisation des volumes de chacun d’entre eux, le critère de coupe
normalisée est défini comme suit :
(4.22)
De la même manière que pour le critère précédent, cette mesure exprime la cohésion interne
d’un sous-ensemble de nœuds, relativement à sa séparation de l’autre sous-ensemble. Le
critère est d’autant plus minimisé que les volumes de chaque sous-ensemble sont maximisés.
Il est possible de normaliser ces critères de coupe en divisant par 1⁄2, afin d’obtenir des valeurs
comprises dans l’intervalle [0, 1].
4.2.2.3.
K-coupe de graphe (K > 2)
Lorsque le nombre de groupes recherchés est supérieur à 2, il est possible d’utiliser deux
types d’approches :
La première est une approche récursive, pour laquelle l’idée principale est d’appliquer
récursivement un algorithme de bi-partitionnement d’une manière hiérarchique : Après avoir
partitionné le graphe en deux sous-ensembles de nœuds, il est nécessaire de réappliquer la
même procédure sur ces deux sous-ensembles. Le nombre de groupes recherchés est donc
supposé connu ou directement contrôlé par un seuil (fixé par l’utilisateur) associé aux valeurs
de la fonction objectif. Cependant, il est aisé de montrer que cette approche présente deux
inconvénients majeurs : une obtention de partitions non naturelles et une complexité des calculs
(en termes de temps et de mémoire).
La deuxième est une généralisation des fonctions objectifs définies pour K = 2, afin de
prendre en considération un nombre de groupes K plus élevé. Dans ce cas, il est nécessaire de
connaître « a priori » le nombre de ces groupes. [40]
56
Chapitre 04. Clustering spectral
Les groupes recherchés C1, . . . ,CK sont définis de la même manière que pour le cas K = 2, à
savoir :
-
C1 ∪ . . . ∪CK = 𝒳, où 𝒳 est l’ensemble des N objets
-
Ck ∩Ck′ =∅, ∀k ≠ k′.
Soit Ck le keme groupe de nœuds et 𝐶̅ k l’ensemble des nœuds autres que ceux de Ck . La
généralisation des critères prédéfinis à K = 2 permet alors d’obtenir les fonctions objectifs
suivantes :
-
la coupe minimale multiple :
(4.23)
-
la coupe ratio multiple :
(4.24)
-
la coupe min-max multiple :
(4.25)
-
la coupe normalisée multiple :
(4.26)
De la même manière que pour le cas K = 2, il est possible de normaliser ces critères de coupe
en divisant par K, afin d’obtenir des valeurs comprises dans l’intervalle [0, 1].
4.2.3. Algorithme de classification spectrale
Les algorithmes de classification spectrale minimisent le critère de coupe en résolvant un
système de valeurs propres grâce à l’extraction du spectre (l’ensemble des valeurs propres) de
la matrice Laplacienne. Leurs processus de classification non-supervisée peuvent être résumés en
trois étapes :
57
Chapitre 04. Clustering spectral
Pré-traitement :
1. Construction du graphe de données G(V,E ),
2. Construction de la matrice de similarités W associée au graphe G(V,E ),
Représentation spectrale :
3. Construction de la matrice Laplacienne associée au graphe G(V,E ,W ),
4. Extraction des valeurs et vecteurs propres de la matrice Laplacienne,
5. Projection des objets dans l’espace spectral, basé sur le(s) vecteur(s) propre(s)
retenu(s),
Partitionnement :
6. Recherche de groupes dans l’espace spectral.
7. Affectation des objets aux groupes.
Dans cette partie, quelques algorithmes de clustering spectral usuels sont décrits. La matrice
de similarités utilisée dans toutes ces méthodes est la matrice construite à l’aide d’un noyau
gaussien.
4.2.3.1.
Algorithmes de bi-partition (K = 2)
Deux algorithmes de classification spectrale permettant d’optimiser le critère de Coupe
Normalisée du graphe de données. Ces méthodes utilisent un seul et unique vecteur propre
afin de partitionner les objets en deux groupes disjoints.
4.2.3.1.1.
Algorithme de Shi et Malik
Dans cet algorithme, Shi et Malik calculent la matrice Laplacienne normalisée symétrique 𝐿̅2
1
1
= I −𝐷2 W𝐷 2 . Puis, ils extraient le second plus petit vecteur propre z2 de 𝐿̅2, qui
1
est alors transformé afin d’approximer le vecteur indicateur optimal recherché : g = 𝐷2 z2. Le
1
premier vecteur propre z1, colinéaire à 𝐷2 1, est abandonné dans le but de respecter la condition
gT D1 = 0.
Ensuite, les nœuds, et par suite les objets, sont répartis en deux groupes selon le signe des
valeurs des composantes du vecteur g (la valeur de la coupe optimale NCut est alors
recherchée).
Afin d’illustrer les performances de l’algorithme de classification spectrale définie par Shi et
58
Chapitre 04. Clustering spectral
Malik, nous choisissons de reprendre l’exemple présenté sur la figure 1, qui consiste en deux
classes de points formant un rond et un anneau. Le but est de trouver deux groupes de points.
Pour cela, nous construisons la matrice de similarités W en utilisant un noyau gaussien pour
lequel le paramètre de dispersion est fixé à 10−3.
La figure 4.8 montre les résultats obtenus par l’algorithme 1. Ce dernier est donc capable de
regrouper les points par voisinage et de séparer les points à l’intérieur du rond des autres
points. Cette méthode permet donc d’obtenir le résultat attendu, contrairement à l’algorithme
traditionnel des K-moyennes.
Figure 4.8 Résultat obtenu en utilisant l’algorithme de Shi et Malik.
Algorithme 1 Algorithme de Shi et Malik pour K = 2
Entrées : matrice de similarités W, nombre de groupes K = 2
Pré-traitement
1. Construire le graphe de données G(V,E ,W ).
2. Construire la matrice de degrés D ∈ℜ´N×N : dii =j wi j et di j = dji = 0 si i ≠ j.
Représentation spectrale
1
1
̅ 2 = I −𝐷 2 W𝐷2 .
3. Calculer la matrice Laplacienne normalisée symétrique 𝐿
̅ 2.
4. Extraire le second plus petit vecteur propre z2 de 𝐿
Partitionnement
1
1. Séparer les objets en deux groupes selon le signe des valeurs des éléments de g = 𝐷 2 z2 .
2. Sortie : Partition C = {C1 ,C2}
59
Chapitre 04. Clustering spectral
4.2.3.1.2.
Algorithme de Von Luxburg
L’algorithme de Von Luxburg [41] est identique à l’algorithme 1 pour le cas K = 2.
Le second plus petit vecteur propre z2 de 𝐿̅2 est une solution du problème de minimisation
du critère de NCut. L’étape de partitionnement est ensuite identique à celle de l’algorithme de
Shi et Malik. Les résultats obtenus sur l’exemple présenté précédemment sont donc similaires.
La présentation de ces deux méthodes montre que, bien que les vecteurs indicateurs de
groupes soient définis différemment dans les deux algorithmes décrits pour K = 2, les
solutions permettant d’optimiser le critère de Coupe Normalisée sont identiques dans les deux
cas. Donc, malgré la différence des formalismes utilisés pour définir le vecteur optimal f, les
auteurs Shi & Mal et Luxburg résolvent finalement la même fonction objectif, basée sur la
même matrice Laplacienne normalisée 𝐿̅2.
4.2.3.2.
Algorithmes de K-partitions (K > 2)
Dans le cas où le nombre de groupes est supérieur à 2, il existe plusieurs méthodes de
résolution du problème de coupe de graphe. Cependant, ces algorithmes peuvent être rangés
dans deux catégories selon le nombre de vecteurs propres utilisés de la matrice Laplacienne :
-
les méthodes récursives, utilisant récursivement un seul et unique vecteur propre de
la matrice Laplacienne normalisée pour partitionner les données ;
-
les méthodes directes, utilisant plusieurs vecteurs propres afin de calculer une
partition directe des données.
4.2.3.2.1.
Méthodes de bi-partition récursives
Algorithme de Shi et Malik, ”Recursive two-way NCut ”
Shi et Malik [44] proposent une généralisation directe de leur algorithme dans le cas K = 2. En
effet, la méthode proposée s’appuie sur une résolution récursive de plusieurs problèmes de bipartitionnement.
Pour cela, ils extraient le second plus petit vecteur propre de 𝐿̅2 puis séparent les objets en
deux sous-ensembles C1 et C2. A l’itération suivante, ils extraient le second vecteur propre de la
matrice Laplacienne normalisée, construite grâce aux similarités calculées entre les objets d’un
même groupe (C1 ou C2), puis partitionnent à nouveau les objets au sein d’un même groupe.
60
Chapitre 04. Clustering spectral
L’algorithme, résumé ci-dessous (cf. algorithme 2), s’arrête alors quand le nombre de groupes
souhaité est atteint ou quand la valeur de la coupe est supérieure à un seuil fixé par l’utilisateur.
Algorithme 2 Algorithme de bipartition récursif (Shi et Malik).
Entrées : matrice de similarités W, nombre de groupes K > 2
Pré-traitement
1. Construire le graphe de données G(V,E ,W ).
2. Construire la matrice de degrés D ∈ℜ´N×N : dii =j wi j et di j = dji = 0 si i ≠ j
Représentation spectrale
1
1
̅ 2 = 𝐼 −𝐷2 W𝐷 2 .
3. Calculer la matrice Laplacienne normalisée symétrique 𝐿
4. Extraire le second plus petit vecteur propre z2 de L2.
Partitionnement
1
5. Ranger les élements de g = 𝐷 2 z2 par ordre décroissant.
6. Partitionner le graphe G(V,E ,W ) en deux sous-ensembles selon les valeurs des éléments de
g.
Récursion
7. Répéter les étapes 1 à 7 sur chaque groupe d’objets jusqu’à obtenir K groupes.
Sortie : Partition C = {C1 , . . . ,CK }
Cette méthode proposée dans cette partie, a donc recours au bi-partitionnement récursif afin
d’obtenir une partition des données en K groupes. Cependant, nous pouvons noter que ce
type d’algorithme nécessite un temps de calcul assez long et une allocation d’espace
mémoire relativement importante.
4.2.3.2.2.
Méthodes directes de K-partitions
Algorithme de Von Luxburg.
L’auteur généralise le critère NCut au critère de coupe multiple dit Multiple NCut (noté
MNCut), en utilisant un critère moyen. Elle propose ensuite de résoudre ce problème, en
définissant K vecteurs fk, désignant les vecteurs indicateurs de partitionnement de 𝑋 en K
groupes [Luxburg, 2007] : fk = (f1k, . . . , fNk) avec
(4.27)
61
Chapitre 04. Clustering spectral
Ces vecteurs indicateurs sont stockés en colonne dans la matrice F
Elle exprime finalement son problème, de la même manière que pour le cas K = 2, grâce à la
1
généralisation suivante avec une condition formelle supplémentaire 𝐹 = 𝐷2 𝑍 : 𝐹 T 𝐷𝐹 = 𝐼 :
(4.28)
Par conséquent, les K premiers vecteurs propres de 𝐿̅2 (c’est-à-dire avec les K plus petites
valeurs propres) minimisent le critère et permettent d’estimer les K vecteurs indicateurs de
groupes. Dans le but de retrouver des valeurs discrètes pour ces vecteurs indicateurs,
l’extraction des vecteurs propres est suivie par une étape d’application d’un algorithme de
1
classification non supervisée sur les lignes de 𝐹 = 𝐷2 𝑍. En résumé, seules les étapes
d’extraction des vecteurs propres et de partitionnement de l’algorithme 1 sont modifiées.
Algorithme 3 Algorithme de Von Luxburg pour K > 2
Entrées : matrice de similarités W, nombre de groupes K > 2
Pré-traitement
1. Construire le graphe de données G(V,E ,W ).
2. Construire la matrice de degrés D ∈ℜ´N×N : dii =j wi j et di j = dji = 0 si i ≠ j.
Représentation spectrale
1
1
̅ 2 = 𝐼 −𝐷2 W𝐷2 .
3. Calculer la matrice Laplacienne normalisée 𝐿
̅ 2.
4. Extraire les K plus petits vecteurs propres {z1 , . . . ,zK } de 𝐿
5. Construire la matrice 𝑍 = [z1 , . . . ,zK ] ∈ℜ´N×N .
Partitionnement
1
6. Appliquer un algorithme de partitionnement sur les lignes de la matrice 𝐹 = 𝐷 2 𝑍.
7. Classer chaque objet de 𝑋 en fonction du groupe auquel appartient l’image correspondante
dans 𝐹.
Sortie : Partition C = {C1 , . . . ,CK }
62
Chapitre 04. Clustering spectral
Algorithme de Ng et al
Les auteurs Ng et al. [45] proposent un algorithme basé sur celui de Weiss [46], qui résout
également le problème spectral, mais sans formuler le problème d’optimisation en termes de
vecteurs indicateurs.
Algorithme 4 Algorithme de Ng et al. pour K > 2
Entrées : matrice de similarités W, nombre de groupes K > 2
Pré-traitement
1. Fixer wi i = 0
2. Construire le graphe de données G(V,E ,W ).
3. Construire la matrice de degrés D ∈ℜ´N×N : dii =j wi j et di j = dji = 0 si i ≠ j.
Représentation spectrale
1
1
4. Calculer la matrice Laplacienne normalisée 𝐿Ng = 𝐷 2 W𝐷 2 .
5. Extraire les K plus petits vecteurs propres {z1 , . . . ,zK } de 𝐿Ng.
6. Construire la matrice 𝑍 = [z1 , . . . ,zK ] ∈ℜ´N×N .
7.
Normaliser les lignes de Z afin qu’ils aient une longueur unité (projection sur la sphère unité)
Partitionnement
8. Appliquer un algorithme de partitionnement sur les lignes de la matrice 𝐹.
9. Classer chaque objet de 𝑋 en fonction du groupe auquel appartient l’image correspondante
dans 𝐹.
Sortie : Partition C = {C1 , . . . ,CK }
4.2.4. Choix de l’algorithme pour l’étape de partitionnement
Les deux méthodes directes de classification spectrale présentées précédemment pour K >2
(algorithmes 3 et 4), utilisent un algorithme de classification non supervisée sur la matrice
composée des vecteurs propres, afin d’obtenir la partition finale des données. Généralement,
cette étape consiste en l’application de la méthode des K-moyennes, qui est une méthode de
63
Chapitre 04. Clustering spectral
partitionnement linéaire. Ng et al. [45] initialisent les centres des groupes recherchés par les
points les plus distants au sens du produit scalaire.
Cependant, d’autres alternatives existent dans la littérature. En effet, certains auteurs
utilisent d’autres techniques afin de construire la solution finale à partir des valeurs réelles
contenues dans les vecteurs propres :
-
utilisation d’hyperplans pour partitionner les données,
-
analyse du sous-espace constitué par les K premiers vecteurs propres et
approximation de ce sous-espace en utilisant des vecteurs constants par morceaux.
Cette méthode se ramène à la minimisation d’une distance euclidienne dans l’espace
RK, qui peut être effectuée grâce à l’utilisation d’un algorithme des K-moyennes
pondérées.
4.2.5. Métriques d’évaluation du partitionnement
L'idée de base de clustering est de regrouper les documents similaires et aussi de suggérer des
critères de qualité de clustering. Toute fonction qui permet d'évaluer le degré de similarité entre
documents à l'intérieur des clusters peuvent être utilisés pour cet objectif. Dans certains cas,
nous tenons également à évaluer la dissemblance des objets placés dans différents clusters. On
peut dire que les approches probabilistes utilisent un critère différent pour le clustering.
Cependant, il est à nouveau basé implicitement sur la similarité. Si les documents ont une forte
probabilité d'appartenir au même cluster, c'est parce qu'ils ont des caractéristiques avec des
valeurs proches : par exemple, attribuer des valeurs proches à la moyenne pour le cluster. La
différence est que certaines approches de similarité reposent sur la similarité par paires, ou de la
similarité des membres du cluster au centroïde de cluster, qui est une sorte de mesure locale.
[47]
Plusieurs métriques d’évaluation des partitions obtenues, utilisées: le score de F-mesure (grâce
au calcul de la précision et du rappel), l’indice de Rand, Sum of Centroid Similarities, Sum
Of Squared Errors (SSE) ect…, auxquels il faut associer la valeur du critère de coupe
normalisée.
Matrice de confusion : Une matrice de confusion (appelée également tableau de
contingence) permet d’évaluer la qualité d’une partition obtenue par comparaison avec celle
réelle complète Cv (appelée ”vérité terrain”). Cette matrice est construite en mettant sur les
lignes, les classes réelles et sur les colonnes, les groupes obtenus par classification :
64
Chapitre 04. Clustering spectral
Table 4.2 Construction de la matrice de confusion.
Ainsi, en définissant la matrice de confusion multi-groupes, il est possible de calculer
plusieurs critères d’évaluation comme le rappel et la précision.
F-mesure : Les mesures de rappel et de précision sont deux critères communément utilisés
pour l’évaluation de l’extraction d’informations. Le rappel calcule le nombre d’objets
correctement classés parmi tous ceux désirés. La précision, quant à elle, mesure le pourcentage
d’objets correctement classés.
(4.29)
La F-mesure peut alors être définie comme étant la pondération de la combinaison de la
précision et du rappel. Elle est également nommée F-score.
Indice de Rand :
La qualité des partitions obtenues peut être mesurée grâce à l’indice de
Rand. Cette mesure est fréquemment utilisée et reflète la similarité entre la partition ”véritéterrain” Cv et celle obtenue C. Chaque partition peut être vue comme une collection de 𝑁(𝑁 −
1)/2 paires d’objets xi et xj. Le principe de l’indice de Rand réside alors dans la comparaison
des deux partitions par comptage de paires d’objets.
Pour chacune des paires d’objets, il est possible d’avoir les deux cas suivants : soit les
partitions affectent les paires d’objets au même groupe, soit les deux objets sont affectés à des
groupes différents. En posant :
-
𝑎 le nombre de fois où les deux partitions (Cv et C) affectent les objets xi et xj au
même groupe,
65
Chapitre 04. Clustering spectral
-
𝑏 le nombre de fois où ces deux partitions affectent les objets xi et xj à des
groupes différents
L’indice de Rand est donné par la formule suivante :
(4.30)
L’indice de Rand est donc fonction du nombre de paires d’objets classées de manière similaire
dans les partitions Cv et C.
Fonctions de critères basés sur la similarité
Principalement, il y a deux fonctions basées sur la similarité, la somme des carrés des
erreurs et la similarité intracluster.
La somme des carrés des erreurs (En Anglais, Sum Of Squared Errors (SSE)) :
Sans doute la plus célèbre. Cette référence résume la distance entre tous les points d'un
cluster au centroide correspondant. Tous les clusters ensemble, pondérés en fonction de leur
taille, constituent le score final. Le but est de trouver un clustering avec une dispersion intracluster minimale. [47]
L’idée de base est :
-
Pour chaque point, l’erreur est la distance au cluster le plus proche
-
Pour obtenir la SSE, on fait la somme de ces erreurs au carré, avec x un point dans le
cluster Di et mi est le représentatif et le centre du cluster Di. On peut montrer que le x
qui minimise l’erreur est le centre du cluster.
-
Di est le meilleur cluster s’il minimise la somme des carrés des erreurs (SSE) pour
tous xi∈ 𝐷𝑖.
(4.31)
(4.32)
-
Pour deux clustering par exemple, on choisie celui qui produit la plus petite erreur.
66
Chapitre 04. Clustering spectral
-
Une Façon simple de diminuer la SSE est d’augmenter k, le nombre de clusters, mais
un Bon clustering avec un petit k peut avoir une SSE plus faible qu’un mauvais
clustering avec un k élevé.
Deux autres mesures d’évaluation de la qualité de clustering : la somme des similarités
Centroïde (Sum of Centroid Similarities ) et la somme des moyennes des similarités par
paire (Sum Of Average Pairwise Similarities).
La somme des similarités Centroïde : (En Anglais, Sum of Centroid Similarities (SCS)) :
L’une des étapes de clustering est d’attribuer des documents aux clusters en fonction de leur
similarité avec les centres des clusters (c'est à dire, pour chaque document, trouver le
centroide le plus proche et affecter ce document au cluster correspondant). Donc le
clustering des documents est basé sur la similarité et le meilleur clustering doit maximiser
la fonction SCS définie comme suite: [47]
(4.33)
Où sim (ci , dj ) est la similarité cosinus entre le centroide ci du cluster Di et le vecteur dj , défini
par l’angle cosinus entre les deux vecteurs dans l'espace vectoriel TFIDF. Autrement dit,
(4.34)
Le centroïde ci de cluster est le vecteur moyen de cluster Di:
(4.35)
Le clustering qui maximise cette fonction est appelée Minimum variance clustering, c'est-àdire, le clustering qui minimise la variance à l’intérieur des clusters (pour éviter toute
confusion, la variance est définie par la distance et maximiser la similarité est équivalent à
minimiser la distance). [47]
La somme des moyennes des similarités par paire : (En anglais, Sum Of Average
Pairwise Similarities (SAPS)) :
C’est la forme équivalente de la fonction précédente qui est basée sur similarité par paire
(pairwise similarity) :
67
Chapitre 04. Clustering spectral
(4.36)
Une autre transformation simple montre que cette fonction utilise effectivement la similarité
intracluster - une des fonctions d'évaluation qui contrôlent la fusion des clusters dans le
clustering hiérarchique ascendant :
(4.37)
.Où
sim (Di) est la moyenne de la similarité par paire entre les membres du cluster Di, ce qui
implique que la similarité centroide est equivalente à la moyenne de la similarité par paire.
Le but est de maximiser la somme des moyennes des similarités par paire (Sum Of Average
Pairwise Similarities” (SAPS)) entre les documents assignés à chaque cluster.
En résumé, la fonction de critère fondé sur la similarité a deux formes équivalentes:
centroide et similarité par paire, selon la méthode du clustering dans lequel il est utilisé.
Comme nous l'avons mentionné plus tôt, le clustering qui maximise cette fonction (ou qui
minimise la variance à l’intérieur des clusters) est appelée Minimum variance clustering. Par
conséquent, les fonctions de cette famille sont appelés minimum variance criterion
functions. [47]
4.2.6. Conclusion
Le clustering est l'une des tâches majeures dans différents domaines de recherche.
Cependant, on peut la trouver sous différents noms et dans différents contextes, comme
apprentissage non-supervisé dans le domaine de la reconnaissance de formes, taxonomie en
biologie, analyse typologique dans les sciences sociales et partition dans la théorie des
graphes. Le but de clustering est d'identifier et extraire des groupes significatifs dans les
données. Pour ce faire, il existe plusieurs méthodes.
Dans ce chapitre on a structurées les approches qui existent dans différentes catégories
(c’est-à-dire hiérarchique, par partitionnement, à base de densité, à base de grille). La
plupart des algorithmes se basent sur certains critères pour définir les classes dans lesquelles
les données vont être divisées.
Puisque le clustering est une méthode non-supervisé et il n'y a pas d'indices a priori sur les
classes obtenues, on a besoin de certains critères de validation des résultats. Ainsi, tous ces
68
Chapitre 04. Clustering spectral
critères de validation nous permettent de justifier les résultats de la classification et d'assurer
une bonne compréhension de la structure sous-jacente des données.
Nous avons présenté différents algorithmes de clustering spectral en distinguant deux
cas : le cas où le nombre de cluster est égal à 2, et le cas où ce nombre est quelconque. Ces
algorithmes s’appuient sur la notion de coupe de graphe. Dans une première partie, nous avons
défini quelques notions et termes liés à la théorie spectrale des graphes. En effet, suivant
l’hypothèse que tout graphe peut se mettre sous la forme d’une matrice, il est possible de définir
une matrice Laplacienne combinant la matrice de similarités et la matrice de degrés des
données. Plusieurs définitions ont été fournies selon le type de normalisation appliqué sur cette
matrice. Cette dernière est désignée comme étant l’outil principal nécessaire aux algorithmes de
classification spectrale récents.
Ensuite, dans une seconde partie, nous avons abordé la notion de coupe de graphe. Plusieurs
critères de coupes ont été définis. Nous avons choisi d’en présenter quatre : la
coupe minimale, la coupe ratio, la coupe min-max et la coupe normalisée.
Les méthodes de clustering spectral permettant d’optimiser le critère de coupe normalisée et
donc de trouver la partition optimale des données, sont relativement nombreuses et
variées, en particulier pour le cas multi-groupes. En effet, dans la littérature, la majeure partie
des techniques se basent sur l’algorithme de Shi et Malik, développé en 2000 [44], et l’utilise
de manière récursive. Récemment, le problème de partitionnement à l’aide d’algorithmes
spectraux, a été résolu plus directement, en extrayant non pas un, mais plusieurs vecteurs
propres de la matrice Laplacienne.
Cependant, un des inconvénients accompagnent les algorithmes de classification spectrale est,
le nombre de groupes recherchés K doit être fixé a priori.
Pour pallier à ce problème, une technique a été présentée. Cette méthode permet d’estimer le
nombre de groupes automatiquement grâce à l’analyse des valeurs propres ou au calcul de la
fonction de modularité.
69
Chapitre 05. Implémentation
5. Implémentation
5.1. Introduction
Le processus de développement de notre projet est divisé en deux parties « Pré-traitement »
et «Le Clustering », chaque partie est constituée de plusieurs étapes, l’entrée de l’étape en
cours représente la sortie de l’étape précédente ainsi de suite. La première étape à faire
consiste à améliorer la qualité du corpus en le passant par une phase de prétraitement et la
deuxième permet l'application de l'algorithme de clustering spectral sur les vecteurs que
nous avons préparé dans l'étape précédente
5.2. Environnement et matériels :
Java est un langage de programmation informatique orienté objet créé par James Gosling et
Patrick Naughton de Sun Microsystems. Mais c'est également un environnement
d'exécution. Java peut être séparé en deux parties. D'une part, notre programme écrit en
langage Java et d'autre part, une machine virtuelle (JVM) qui va se charger de l'exécution du
programme Java. C'est cette plateforme qui garantit la portabilité de Java. Il suffit qu'un
système ait une machine virtuelle Java pour que tout programme écrit en Java puisse
fonctionner.
Avec le langage Java, on peut développer, des applications Desktop, développer des applets
pour vos sites web, développer les sites en JSP, des applications pour téléphone mobile. La
première chose à faire est bien évidemment d'apprendre à faire des applications standalones
simples.
Nous avons implémenté nos algorithmes en Java pour les raisons suivantes :
-
Excellente documentation.
-
Environnement de développement confortable (Eclipse...)
-
Nombreuses librairies disponibles (Java-ML, JaMa...)
Notre application est implémentée sous l’environnement Eclipse qui est un environnement
de développement intégré (Integrated Development Environment) dont le but est de fournir
une plate-forme modulaire pour permettre de réaliser des développements informatiques.
I.B.M. est à l'origine du développement d'Eclipse qui est d'ailleurs toujours le cœur de son
outil Websphere Studio Workbench (WSW), lui même à la base de la famille des derniers
70
Chapitre 05. Implémentation
outils de développement en Java d'I.B.M. Tout le code d'Eclipse a été donné à la
communauté par I.B.M afin de poursuivre son développement. Eclipse utilise énormément le
concept de modules nommés "plug-ins" dans son architecture. D'ailleurs, hormis le noyau de
la plate-forme nommé "Runtime", tout le reste de la plate-forme est développé sous la forme
de plug-ins. Ce concept permet de fournir un mécanisme pour l'extension de la plate-forme
et ainsi fournir la possibilité à des tiers de développer des fonctionnalités qui ne sont pas
fournies en standard par Eclipse.
Les principaux modules fournis en standard avec Eclipse concernent Java mais des modules
sont en cours de développement pour d'autres langages notamment C++, Cobol, mais aussi
pour d'autres aspects du développement (base de données, conception avec UML, ...). Ils
sont tous développés en Java soit par le projet Eclipse soit par des tiers commerciaux ou en
open source.
5.3. Présentation des corpus utilisés :
Le corpus Reuters-21578 est un ensemble de dépêches financières émises au cours de
l'année 1987 par l'agence Reuters, en langue anglaise, et disponible gratuitement sur le web
[53]. Ce corpus est une mise à jour du corpus Reuters-22173 étudié notamment par Lewis
[49], Wiener [48] et Moulinier [9]. Cette mise à jour, effectuée en 1996, a permis de
supprimer les documents présents deux fois, de corriger des erreurs typographiques, de
préciser certains formats, et de mieux définir le découpage à considérer pour l'apprentissage
et le test. Du fait de ces corrections, il n'est pas possible de comparer les performances
obtenues sur les différentes versions du corpus. Cependant, les caractéristiques globales du
corpus sont restées identiques, et les remarques sur le comportement général des systèmes
étudiés sont toujours valables.
La Figure 5.1 est un exemple de texte présent dans le corpus Reuters-21578.
BAHIA COCOA REVIEW
Showers continued throughout the week in the Bahia cocoa zone, alleviating
the drought since early January and improving prospects for the coming
temporao, although normal humidity levels have not been restored,
Comissaria Smith said in its weekly review. The dry period means the
temporao will be late this year. Arrivals for the week ended February 22
were 155,221 bags of 60 kilos making a cumulative total for the season of
71
Chapitre 05. Implémentation
5.93 mln against 5.81 at the same stage last year. Again it seems th....
Figure 5.1 - Exemple d’un texte du corpus Reuters-21578.
5.4. Représentation des données
Pour mettre en œuvre des méthodes de clustering, il faut faire un choix d'un mode de
représentation des documents, car il n'existe actuellement aucune méthode d'apprentissage
capable de représenter directement des données non structurées comme les textes. Ensuite, il
est nécessaire de choisir une mesure de similarité et enfin, de choisir un algorithme de
clustering.
Dans notre projet, nous allons commencer par le processus de texte mining dans le contexte
de préparation des textes à la phase clustering spectral.
Les étapes de ce processus sont :
5.4.1. Prétraitement des données
Cette étape donne une autre forme aux documents textuels, pour qu'un algorithme de
classification puisse les gérer, c'est ce qu'on appelle le prétraitement des données ou le
traitement linguistique des données, ce traitement comporte quatre phases:
-
Elimination de ponctuation: on supprime les caractères de ponctuation parce que
leur présence n'apporte pas d'information pertinente.
-
Représentation des textes à l’aide de sac de mots
-
La codification: une codification des termes pertinents (après la représentation
conceptuelle), nous choisissons la fonction TF*IDF comme méthode de
codification.
Nous déroulons cet algorithme en passant par toutes les étapes de cet algorithme,
après la sélection de plusieurs paramètres.
5.4.1.1.
Elimination de ponctuation et la conversion des caractères :
Dans cette phase nous allons éliminer d'une façon automatique la ponctuation des textes, tel
que : le point, la virgule, le point virgule, le point d'interrogation et d'exclamation et les mots
vides tel que :'are' ,'the' ,'what' ,'do' ... etc. , car ces caractères n'ont pas une influence sur les
résultats de la classification, ils n'apportent pas d'informations pertinentes pour la prise de
72
Chapitre 05. Implémentation
décision, ainsi leurs élimination réduit la dimension de l'espace de représentation.
On élimine également les caractères non désirés comme :
-
les ponctuations (. , ; … etc.),
-
les numéros (0, 1,2, etc.),
-
les caractères spéciaux (/ * + - ... etc.),
-
le retour chariote.
On remplace les blancs qui sépares les mots par des ‘_’.
Après l’élimination de la ponctuation dans le texte précèdent et les caractères non désirés, on
obtient le texte suivant :
BAHIA_COCOA_REVIEW
Showers_continued_week_bahia_cocoa_zone_alleviating_drought_since_early_Ja
nuary_improving_ prospects_coming_temporao_Although_normal_humidity_levels
_restored_comissaria_smith_said_iweekly_review_dry_period_means_temporao
_Iate_arrivais_week_ended_Jebruary_bags_kilos_making_cumulative_total_seas
on_stage_
Figure 5.2 - Exemple d’un texte du corpus Reuters-21578 après élimination de la ponctuation et les caractères non
désirés.
5.4.1.2.
Représentation des textes en « sac de mots »
Nous avons appliqué la méthode « sac de mots » pour la représentation des textes, elle a été
introduite dans le cadre du modèle vectoriel présenté au chapitre 3 section 3.2.11. Les textes
sont transformés simplement en vecteurs dont chaque composante représente un terme. Dans
un premier temps, les termes sont les mots qui constituent un texte. Dans les langues comme
le français ou l'anglais, les mots sont séparés par des espaces ou des signes de ponctuations ;
ces derniers, tout comme les chiffres, sont supprimés de la représentation.
Les composantes du vecteur sont une fonction de l'occurrence des mots dans le texte.
Nous présentons, sur la Figure 5.3, le texte précédant comme des vecteurs de terme (sac-demots), mis en œuvre dans des tables. La clé dans le tableau sont les mots (ou termes), et la
valeur est le nombre de fois (la fréquence) où le terme apparaît dans le document mémorisé
en tant que poids de l'expression.
73
Chapitre 05. Implémentation
Figure 5.3 Exemple d'un texte et de son vecteur associé (Matrice Terme Fréquence)
Cette représentation des textes exclut toute analyse grammaticale et toute notion de distance
entre les mots : c'est pourquoi cette représentation est appelée "sac de mots".
5.4.1.3.
Codification des termes
On doit procéder a une méthode de codification, c'est à dire coder chaque cordonnée
du tableau des concepts afin de donner un aspect mathématique aux textes, pour se
faire nous avons choisi la fonction TF*IDF. Ce score permet de donner une importance au
terme en fonction de sa fréquence dans le document (TF = Term Frequency) pondérée par la
fréquence d'apparition du terme dans tout le corpus (IDF = Inverse Document Frequency).
Ainsi, un concept très spécifique au document aura un score correspondant à sa fréquence
d'apparition, par contre, un terme apparaissant dans tous les documents du corpus aura une
pondération maximale. Nous calculons donc, pour chaque terme dans un document, son
score TF x IDF.
La formule TF*IDF est la suivant:
𝑇𝐹 × 𝐼𝐷𝐹(𝑡𝑘 , 𝑑𝑗 ) = 𝑂𝑐𝑐(𝑡𝑘 , 𝑑𝑗 ) × log
𝑁𝑏𝑑𝑜𝑐
𝑁𝑏𝑑𝑜𝑐 (𝑡𝑘 )
Où
-
Occ (tk, dj) est le nombre d'occurrences (la fréquence) du terme tk dans le document
dj du corpus.
-
Nbdoc est le nombre total des documents du corpus
-
Nbdoc (tk) est le nombre de documents dans lequel le terme tk apparaît au moins une
fois.
74
Chapitre 05. Implémentation
5.5. L’Application de l’Algorithme de Clustering Spectrale
5.5.1. Introduction
Après l'analyse précédente, les données textuelles sont maintenant sous une forme
numérique et elles sont prêtes pour l’application de clustering spectrale que nous l'avons
détaillé dans le chapitre 4. Cette technique a fait un énorme gain de popularité au cours des
dernières années. Ce phénomène n'est pas seulement dû à la simple mise en œuvre de
l'algorithme, mais souvent à la bonne performance par rapport les algorithmes de clustering
classiques comme le kmeans.
5.5.2. Algorithmes
Nous avons implémenté principalement deux algorithmes de clustering spectrale, qui ne
diffèrent que par normalisation, une étape supplémentaire dans le deuxième algorithme qui
consiste à créer une nouvelle matrice à partir de la matrice des vecteurs propres en
normalisant les lignes à la norme 1. Les deux algorithmes sont relativement simples, il suffit
d'avoir quelques concepts et connaissances mathématiques pour les implémentés. C'est la
tâche de l'algorithme K-Means qui permet de distinguer les clusters ici.
Algorithme de Clustering Spectral non Normalisé
Entrée : Matrice de similarité 𝑆 ∈ Rn×n, 𝑘 le nombre de clusters à construire.
1. Construire le graphe de similarité. Soit 𝑊 sa matrice d'adjacence pondérée.
2. Calculer laplacienne non normalisé 𝐿.
3. Calculer les 𝑘 premiers vecteurs propres 𝑢1, 𝑢2,…, 𝑢k de 𝐿.
4. Soit 𝑈 ∈ 𝑅 n×k la matrice qui contient les vecteurs 𝑢1, 𝑢2,…, 𝑢k comme colonnes.
5. Pour 𝑖 = 1, … , 𝑛, soit 𝑦i ∈ 𝑅 k le vecteur correspondant au 𝑖-éme ligne de 𝑈.
6. Regrouper le point (𝑦i)i=1,...,n dans 𝑅 k avec l’algorithme 𝑘-means dans les clusters
𝐶 1, . . . , 𝐶 k.
Sortie: Clusters 𝐴1, . . . , 𝐴k avec 𝐴i = {𝑗| 𝑦j ∈ 𝐶 i}.
75
Chapitre 05. Implémentation
Algorithme de Clustering Spectral Normalisé selon Ng, Jordan, and Weiss (2002).
Entrée : Matrice de similarité 𝑆 ∈ Rn×n, 𝑘 le nombre de clusters à construire.
1. Construire le graphe de similarité. Soit 𝑊 sa matrice d'adjacence pondérée.
2. Calculer laplacienne normalisé 𝐿sym.
3. Calculer les 𝑘 premiers vecteurs propres 𝑢1, 𝑢2,…, 𝑢k de 𝐿sym.
4. Soit 𝑈 ∈ 𝑅 n×k la matrice qui contient les vecteurs 𝑢1, 𝑢2,…, 𝑢k comme colonnes.
5. Former la matrice 𝑻 ∈ 𝑹n×k de 𝑼 par la normalization des lignes à la norme 1,
qui est 𝒕ij = 𝒖ij/(∑𝒌 𝒖𝟐𝒊𝒌 )1/2.
6. Pour 𝑖 = 1, … , 𝑛, soit 𝑦i ∈ 𝑅 k le vecteur correspondant au 𝑖-éme ligne de 𝑇.
7. Regrouper le point (𝑦i)i=1,...,n dans 𝑅 k avec l’algorithme 𝑘-means dans les clusters
𝐶 1, . . . , 𝐶 k.
Sortie: Clusters 𝐴1, . . . , 𝐴k avec 𝐴i = {𝑗| 𝑦j ∈ 𝐶 i}.
5.5.3. La Mise en œuvre :
Maintenant que nous avons brièvement présenté les différents algorithmes, il est temps de
consacrer une section sur les implémentations correspondantes.
5.5.3.1.
Algorithmes classiques:
Pour les algorithmes de clustering classique, on a utilisé les implémentations existantes.
Écrit en Java machine Learning Library (Java -ML) qui contient une large gamme de
méthodes de classifications, des techniques de clustering et des modèles d’évaluations.
On a choisie trois algorithmes : k-médoides, FarthestFirst et Self-organizing map (SOM).
-
K-médoıdes : est un algorithme de clustering qui est très semblable k-means. La
principale différence entre les deux algorithmes est le centre de cluster qu'ils
utilisent. K-means utilise la moyenne de tous les instances dans un cluster, tandis que
k-médoıdes utilise l'instance qui est le plus proche de la moyenne, c'est à dire le point
le plus «central» de cluster. Dans notre application, k-médoides permet de créer une
instance avec 4 clusters, 1000 itérations et la distance euclidienne comme mesure de
distance.
76
Chapitre 05. Implémentation
-
KMeans : déjà expliqué dans la section 4.1, dans notre cas on va l’utiliser avec 4
clusters, 100 itérations et Cosine comme mesure de similarité.
-
FarthestFirst : est une variente de K means mais il prend moins de temps pour
effectuer le clustering. Il permet de créer une instance avec 4 clusters en utilisant la
distance euclidienne comme mesure de distance.
-
SOM : Créez un 2 par 2 carte Self-organizing map, en utilisant une grille
hexagonale, 1000 itération, 0,1 rythme d'apprentissage (learning rate), 8 rayon
initiale (initial radius), l'apprentissage linéaire, une fonction de voisinage par étapes
et la distance euclidienne comme mesure de distance.
Le but est de faire une comparaison entre les résultats obtenus par ces algorithmes et
algorithme de spectral clustering (normalisé et non normalisé) implémenté au cours de ce
projet.
5.5.3.2.
Algorithmes spectrales :
Pour la mise en œuvre de ces algorithmes on peut les considérer comme une traduction
directe de chaque ligne de l'algorithme en Java en utilisant des méthodes fournies par la
bibliothèque Java -ML. Pour le calcul des valeurs et des vecteurs propres on à utiliser la
méthode de Lanczos [8], particulièrement pratique pour déterminer la décomposition de très
grandes matrices et on a utilisé également la bibliothèque JaMa (Java Package Matrix)
specialement conçu pour les opérations sur les matrices.
Différents paramètres
Un regard en profondeur sur les algorithmes ci-dessus montre que l'espace a été laissé pour
leurs propres interprétations. Par exemple, décrire comment la qualité des clusters sera
déterminée.
Principalement trois paramètres en entrée : l’algorithme de clustering,
la
mesure de
similarité et le nombre de clusters.
Au cours de nos expériences, on a utilisé quatre (04) mesures de distance différentes afin de
regrouper les documents en clusters:
77
Chapitre 05. Implémentation
-
La distance euclidienne:
-
La distance de Manhattan
-
La distance Cosinus
𝑪𝒐𝒔 (𝒙𝒊, 𝒚𝒊) = 𝒙𝒊 ∗
-
𝒚𝒊
[𝒙𝒊 ∗ 𝒚𝒊]
La distance p-norm : Il s'agit d'une généralisation de la distance euclidienne
tel que xi : le terme i de document x et yi le terme i de document y dans cluster centroïde
vecteur.
Le raisonnement est très simple : une petite distance entre les documents indique un degré
élevé de similarité, une plus grande distance pointera plutôt à une similarité inférieure entre
les documents en question.
Après l'exécution des algorithmes, les clusters obtenus doivent être évalué. Pour cette
évaluation, on a utilisé trois modèles déjà décris dans le chapitre 4 section 2.5:
Le premier, La somme des carrés des erreurs (En Anglais, Sum Of Squared Errors (SSE)), le
plus célèbre. Cette référence résume la distance entre tous les points d'un cluster au
centroide correspondant. Le but est de trouver un clustering avec une dispersion intra-cluster
minimale.
Le deuxième, la somme des similarités Centroïde (Sum of Centroid Similarities). Cette
technique évaluera les clusters par la similarité entre les points et le centre de cluster associé
et ceci pour tous l’ensemble des clusters. Le meilleur clustering doit maximiser la fonction.
Le troisième score, la somme des moyennes des similarités par paire (Sum Of Average
Pairwise Similarities) équivalent au score précédent et qui est basé sur similarité par paire.
Le but est de maximiser cette fonction entre les documents assignés à chaque cluster.
78
Chapitre 05. Implémentation
5.6. Expériences et résultats
Cette section donne un aperçu sur les différentes expériences qu'on a effectuées et ainsi
parfois les résultats obtenus sont surprenantes. Toutes ces expériences ont été réalisées à
plusieurs reprises pour 300 documents de corpus Reuters-21578 et on a essayé de retenir les
meilleurs résultats.
5.6.1. Comparaison entre les algorithmes de clustering classiques :
Les premiers testes consistent à comparer entre les algorithmes classiques (k-médoides,
FarthestFirst et SOM). Les résultats sont affichés dans la table 5.1 ci-dessous selon les
différents scores (SSE, SCS et SAPS) et le nombre de clusters.
300 docs
Algorithmes de clustering classiques
Reuters
KMeans
KMedoids
FarthestFirst
Self Organizing
clustering
clustering
clustering
Maps (SOM)
SSE
40.82
40.23
40.50
40.91
SCS
64.14
55.05
46.33
58.60
SAPS
16.52
18.95
9.47
15.66
Clusters
4
4
4
3
Tableau 5.1Comparaison entre trois algorithmes de clustering classiques appliqués sur 300 docs de Reuters
Un premier fait remarquable est la différence dans le nombre de clusters obtenus.
L'ensemble de données en question contient des instances qui peuvent être utilisés dans
plusieurs catégories différentes selon l’algorithme choisi.
Quand nous examinerons les résultats selon les différents scores, sur la base de SSE, on peut
dire qu’il n’existe aucune différence entre les algorithmes. Toutefois, une petite différence
est perceptible dans les scores SCS et SAPS. Donc le Kmeans ici est légèrement meilleur
que les autres.
79
Chapitre 05. Implémentation
70.00
60.00
50.00
40.00
SSE
30.00
SCS
SAPS
20.00
10.00
0.00
Kmeans
Kmedoids
FarthestFirst
SOM
Figure 5.4 Comparaison entre quatre algorithmes de clustering classiques
5.6.2. Clustering Spectral: Version normalisé
Tel que mentionné précédemment, un certain nombre de paramètres doivent être pris en
compte dans les algorithmes spectraux. Cette section vise donc à comparer les résultats selon
le choix d’un ensemble de paramètres différents.
Afin obtenir des résultats fiables tous les tests ont été effectués à plusieurs reprises.
On a appliqué l’algorithme de clustering spectral normalisé sur 300 documents de corpus
Reuters avec 4 clusters en utilisant différentes mesures de distance (voir table 5.2).
Clusters
Normalized Spectral Clustering
4
Distance
Cosine
Euclidean
Manhattan
Norm
SSE
5.96
19.60
54.59
14.41
SCS
298.50
295.01
286.01
296.34
SAPS
297.02
290.21
272.70
292.81
Tableau 5.2 Résultats de l'algorithme de clustering spectral normalisé pour différentes mesures de distance.
Les résultats montrent clairement que toutes les mesures de distances utilisées donnent des
résultats presque similaires avec une meilleure qualité de clustering lorsque nous comptons
uniquement sur les scores SCS et SAPS sauf dans le cas de Manhattan où ils sont moins
bons, par contre, si nous évaluons les clusters obtenues sur la base de SSE, on remarque
qu’il y a une différence perceptible si on utilise la distance Cosine comme mesure de
80
Chapitre 05. Implémentation
similarité avec de bons résultats. Là encore avec la distance Manhattan donne score de SSE
mauvais et très grand par rapport les autres.
Dans le coin supérieur gauche de la table précédente, le nombre de clusters à été fixé à "4".
Nous choisissons maintenant une valeur différente (2, 3, 4 et 5) avec la distance euclidienne
comme une mesure de similarité dans le premier cas et la distance Cosine dans le deuxième.
Les Table 5.3. Et 5.4 Donne un aperçu des scores obtenus.
300 docs
Normalized Spectral Clustering
Reuters
EuclideanDistance
SSE
1.43
6.92
19.60
12.90
SCS
300.0
298.25
295.01
296.74
SAPS
300.0
296.53
290.21
293.54
Clusters
2
3
4
5
Tableau 5.3 Résultats de l'algorithme de clustering spectral normalisé (avec mesure de distance euclidienne) pour
différents nombres de clusters.
Après l’analyse des résultats, on a obtenu les meilleurs scores dans le cas où le nombre de
clusters est égal à 2, que ce soit pour le "SSE" (avec une valeur très faible) ou les "SCS et
SAPS" (les plus grandes valeurs dans la table. On remarque que dans tous les cas on obtenus
presque les mêmes valeurs pour les scores SCS et SAPS avec une bonne qualité de
clustering.
300 docs
Normalized Spectral Clustering
Reuters
CosineDistance
SSE
21.55
7.05
5.96
29.95
SCS
294.56
298.22
298.50
292.31
SAPS
289.22
296.47
297.02
285.02
Clusters
2
3
4
5
Table 5.4 Résultats de l'algorithme de clustering spectral normalisé (avec mesure de distance cosine) pour différents
nombres de clusters.
Pour la distance Cosine, les meilleurs résultats pour tous les scores on été obtenus dans le
cas où le nombre de clusters est 3 ou 4.
L’analyse des deux tableaux précédents nous a montré que le nombre de clusters choisi est
un paramètre non négligeable et à un impact significatif sur les résultats.
81
Chapitre 05. Implémentation
5.6.3. Clustering Spectral: Version non normalisé:
Après l’algorithme de clustering spectral normalisé, il est maintenant au tour de la version
non-normalisés et les paramètres associés à l’analyse.
Clusters
Unormalized Spectral Clustering
4
Distance
Cosine
Euclidean
Manhattan
Norm
SSE
2.00
2.00
4.00
2.00
SCS
157.41
146.32
156.80
159.15
SAPS
151.24
149.23
148.80
151.09
Tableau 5.5 Résultats de l'algorithme de clustering spectral non normalisé pour différentes mesures de distance.
Surprenant, c'est certainement l'énorme faible SSE qui implique un bon clustering pour
toutes les mesures de distance. Les résultats (voir la table 5.5) montrent clairement la
différence avec l'algorithme connu récemment. Les différences sont presque imperceptibles
à SAPS et SCS entre les différentes mesures de distance sauf pour la distance Euclidienne
où elle a une valeur inférieure concernant SCS (moins bonne) par rapport les autres.
La même chose pour l'algorithme de clustering spectral non normalisé, nous choisissons
maintenant une valeur différente (2, 3, 4 et 5) dans les deux cas : la distance euclidienne et la
distance Cosine.
En appliquons l'algorithme de clustering spectral non normalisé (avec mesure de distance
euclidienne) pour différents nombres de clusters, les scores montrent qu’on a obtenu les
mêmes résultats lorsque le nombre de groupes est à 2, 3 ou 4 avec une léger amélioration
pour le 5 pour le SCS et SAPS et une valeur moins bonne pour le SSE.
Les mêmes observations pour la distance Cosine, mais elle donne des meilleurs résultats par
rapport la distance Euclidienne (SCS et SAPS).
300 docs Reuters
Unnormalized Spectral Clustering
EuclideanDistance
SSE
2.00
2.00
2.00
5.82
SCS
144.96
149.82
146.32
154.95
SAPS
150.67
151.34
149.23
151.96
Clusters
2
3
4
5
Tableau 5.6 Résultats de l'algorithme de clustering spectral non normalisé (avec mesure de distance euclidienne) pour
différents nombres de clusters.
82
Chapitre 05. Implémentation
300 docs Reuters
Unnormalized Spectral Clustering
CosineDistance
SSE
2.00
2.00
2.00
5.30
SCS
155.00
157.35
157.41
167.00
SAPS
150.63
151.52
151.24
153.51
Clusters
2
3
4
5
Table 5.7 Résultats de l'algorithme de clustering spectral non normalisé (avec mesure de distance cosine) pour
différents nombres de clusters.
5.6.4. Comparaison entre tous les algorithmes de clustering.
300 docs
KMeans
KMedoids FarthestFirst Self Organizing NormSC Unorm
Reuters
clustering
clustering
clustering
Maps (SOM)
SSE
40.82
40.23
40.50
40.91
SCS
64.14
55.05
46.33
58.60
SAPS
16.52
18.95
9.47
15.66
Clusters
4
4
4
3
5.96
54.59
286.01
298.50
272.70
297.02
4
2.00
4.00
146.32
159.15
148.80
151.24
4
Tableau 5.8 Toutes vu algorithmes dans une rangée.
Après l’analyse de la table 5.8, on peut distinguer plusieurs conclusions :
Détermination 1: Les algorithmes de clustering traditionnels KMeans, KMedoids,
FarthestFirst et SOM donnent, plus ou moins, les mêmes scores pour la première méthode
d'évaluation (SSE) avec une différence significative pour la deuxième et la troisième.
Toutefois, une petite différence est perceptible dans les scores SCS pour le KMeans. donc
ici, cet algorithme est légèrement meilleur que les autres.
Détermination 2: Les algorithmes de clustering spectral (normalisé et non normalisé)
donnent de très bon résultats et nettement mieux que les autres algorithmes de clustering
classiques avec une mesure d'évaluation minimale pour SSE et maximale pour les deux
autres. Ce qui implique un meilleur clustering.
Détermination 3: selon la somme des carrés des erreurs (SSE), l'algorithme de clustering
spectral non normalisé, est meilleure que la version standard (Le but est un clustering avec
une dispersion intra-cluster minimale).
Détermination 4: selon les fonctions SCS et SAPS, l'algorithme de clustering spectral
normalisé, est meilleure que la version non normalisé.
83
Chapitre 05. Implémentation
Détermination 5 : Concernant les algorithmes spectraux, nous pouvons dire que : le nombre
de clusters a un impact évident sur les performances et la mesure de distance utilisée à
généralement un impact plus ou moins limité sur les résultats.
5.7. Interface graphique de l’application :
Voici l’interface graphique de notre application avec la barre des menus et une zone qui
permet d’afficher toutes les étapes depuis le chargement de corpus jusqu’au clustering.
Figure 5.5 L’interface graphique de l’application
Le Menu Fichier permet de sauvegarder les résultats d’évaluations de clustering ou quitter
l’application.
Le Menu Projet à quatre (04) fonctions principales : charger le corpus, clustering, évaluation
clustering et graphe.
Charger le corpus : une boite de dialogue s’ouvre pour sélectionner le corpus à traiter et faire
le prétraitement des données (le nettoyage, la représentation des textes à l’aide de sac de
mots et la codification TF*IDF)
84
Chapitre 05. Implémentation
Figure 5.6 chargement de corpus à traiter
Après le chargement de corpus une fenêtre s’ouvre pour montrer la liste des textes
sélectionnés ainsi que leurs états avant et après le nettoyage. Des informations
supplémentaires s’affichent au même temps dans la fenêtre principale comme le nom et la
taille de chaque texte, le nombre de textes et la taille total.
85
Chapitre 05. Implémentation
Figure 5.7 Les documents avant et après le nettoyage
Clustering : cette fonction permet d’effectuer le clustering selon trois paramètres :
-
L’algorithme à appliquer : clustering spectral normalisé et non normalisé, SOM,
FarthestFirst et KMedoides.
Figure 5.8 Fenêtre des paramètres de clustering (choix de l’algo)
-
La mesure de distance (ou de similarité) : distance eulidienne, Manhattan, cosine et
Norm.
86
Chapitre 05. Implémentation
Figure 5.9 Fenêtre des paramètres de clustering (choix de la distance)
-
le nombre de clusters désirés.
Evaluate Clustering : permet de visualiser l’évaluation de qualité de clustering dans la
fenêtre principale selon les trois scores : SSE, SCS et SAPS.
Figure 5.10 Evaluation de la qualité de clustering
Graphe : permet d’afficher l’évaluation de clustering sous forme d’histogramme 3D.
87
Chapitre 05. Implémentation
Figure 5.11 Evaluation clustering - Histogramme 3D
Des informations supplémentaires s’affiche de la fenêtre console d’éclipse comme les
valeurs et les vecteurs propres, taille tf*idf ect...
88
Conclusion générale
Conclusion générale
Notre travail se situe dans le cadre de la classification non supervisée. Celle-ci reçoit de plus
en plus d’intérêt dans la communauté scientifique vu qu’elle apporte des solutions
intéressantes à nombreux problèmes réels. La classification non supervisée (ou Clustering)
consiste à partitionner un ensemble de données en regroupant les éléments semblables
cluster.
Au cours de notre projet, nous avons étudié des éléments de la méthode de spectral
clustering. L’objectif était de comprendre le fonctionnement de cette méthode et de
l’appliquer dans un cadre non supervisé sur des données textuelles. Le clustering spectral
consiste à créer, à partir de la similarité entre les points un espace de dimension réduite dans
lequel les données sont regroupées en clusters. Cet espace est défini en sélectionnant les plus
grands vecteurs propres issus d’une matrice gaussienne normalisée. Cette méthode non
supervisée est principalement basée sur la mesure d'affinité gaussienne, son paramètre et ses
éléments spectraux. Cependant, les questions sur la séparabilité des clusters dans l'espace de
projection spectral et sur le choix du paramètre restent ouvertes. Dans un premier temps, le
rôle du paramètre de l'affinité gaussienne sera étudié à travers des mesures de qualités et du
choix du nombre de clusters à trouver. Le clustering spectral est de plus en plus usitée, à la
fois en raison de son efficacité et de sa simplicité relative d’implémentation. Par rapport à
des algorithmes classiques comme celui des K-moyennes, elle offre l'avantage de classer des
ensembles de données de structure "non-globulaire" dans un espace de représentation
adéquat.
Pour mettre en œuvre des méthodes de clustering, il faut faire le choix d'un mode de
représentation des documents, car il n'existe actuellement aucune méthode d'apprentissage
capable de représenter directement des données non structurées comme les textes. Dans
notre projet, nous allons commencer par le processus de texte mining dans le contexte de
préparer des textes à la phase clustering spectral. Après le nettoyage, nous avons choisi la
représentation des textes à l’aide de sac de mots et comme méthode de codification la
fonction TF*IDF. Ensuite, les données textuelles sont maintenant sous une forme
numérique et elles sont prêtes pour l’application de clustering spectral et il est nécessaire de
choisir une mesure de similarité.
Nous avons implémenté principalement deux algorithmes de clustering spectrale, qui ne
diffèrent que par normalisation avec deux paramètres en entrée la mesure de similarité et le
89
Conclusion générale
nombre de clusters. Au cours de nos expériences, on a utilisées quatre (04) mesures de
distances différentes afin de regrouper les documents en clusters. Afin d’évaluer les résultats
obtenus on a utilisé des implémentations existantes pour les algorithmes de clustering
classique pour faire une comparaison.
Après l'exécution des algorithmes, les clusters obtenus doivent être évalués. Pour cette
évaluation, on a utilisé trois modèles Sum Of Squared Errors (SSE), Sum of Centroid
Similarities (SCS) et Sum Of Average Pairwise Similarities (SAPS). Nos expériences ont été
réalisées à plusieurs reprises pour le corpus Reuters-21578 avec 300 documents et on a tiré
plusieurs conclusions surprenantes.
Dans notre projet, les algorithmes de clustering spectral donnent de très bon résultats et
nettement mieux que les autres algorithmes de clustering classiques. Selon SSE, l'algorithme
de clustering spectral non normalisé, est meilleure que la version standard, par contre, la
version normalisée est meilleure que la version non normalisé selon les fonctions SCS et
SAPS. Nous pouvons aussi dire que le nombre de clusters a un impact évident sur les
performances et la mesure de distance utilisée à généralement un impact plus ou moins
limité sur les résultats.
90
Bibliographies
Bibliographies
[1]
Saidi Leila & Kadi Halima, Identification de la langue par clustering des textes
multilingues basés sur l’algorithme d’essaim de particules et la méthode des ngrams, mémoire de fin d’études d’ingénieur en informatique, année 2008/2009,
université Dr. Moulay Tahar de Saida, Algérie.
[2]
Reda Mohamed Hamou, Abdelmalek Amine and Ahmed Chaouki Lokbani: A
Biomimetic Approach Based on Immune Systems for Classification of Unstructured
Data, Matematics and Computer Science Department, Tahar MOULAY University
of Saïda, Algeria. CoRR abs/1210.7002 (2012)
http://arxiv.org/abs/1210.7002
http://arxiv.org/ftp/arxiv/papers/1210/1210.7002.pdf
[3]
Bertrand LIAUDET, COURS DE DATA MINING 1, EPF – 4/ 5ème année – Option
Ingénierie d’Affaires et de Projets, septembre 2008.
[4]
Dr. Abdelhamid DJEFFAL, Cours Fouille de données avancée, Master 2 IDM,
Année Universitaire 2012/2013
[5]
Guillame CALAS, étude des principaux algorithmes de data mining, 2009.
[6]
Abdelmalek Amine, Laboratoire GeCoDe - Universté de Saida, cours Data Mining,
École d’Hiver sur les applications de l’informatique industrielle, réseaux et génie
logiciel, université d’Oran, 09-12 Décembre 2013
[7]
Wassim Lahbibi, Algorithme Knn, Thèse, Ecole supérieure de commerce, 2012-2013
[8]
J. H. Wilkinson, The Calculation of Eigenvectors by the Method of Lanczos ,
Comput. J 1(1958), 148–152.
[9]
Moulinier, I. (1997). Feature selection: a useful preprocessing step. Dans J. Funer, &
D. Harper (Ed), BCSIRSG-97, Proceeding of the 19th Annual Colloquium of the
British Computer Society Information Retrieval Specialist Group, Aberdeen, UK.
[10]
Hacéne CHERFI, Etude et réalisation d’un system d’extraction de connaissance à
partir d’un texte, Thèse de doctorat, université Henri Poincaré, 15 novembre 2004.
[11]
Reda Mohamed Hamou, Ahmed Lehireche: La Classification non Supervisée
(Clustering) de Documents Textuels par les Automates Cellulaires. Proceedings of
the 2nd Conférence Internationale sur l'informatique et ses Applications (CIIA
2009). Saida, Algeria, May 3-4, 2009.
http://ceur-ws.org/Vol-547/
91
Bibliographies
[12]
Mathieu Stricker, 2000 « Réseaux de neurones pour le traitement automatique
du langage
:
conception
et réalisatiion de filters d'informations ». Thèse de
Doctorat de l'Université Pierre et Marie Curie
URL : http://www.neurones.espci.fr/
[13]
Young-Min Kim, Jean-François Pessiot, Massih-Reza Amini, Patrick
(2008)
Gallinari
« Apprentissage d’un espace de concepts de mots pour une nouvelle
représentation des données textuelles » Laboratoire d’Informatique de Paris 6104,
Proceedings of the 5th Conférence en Recherche d'Information et Applications, 12
[14]
Schutze H., Hull D., and Pedersen A., “A Comparison of Classifiers and Document
Representations for the Routing Problem,” in Proceedings of SIGIR-95, 18th ACM
International Conference on Research and Development in Information Retrieval,
New York, pp. 229-237, 1995.
[15]
Furnkranz Johannes, Tom Mitchell, Ellen Rilo 1998, « A Case Study in Using
Linguistic Phrases for Text Categorization on the WWW » School of Computer
Science Carnegie Mellon University URL :
www.cs.utah.edu/~riloff/pdfs/final-webslog-paper.pdf
[16]
Caropreso
« Statistical
Maria
Phrases
Fernanda,
in
Stan
Automated
Matwin ,
Fabrizio Sebastiani, 2000
Text Categorization » Department
of
Computer Science of the University of URL :
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.5902
[17]
M. F. Porter. “An algorithm for sufix stripping”. Program, pp 130–137, 1980,
Morgan Kaufmann Publishers Inc.
URL : http://www.cs.odu.edu/~jbollen/IR04/readings/read ings5.pdf
[18]
Sahami M., “Using Machine Learning to Improve Information Access,” PhD Thesis,
Stanford University, 1999.
[19]
De Loupy C., “L’apport de Connaissances
Linguistiques en Recherche
Documentaire,” in Proceedings of Traitement Automatique des Langues Naturelles,
France, pp. 297-306, 2001.
[20]
Mathieu Stricker, 2000 « Réseaux de neurones pour le traitement automatique
du langage : conception et réalisatiion de filters d'informations ». Thèse de
Doctorat de l'Université Pierre et Marie Curie - Paris VI soutenue le 19 Décembre
2000, a été effectuée au Laboratoire d'Électronique de l'ESPCI (Paris), URL :
http://www.neurones.espci.fr/
92
Bibliographies
[21]
Simon JAILLET 2004, « Catégorisation automatique de documents »
LIRMM
UMR 5506, 161 rue Ada, 34392 Montpellier Cedex 5 – France URL:
http://www.lirmm.fr/doctiss04/art/I02.pdf
[22]
Miller E., Shen D., Liu J., Nicholas C., “Performance and Scalability of a LargeScale N-gram Based Information Retrieval System,” Computer Journal of Digital
Information, vol. 1,no. 5, pp. 257-265, 1999.
[23]
Elberrichi Z., “Text Mining Using n-Grams,” in Proceedings of CIIA’06,” Algeria,
pp. 15-16, 2006.
[24]
Rahmoun A. and Elberrichi Z., “Experimenting N-Grams in Text Categorization,”
International Arab Journal of Information Technology, vol. 4, no. 4, pp. 377-385,
2007.
[25]
Sebastiani F., “Machine Learning in Automated Text Categorization,” Computer
Journal of ACM Computing Surveys, vol. 34, no. 1, pp. 1-47, 2002.
[26]
Jalam, Radwan . (2003) "Apprentissage automatique et catégorisation de textes
multilingues". Thèse de doctorat, Université Lumière Lyon 2 URL :
http://www.agrocampus-rennes.fr/tice/jalam/these/these_radwan.ps.gz
[27]
Mathieu Stricker, 2000 « Réseaux de neurones pour le traitement automatique
du langage : conception et réalisatiion de filters d'informations ». Thèse de
Doctorat de l'Université Pierre et Marie Curie - Paris VI soutenue le 19 Décembre
2000, a été effectuée au Laboratoire d'Électronique de l'ESPCI (Paris), URL :
http://www.neurones.espci.fr/
[28]
Guillaume Cleuziou,
Une méthode de classification non-supervisée pour
l'apprentissage de règles et la recherche d'information, décembre 2004, Université
d’Orléans page 07, pages11-15
[29]
Guénaël CABANES, Classification non supervisée à deux niveaux guidée par le
voisinage et la densité, 03/12/10, Université Paris 13 pages 1
[30]
Nicoleta ROGOVSCHI, Classification à base de modèles de mélanges topologiques
des données catégorielles et continues, Université Paris 13 - Insitut Galilée
Laboratoire d'Informatique de Paris Nord UMR 7030 du CNRS
[31]
Bounneche Meriem Dorsaf, réduction de données pour le traitement d’images, 2009,
Université Mentouri Constantine, pages 04 – 07
[32]
Losee, R.M. (1998). Text retrieval and filtering analytic models of performance.
Kluwer Academic Publishers.
93
Bibliographies
[33]
A. K. Jain, M. N. Murty, and P. J. Flynn. Data clustering: a review. ACM Computing
Surveys, 31(3):264_323, 1999.
[34]
Spath H. Clustering algorithms. John Wiley and Sons, New York, NY, 1975.
[35]
J. A. Hartigan and M. A. Wong. Algorithm AS 136 : A k-means clustering
algorithm. Applied Statistics, 28(1) :100_108, 1979.
[36]
E. Forgy. Cluster analysis of multivariate data : eficiency versus interpretability
of classifications. Biometrics, 21 :768_780, 1965.
[37]
Inderjit S. Dhillon, Subramanyam Mallela, and Rahul Kumar. Enhanced word
clustering for hierarchical text classi_cation. In KDD ‘02: Proceedings of the eighth
ACM SIGKDD international conference on Knowledge discovery and data
mining, pages 191_200, New York, NY, USA, 2002. ACM.
[38]
Sylvain Grassin & Pauline Regnault, Classification par une méthode de Clustering
basée sur la densité, Département d’Enseignement et de Recherche en Informatique
& Technologies Urbaines, Ecole d’ingénieurs de la ville de Paris
[39]
Abdelmalek Amine, Zakaria Elberrichi, Michel Simonet: Evaluation of text
clustering methods using wordnet. Int. Arab J. Inf. Technol. 7(4): 349-357 (2010).
http://www.ccis2k.org/iajit/PDF/vol.7,no.4/1097final.pdf
[40]
Guillaume WACQUET, thèse sur Classification spectrale semi-supervisée.
Application à la surveillance de l’écosystème marin, Université Lille Nord de France
[41]
Luxburg, U. (2007). A tutorial on spectral clustering. In Statistics and Computing,
[42]
Sandrine MOUYSSET, thèse sur la Contributions à l'étude de la classification
spectrale et applications, Institut National Polytechnique de Toulouse (INP
Toulouse), France
[43]
Olivier Lézoray, Apprentissage non supervise, université de Caen, page 47-50
[44]
Shi, J. and Malik, J. (2000). Normalized cuts and image segmentation. In PAMI,
Transactions on Pattern Analysis and Machine Intelligence, pages 888–905.
[45]
Ng, A., Jordan, M., and Weiss, Y. (2002). On spectral clustering : Analysis and an
algorithm. In NIPS14, Neural Information Processing Systems, pages 849–856.
[46]
Weiss, Y. (1999). Segmentation using eigenvectors : an unifying view. In IEEE,
International Conference on Computer Vision, pages 975–982.
[47]
ZDRAVKO MARKOV AND DANIEL T. LAROSE, DATA MINING THE WEB
Uncovering Patterns in Web Content, Structure and Usage, Central Connecticut State
University New Britain, CT WILEY-INTERSCIENCE
94
Bibliographies
[48]
Weiner, D. E., Pedersen, J. O., & Weigend, A. S. (1995). A neural network
approach to topic spotting. 4th Annual Symposium on Document Analysis and
Inforormation Retrieval. SDAIR, 24, 317-332
[49]
Lewis, D. (1992). Feature selection and feature extraction for text categorization.
proceedings of a Workshop on Speech and Natural language, (pp. 212-217). San
Mateo.
.
Références web :
[50]
http://eric.univ-lyon2.fr, dernière visite 03/04/2014
[51]
http://www.piloter.org, dernière visite 03/04/2014
[52]
http://www.lattice.cnrs.fr/sites/itellier/poly_info_ling/linguistique009.html
[53]
http://www.daviddlewis.com/resources/testcollections/reuters21578/
[54]
http://fr.wikipedia.org/wiki/Exploration_de_données/
95
Table des figures
Table des figures
Figure 1.1 Processus de data mining ..................................................................................................... 4
Figure 2.1 Schéma général d'une tâche de fouille de textes .............................................................. 14
Figure 3.1 Exemple de la représentation d’un texte extrait de la collection CLEF en sac de mots .... 23
Figure 3.2 Représentation conceptuelle du mot « pic » ..................................................................... 25
Figure 4.1 Classification par partitionnement..................................................................................... 31
Figure 4.2 Les différentes étapes du clustering .................................................................................. 36
Figure 4.3 La formation d’un cluster dans DBSCAN ............................................................................ 47
Figure 4.4 Les points de ce cluster sont densité-accessibles ............................................................... 47
Figure 4.5 Illustration de la limite de la méthode des K-moyennes. .................................................. 51
Figure 4.6 Coupe de graphe et matrice de similarités ordonnée pour deux groupes C1 et C2 .......... 54
Figure 4.7 Mise en évidence du problème lié au critère de MinCut ................................................... 55
Figure 4.8 Résultat obtenu en utilisant l’algorithme de Shi et Malik.................................................. 59
Figure 5.1 Exemple d’un texte du corpus Reuters-21578 ................................................................... 72
Figure 5.2 Exemple d’un texte du corpus Reuters-21578 après le nettoyage .................................... 73
Figure 5.3 Exemple d'un texte et de son vecteur associé (Matrice Terme Fréquence) ...................... 74
Figure 5.4 Comparaison entre trois algorithmes de clustering classiques ......................................... 80
Figure 5.5 L’interface graphique de l’application ............................................................................... 84
Figure 5.6 chargement de corpus à traiter ......................................................................................... 85
Figure 5.7 Les documents avant et après le nettoyage ...................................................................... 86
Figure 5.8 Fenêtre des paramètres de clustering (choix de l’algo) ................................................... 86
Figure 5.9 Fenêtre des paramètres de clustering (choix de la distance) ............................................ 87
Figure 5.10 Evaluation de la qualité de clustering .............................................................................. 87
96
Liste des tableaux
Liste des tableaux
Table 3.1 Matrice Document-Terme. .................................................................................................. 22
Table 4.1 Les différentes techniques de calcul de la matrice Laplacienne. ........................................ 52
Table 4.2 Construction de la matrice de confusion. ........................................................................... 65
Table 5.1 Comparaison entre trois algorithmes de clustering classiques........................................... 79
Table 5.2 Résultats de l'algorithme de clustering spectral normalisé pour différentes mesures de
distance. .............................................................................................................................................. 80
Table 5.3 Résultats de l'algorithme de clustering spectral normalisé pour différents nombres de
clusters. ............................................................................................................................................... 81
Table 5.4 Résultats de l'algorithme de clustering spectral normalisé (distance cosine) pour différents
nombres de clusters. ........................................................................................................................... 81
Table 5.5 Résultats de l'algorithme de clustering spectral non normalisé pour différentes mesures
de distance. ......................................................................................................................................... 82
Table 5.6 Résultats de l'algorithme de clustering spectral non normalisé (avec mesure de distance
euclidienne) pour différents nombres de clusters .............................................................................. 82
Table 5.7 Résultats de l'algorithme de clustering spectral non normalisé (avec mesure de distance
cosine) pour différents nombres de clusters. ..................................................................................... 83
Table 5.8 Toutes vu algorithmes dans une rangée. ............................................................................ 83
97
Téléchargement