analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · détection...

29
Analyse intégrée des réseaux sociaux pour la détection et la visualisation de communautés Juan David Cruz 1 , Cécile Bothorel 1 , François Poulet 2 1. Département LUSSI Télécom - Bretagne Technopôle Brest - Iroise, 29238, Plouzané, France {juan.cruzgomez,cecile.bothorel}@telecom-bretagne.eu 2. Université de Rennes I IRISIA Campus de Beaulieu, 35042, Rennes, France [email protected] RÉSUMÉ. Les réseaux sociaux contiennent une quantité importante d’information qui peut être divisée en deux dimensions : d’abord une dimension structurelle composée par l’information concernant les connexions entre les acteurs du réseau, puis une dimension de composition qui décrit chacun des acteurs de façon individuelle. Pour analyser un réseau, dans la plupart de cas, seulement une des dimensions est prise en compte. Cela implique une restriction de la portée de l’information qui peut être extraite du réseau. Nous proposons donc, une approche conçue pour intégrer les deux dimensions dans un processus de détection de communautés. En- suite, nous proposons un modèle visuel pour analyser et exploiter l’information produite par le processus de détection de communautés. ABSTRACT. Social networks contain an important amount of information that can be divided into two dimensions: first a structural dimension, containing all the information about the connec- tions and relationship types between the actors of the network; then a compositional dimension that describes each actor of the network individually. Due to the nature of each of these dimen- sions most of the analyzes are made using only one of them, discarding the other. This implies a restriction on the scope of information that can be extracted from the network. In this paper we propose, first an approach for integrating both dimensions in a community detection process, and second a visual model that allows for the analysis and use of the partition produced by the community detection process. MOTS-CLÉS : Détection de communautés, graphes avec attributs, visualisation des graphes de communautés, interaction entre communautés KEYWORDS: Attributed graphs, community detection, clustered graphs layout, community inter- action DOI:10.3166/TSI.31.1-29 c 2013 Lavoisier Technique et science informatiques – n o 1/2013, 1-29

Upload: others

Post on 22-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Analyse intégrée des réseaux sociaux pour ladétection et la visualisation de communautés

Juan David Cruz 1, Cécile Bothorel 1, François Poulet 2

1. Département LUSSITélécom - BretagneTechnopôle Brest - Iroise, 29238, Plouzané, France

juan.cruzgomez,[email protected]

2. Université de Rennes IIRISIACampus de Beaulieu, 35042, Rennes, France

[email protected]

RÉSUMÉ. Les réseaux sociaux contiennent une quantité importante d’information qui peut êtredivisée en deux dimensions : d’abord une dimension structurelle composée par l’informationconcernant les connexions entre les acteurs du réseau, puis une dimension de composition quidécrit chacun des acteurs de façon individuelle. Pour analyser un réseau, dans la plupart decas, seulement une des dimensions est prise en compte. Cela implique une restriction de laportée de l’information qui peut être extraite du réseau. Nous proposons donc, une approcheconçue pour intégrer les deux dimensions dans un processus de détection de communautés. En-suite, nous proposons un modèle visuel pour analyser et exploiter l’information produite par leprocessus de détection de communautés.

ABSTRACT. Social networks contain an important amount of information that can be divided intotwo dimensions: first a structural dimension, containing all the information about the connec-tions and relationship types between the actors of the network; then a compositional dimensionthat describes each actor of the network individually. Due to the nature of each of these dimen-sions most of the analyzes are made using only one of them, discarding the other. This implies arestriction on the scope of information that can be extracted from the network. In this paper wepropose, first an approach for integrating both dimensions in a community detection process,and second a visual model that allows for the analysis and use of the partition produced by thecommunity detection process.

MOTS-CLÉS : Détection de communautés, graphes avec attributs, visualisation des graphes decommunautés, interaction entre communautés

KEYWORDS: Attributed graphs, community detection, clustered graphs layout, community inter-action

DOI:10.3166/TSI.31.1-29 c© 2013 Lavoisier

Technique et science informatiques – no 1/2013, 1-29

Page 2: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

2 TSI. Volume 31 – no 1/2013

1. Introduction

A l’heure actuelle les sites de réseaux sociaux en ligne sont devenus un composantintégral des usages professionnels et personnels. Les entreprises intègrent dorénavantleurs clients dans leur chaîne de valeur, depuis les travaux de R&D jusqu’au serviceaprès vente. Dans leur sphère personnelle, les internautes interagissent et partagentdifférents types de médias à travers le monde entier.

Il est important de différencier ici les réseaux sociaux des sites de réseautage so-cial. Un réseau social est l’ensemble des relations sociales entre les membres d’ungroupe. Il est communément défini par des connexions entre acteurs, les acteurs peuventêtre des personnes ou des organisations, les liens peuvent être de plusieurs types : ami-tié, affiliation, dépendance ou communication. Les réseaux sociaux existent, qu’ilssoient médiatés par internet ou non, qu’ils soient explicites ou non.

Les sites de réseautage social sont, quant à eux, des sites Web conçus pour pra-tiquer le réseautage social sur Internet. Ces services permettent à un individu ou uneorganisation de constituer leur réseau social en ligne. Selon le site, les internautes dé-clarent des liens d’amitié, des relations professionnelles ; ils sont amenés à développerleur réseau et interagissent, souvent autour de contenus.

Les approches classiques pour l’analyse de réseaux sociaux considèrent les ré-seaux sociaux comme des graphes, où les acteurs sont représentés par des nœuds etles relations par des arêtes. Toutefois, un réseau social contient plus d’informationsque seulement le graphe de relations : il contient également des informations à pro-pos de chaque acteur, par exemple ses préférences de lecture, son âge, sa localisationgéographique, et de manière générale, d’autres informations relatives au contexte duréseau (en ligne ou hors ligne).

Selon (Wasserman, Faust, 1994), un réseau social, est composé de deux variables :une variable structurelle, qui décrit les connexions entre les acteurs, une variable decomposition, qui décrit chaque acteur de façon individuelle selon son informationpropre. Une troisième variable peut être définie, elle décrit des groupes d’acteurs ;cette variable est dite d’affiliation et reflète ainsi l’appartenance à une équipe, à uneécole. Mais cette variable peut être inférée à partir des autres variables, et peut ainsirefléter des communautés détectées à travers la variable structurelle ou caclulées grâceà des points communs du profil de la variable de composition.

Nous proposons dans ce travail une nouvelle approche pour analyser et visuali-ser des graphes avec attributs. Il s’agit d’abord d’intégrer l’information des variablesdu réseau social dans une variable d’affiliation puis, ensuite, de proposer un modèlede visualisation qui permet d’analyser ces trois variables et d’exploiter ces relationsimplicites en mettant en évidence les interactions entre les communautés.

La suite de cet article est organisé de la façon suivante : la section 2 présente ladéfinition du problème et son contexte, la section 3 présente des travaux précédentsconnexes. Dans la section 4 le modèle d’intégration des variables du réseau socialest proposé ainsi que quelques expériences pour tester le modèle. Enfin la section

Page 3: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 3

5 présente l’algorithme de visualisation et d’analyse de communautés, et quelquesexpériences, avant de conclure et d’énoncer les perspectives.

2. Définition du problème

L’analyse d’un réseau social vu comme un graphe avec attributs se doit d’ intégrerles variables qui le composent, ce qui n’est pas un processus simple. Cette intégrationde variables exige d’établir des relations entre elles, mais aussi de créer un mécanismeexploitant leur unification afin d’extraire de nouvelles connaissances, en complémentdes mécanismes d’analyse basés sur chacune d’elles prise séparément.

Le problème peut être divisé en deux sous problèmes : d’abord, comment repré-senter les variables de sorte qu’elles puissent être utilisées et analysées de façon ho-listique, et par quelle méthode ? Ensuite, comment utiliser un modèle visuel pour re-présenter l’intégration des trois variables concernées ?

Pour ce faire nous rappelons ici les définitions des différentes variables et introdui-sons la définition de réseau social augmenté, ainsi que la notion de point de vue. SoitG = (V,E) un graphe non orienté représentant la structure du réseau social, où V estl’ensemble des nœuds et E est l’ensemble des arêtes, ce graphe contient uniquementl’information concernant les connexions des nœuds, c’est-à-dire la variable structu-relle. La variable de composition de ce réseau peut être définie comme un vecteur F ∗

modélisant les caractéristiques de chaque acteur : ce vecteur est défini dans un espacep-dimensionnel où p peut varier selon la nature du profil décrivant les acteurs.

Cette représentation devient difficile à gérer quand la valeur de p croît : un nombreélevé de dimensions produit l’effet connu sous le nom de la malédiction de la dimen-sion qui, à mesure que les dimensions augmentent, diminue la pertinence des mesuresmathématiques employées. De plus, utiliser toutes les caractéristiques qui décrivent unacteur peut introduire du bruit pour certaines applications et tout simplement ne pasêtre pertinent, en occultant l’impact de certaines caractéristiques, qui, par contre sielles sont bien choisies, peuvent nous renseigner sur la structuration du réseau social.

