HAL Id: hal-01870509
https://hal.archives-ouvertes.fr/hal-01870509
Submitted on 7 Sep 2018
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
MÉTHODES DE CLUSTERING DES DOCUMENTS
TEXTES ARABES : ÉTUDE COMPARATIVE
El Khadir Lamrani, El Habib Ben Lahmar, Abdelaziz Marzak, Kamal El
Guemmat, Hammad Ballaoui
To cite this version:
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/318724107
MÉTHODES DE CLUSTERING DE DOCUMENTS TEXTES ARABES : ÉTUDE
COMPARATIVE
Conference Paper · May 2014
CITATIONS 0
READS 170
6 authors, including:
Some of the authors of this publication are also working on these related projects:
information retreival in arabic language View project
thesis View project El-khadir Lamrani
Fraktal, Marrakech
7PUBLICATIONS 5CITATIONS
SEE PROFILE
Hammad Ballaoui
Université Chouaib Doukkali
8PUBLICATIONS 4CITATIONS
SEE PROFILE
EL Habib Benlahmar
Université Hassan II de Casablanca
99PUBLICATIONS 51CITATIONS
SEE PROFILE
Abdelaziz Marzak
Université Hassan II de Casablanca
46PUBLICATIONS 60CITATIONS
SEE PROFILE
All content following this page was uploaded by EL Habib Benlahmar on 27 July 2017.
METHODES DE CLUSTERING DE DOCUMENTS TEXTES ARABES : ETUDE
COMPARATIVE
EL KHADIR LAMRANI1, EL HABIB BEN LAHMAR1, ABDELAZIZ MARZAK1,KAMAL EL GUEMMAT2 , HAMMAD
BALLAOUI3
1Université Hassan II - Mohammedia – Casablanca, Faculté des Sciences Ben M’sik, Laboratoire de Technologie de l’Information et
Modélisation, Cdt Driss El Harti,BP 7955 Sidi Othman Casablanca, Maroc [email protected], [email protected], [email protected]
2Université Hassan II - Mohammedia – Casablanca, Faculté des Sciences Ben M’sik, Laboratoire de Traitement de l’Information, Cdt
Driss El Harti,BP 7955 Sidi Othman Casablanca, Maroc [email protected]
3Université Chouaib Doukkali– Eljadida, Faculté des Sciences, Laboratoire d'Electronique Signaux –Systèmes et Informatique, Route Ben Mâachou, 24000, El Jadida,Maroc
RESUME
La classification automatique des documents textes arabes devient nécessaire à cause du volume de documents arabes échangés et stockés sur support électronique. Ce travail s'inscrit dans une étude comparative des méthodes de classification non supervisée , dite clustering , des documents arabes ainsi des différentes approches de lemmatisation (stemming), de la langue arabe, et de représentation des textes afin d'améliorer la qualité de clustering.
Dans ce travail nous avons implémenté trois algorithmes de clustering des documents textes, (k-means, k-means++ et classification hiérarchique ascendante) effectuant un clustering dur où chaque document ne peut appartenir qu’à un et un seul document. Enfin nous avons évalué nos algorithmes suivant plusieurs critères afin de comparer entre eux. Nos évaluations montrent que chaque algorithme a ses limites et ses avantages, et que beaucoup de travaux doivent être réalisé pour augmenter la qualité de clustering des documents textes arabes.
Mots Clés: Classification automatique de documents
arabes, méthodes de clustering , lemmatisation,
représentation des textes, qualité de clustering.
1. INTRODUCTION
Depuis la venue de l'informatique, l'ensemble des données stockées sous forme numérique ne cesse de croître de plus en plus rapidement partout dans le monde. Le développement de l'internet et de supports
de stockage a facilité l'archivage de grandes quantités d'information (contenant de larges corpus textuels et des encyclopédies numérisées), cela rend difficile, voire impossible son exploration et son analyse. D'où naît le besoin d'explorer des méthodes automatiques d'aide à l'analyse et la classification des textes.
Classifier de façon non supervisée un corpus de documents donné, revient à y chercher des groupes ou classes de documents les plus homogènes. Beaucoup de recherche ont été fait dans ce contexte, mais sont un peu rare les recherches concernant la langue arabe.
L'arabe, langue parlé par plus de 300 millions d'habitants, est une langue sémitique riche en terme sémantique et qui a une morphologie très complexe et par conséquent il nécessite un ensemble de bloc de pré-traitement afin d’être adapté à la manipulation.
La classification automatique des textes arabes devient nécessaire à cause du volume de documents arabes échangés et stockés sur support électronique. A la différence de la classification automatique des textes anglais ou français, ce travail demande de résoudre les problèmes différents comme le codage des caractères, la morphologie de la langue arabe. En particulier l’extraction des termes à partir de textes arabes est beaucoup différente avec les textes anglais et les textes français.
Notre principal objectif est de classer d’une manière non supervisée un ensemble des documents textes arabes, dans ce cadre on a développé une modeste application en langage java qui nous permet de réaliser notre tâche principale.
les appliquant sur une base de teste qui contient un ensemble de documents textes arabes, enfin on va évaluer la qualité et la performance de chaque algorithme afin de pouvoir faire une étude comparative entre ces méthodes et algorithmes.
2. ETAT DE L’ART DE TRAVAUX DE CLUSTERING
La classification non supervisée (clustering en anglais) consiste à segmenter un ensemble de vecteurs non labellisés (la classe n'est pas fournie) en groupes (clusters) qui possèdent les propriétés suivantes :
Homogénéité dans les groupes, i.e. les données
appartenant à un même cluster doivent être les plus similaires possibles.
Hétérogénéité entre groupe, i.e. les données
appartenant à différents clusters doivent être les plus dissemblables possibles.
Les méthodes de classification non supervisée peuvent être regroupées en trois grandes catégories; les méthodes hiérarchiques, les méthodes de clustering par partitionnement et les méthodes basées sur la densité des objets dans leur espace de représentation. Cette taxonomie est présentée dans le tableau suivant [1]:
Tableau 1 : Taxonomie des méthodes de clustering
Approches de Clustering
Algorithmes
Approche par
partitionnement
K-Means, Fuzzy C-Means,
IsoData, Fast Global K-Means, K-Means++, etc.
Approchehiérarchique Classification hiérarchique
ascendante CAH, Classification
hiérarchique descendante,
CURE, BIRCH, l’algorithme de Ward, etc.
Approche de clustering basé sur la densité
Denclust, Mean-scihft, Density-based spatial clustering of
applications with noise
(DBSCAN), etc.
Dans la littérature certains auteurs considèrent les méthodes à centre mobile et les méthodes basées sur la densité comme des méthodes par partitionnement [2] tandis que d’autres considèrent les méthodes de partitionnement et les méthodes basées sur la densité comme deux catégories différentes [3]. Les méthodes non supervisées de classification peuvent être dures ou floues ; les méthodes dures attribuent à chaque objet une seule étiquette, tandis que dans une classification floue, un objet peut appartenir simultanément à plusieurs classes. Les méthodes floues peuvent être facilement converties dans des méthodes dures.
Une autre distinction à faire concerne le type de résultat obtenu. Suivant les méthodes, les clusters obtenus peuvent être des ensembles durs ou flous. Certains objets peuvent ne pas être classés, et certains clusters peuvent se recouvrir. De plus, le résultat n’est pas forcément plat, et peut se présenter sous la forme d’une hiérarchie.
METHODES DE CLUSTERING
Il existe une trentaine de méthodes et leurs variations incluent dans différentes familles. Nous présentons les principales familles de méthodes de regroupement des données en clusters. Cette taxonomie est inspirée des articles d’état de l’art dans le domaine [2]. Les méthodes peuvent être séparées en quatre groupes :
Les méthodes basées sur une distance : Ces méthodes se
basent sur la notion de distance entre objets du jeu de données, en posant que si deux objets sont proches suivant cette distance, ils doivent être regroupés ensemble dans un même cluster. Les algorithmes kmeans [4] et fuzzy-c-means [5] sont les algorithmes les plus connus de cette famille d’algorithme. Ces méthodes permettent de trouver des formes de clusters convexes et sont très utilisées notamment à cause de leur coût algorithmique faible.
Les méthodes basées sur une grille : Leur processus
consiste à regrouper les cellules denses les plus proches. Ces méthodes ont été proposées pour réduire l’explosion combinatoire des méthodes à base de densité qui fait suite à l’augmentation du nombre d’objets. L’algorithme bang [6] effectue ce regroupement de manière hiérarchique, en partant de la grille et en fusionnant successivement les cellules denses voisines dont la différence de densité ne dépasse pas un certain seuil. L’algorithme clique [7] est une méthode très populaire basée sur les grilles.
Les méthodes probabilistes : Ces méthodes supposent
que les données suivent une certaine loi de probabilité. L’objectif est d’estimer les paramètres de cette loi et de définir un modèle de mélange de lois pour représenter les différents clusters. Ces méthodes font l’hypothèse qu’à chaque cluster Ci est associée une loi de probabilité P(x, θi) de paramètres θi qui permet de déterminer la probabilité d’appartenance de x à Ci. Si
on note πi la proportion de la ième loi dans le mélange,
les paramètres du modèle sont : Φ=(π1,...,πK,θ1, ... , θK)
et la fonction de densité est :
𝑃(𝑥, Φ) = ∑ 𝜋𝑖𝑃(𝑥, θi)
𝑘
𝑖=1
TFIDF Normali sé Corpus de textes Prétraite ment Khoja’s Stemmer Larky’s Stemmer Clustering Un ensemble de clusters
citer l’algorithme EM [8]. A noter qu’en général, les lois considérées sont supposées gaussiennes.
Les méthodes hiérarchiques : Ces méthodes
construisent une hiérarchie de clusters. Chaque nœud contient ses clusters enfants, et les nœuds frères partitionnent les objets contenus dans leurs parents. Ce type d’approche permet d’explorer les données à différents niveaux de granularité. Les méthodes de clustering hiérarchique sont décomposées en deux types d’approches, les approches ascendantes où l’algorithme part d’un grand nombre de clusters et ceux-ci sont ensuite fusionnés jusqu’à n’obtenir plus qu’un unique groupe contenant tous les objets du jeu de données et les approches descendantes qui partent, de l’ensemble des données, et le divisent en clusters qui sont ensuite divisés récursivement.
MESURE DE QUALITE DE CLUSTERING
Evaluer les performances d’un algorithme de clustering n’est pas une chose aisée. La façon la plus simple est de faire une évaluation supervisée : on compare le résultat obtenu à une référence [9] (on peut pour cela utiliser une classification préexistante ou des corpus de référence). Il existe d’autres mesures non supervisés tels que la Modularité [10], la Performance [11], l’indice de Dunn [5], l’indice de Silhouette [12], etc qui ne se base sur des références préalables pour évaluer la qualité de clustering.
3. REPRESENTATION DE DOCUMENTS
Il existe plusieurs façons de représenter un document platn dont la représentation vectorielle est la plus utilisé, Nous parlons de la phase de prétraitement initiale au passage d’un espace de caractères à un espace de mots. La représentation vectorielle comprend trois représentations possibles :
Vecteur binaire : Elle considère qu’un
document est représenté par un vecteur dans l’espace V dont les composantes informent sur la présence (valeur égale à 1) ou l’absence (valeur égale à 0) d’un terme dans un document.
Vecteur fréquentiel : est une extension
naturelle de la représentation binaire qui prend en compte le nombre d’apparitions d’un mot dans un document.
Vecteur TF-IDF : qui tente d’être plus
informative que les représentations
précédentes. Elle repose sur la loi de Zipf qui décrit la loi de répartition des mots d’un ensemble de documents D.La représentation
TF-IDF est une représentation très utilisée en
RI aussi bien en recherche documentaire qu’en classification [13].
4. EXPERIMENTATIONS ET RESULTATS
Pour réaliser notre application nous avons suivi un processus typique de clustering de documents textes consistant à effectuer un prétraitement des documents suivi d’une analyse morphologique, stemming, afin de pouvoir obtenir les termes et les racines des termes importantes ainsi résoudre l’espace de caractéristique. Enfin on applique plusieurs algorithmes de clustering sur cet espace. Nous obtenons ainsi un ensemble des clusters contenants des documents classés.
SCHEMA GLOBAL
La figure suivante montre le schéma global de notre application :
Figure 1 : Schéma globale de la classification des documents textes arabe
DESCRIPTION DU CORPUS DE REFERENCE
On dispose d’un corpus des documents textes arabes. Notre corpus, dit corpus de référence, est déjà classer pour nous aide à évaluer et mesurer la qualité des algorithmes de clustering appliqués.
Tableau 2: Le nombre de document dans chaque catégorie du corpus de référence
Catégorie Nombre de document
Economics 29
Education 10
Health and Medcine 32
Interviews 23 Politics 10 Recipes 9 Religion 19 Science 45 Sociology 30 Spoken 5 Sports 4
Tourist and Travel 60
PRETRAITEMENT
SEGMENTATION
La tokenisation consiste à identifier les mots dans une séquence de lettres. Pour la tokenisation des textes arabes, en plus des mêmes ponctuations présentes dans les textes européennes, nous avons ajouté d'autres signes de ponctuation arabe (encodés en arabe) comme la virgule, le point-virgule et le point d'interrogation et nous avons les considérés comme des séparateurs. Ainsi, tous ces signes agissent comme séparateurs de mots arabes.
NORMALISATION ORTHOGRAPHIQUE :
Comme nous avons décrit précédemment, la langue arabe connait des grandes variations de représentation textuelle, pour tenir compte les spécifications de cette langue et de remédier au problème de variation de représentation des caractères arabes dans les textes nous avons appliqué quelques méthodes de normalisation sur le corpus avant la lemmatisation :
Remplacer les hamzas (آ ,إ ,أ) par (ا).
Remplacer (ى) par (ي) à la fin des mots.
Remplacer (ة) par (ه) encore à la fin des mots.
Remplacer la séquence (ئ) par (ي).
Eliminer les diacritiques (voyelles) et « chedda ».
Cette étape est effectué surtout pour normaliser les textes arabes modernes aves les textes classiques, elle améliore clairement la performance de clustering.
LES MOTS VIDES
Les mots vides représentent les mots très fréquemment utilisés dans le langage courant, ils représentent les mots utilisés pour la construction d'une phrase. Nous éliminons ainsi ces mots avant la phase de lemmatisation. Plusieurs tables de mots outils ont été conçues pour l'arabe. Nous avons utilisé celle de Khoja renfermant 168 entités.
LA RACINISATION (STEMMING) :
Un des traitements les plus importants pour la langue arabe, en vue de la classification des documents est la racinisation ou lemmatisation des mots. Nous avons basé sur 2 méthodes, celle de Khoja « Khoja’s Stemmer » qui transforme chaque mot à son racine, et la méthode de Larky – dite leight – « Larky’s Stemmer » afin de pouvoir comparer les deux méthodes et évaluer leurs performances.
REPRESENTATION DE TEXTE
Comme nous l'avons exposé précédemment, il est nécessaire de représenter les documents sous forme d’un vecteur numérique, Pour cela nous avons utilisé la méthode TFIDF normalisé. Cet algorithme est particulièrement efficace pour faire une distinction entre les termes pertinents permettant de catégoriser une classe et les termes qui se révèlent comme communs pour l'ensemble des documents, ainsi effectue une transformation de chaque terme de document à une valeur numérique qui représente son importance dans le document et dans le corpus. Enfin on obtient un vecteur numérique qui représente chaque document.
CLUSTERING
Pour mener à bien notre expérimentation nous avons choisi d’utiliser quatre algorithmes de clustering dont deux algorithmes de l’approche du clustering par partitionnement (K-means et K-means++), un algorithme du clustering hiérarchique (CAH) et un algorithme de l’approche floue du clustering (fuzzy c-means).
MESURE DE SIMILARITE UTILISEE
Nous avons choisi la distance euclidienne pour représenter la dissimilarité entre deux points. Elle s'applique facilement à des espaces multidimensionnels puisqu'elle correspond à la racine carrée des sommes des distances pour chaque dimension des deux points.
Soit X et Y deux points de l'espace:
𝐷2(𝑋, 𝑌) = (∑|𝑥𝑗− 𝑦𝑗| 2 𝑑 𝑗=1 ) 1 2
K-MEANS
K-means est un algorithme de clustering basé sur les centres mobiles. Cet algorithme représente le double avantage d'être éprouvé comme un algorithme de clustering fiable est rapide. Le nombre de cluster doit être déterminé avant de faire tourner l’exécution de l’algorithme
K-MEANS++
L’algorithme k-means++ est un variant de k-means qui résout le problème d’initialisation des centres, et ainsi elle est plus stable.
CLASSIFICATION HIERARCHIQUE ASCENDANTE
La classification hiérarchique ascendante est une méthode de la paroche hiérarchique du clustering. Son principe est de considérer chaque document comme un cluster et fusionner les paires les plus proche en terme de similarité suivant un caractère de liaison, notons qu’on a implémenté les 3 caractères de liasons (single_link, complete_link et average_link).
RESULTATS
Nous décrivons dans cette paragraphe les différents résultats obtenues on appliquant 3 algorithmes de clustering avec ou sans les stemmers de Khoja et de Larkey.
Résultat détaillé de l’algorithme de Kmeans++ Avec le Stemmer de Khoja
La figure suivante montre le résultat en détail :
Figure 2: Résultat de Clustering en appliquant KMeans++ avec le stemmer de khoja
De la même manière on trouve les différents résultats des autres algorithmes.
EVALUATION
MESURE DE QUALITE DU CLUSTERING
Dans notre travail nous avons procédé à l’évaluation supervisée du clustering, c.-à-d. nous avons évalué nos algorithmes par rapport à un corpus de référence pré-classé. Nous avons évalué la qualité du résultat de clustering suivant deux mesures ; la pureté et l’entropie.
La pureté évalue la cohérence de clusters. C’est le degré qu’un cluster contient des documents d’une même catégorie. Elle est définit comme suit :
𝜌 = ∑ 𝑛𝑖
𝑛
𝑖 𝜌𝑖=
𝑛𝑚𝑎𝑥
𝑛
Où ni est le nombre de documents dans le cluster Ci
et 𝜌𝑖= max j{𝑝𝑖𝑗}
pij est la précision du cluster Ci dans chaque
catégorie j 𝑝𝑖𝑗= 𝑛𝑖𝑗
𝑛𝑖
L’entropie évalue la distribution des catégories pour un cluster donné. L’entropie d’un cluster Ci de taille ni est définie par :
𝐸 = ∑ 𝑛𝑖
𝑛
𝑖 𝐸𝑖
𝐸𝑖= − ∑ 𝑝𝑖𝑗log 𝑝𝑖𝑗
𝑗
Le tableau suivant montre le résultat final d’évaluation : Tableau 3 : Résultat d’évaluation de qualité de clustering de différents algorithmes
On voit bien d’après le tableau ci-dessus que dans le cas où on utilise le stemmer de khoja on obtient des résultats mieux. Ainsi on remarque que l’algorithme Kmeans++ donne des résultats assez mieux en termes de pureté ainsi une maximum entropie.
STABILITE DES METHODES APPLIQUEES
La limite majeur des algorithmes du clustering basé sur les centres mobiles est leur instabilité, c.à.d. l’exécution du même algorithme peut fournir des résultats différents Algorithmes Larkey’sStemmer Khoja’sStemmer Sans Stemming
Pureté Entropie Pureté Entropie Pureté Entropie
Kmeans 0.48 0.36 0.48 0.53 0.38 0.34
Kmeans++ 0.50 0.37 0.51 0.57 0.43 0.36
d’un moment à un autre. Les figures ci-dessous illustrent les résultats obtenus en appliquant le même algorithme dans des moments différents. Nous constatons bien que la classification hiérarchique ascendante est stable par contre les deux autres ne sont pas stables
1ère exécution 2ème exécution
Figure 3 : Deux exécutions del’algorithme de Kmeans
Figure 4 : Deux exécutions de l’algorithme de CHA
TEMPS D’EXECUTION
Dans la recherche d’information, le temps de réponse est toujours un facteur intéressant, un bon système de recherche d’information c’est celui qui renvoi l’information pertinente dans un temps minimal. Le clustering est largement utilisé dans ces systèmes.
La complexité des algorithmes basés sur les centres mobiles est en O(M x N x K) avec M représente le nombre d’itération pour converger vers une solution optimale, celle des algorithmes hiérarchiques est en O(N²) notons que M et K sont beaucoup moins que N. par conséquent le temps d’exécution de l’algorithme de classification hiérarchique ascendante est très grand.
Les algorithmes de stemming réduisent la dimension des vecteurs utilisés et par conséquent réduisent le temps d’exécution. Le tableau suivant montre le temps d’exécution totale de chaque algorithme.
On a utilisé un CPU Intel Core 2 Duo T6570 @2.10 GHz et une mémoire vivante de 2 Go.
Notons bien que pour Kmeans et Kmeans++ le temps d’exécution peut se varier d’une exécution à une autre (selon le nombre d’itération).
Tableau 4 : le temps d’exécution du programme de clustering en utilisant des différents algorithmes et différents stemmers.
5. CONCLUSION ET PERSPECTIVES
Le clustering des documents textes consiste à regrouper une masse volumineuse de document en un nombre des clusters qui partage des caractéristiques homogènes en termes de similarité. Dans ce travail on a étudié plusieurs algorithmes de clustering en les appliquant sur les documents arabes dans le but d’effectuer une étude comparative afin qu’on puisse améliorer la précision et la pureté des systèmes existants. Les algorithmes de stemming nous ont aidés à élever la performance de notre système.
La méthode TF-IDF nous a aidés à numériser nos documents et ainsi pouvoir utiliser nos algorithmes sur des vecteurs numériques. Dans ce rapport nous avons décrit les différentes notions interagissant dans le sujet, ainsi les différentes étapes suivies pour réaliser notre objectif. Enfin nous avons essayé à évaluer les différents algorithmes implémentés. Nous citons que les résultats obtenus sont relativement satisfaisants et justifiés.
Enfin on peut conclure d’une part que le stemming augmente la performance de clustering en termes de temps d’exécution aussi qu’en termes de la pureté de classification, d’une autre part on conclut que le clustering kmeans reste
toujours efficace malgré le problème d’initialisation. Kmeans++ est une variante qui tente à corriger d’une manière ou d’une autre le problème d’instabilité de kmeans et ainsi influence positivement sur le résultat de clustering. Par contre l’avantage des méthodes hiérarchique c’est leur stabilité.
REFERENCES
[1] Laurent Candillier, « Contextualisation, visualisation et évaluation en apprentissage non supervisée » Thèse de doctorat, page 68, Université Charles De Gaulle Lile 3. 2006.
[2] A. K. Jain, M. N. Murty, and P. J. Flynn. “Data clustering: a review”, ACM Computer Survey, 31(3):264– 323. 1999
[3] T. N. Tran, R. Wehrens, and L. M. Buydens, “Clustering multispectral images: a tutorial Chemometrics and Intelligent Laboratory Systems”, 77(1–2):3–17. 2005. [4] J. B. MacQueen, “Some methods for classification and analysis of multivariate observations”, In L. M. Le Cam and J. Neyman, editors, Proc. of the fifth Berkeley Symposium on Mathematical Statistics and Probability, volume 1, pages 281–297. University of California Press. 1967. [5] Dunn J. Well, “Separated clusters and optimal fuzzy partitions”, Journal of Cybernetics, 4, 95-104. 1974.
[6] E. Schikuta et M. Erhart, “The bang clustering system: Grid-based data analysis”, In International Symposium on Advances in Intelligent Data Analysis, Reasoning a bout Data, pages 513–524. 1997.
[7] C. C. Aggarwal, J. L. Wolf, P. S. Yu, C. Procopiuc, et J. S. Park. « Fast algorithms for projected clustering”, SIGMOD Record, 28(2) : 61–72. 1999.
[8] A. P. Dempster, N. M. Laird, et D. B. Rubin, “Maximum likelihood from incomplete data via the em algorithm”, Journal of the Royal Statistical Society, 39(1): 1–38. 1977. [9] Naïja Yosr, Sinaoui K.B., “A novel measure for validating clustering results applied to road traffic”, In Proceedings of the Third international Workshop on Knowledge Discovery from Sensor Data Paris, France, June 28. 2009.
[10] ] Newman M.E.J., Girman M., ”Finding an evaluating community structure in networks”, Physical Review E, 69(6). 2004.
[11] Van Dongen S.M., “Graph Clustering by Flow Simulation”, Thèse de doctorat, Université de Utrecht, Suisse. 2000.
[12] Rousseeuw P.J., “Silhouettes: a graphical aid to the interpretation and validation of cluster analysis”, Journal of Computational and Applied Mathematics, 20, 53-65, 1987. [13] G. Salton and C. Buckley, “Term Weighting Approaches in Automatic Text Retrieval”, In Information Processing Management, Volume 24, pages 513-523, 1988.