La variable d’affiliation peut être dérivée soit de la variable structurelle, soit de lavariable compositionnelle, soit d’une combinaison des deux telle que proposée dansce travail.

DÉFINITION 1 (Point de vue PoVF∗ ). — Étant donné un vecteur de caractéristiquesde la variable compositionnelle F ∗, un point de vue PoVF∗ est l’une des 2f − 1combinaisons des f éléments de F ∗.

Le point de vue est un sous-ensemble des caractéristiques contenues dans F ∗.Grâce au point de vue, le réseau social peut être décrit selon différentes perspectives,chacune d’elle étant définie par un point de vue.

DÉFINITION 2 (Réseau social augmenté S+). — Étant donné un réseau social avecattributs S = (G,PoVF∗) où G est un graphe représentant la variable structurelleet PoVF∗ représentant la variable de composition sous la forme d’un point de vue,

Page 4: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

4 TSI. Volume 31 – no 1/2013

le réseau social augmenté est défini par S+ = (G,PoVF∗ ,A), où A est la variabled’affiliation dérivée des deux autres variables.

En conséquence, le réseau social augmenté peut être décrit par des perspectives dif-férentes qui permettent de réaliser une analyse pour chaque perspective. Par exemple,les nœuds peuvent être groupés de différentes manières : une par point de vue, enrendant possible les contrastes selon les caractéristiques sélectionnées.

Dans ce travail, A représente la variable d’affiliation qui résulte d’un processus departitionement dont le résultat est une partition C = C1, C2, . . . , Ck de l’ensembleV des nœuds en k sous-ensembles disjoints. Notre but est que les nœuds de chaquecommunauté Ci présentent des points communs compositionnels selon le PoVF∗ etsoient fortement connectés selon la variable structurelle.

Dans la suite, nous noterons e (u, v) ∈ E l’arête entre les nœuds u et v. e (u) estl’ensemble de toutes les arêtes depuis et vers le nœud u. Soit E (Ci, Cj) , 1 ≤ i, j ≤ kl’ensemble des arêtes connectant les groupes i et j. E (Ci, Ci) = E (Ci) , 1 ≤ i ≤ kest l’ensemble des arêtes connectant les nœuds présents seulement dans le groupe i.

Structurelle

Composition

Reseau Social

Integrationdes Variables

Structurelle

Affiliation

Composition

Reseau SocialAugmente

Visualisationet Exploration

FIGURE 1. Schéma général du système d’intégration des variables

La figure 1 montre le schéma général du système : à partir d’un réseau social, l’in-tégration des variables structurelle et de composition est faite en produisant un réseausocial augmenté. Ce réseau contient donc la troisième variable, appelée affiliation quireprésente l’affectation de chacun de nœuds à un groupe de nœuds similaires et bienconnectés. L’étape finale est la visualisation du réseau social augmenté en exploitanttoute l’information intégrée.

3. Travaux précédents

Ce travail a deux parties principales : d’abord un modèle de détection de commu-nautés qui produit un réseau social augmenté, ensuite un modèle de visualisation quipermet d’exploiter et d’extraire l’information non-visible du réseau social augmenté.Cette section commence par présenter les travaux représentatifs de la détection decommunautés. Suivront les travaux concernant la visualisation de graphes de commu-nautés.

Page 5: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 5

3.1. Détection de communautés

Dans la littérature ils existent plusieurs méthodes dédiées à la détection des com-munautés dans les réseaux sociaux, cependant elles ont été conçues pour n’exploiterque l’information structurelle du graphe ; plusieurs de ces méthodes utilisent des me-sures liées uniquement à la topologie du réseau, comme le coverage, la performance,la conductance (Gaetler, 2005) et la modularité (Newman, Girvan, 2004). Une revuede littérature de ces mesures est faite par (Brandes et al., 2008) et les méthodes clas-siques de clustering de graphe sont examinées par (Fortunato, 2010).

Récemment plusieurs chercheurs ont abordé la question de l’intégration de l’infor-mation contenue dans les réseaux sociaux pour mieux guider le processus de détectionde communautés. Les différents approches définissent l’information de compositioncomme une fonction w : V → Rf , c’est-à-dire, un vecteur réel de norme f est affectéa chacun des nœuds du réseau.

(Neville et al., 2003) présentent une méthode de détection de de communautéspour des graphes avec attributs qui utilise une mesure de similarité Sij pour modifierle poids des arêtes du graphe, puis qui trouve des communautés en utilisant soit uneapproche du type Monte-Carlo ou soit une approche du type k-means. La similaritéentre deux nœuds est déterminée par le nombre d’attributs communs et est condition-née par l’existence d’une arête entre ces nœuds. La mesure de similarité est définiepar

Sij =

∑k sk (i, j) if eij ∈ E or eji ∈ E

0 sinon

sk (i, j) =

1 if ki = kj

0 sinon

Une fois les poids modifiés et normalisés, chaque nœud est affecté à une commu-nauté. Le processus démarre avec autant de communautés que de nœuds. L’algorithmesélectionne ensuite une des arêtes selon la probabilité donnée par les poids ; quand unearête est choisie, les communautés sont fusionnées. Une approche similaire est présen-tée par (Steinhaeuser, Chawla, 2008). Cette méthode utilise le coefficient de Jaccardcomme mesure de similarité des attributs pour définir les poids des arêtes. Le proces-sus de fusion des communautés est réalisé en prenant chacune des arêtes et en évaluantsi le poids est supérieur à un seuil 0 < t < 1. Finalement, la qualité de la partitionfinale est mesurée avec la modularité proposée par (Newman, Girvan, 2004).

(Dang, Viennet, 2012) présentent deux approches qui utilisent une combinaisonlinéaire de deux mesures de similarité : une pour l’aspect structurel et une autre pourl’aspect de composition des acteurs. La première approche se base sur la modularitépour l’aspect structurel ; pour l’aspect de composition ils proposent d’utiliser une me-sure de similarité choisie parmi les mesures existantes comme la distance Euclidienne.La combinaison linéaire est donnée par :

Page 6: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

6 TSI. Volume 31 – no 1/2013

Q =∑C∈C

∑i,j∈C

(α · S (i, j) + (1− α) · simA (i, j))

où C est la partition du graphe, S (i, j) est la valeur initiale de la modularité, simA (i, j)est la mesure de similarité des attributs des nœuds et 0 ≤ α ≤ 1 est une constante depondération. Ensuite les auteurs utilisent cette nouvelle mesure de qualité Q intégrantla dimension compositionnelle. Ils ont adapté aussi la façon de calculer le ∆ (Q) avecla nouvelle mesure ce qui leur permet d’utiliser la méthode de Louvain (Blondel et al.,2008).

La deuxième approche est aussi une combinaison linéaire mais les auteurs utilisentune généralisation de la mesure de similarité structurelle : celle-ci peut être le coeffi-cient de Jaccard ou la distance du cosinus entre les voisinages. La mesure est définiepar :

S (i, j) = α ·Gi,j + (1− α) · simA (i, j)

où Gi,j est le lien entre les nœuds i et j, simA (i, j) est la mesure de similarité desattributs des nœuds et 0 ≤ α ≤ 1 est une constante de pondération pour moduler l’in-fluence de chaque mesure. Avec cette définition les auteurs construisent un nouveauk-NN graphe et puis utilisent la méthode de Louvain pour trouver les communautés.

(Combe et al., 2012) proposent eux-aussi une combinaison linéaire pondérée parune valeur 0 ≤ α ≤ 1 définie par :

dTS (i, j) = α · dT (i, j) + (1− α) dS (i, j)

où les mesures de similarité structurelle et de composition peuvent être choisies parmides mesures existantes. Cette approche est similaire à celle de (Dang, Viennet, 2012),cependant les auteurs laissent ouvert le choix de la méthode de clustering et permettentainsi d’exploiter des techniques classiques de clustering pour opérer la détection finalede communautés. Comme les méthodes classiques n’ont pas de contraintes de connec-tivité, le résultat peut potentiellement être un ensemble de clusters déconnectés.

(Ge et al., 2008) proposent la méthode Connected k Centers (CkC) pour trouver kcommunautés dans un réseau social en imposant deux contraintes sur les clusters : unecontrainte de similarité compositionnelle sur les nœuds à la manière des k-means, as-sortie d’une contrainte de connectivité. Les auteurs définissent le réseau social commeun graphe G = (V,E) où V est l’ensemble des nœuds et E est l’ensemble des arêtes.Les attributs des acteurs sont définis comme une fonctionw : V → Rd, c-à-d. que cha-cun des nœuds est caractérisé avec un vecteur d’attributs de dimension d. La méthodecommence par sélectionner aléatoirement k nœuds qui seront utilisés comme centresdes groupes. Ensuite chacun des autres nœuds est affecté à un des groupes ; pour fairecette affectation le graphe est parcouru en largeur en gardant ainsi la contrainte deconnectivité, tout en gardant la similarité entre les acteurs avec une mesure ‖ · ‖ pourles vecteurs d’attributs. Ces étapes sont répétées tant que les groupes sont instables.

Plus récemment, (Villa-Vialaneix et al., 2013) présentent une méthode fondée surdes cartes auto-organisatrices. Ils définissent une fonction à noyau multiple pour me-

Page 7: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 7

surer la similarité des nœuds en termes de structure et d’attributs et projeter les don-nées originales dans un espace euclidien où peuvent être appliquées les cartes auto-organisatrices. La fonction multi-noyau est définie par :

KT (i, j) = α0K0 (i, j) +∑d

αdKd

(cdi , c

dj

)où K0 (i, j) est le noyau pour mesurer la similarité structurelle, cdi est la d-ième éti-quette du nœud i et αd pour (d = 0, 1, . . . , D) :

∑d αd = 1 est une constante de

pondération pour chacun des noyaux.

La carte auto-organisatrice est composée par des prototypes induits par le noyauKT . Chaque acteur est présenté à la carte et comparé avec chaque prototype ; le pro-totype sélectionné comme gagnant est celui dont la distance avec l’acteur est la pluspetite. Ce processus est exécuté jusqu’à ce que l’affectation des acteurs aux neuronesgagnants soit stabilisée ou tant que l’erreur n’est pas minimisée. Cette approche per-met d’utiliser la capacité des cartes auto-organisatrices à réduire la dimension de l’es-pace initial. L’autre avantage est de transformer l’espace initial en un espace deux-dimensionnel, et ainsi d’offrir visuellement une présentation combinée dans le mêmeplan de la structure des communautés et de l’information des attributs.

(Zhou et al., 2009) présentent une méthode qui commence par créer un grapheaugmenté avec les attributs des graphes ; puis ils utilisent un surfeur aléatoire qui, enutilisant la probabilité donnée par les attributs et la structure, parcourt le graphe aug-menté et trouve une matrice de transition avec laquelle ils peuvent trouver k groupesdans le réseau.

(Li et al., 2008) présentent une méthode pour classifier des documents où les docu-ments sont des nœuds et les liens sont donnés par l’existence des références partagéespar les documents. L’information de composition est définie par le texte du document.L’algorithme identifie un groupe de noyaux, qui sont les documents les plus référencésdu corpus et qui sont utilisés pour initialiser les groupes. Ensuite l’algorithme combineles noyaux ayant une similarité qui dépasse certain seuil ; puis les nœuds sont affectésà un des groupes selon leur similarité avec le noyau. Finalement, l’algorithme exécuteun processus d’affinement pour éliminer des faux positifs potentiels.

Nous avons proposé nous-mêmes dans (J. D. Cruz et al., 2011) un autre algorithmequi utilise l’entropie et la modularité pour trouver des partitions avec des groupes denœuds similaires et fortement connectés. L’algorithme commence par exécuter uneétape de clustering comme celle présentée par (Blondel et al., 2008). Ensuite l’entro-pie de cette partition initiale est minimisée en utilisant une approche de Monte-Carlo.Finalement l’algorithme produit un clustering hiérarchique comme celui de la mé-thode de Louvain.

L’approche décrite dans cet article est réalisée en deux étapes. D’abord la classifi-cation des nœuds selon l’information de composition. Cette classification initiale estexécutée en utilisant des cartes auto-organisatrices, ce qui permet de trouver une parti-tion intermédiaire avec des groupes des nœuds similaires. Ensuite, avec l’information

Page 8: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

8 TSI. Volume 31 – no 1/2013

de cette partition, les poids des arêtes du graphe sont modifiés de façon à influen-cer la détection de communautés opéré avec un algorithme classique de détection decommunautés pouvant traiter des graphes pondérés.

Nous verrons que cette approche nous permet d’obtenir des connaissances à pro-pos d’une typologie compositionnelle existante dans l’ensemble de nœuds. De plus,à la différence de la méthode de (Steinhaeuser, Chawla, 2008), notre méthode estrobuste au bruit ou aux éléments manquants. Enfin, grâce au choix des cartes auto-organisatrices, nous pouvons envisager de décrire les acteurs par des vecteurs degrande dimension, et ainsi adresser des problématiques de réseautage sur le web socialoù les contenus peuvent être décrits par du texte par exemple, ou des marqueurs surdes vidéos, etc.

A notre connaissance, aucune de ces publications ne mentionne la notion de pointde vue. Nous montrerons ici que pour un analyste, cette étape préliminaire de sélectiondes attributs à solliciter pour l’analyse, est un point fort de notre travail.

3.2. Visualisation de graphes de communautés

Un graphe de communautés est un type de graphe hiérarchique dont la distanceentre deux nœuds de l’arbre d’inclusion est au maximum égale à un.

La figure 2(a) présente un exemple de graphe de communautés et la figure 2(b)présente l’arbre d’inclusion de la partition. Cet arbre est utilisé pour visualiser lesdifférents niveaux qui représentent les groupes.

(a) Exemple d’un graphe de commu-nautés C (G,T )

Level 3

Level 2

Level 1

Level 0

λ = 1

(b) Arbre d’inclusion T issu d’ungraphe de groupes

FIGURE 2. Exemple d’un graphe de communautés et son arbre d’inclusion associé

Cette définition est proposée et utilisée par (Eades, Feng, 1997) lors de la présen-tation de leur méthode de visualisation. Cette méthode représente chaque niveau del’arbre d’inclusion comme une couche tridimensionelle. D’abord, pour la premièrecouche, les nœuds feuilles de chaque communauté sont placés, dans la deuxièmecouche, un cercle est ensuite dessiné au-dessus de chaque groupe. Ce processus estrépété jusqu’à la racine de l’arbre d’inclusion. La figure 3(a) présente un exemple devisualisation avec la méthode de Eades et Feng.

Page 9: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 9

(a) Exemple de graphe de communautés dessinéavec l’algorithme multi-niveaux

n1 n2

n4n3

n5 n6

n7

n9

n8

n10

n12

n14

n15 n13

(b) Exemple d’un graphe de communautésdessiné avec la représentation orthogonale

FIGURE 3. Exemple de résultats des algorithmes de layout – I

(Tamassia, 1987) présente un algorithme qui utilise des rectangles pour représen-ter les nœuds et des lignes droites avec des angles droits pour représenter les arêtes,l’auteur utilise cette approche pour dessiner des circuits VLSI. Les groupes sont re-présentés par des rectangles autour des nœuds. Un exemple de cette représentation estmontré dans la figure 3(b). L’algorithme présenté par (Giacomo et al., 2007) utiliseaussi une approche orthogonale, mais appliquée à la représentation de sites web.

(Noack, 2003) présente un algorithme dirigé par des forces qui utilise d’une part unmodèle linéaire pour représenter l’attraction entre deux nœuds voisins et, d’autre part,un modèle logarithmique pour modéliser la répulsion entre deux nœuds non connectés.Ce modèle n’utilise pas un graphe déjà groupé : il constitue aussi une méthode pouridentifier graphiquement des communautés dans un réseau social.

(Bourqui et al., 2007) présentent une méthode de visualisation qui prend en compteles poids des arêtes. Cette méthode impose quatre contraintes :

1. interdire le chevauchement des groupes pour faciliter l’interprétation du dessin,2. garder l’arbre d’inclusion pour visualiser la hiérarchie produite par l’algorithme

de détection de communautés,3. utiliser un polygone convexe pour définir chaque groupe,4. respecter les poids des arêtes du graphe en utilisant des fonctions de minimisa-

tion de l’énergie.

Avec la définition de graphe de communautés de (Eades, Feng, 1997) et avec ladéfinition de graphe quotient de (Brockenauer, Cornelsen, 2001), les auteurs com-mencent par placer les nœuds individuels, puis les nœuds des niveaux suivants. À

Page 10: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

10 TSI. Volume 31 – no 1/2013

l’inclusion de chaque niveau, l’espace de visualisation est divisé en utilisant des dia-grammes de Voronoï. La figure 4(a) présente un exemple de ce modèle de visualisa-tion.

(a) Exemple de graphe de communautés dessinéavec l’algorithme pour des graphes pondérés

n5

(b) Exemple d’un graphe de communau-tés dessiné avec la représentation des com-munautés chevauchantes

FIGURE 4. Exemple de résultats des algorithmes de layout – II

En général les méthodes de visualisation de graphes de communautés ont étéconçues pour mettre en évidence les différences entre chaque groupe, ce qui impliquede présenter chaque groupe éloigné des autres. (Santamaría, Therón, 2008) proposentune méthode pour dessiner des communautés non disjointes. Ils utilisent une versionmodifiée de l’algorithme dirigé par des forces dont la force d’attraction est modéliséepar un ressort et la répulsion par un modèle de gravitation. Pour éviter l’encombre-ment des éléments visuels, les arêtes ne sont pas dessinées, par contre les groupessont modélisés par des polygones convexes. Ainsi, les nœuds appartenant à différentsgroupes sont placés à la frontière de ces polygones de telle façon que le partage soitévident. La figure 4(b) présente un exemple de cette visualisation, les nœuds parta-gés sont dessinés sous la forme d’un camembert indiquant le degré d’appartenance àchaque groupe.

Les algorithmes classiques n’utilisent que la structure du graphe pour placer lesnœuds et en général il n’est pas facile de leur ajouter d’autres critères, comme lasimilarité d’attributs entre nœuds, pour trouver la position de chacun des nœuds.

4. Intégration des variables dans un réseau social

Nous avons indiqué précédemment que les composants d’un réseau social sontdivisés en trois variables : la variable structurelle, qui représente les connexions entreles acteurs, la variable de composition qui décrit chaque acteur de façon individuelle

Page 11: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 11

et la variable d’affiliation qui décrit l’appartenance de chaque acteur à un ou plusieursgroupes.

La variable structurelle peut être utilisée pour décrire le réseau social en termesde connectivité entre acteurs. En revanche, la variable de composition permet de dé-crire chaque acteur de façon individuelle, par exemple à partir de ses préférences,compétences professionnelles, langues ou livres favoris. Cette information peut êtreutilisée pour créer et d’analyser des typologies d’acteurs. L’idée générale est de faireémerger des connaissances non évidentes a priori à propos de l’ensemble des acteurset de surcroît des connaissances qui ne sont pas forcement liées à la structure du ré-seau. La troisième variable est spéciale dans le sens où elle peut être générée à partirdes autres variables : si elle est générée à partir de la première variable, l’affectationreflète l’appartenance aux communautés de nœuds fortement connectés, si elle est gé-nérée à partir de la deuxième variable, l’affectation représente l’appartenance à descommunautés de nœuds similaires.

Cette section présente la partie du modèle dédiée à l’intégration des variables com-posant un réseau social augmenté. L’intégration proposée est réalisée à travers la créa-tion de variables d’affiliation issues de la combinaison de la variable structurelle et desdifférents points de vue dérivés de la variable de composition.

Avant de décrire l’algorithme d’intégration nous avons besoin de définir deux va-riables intermédiaires. Soit AG une variable d’affiliation dérivée de la variable struc-turelle. La partition décrite par cette variable est définie par des groupes de nœudsfortement connectés. Soit APoVF∗ une variable dérivée de la variable de compositionconditionnée par un point de vue, les groupes dans cette partition sont proches enterme de la similarité du profil dans PoVF∗ .

Notons que les partitions générées à partir des différentes variables ont été crééesavec des critères différents, donc les mesures de qualité utilisées pour chacune sontdifférentes. Ce fait sera abordé ultérieurement lors de l’intégration des deux variables.

L’intégration des variables structurelles et de composition permet de guider le pro-cessus d’identification des communautés en ajoutant la similarité de chaque nœud auxcritères de la structure utilisés pendant l’identification des communautés. Pour ce faire,nous divisons le processus de détection de communautés en deux phases : d’abord, unclustering de nœuds selon leur similarité de profil, puis, un algorithme de clusteringstructurel exploitant la partition de composition, c’est-à-dire influencé d’une façontelle que les groupes contiennent les nœuds similaires et connectés.

4.1. Première phase : clustering de composition

Étant donné un point de vue dérivé d’un ensemble PoVF∗ , chaque nœud peutêtre caractérisé par son vecteur d’attributs ou une instance u du point de vue. Il estpossible d’utiliser ces vecteurs en entrée d’un algorithme de classification non super-visée comme les cartes auto-organisatrices (Kohonen, 1997). Cela permet de créer desgroupes de nœuds suivant la similarité de leurs attributs, c’est-à-dire les instances de

Page 12: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

12 TSI. Volume 31 – no 1/2013

u sont les données en entrée de l’algorithme. L’avantage de cet algorithme est que, àla différence des approches comme les k-means, l’utilisateur n’a pas besoin de fixer apriori le nombre final de groupes.

L’algorithme de cartes de Kohonen utilisé a un réseauN basé sur une grille carréede taille de f × f neurones, avec f = |PoVF∗ |, le nombre d’attributs utilisés dansle point de vue. Les valeurs initiales des poids sont tirées aléatoirement. Les poidsdes neurones sont ajustés selon leur proximité au neurone gagnant. Un taux d’appren-tissage η est utilisé pour éviter les maxima locaux et des convergences prématurées.Après chaque itération, le taux d’apprentissage est réduit par un facteur ε, 0 < ε < 1.Le voisinage est calculé avec une taille t et le neurone gagnant est de centre c.

L’intérêt de classifier les nœuds selon l’information de composition est celui detrouver des groupes qui peuvent être trouvés avec plusieurs algorithmes de classifica-tion, notamment nous utilisons ici des cartes auto-organisatrices. Le choix des cartesauto-organisatrices est fondé d’abord sur la robustesse de la méthode à des attributsmanquants ou au bruit dans les donnés. Ensuite, elle offre la possibilité d’utiliserplusieurs types de donnés, binaires, categorielles, etc., comme présenté par (Villa-Vialaneix et al., 2013).

La sortie est alors une partition CSOM formée par des groupes de nœuds similairesselon le point de vue choisi 1. Pour mesurer la qualité de la partition nous utilisons ladistance moyenne entre les points de chaque groupe, laquelle a été mise à l’échellepour avoir des valeurs entre 0 et 1.

4.2. Deuxième phase : influence de la composition sur le clustering structurel

Une fois que la partition compositionnelle CSOM a été calculée, on peut alorsentrer dans la seconde phase de la méthode. Dans cette étape, on utilise un algorithmeclassique de détection de communautés, la méthode de Louvain, proposé par (Blondelet al., 2008). Cet algorithme utilise un processus de Monte-Carlo pour optimiser lamodularité Q, présentée par (Newman, Girvan, 2004).

Avant l’exécution de la méthode de Louvain, il s’agit d’inclure les informationsobtenues lors de la première phase. Cela est effectué par le changement des poidsdes arêtes en fonction de la partition obtenue CSOM . Pour chaque paire de sommetsvi, vj ∈ V , ∀vi 6= vj , le poids de l’arête e (vi, vj) est modifié par la distance eucli-dienne des instances du point de vue correspondant à chaque nœud. Cette distance estfournie par SOM et nous permet ainsi de construire un poids qui vaut 1 en cas de nonappartenance au même cluster CSOM , et une grandeur d’autant plus supérieure à 1que la distance issue de SOM est petite :

wij = 1 + α(1− d(Nij))δij (1)

1. Ici nous considérons que le point de vue est fixé au préalable par un analyste. La découverte automatiquede points de vue discriminants à proposer à l’analyste fait partie des perspectives.

Page 13: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 13

avec α ≥ 1 une constante, d (Nij) la distance entre les prototypes des neurones i et j,et δij = 1 si vi et vj appartiennent au même cluster dans CSOM et 0 sinon.

Le paramètre α ≥ 0 est utilisé pour modifier les poids des arêtes du graphe se-lon l’information de la partition de l’information de composition. Cette modifica-tion influence l’algorithme de détection de communautés en privilégiant la créationde groupes avec des nœuds similaires et bien connectés. Cependant cette modifica-tion change aussi la structure du graphe et aussi la structure de communauté : quandα→∞, la partition est très loin d’une partition créée à partir de la structure du grapheou, autrement dit, plus similaire à une partition créée uniquement avec l’informationde composition des nœuds. Cette notion de distance entre partition pourraît être ap-profondie avec le Adjusted Rand Index – ARI (Hubert, Arabie, 1985) comme nousl’avons fait dans un travail connexe pour comparer CSOM et CPoVF∗ (J. Cruz et al.,2013 ; J. Cruz, Bothorel, 2013).

Une fois que les poids sont modifiés selon l’équation 1, une partition, CSOM−Loest calculée en utilisant la méthode de Louvain. Cette nouvelle partition contient l’en-semble des communautés finales et l’information structurelle. En modifiant les poidsdu graphe avec l’équation 1, le graphe devient pondéré et les arêtes avec un poids plusgrand ont une probabilité plus élevée d’être affectées à la même communauté.

Données : S+ = (G,F ∗,A) , αRésultat : CPoVF∗

PoVF∗ ←choix_point_de_vue(F ∗);CSOM ←SOM_algorithme(PoVF∗ ); // Part. de la variable decompositionpour e ∈ E faire

ns ← e.source;nt ← e.cible;e.w = 1;si C (ns) = C (nt) alors // C (ns) , C (nt) ∈ CSOM

e.w+ = α (1− d (Nns,nt));

finfinCPoVF∗ ← Louvain_algorithme(G = (V,E,w));retourner CPoVF∗

Algorithme 1: Algorithme d’intégration des variables structurelle et de composition

La variable d’affiliation AS+ résultante reflète l’ensemble des communautés avecdes groupes de nœuds similaires et fortement connectés, qui intègrent l’informationdes variables structurelle et de composition. Le processus d’intégration est synthétisédans l’algorithme 1.

Page 14: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

14 TSI. Volume 31 – no 1/2013

4.3. Expériences et résultats de la détection de communautés

Les expériences concernant la détection de communautés ont été effectuées sur unréseau social et avec deux points de vue ; un des deux points de vue est le point de vuenul. Le point de vue nul est celui qui ignore la variable de composition, autrement dit,aucun attribut n’est pris en compte, et celà revient à appliquer seulement l’algorithmede Louvain, en conservant les poids initiaux du graphe.

Pour mesurer la qualité des expériences nous utiliserons deux mesures, une pour lapartie structurelle et une autre pour la partie de composition. La structure est mesuréeen utilisant la densité. Cette mesure indique la proportion des arêtes dans les groupespar rapport au nombre total d’arêtes du graphe. La densité est définie par :

ρ (C) =

k∑i=1

|E (Ci) ||E|

.

D’un autre côté, l’entropie va mesurer le désordre d’un ensemble. Ici nous avonsune partition C composée par k groupes dont chacun contient un nombre de nœudsdécrits avec l’information de composition. Un groupe dit ordonné affichera une valeurd’entropie basse, indiquant que ses éléments sont similaires entre eux. L’entropie dela partition est donné par :

H (C) =1

k

∑Ci∈C

H (Ci)

où H (Ci) est la mesure d’entropie du groupe i. Celle-ci est calculée avec :

H (Ci) = −r∑j=1

pij ln pij + (1− pij) ln (1− pij)

où r est le nombre de catégories et pij est la proportion d’éléments de la catégorie jqui appartiennent à la communauté i. Les catégories représentent chacune des carac-téristiques contenues dans la variable de composition du réseau social. L’objectif estalors d’obtenir des partitions avec une densité haute et une entropie basse.

Le réseau utilisé est un graphe de co-citations issu de DBLP et aimablement fournipar (Zhou et al., 2009). Ce jeu de données est particulièrement intéressant pour nous,car les travaux de (Zhou et al., 2009), proches des nôtres, ont produit des résultatsauxquels nous pouvons nous comparer. Ce jeu de données représente les connexionsentre différents auteurs de quatre thématiques de l’informatique. Ce réseau est com-posé de 10000 nœuds et 65734 arêtes, et les profils des auteurs sont décrits par cesquatre thématiques. Nous utilisons le point de vue PoVSCCO qui permet de décrireles auteurs par ces mêmes quatre thématiques : il décrit les acteurs du réseau selonleur caractéristiques de production scientifique, c’est-à-dire les thématiques abordéeset le nombre de papiers écrits.

Page 15: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 15

Le clustering est fait en deux étapes : dans la première un point de vue est choisi, etavec ce point de vue une variable d’affiliation préliminaire est créée. Cette variable estutilisée dans la deuxième étape pour changer la structure du graphe et ainsi influencerl’algorithme de détection de communautés.

Tableau 1. Résumé des résultats de notre processus de détection de communautéspour le graphe DBLP

PoV Groupes Densité ρ EntropieHNULL 843 0, 8324 Par rapport à PoVSCCO : 0, 2744

SCCO 862 0, 8245 0, 1461

Zhou et al. 800 ≈ 0, 51 ≈ 0, 36

Le premier point de vue PoVNULL, et le résultat d’expérimentation de (Zhou etal., 2010) nous servent de référence pour les mesures de qualité.

(Zhou et al., 2010) mesurent les communautés trouvées par rapport à l’entropie et àla densité des arêtes dans chaque groupe. Notre partition, générée avec notre méthode,montre de meilleures valeurs d’entropie et de densité. Le tableau 1 résume les résultatsobtenus.

Les résultats montrent d’abord que les partitions changent en fonction du pointde vue choisi et ensuite que les groupes contiennent des nœuds similaires et forte-ment connectés. Toutefois, il existe un compromis entre les deux mesures de qualitéutilisées : lorsque la densité est augmentée, l’entropie se trouve diminuée, et l’effetcontraire est aussi vrai.

Ce phénomène obéit à la nature divergente des variables du réseau : la variablestructurelle explique les connexions entre les acteurs du réseau, alors que la variable decomposition explique chaque acteur de façon individuelle. Or, ces variables en généralsont indépendantes, c’est-à-dire que la variable structurelle n’est pas une fonction de lavariable de composition et vice-versa. En conséquence une partition créée en utilisantun critère purement structurel ne garantit rien sur l’homogeneité des groupes, et enpractique produit des groupes hétérogènes. A contrario une partition créée avec uncritère de similarité sur les acteurs est composée par des groupes homogènes mais enpractique déconnectés.

4.4. Complexité de l’algorithme de détection de communautés

Le premier pas de l’algorithme de détection de communautés est le regroupementsémantique des nœuds en utilisant des points de vue. Ce processus compare chacundes nœuds du graphe avec les η = f×f neurones de la carte de Kohonen ; le processusest répété jusqu’à la fin de l’entraînement du réseau. La complexité est alors définiepar :

TSOM (n) = O(|PoVF∗ | × f2 × n

)(2)

Page 16: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

16 TSI. Volume 31 – no 1/2013

où PoVF∗ est le point de vue choisi. Ensuite le poids de chaque arête doit être modifié.Cette opération a une complexité de :

TΩ (n) = O (m) (3)

où m est le nombre d’arêtes du graphe. À la fin la méthode de Louvain est exé-cutée. Cet algorithme a une complexité de TQ = O (n) pour des graphes épars, enconséquence, la complexité globale est (avec les équations 2 et 3) :

TSOM (n) + TΩ (n) + TQ (n) = O(|PoVF∗ | × f2 × n+m+ n

). (4)

La figure 5 présente le temps d’exécution pour l’algorithme de détection de com-munautés en utilisant des points de vue avec différentes tailles. Notons que l’augmen-tation de temps est linéaire en fonction de la taille du point de vue.

0

50

100

150

200

250

300

350

400

0 20 40 60 80 100

Temps

d’Exécution(s)

Nombre d’attributs utilisés

Temps de calcul pour des PoV de tailles différentes

Graphe DBLP 10000

FIGURE 5. Temps d’exécution pour le jeu de donnés DBLP (avec 10000 nœuds) enchangeant le nombre des caractéristiques utilisées par le point de vue

5. Visualisation de communautés

Étant donnée une variable d’affiliation A dérivée, soit de la variable structurelle,soit de la variable de composition, soit de notre processus d’intégration de ces deux

Page 17: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 17

variables, l’étape suivante est la création d’un modèle pour visualiser les communautésde la partition.

Notre modèle de visualisation doit donc être capable, en plus d’exhiber classique-ment les groupes, de montrer l’existence des autres variables et leur relation avec lescommunautés. Notre modèle visuel utilise ainsi la variable d’affiliation pour dessinerla partition, mais se limite pour l’instant à mettre en évidence la variable structurelledu réseau social, la variable compositionnelle n’est pas encore exhibée dans la versionactuelle du modèle. L’innovation réside dans la visualisation des interactions entrecommunautés.

À l’heure actuelle la plupart des algorithmes de dessin de graphes de communau-tés sont orientés de manière à montrer la séparation entre chaque groupe ; le modèleprésenté dans ce chapitre est conçu pour mettre en évidence les interactions entre lescommunautés et pour révéler des rôles importants de nœuds impliqués dans ces inter-actions. Ces rôles sont définis selon la partition et la structure locale de chaque nœudet le modèle visuel est utilisé pour aider à leur identification.

La première étape consiste à trouver les nœuds en charge de la connexion desgroupes, c’est-à-dire, les nœuds qui sont connectés avec des nœuds d’autres groupes,ces nœuds peuvent être vus comme des ponts entre les communautés. Pour ce fairel’ensemble des nœuds est divisé en deux catégories : les nœuds dont les liens com-mencent et finissent dans leur propre communauté, dits nœuds intérieurs, et les nœudsavec au moins un lien qui commence ou finit dans une autre communauté, appelésnœuds de frontière.

Les nœuds seront placés selon une mesure de similarité avec laquelle deux nœudsavec des voisinages similaires seront proches l’un de l’autre. Cette mesure de simi-larité utilise la proportion de voisins en commun des deux nœuds en disant que cesnœuds sont similaires si leurs voisins sont similaires.

En utilisant une partition de k communautés, la division des nœuds produit k + 1sous-ensembles : un avec les nœuds de frontière provenant de toutes les communau-tés et k avec les nœuds intérieurs provenant de chaque communauté. L’algorithmecalcule une matrice de similarité pour chacun des k + 1 sous-ensembles et à partir dechacune de ces matrices la position de chaque nœud est établie. Les figures 6(a) et 6(b)présentent des exemples de chaque type de nœud dans un réseau avec deux groupes.

DÉFINITION 3 (Nœud de frontière v+). — Étant donné un groupe Ci ∈ C, un nœudv est dit de frontière de Ci si et seulement si ∃ε ∈ e (v) : ε /∈ E (Ci).

Ainsi les nœuds de frontière ont des liens vers/depuis d’autres communautés. Lafigure 6(a) présente un exemple de nœuds de frontière.

DÉFINITION 4 (Nœud intérieur v−). — Étant donné un groupe Ci ∈ C, un nœud vest dit intérieur à Ci si et seulement si ∀ε ∈ e (v) , ε ∈ E (Ci).

Cela signifie que le nœud intérieur a uniquement des liens avec d’autres nœuds desa propre communauté. La figure 6(b) présente un exemple de nœuds intérieurs.

Page 18: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

18 TSI. Volume 31 – no 1/2013

(a) Exemple de nœuds de frontière (b) Exemple de nœuds intérieurs

FIGURE 6. Exemple de la localisation de chacun des types des nœuds dans un réseausocial. La couleur représente un groupe de la partition

5.1. Présentation et description de l’algorithme

L’objectif de l’algorithme est de placer les nœuds de façon telle que leur proximitéindique la similarité existant entre eux. L’algorithme de tracé proposé est divisé endeux étapes : d’abord, placer les nœuds de frontière, puis, dans un deuxième temps,placer les nœuds intérieurs. Ainsi l’analyste pourra axer son exploration du graphe surles nœuds intervenant dans les relations inter-communautés.

5.1.1. Multi-dimensional scaling

Le multi-dimensional scaling (MDS), est une technique pour représenter visuel-lement des objets en fonction de leur similarité ou de leur dissemblance. La distancedans un sous espace ρ-dimensionnel, généralement euclidien, respecte la similarité del’espace d’origine. Cet algorithme permet alors de placer les nœuds selon leur simila-rité.

On souhaite représenter le graphe de clusters dans un espace bidimensionnel desorte à voir les interactions entre les différents groupes. Il existe plusieurs implémen-tations de l’algorithme MDS qui peuvent être classifiées en trois types (Ingram et al.,2009) : des méthodes classiques cherchant une solution analytique en minimisant unefonction d’effort, ces méthodes ont une complexité en O

(n3), des méthodes basées

sur la distance et l’optimisation non linéaire comme par exemple la méthode de des-cente de gradient, avec une complexité en O

(L · n2

)où L est la dimension cible, et

enfin, des méthodes basées sur la simulation de systèmes masses-ressorts qui ont unecomplexité en O

(n3)

: un processus de complexité O(n2)

exécuté n fois.

Dans ce travail, nous utilisons l’algorithme SMACOF (Scaling by MAjorizing aCOmplicated Function), qui est du deuxième type, et qui converge de façon mono-tone en un point stable par réduction d’une fonction de stress (Ingram et al., 2009).La complexité de l’algorithme est en O

(L · n2

), où n est le nombre d’éléments de

l’ensemble.

Page 19: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 19

Pour mesurer l’approximation des distances par rapport aux dissemblances, nousutilisons une fonction de stress. Ainsi, étant donnée une matrice X de points dans unespace ρ-dimensionnel, la fonction de stress σ (X) est définie comme suit

σ (X) =∑i<j

(dij − δij)2 (5)

où dij est la distance entre les objets i et j et δij est leur dissemblance.

– Mesures de dissemblance Dans le cas étudié ici, nous cherchons à représenterles nœuds d’un graphe. Pour utiliser le MDS, nous devons définir la dissem-blance δij entre les nœuds. Une mesure très utilisée (Wasserman, Faust, 1994)est la distance géodésique entre les nœuds : d (u, v) = minpA

[p]uv , où A est

la matrice d’adjacence et A[p] est la matrice puissance p. Cela représente lenombre de plus court chemins de longitude p entre les nœuds u et v. Un autretype de mesure englobe les métriques basées sur la disparité des voisinages dedeux nœuds donnés. Deux mesures de ce type sont la distance de Jaccard et ladistance cosinus (Fortunato, 2010). Soit N (u) l’ensemble des voisins du nœudu. Alors, étant donnés deux nœuds u, v ∈ V , la distance de Jaccard dJ estdonnée par :

δJ (u, v) = 1− |N (u) ∩N (v) ||N (u) ∪N (v) |

. (6)

Des voisinages similaires indiquent que les nœuds sont aussi similaires.– Initialisation des points Puisque le MDS utilise un algorithme de descente de

gradient, les valeurs initiales des points peuvent changer le résultat final. Celaveut dire que le résultat est un minimum local dépendant du point de départ.Nous définissons une matrice X[0] avec les coordonnées initiales des nœuds.Ces coordonnées peuvent être définies de façon aléatoire, mais le dessin obtenusera alors différent d’une exécution à l’autre. Or nous voulons un dessin iden-tique, pour le même ensemble de données, à chaque exécution, de manière àpréserver une stabilité visuelle pour l’utilisateur. Nous utilisons pour ce faireune procédure qui place chaque point sur une circonférence de rayon r = 1 etde centre c = (0, 0). Ensuite, la position du nœud i est

X[0]x (i) = cos θi

X[0]y (i) = sin θi

(7)

où θi = (i− 1) 2πk , i = 1, 2, . . . , k. Cette initialisation suit la recommandation

de (Borg, Groenen, 1997) et permet d’avoir toujours la même position initialepour les nœuds.

5.1.2. Dessin des nœuds de frontière V +

Les nœuds de frontière sont placés dans un cercle de rayon 0, 5. Ce cercle estcentré sur l’origine absolue c = (0, 0), qui est utilisée par l’algorithme SMACOFcomme centre de référence. L’algorithme 2 montre l’implémentation pour dessiner les

Page 20: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

20 TSI. Volume 31 – no 1/2013

nœuds de frontière. L’ensemble V + est pris en entier et contient les nœuds de tous lesgroupes. L’idée est de montrer les relations entre les communautés grâce à la positionde chaque nœud frontière. Comme la dissemblance entre nœuds est calculée selon leurvoisinage, les positions proches permettent de voir leur proximité structurelle dans legrapheG. Ainsi des nœuds qui sont à l’interface entre les mêmes communautés aurontdes rôles similaires de médiation par exemple.

Données : V +

Résultat : XV +

∆V + ← dJ (∀u, v ∈ V +) ; /* Eq. 6 */XV + ←SMACOF(∆V + );XV + ← réduire_et_centrer (XV + , c (0, 0));retourner XV +

Algorithme 2: Algorithme de localisation des nœuds de frontière

L’algorithme retourne XV + , l’ensemble des coordonnées pour chaque nœud defrontière. Une fois que les positions sont déterminées, elles sont modifiées de façon àce que la distance de chaque point à l’origine soit inférieure à 0, 5. Cette normalisationpermet de bien séparer les zones destinées à chaque type de nœud.

5.1.3. Dessin des nœuds intérieurs V −i

Nous voulons positionner les nœuds intérieurs de chaque communauté devant desnœuds de frontière déjà placés dans le cercle de rayon r = 0, 5 . Pour ce faire nouscalculons le centre de masse de chacun des sous-ensembles de nœuds de frontière dechacune des communautés, donné par

(xi, yi) =∑

u∈Ci∩V +

ux, uy|Ci ∩ V +| (8)

où ux, uy sont les coordonnées x et y du nœud u et i = 1, 2, . . . , k est la communauténuméro i.

Donc, l’ensemble de nœuds intérieurs à la communauté i, V −i , est placé sur levecteur formé par l’origine et (xi, yi) dont la pente mi = yi/xi. Or, nous définissonsle centre Pi des nœuds intérieures à la communauté i comme

Pxi = ±

√1

m2i + 1

× r

Pyi = Pxi ×mi

(9)

où r = 0, 75 est le rayon du cercle au milieu de l’anneau défini par l’espace des nœudsde frontière et la limite de la surface de dessin, soit le cercle x2 + y2 = 1.

De cette manière les nœuds intérieurs de chaque communauté sont placés selonleur ressemblance de voisinage et face aux nœuds de frontière de leur communauté.

Page 21: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 21

Données : V−,PRésultat : XV−

pour V −i ∈ V− faire∆V −

i← dJ

(∀u, v ∈ V −i

); /* Eq. 6 */

XV −i←SMACOF(∆V −

i);

XV −i← réduire_et_centrer

(XV −

i,Pi)

;

finretourner XV −

Algorithme 3: Algorithme de localisation des nœuds intérieurs

Nœuds de frontière

Nœuds intérieurs

10.5

Zone d'interaction

-1

(a) Localisation des éléments du modèle de des-sin

(b) Localisation des nœuds intérieurs selon la po-sition des nœuds de frontière

FIGURE 7. Localisation des éléments et exemple du modèle de visualisation

La figure 7(a) présente la disposition visuelle des différents éléments du modèle etla figure 7(b) montre un exemple de la localisation finale des nœuds avec l’algorithmedécrit.

5.2. Rôles dans les réseaux de communautés

Un aspect important de l’analyse des réseaux sociaux est la mesure de l’importancede certains acteurs du réseau. Cette importance peut être la capacité de certains nœudspour déconnecter deux ou plusieurs groupes dans le réseau, ou pour concentrer leflux de messages entre différentes équipes de travail dans une entreprise. Cet aspecta été étudié dans des espaces académiques autant qu’industriels comme présenté par(Aldrich, Herker, 1977), par (Guimera, Amaral, 2005) et par (Cross, Parker, 2004).Le tableau 2 présente un résumé comparatif des rôles trouvés dans les réseaux decommunautés.

Page 22: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

22 TSI. Volume 31 – no 1/2013

Tableau 2. Résumé comparatif des définitions des rôles dans les communautés

Aldrich etHerker

Cross etParker

Guimerà et Amaral Type

N/D

Personnespériphériques

Nœuds ultra périphériques INœuds périphériques F

N/D Nœuds connecteurs non centraux FN/D Nœuds sans proches non centraux F

Nœudsd’ouverture types

I et II

Nœuds centraux Nœuds centraux provinciaux I, FNœuds

d’ouvertureNœuds connecteurs centraux F

Nœuds d’inter-médiation

Nœuds sans proches centraux F

La dernière colonne spécifie le type de nœud qui peut être trouvé dans le rôle(I pour des nœuds intérieurs, F pour des nœuds de frontière) et en conséquence lalocalisation des rôles dans le modèle visuel. Dans la suite de ce travail nous utilisonsles définitions des rôles de Guimerà et Amaral parce que ces définitions sont plusétendues pour décrire l’ensemble des nœuds.

5.3. Expériences et résultats du modèle de visualisation

L’objectif des expériences est de tester l’algorithme en terme de passage à l’échelleet de sa capacité à séparer des nœuds impliqués dans les interactions de ceux qui n’yparticipent pas, et d’identifier les rôles de chacun.

Pour tester l’algorithme de layout nous utilisons le même réseau qu’auparavantpour tester l’efficacité de l’algorithme de détection de communautés. Ce réseau a donc10000 nœuds, 65734 arêtes et 843 communautés qui ont été obtenues en utilisant lepoint de vue PoVNULL.

La figure 8 montre le layout résultant de l’algorithme Fruchterman & Reingoldpour le réseau DBLP. Ce layout très classique est en même temps intuitif et nous sertde référence, bien qu’il n’ait pas été conçu spécifiquement dans l’optique discutéeici qui nous est propre (à notre connaissance). Pour ce réseau les nœuds sont placésvers le centre du dessin. En conséquence l’identification des nœuds impliqués dans lesinteractions est difficile.

La figure 9 montre le même réseau dessiné avec notre algorithme. Ce dessin pré-sente les nœuds impliqués dans les interactions entre communautés et aussi, permetl’identification de certains rôles dans le réseau, par exemple, le grand nœud au centre :ce nœud concentre un nombre important de connexions dans sa communauté et enmême temps est fortement connecté avec d’autres communautés dans le réseau.

Avec notre algorithme de visualisation il est possible ainsi d’identifier des nœudsimportants à plusieurs niveaux : d’abord, lorsque les nœuds sont divisés en deux sous-

Page 23: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 23

FIGURE 8. Layout du réseau DBLP avec l’algorithme Fruchterman & Reingold

ensembles (le disque au centre et les disques en périphérie), on peut identifier la lo-calisation des nœuds importants dans la connexions inter-communautés (nœuds defrontière au centre) ; ensuite, il est facile de chercher les nœuds importants dans leurpropre communauté, ceux-qui peuvent être vues comme des gurus pour le cas du ré-seau DBLP. Enfin, étant donné que les coordonnées de chaque nœud sont calculéesà partir de leur similarité, il est possible de se focaliser sur des zones du dessin quicorrespondent aussi à des zones thématiques.

5.4. Complexité du modèle de visualisation de communautés

Le modèle de visualisation est divisé en deux étapes : dans la première, les nœudsde frontière sont placés, puis, pendant la deuxième ce sont les nœuds intérieurs dechaque communauté.

L’algorithme SMACOF utilise une approche de descente de gradient pour trouverl’ensemble des coordonnées dont les distances ressemblent aux similarités d’un en-semble de points dans une autre dimension. À cause des multiplications matricielles,cet algorithme a une complexité générale de T (n) = O

(L · n2

)où L est la taille

de la dimension cible, dans notre cas L = 2. Toutefois, grâce à la division de l’en-semble de nœuds en catégories, le calcul de la complexité change. La complexité pourl’ensemble des nœuds de frontière est :

Page 24: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

24 TSI. Volume 31 – no 1/2013

FIGURE 9. Layout du réseau DBLP avec notre algorithme

TB (n) = O(2|V +|2

)(10)

et la complexité pour les ensembles des nœuds intérieurs est :

TI (n) = O

(k∑i=1

2|V −i |2

)(11)

La taille espérée de chaque ensemble de nœuds intérieurs est (n− |V +|) /k, doncil est possible de réécrire l’équation 11 sous la forme

TI (n) = O

((n− 2|V +|)2

k2

)(12)

où k est le nombre de communautés dans le graphe. Ainsi, la complexité générale est

T (n) = O

((n− 2|V +|)2

k2+ 2|V +|2

). (13)

Page 25: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 25

Notons qu’en général T (n) < T (n), en conséquence le pire cas se produit quandtous les nœuds appartiennent à l’ensemble des nœuds de frontière, où la complexitédevient en O

(2 · n2

).

0

50

100

150

200

250

300

350

400

450

500

0 20 40 60 80 100

Temps

d’exécution(s)

Pourcentage de nœuds de frontière

Temps d’exécution vs. % de nœuds de frontière

FIGURE 10. Temps d’exécution pour ensembles de nœuds de frontière de différentetaille

Dans les réseaux sociaux ce cas particulier n’est pas très probable d’après la struc-ture de ce type de réseaux. Selon (Newman, Girvan, 2004) ces graphes ont des struc-tures de groupes avec un nombre plus élevé de liens dans les communautés qu’endehors. La figure 10 présente le temps d’exécution de l’algorithme en fonction dunombre de nœuds de frontière : le temps explose quand la majorité du calcul concerneces nœuds.

6. Conclusion et perspectives

Les contributions de ce travail concernent deux axes principaux : d’abord un mo-dèle de détection de communautés qui permet d’intégrer les variables structurelle et decomposition pour trouver des communautés de nœuds proches et fortement connectés.Ensuite, nous avons présenté un algorithme pour dessiner les nœuds dans un réseaude communautés. Cet algorithme est centré sur l’identification des interactions entrecommunautés et également l’identification des nœuds exerçant un rôle important dansces interactions.

L’algorithme de détection de communautés proposé intègre les variables struc-turelle et de composition dans une variable d’affiliation qui décrit une partition desnœuds du réseau. Cette partition contient des groupes de nœuds similaires et connec-tés : les groupes sont formés en trouvant un compromis entre deux mesures de qualité,une pour la variable structurelle et une autre pour la variable de composition.

Page 26: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

26 TSI. Volume 31 – no 1/2013

La variable de composition peut être composée de plusieurs caractéristiques ce quirend parfois son analyse difficile à faire. Pour réduire cet impact nous avons introduitune notion de point de vue. Cette nouvelle notion permet de se focaliser sur des sous-ensembles de la variable de composition pour créer différentes perspectives depuislesquelles le réseau peut être analysé.

Une fois le point de vue choisi, manuellement par un analyste, les nœuds sont grou-pés selon leur similarité. Cette partition est composée par des groupes de nœuds avecune information de composition similaire. Enfin à partir de cette partition, la structuredu réseau est adaptée de façon telle que les poids des arêtes reflètent la similarité desnœuds selon le point de vue sélectionné. Ce nouveau réseau est utilisé par l’algorithmede détection de communautés qui intègre alors les deux types d’information dans unevariable d’affiliation adaptée aux réseaux sociaux augmentés.

Notre algorithme de dessin divise l’ensemble des nœuds dans un réseau de com-munautés en deux groupes : les nœuds qui ont des liens dans leur propre communautéet vers d’autres communautés et les nœuds avec des connexions seulement dans leurpropre communauté. Les nœuds du premier type sont appellés nœuds de frontière : ilsconnectent leurs communautés vers/depuis l’extérieur ; les autres nœuds sont appelésnœuds intérieurs.

Cette division permet, d’abord d’identifier les nœuds impliqués dans les interac-tions entre communautés et de les placer d’une façon plus représentative en facilitantl’identification des rôles et des interactions. De plus, la division permet de réduire lacomplexité de l’algorithme utilisé ; on ne place qu’un sous-ensembles de points au lieude tous les nœuds de l’ensemble ce qui réduit la complexité en occupation mémoire eten charge du processeur.

Notre algorithme est générique sur le réseau de communautés à dessiner. Il exploiteaussi toute variable d’affiliation et en particulière la nôtre.

Dans les travaux à venir nous envisageons de mesurer la distance entre les deuxpartitions structurelle et compositionnelle, et de trouver une nouvelle configurationdes partitions de telle façon que la distance entre elles soit minimale. La comparaisonentre des partitions obtenues à partir de différents algorithmes est également propo-sée par citeJia2011, (Gambette, Guénoche, 2011) et (Lancichinetti, Fortunato, 2012)entre autres. Les auteurs par contre ne se basent que sur la variable structurelle, encherchant le consensus de différents algorithmes de clustering. Pour notre part, nousallons utiliser la partition structurelle et la partition de composition, qui sont, commeil a été expliqué auparavant, de nature différente, de telle façon qu’on obtienne unecombinaison des variables et une notion de distance entre elles.

D’un autre côté, le modèle visuel est utilisable avec n’importe quel réseau de com-munautés. Or, comme l’utilisation des différents points de vue produit des partitionsdifférentes, nous voudrions visualiser l’impact d’un point de vue sur un layout existantdu même réseau. La visualisation de cet impact permettrait d’expliciter la variable decomposition incluse lors de la création de la partition avec notre algorithme de détec-tion de communautés.

Page 27: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 27

Par ailleurs, il serait intéressant de s’intéresser à la découverte de points de vuediscrimants de manière automatique, et ainsi proposer à l’analyste, des points de vuede base très différents, tout en offrant la possibilité de les modifier.

Nous visons donc ici un modèle visuel permettant d’explorer de façon approfondieun réseau social réel avec attributs, selon différents points de vue, de manière interac-tive, tout en exploitant les informations riches augmentant le graphe relationnel.

Bibliographie

Aldrich H., Herker D. (1977). Boundary spanning roles and organization structure. TheAcademy of Management Review, vol. 2, no 2, p. pp. 217-230. http://www.jstor.org/stable/257905

Blondel V. D., Guillaume J.-L., Lambiotte R., Lefebvre E. (2008). Fast unfolding of communi-ties in large networks. Journal of Statistical Mechanics: Theory and Experiment, vol. 2008,no 10, p. P10008 (12pp). http://stacks.iop.org/1742-5468/2008/P10008

Borg I., Groenen P. (1997). Modern multidimensional scaling : theory and applications (Sprin-ger, Ed.). New York, N.Y., Springer.

Bourqui R., Auber D., Mary P. (2007, July). How to draw clustered-weighted graphs using amultilevel force-directed graph drawing algorithm. In Information visualization, 2007. iv’07. 11th international conference, p. 757 -764.

Brandes U., Gaetler M., Wagner D. (2008). Engineering graph clustering: Models and experi-mental evaluation. Journal of Experimental Algorithmics, vol. 12, p. 1–26.

Brockenauer R., Cornelsen S. (2001). Drawing clusters and hierarchies. In M. Kaufmann,D. Wagner (Eds.), Drawing graphs, vol. 2025, p. 193-227. Springer Berlin / Heidelberg.http://dx.doi.org/10.1007/3-540-44969-8-8

Combe D., Largeron C., Egyed-Zsigmond E., Géry M. (2012, août). Getting clusters fromstructure data and attribute data. In 2012 IEEE/ACM International Conference on Advancesin Social Networks Analysis and Mining, p. 731-733. Istanbul, Turkey. http://hal.archives-ouvertes.fr/hal-00730224

Cross R., Parker A. (2004). The hidden power of social networks: Understanding how workreally gets done in organizations (H. B. S. Press, Ed.). Harvard Business School Press.

Cruz J., Bothorel C. (2013). Information integration for detecting communities in attributedgraphs. In Computational aspects of social networks (cason 2013), 2013 internationalconference on computational aspects of social networks. Fargo, North Dakota, USA.

Cruz J., Bothorel C., Poulet F. (2013). Integrating heterogeneous information within a so-cial network for detecting communities. In 2013 IEEE/ACM International Conference onAdvances in Social Networks Analysis and Mining. Niagara Falls, Canada.

Cruz J. D., Bothorel C., Poulet F. (2011). Point of view based clustering of socio-semanticnetwork. In A. Khenchaf, P. Poncelet (Eds.), Egc, vol. RNTI-E-20, p. 309-310. Hermann-Éditions.

Dang T. A., Viennet E. (2012, janvier). Community detection based on structural and attributesimilarities. In International conference on digital society (icds), p. 7–14. (ISBN: 978-1-61208-176-2)

Page 28: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

28 TSI. Volume 31 – no 1/2013

Eades P., Feng Q.-W. (1997). Multilevel visualization of clustered graphs. In S. North (Ed.),Graph drawing, vol. 1190, p. 101-112. Springer Berlin / Heidelberg. http://dx.doi.org/10.1007/3-540-62495-3-41

Fortunato S. (2010). Community detection in graphs. Physics Reports, vol. 486,no 3-5, p. 75 - 174. http://www.sciencedirect.com/science/article/B6TVP-4XPYXF1-1/2/99061fac6435db4343b2374d26e64ac1

Gaetler M. (2005). Network analysis: Methodological foundations. In U. Brandes, T. Erlebach(Eds.),, p. 178 – 215. Springer Berlin / Heidelberg.

Gambette P., Guénoche A. (2011, 10). Bootstrap clustering for graph partitioning.RAIRO - Operations Research, vol. 45, p. 339–352. http://www.rairo-ro.org/article_S0399055912000017

Ge R., Ester M., Gao B. J., Hu Z., Bhattacharya B., Ben-Moshe B. (2008, juillet). Jointcluster analysis of attribute data and relationship data: The connected k-center problem,algorithms and applications. ACM Trans. Knowl. Discov. Data, vol. 2, no 2, p. 7:1–7:35.http://doi.acm.org/10.1145/1376815.1376816

Giacomo E. di, Didimo W., Grilli L., Liotta G. (2007, March – April). Graph visualizationtechniques for web clustering engines. Visualization and Computer Graphics, IEEE Tran-sactions on, vol. 13, no 2, p. 294 -304.

Guimera R., Amaral L. A. N. (2005, 1er FEB). Cartography of complex networks: modules anduniversal roles. J. Stat. Mech.-Theory Exp., p. art. no. P02001.

Hubert L., Arabie P. (1985). Comparing partitions. Journal of Classification, vol. 2, p. 193-218.http://dx.doi.org/10.1007/BF01908075 (10.1007/BF01908075)

Ingram S., Munzner T., Olano M. (2009). Glimmer: Multilevel mds on the gpu. IEEE Transac-tions on Visualization and Computer Graphics, vol. 15, p. 249-261.

Kohonen T. (1997). Self-organizing maps (Springer, Ed.). Springer.

Lancichinetti A., Fortunato S. (2012). Consensus clustering in complex networks. Sci. Rep.,vol. 2, p. online.

Li H., Nie Z., Lee W.-C., Giles L., Wen J.-R. (2008). Scalable community discovery ontextual data with relations. In Proceedings of the 17th acm conference on information andknowledge management, p. 1203–1212. New York, NY, USA, ACM. http://doi.acm.org/10.1145/1458082.1458241

Neville J., Adler M., Jensen D. D. (2003). Clustering relational data using attribute and linkinformation. In Proceedings of the workshop on text mining and link analysis, eighteenthinternational joint conference on artificial intelligence. Acapulco, Mexico.

Newman M. E. J., Girvan M. (2004, Feb). Finding and evaluating community structure innetworks. Physical Review. E, Statistical Nonliner and Soft Matter Physics, vol. 69, no 2,p. 026113.

Noack A. (2003). An energy model for visual graph clustering. In Proceedings of the 11thinternational symposium on graph drawing (gd 2003), lncs 2912, p. 425–436. Springer-Verlag.

Santamaría R., Therón R. (2008). Overlapping clustered graphs: Co-authorship networksvisualization. In A. Butz, B. Fisher, A. Krüger, P. Olivier, M. Christie (Eds.), Smart

Page 29: Analyse intégrée des réseaux sociaux pour la détection et la … · 2017-11-29 · Détection et visualisation de communautés 5 3.1. Détection de communautés Dans la littérature

Détection et visualisation de communautés 29

graphics, vol. 5166, p. 190-199. Springer Berlin / Heidelberg. http://dx.doi.org/10.1007/978-3-540-85412-8-17

Steinhaeuser K., Chawla N. (2008). Community detection in a large real-world social net-work. In H. Liu, J. Salerno, M. Young (Eds.), Social computing, behavioral modeling, andprediction, p. 168-175. Springer US. http://dx.doi.org/10.1007/978-0-387-77672-9_19

Tamassia R. (1987, June). On embedding a graph in the grid with the minimum number ofbends. SIAM J. Comput., vol. 16, p. 421–444. http://dx.doi.org/10.1137/0216030

Villa-Vialaneix N., Olteanu M., Cierco-Ayrolles C. (2013, janvier). Carte auto-organisatricepour graphes étiquetés. In Atelier Fouilles de Grands Graphes (FGG) - EGC’2013, p. Ar-ticle numéro 4. Toulouse, France. http://hal.archives-ouvertes.fr/hal-00783860

Wasserman S., Faust K. (1994). Social network analysis: Methods and applications no 8.Cambridge University Press.

Zhou Y., Cheng H., Yu J. X. (2009, August). Graph clustering based on structural/attributesimilarities. Proc. VLDB Endow., vol. 2, p. 718–729. http://portal.acm.org/citation.cfm?id=1687627.1687709

Zhou Y., Cheng H., Yu J. X. (2010). Clustering large attributed graphs: An efficient incrementalapproach. In Cdm ’10 proceedings of the 2010 ieee international conference on data mining,p. 689-698.