Analyse des réseaux sociaux
Emmanuel Viennet
Laboratoire de Traitement et Transport de l’Information L2TI
Université Paris 13
Réseaux sociaux, analyse et data mining École Normale Supérieure
Journée organisée par le groupe «Data mining et apprentissage»
Société Française de Statistique
16/02/2010
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 2 / 69
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Croissance du Web...
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 4 / 69
Croissance des médias “sociaux”
Du web des contenus au web des utilisateurs ?
Début 2010:
Facebook: 400 millions d’utilisateurs
Twitter: 20 à 60 millions Orkut: 25 millions au Brésil
SkyBlog, MySpace, LinkedIn, ...
Les entreprises collectent de plus en plus de données sur les relations entre leurs clients
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 6 / 69
Mais quels modèles économiques ?
Sites payants: peu d’audience
Sites institutionnels (services publics) Mécénat, donations (Wikipédia) Site gratuits, publicité
Publicité personnalisée Marketing viral
Marketing “temps réel”
...
Et pour fidéliser les visiteurs d’un site “social”:
“animation de communauté”, suivi d’un site à l’autre, ...
⇒ besoin d’analyse (fouille) de données
Mais quels modèles économiques ?
Sites payants: peu d’audience
Sites institutionnels (services publics) Mécénat, donations (Wikipédia) Site gratuits, publicité
Publicité personnalisée Marketing viral
Marketing “temps réel”
...
Et pour fidéliser les visiteurs d’un site “social”:
“animation de communauté”, suivi d’un site à l’autre, ...
⇒ besoin d’analyse (fouille) de données de type “graphe”
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 7 / 69
Contexte: fouille de données structurées
Des tables aux données structurées...
Modèles: discrimination, régression, classification...
Réseaux (sociaux ou non)
Pages Web Routeurs Internet Facebook
Communications Citations Biologie
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 9 / 69
Réseaux sociaux à l’ère Internet...
Appels téléphoniques Courrier électronique Réseaux de co-auteurs Réseaux “d’amitié”
Réseaux organisationnels Réseaux d’affiliation
Exemple: le réseau Twitter
Chaque utilisateur:
émet de courts messages (140 caractères)
“suit” (reçoit) les messages de quelques utilisateurs
“suivi” (lu) par d’autres.
◦Tous les messages sontpublics
◦Environ 25 millions d’utilisateurs (?)
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 11 / 69
Analyse du réseau Twitter
Marketing & recommandation: la longue traine
Chris Anderson, The Long Tail, Wired, Issue 12.10 - October 2004
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 13 / 69
Marketing, recommandation et réseaux sociaux
Besoin de recommandations personnalisées !
>50%font des recherches en ligne avant d’acheter
Les recommandations personnalisées sont basées sur les achats et notations passées, par ex. le système d’Amazon “les clients qui ont acheté ceci achètent aussi cela”
I MovieLens, “based on ratings of users like you...”
I Epinions, “based on the opinions of the raters you trust...”
Nous sommes plus facilement influencés par nos amis que par des inconnus !
68% des clients consultent leurs amis ou famille avant d’acheter des produits électroniques (Burke 2003)
Applications de l’analyse des réseaux sociaux
Étude de la structure des réseaux: communautés, diffusion, ...
(animation, vente ciblée)
Web: recherche, extraction d’information
Marketing: identifier des groupes de clients ou produits pour faire desrecommandations(publicité ciblée, marketing viral)
Personalisation (interfaces, services) Epidémiologie
Détection de fraude
Sécurité (contre-terrorisme) ...
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 15 / 69
Problèmes intéressants pour la fouille de données
Un domaine scientifiquement passionnant et pluri-disciplinaire:
Data mining et Apprentissage pour:
la caractérisation des réseaux sociaux
la modèlisation de la diffusion d’information (par ex. pour le marketing viral)
la modèlisation de l’évolution (par ex. créations de nouveaux liens) la classification de nœuds
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Ordres de grandeurs
Quelques jeux de données utilisés en recherche:
Nombre de nœuds
e-mails labo sur 2 mois ≈1000
e-mails sur 2 ans ≈50000
“amitiés” entre bloggueurs 4,4 millions
Téléphone 10-100 millions
Communications IM 240 millions
Parcimonie (sparseness): nombre de liensproportionnelau nombre de nœuds.
Graphes
Théorie des graphes depuis Euler...
Très nombreux résultats:
chemins, flots, cliques, décompositions spectrales...
⇓
⇓
⇓
0 B B
@
1 2 0 2
2 1 1 0
1 1 1 1
2 0 1 1
1 C C A
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 19 / 69
Réseaux sociaux et graphes: quelles différences ?
Un réseau social est ungraphe, mais:
nœuds porteurs d’attributs
liens valués pouvant porter des données (messages) similarité entre deux nœuds=f(attributs,liens)
caractéristique du réseau6=graphe aléatoire (propriétés structurelles spéciales)
Exemple de propriété structurelle: l’effet petit monde
Longueur moyenne du plus court chemin reliant deux nœuds petite.
“six degrés de séparation”
Caractéristique liée à la distribution des degrés: graphe “sans-échelle”
(Barabasi, 2000), suivant une loi de Pareto:
P(degré d’un nœud =k) ∝ k−γ
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 21 / 69
Exemple: simulation du réseau Internet
Etude des réseaux sociaux: terminologie
Contagion: flux dans le graphe (microbes, information, modes...) Connection: arêtes du graphe social Homophilie:qui se ressemble s’assemble
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 23 / 69
Transitivité dans les réseaux sociaux
Une relation sociale est transitive si tous les acteurs sont liés: triangles
Coefficient de clustering
Lié au nombre de voisins d’un nœud qui sont eux mêmes reliés
(Watts et Strogatz, 1998)
A, C: grande transitivité, ancrés dans leurs groupes
B, D: faible transitivité, ”ponts”
Intermédiarité
Définition
Nombre de plus courts chemins passant par une arête (Newman 2004)
Utilisation:
nœuds importants pour la communication découpage encommunautés
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 25 / 69
Communautés
(P. Pons, 2007)
Recherche de communautés = partitionnement du graphe enN Identification = recherche d’une communauté autour d’un nœud donné
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 27 / 69
Hiérarchie de communautés et modularité
D’après Newman & Girvan, 2004
Intérêt de la recherche de communautés
Organisation structurelle (micro ou macro)
Évolution temporelle (voir exposé de JL Guillaume) Visualisation
Permettre une analyse locale des interactions Animation des réseaux sociaux...
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 29 / 69
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Clustering à base de modèle pour les réseaux sociaux
Ce type d’approche vise à modéliser simulanément les distributions de probabilité des attributs de nœuds et de leurs positions dans “l’espace social”: on introduit des variableslatentes.
Représentation du réseau social
La matriceYij décrit les liens entre les nœuds.
Z =zi ∈Rd donne les positions des nœuds dans l’espace (latent)Rd
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 31 / 69
Modélisation (suite): le modèle
Exemple: approche de Handcock & Raftery, 2006 nnœuds,Y =yij matrice d’adjacence (“sociomatrix”).
Les liens sont considérés comme indépendants:
P(Y|Z,X, β) =Y
i6=j
P(yij|zi,zj,xij, β)
où:
X : attributs des nœuds (ou de la paire(i,j)) β : paramètres du modèle
Modélisation par régression logistique:
logit(yij =1|zi,zj,xij, β) =β0Txij −β1|zi−zj| avec 1nP
i|zi|2=1
Modélisation (suite): estimation
Clustering par modélisation des coordonnéeszi en mixture de gaussiennes:
zi ∝
G
X
g=1
λgexp(−|zi−µg|2
2σg2 ) withλg>0 and X
λg=1 Gnombre de clusters, fixé à priori
Estimation des paramètres : maximum de vraisemblance (chaîne de Markov ou Monte Carlo)
estimation coûteuse en calculs
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 33 / 69
Modélisation (suite):: application 1
Le choix du nombre de clustersGse pose comme un problème de sélection de modèle (utiliser par exemple un critère BIC) lent ! Relations entre moines
Étude sociologique: “amitié” entre moines 18 nœuds (moines)
3 groupes de moines, qui
correspondent à ceux identifiés par les sociologues
Modélisation (suite): application 2
Liens entre adolescents dans un collège
Relations entre 71 adolescents (ici 6 clusters)
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 35 / 69
Modélisation (suite): conclusions
Méthodes complexes (calculs lourds) mais précises Prise en compte simultanée des liens et des nœuds Applicable uniquement aux très petits réseaux !
=⇒on utilise souvent les méthodes “structurelles” d’extraction de communautés, qui ne prennent en compte que les liens (le graphe)
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Principal critère de qualité: la modularité
La modularité mesure la qualité d’un découpage du graphe enc communautés
Q=X
i
(dii −(X
j
dij)2)
Dmatricec×c, dont les élémentsdij donnent la proportion de liens reliant des nœuds de la communautéià la communautéj
Q∈[−1,1]mesure la densité des liens intra-communautaires vs inter-communautaires
Recherche de communautés structurelles
De nombreux progrès récents
Méthodes basées sur l’intermédiarité
Première proposition: Newman & Girvan (2004) Répéter:
1 calculer l’intermédiarité des arêtes
2 couper l’arête la plus importante
jusqu’à isoler tous les nœuds (méthode séparative) Pour un grand réseau parcimonieux dennœuds:
Newman & Girvan 2004 O(n3)
Newman 2004 O(n2)
Wakita & Tsurumi 2007 O(nlog2n) Blondel et al. (Louvain) 2008 O(nlogn)
moins de 5 minutes pour 1 million de nœuds, ou 40 minutes pour 23 millions
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 39 / 69
Exemple 1: réseau de collaboration entre scientifiques
Exemple 2: site web collaboratif
Liens entre utilisateurs du site MyMondomix (projet ANR CADI)
ModularitéQ=0,62
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 41 / 69
Exemple 3: XTelco
Données d’un opérateur téléphonique
Numéro appelant Numéro appelé Durée d’appel
0102030405 0800101213 3’03
... ... ...
126 millions d’appels, 25 millions de clients.
Niveau Nœuds Modularité
0 22 millions 0,53
1 2,5 millions 0,75
2 250 000 0,78
3 100 000 0,79
Identification of communautés
Chercher un voisinage (micro-communauté) à partir d’un nœud donné
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 43 / 69
Principes de l’approche “physique” (Wu & Huberman)
On considère le graphe comme un circuit électrique Loi de Kirchhoff sur le nœudC:
n
X
i=1
Ii =
n
X
i=1
VDi −VC
R =0
Si graphe avec arcs valués parwij, on définiRij =wij−1 On fixe la tension en deux nœuds: V1=1,V2=0 et on a:
Vi = 1 ki
n
X
j=3
Vjaij + 1
kiai1 pouri=3, . . . ,n ki : degré du nœudi,aij matrice d’adjacence.
Ce système d’équations linéaires se résoud enO(n3)(lent).
Résolution approchée rapide
Méthode itérative:
1 fixerV1=1,V2=· · ·=Vn=0 (en tempsO(V))
2 mettre à jour la tension de chaque nœud (enO(E))
3 répèter l’étape 2
La précision après l’étape 2 ne dépend que du nombre d’itérations, pas de la taille du graphe.
Quelques dizaines d’itérations suffisent pour converger.
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 45 / 69
Recherche de communautés: problèmes ouverts
Prendre en compte (efficacement) les attributs des nœuds et la structure du graphe.
La modularité est-elle le bon critère ? (eg Fortunato 2006) Contrôler la distribution des tailles des communautés Communautés avec recouvrement
Suivi dynamique Graphes bipartites
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Catégorisation de nœuds
Applications: marketing (churn, influence), categorization de textes, ...
?
?
Catégorisation de nœuds
Première approche: Relaxation labelingpar ex. (Angelova et al 2006)
Augmentation d’un tiers du score F1 / SVM sur les noeuds seuls.
=> gains importants sur des applications diverses
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 49 / 69
Catégorisation de nœuds: une approche simple
La RL est lente sur de grands graphes
Idée: pour catégoriser les nœuds à partir de leurs attributs et de leur
“position” dans le graphe, exprimer celle ci comme de nouveaux attributs:
caractéristiques locales du graphe (degré, triangles, ...)
attributs décrivant la communauté à laquelle appartient le nœud
Exemple: catégorisation de texte
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 51 / 69
Catégorisation de texte (suite)
Application: triage de bugs (Bugzilla)
Bug tracker du projet Eclipse (Open Source)
Réseau de développeurs
10 000 bug reports, 2100 utilisateurs 50 000 liens: personnes travaillant sur le même bug
objectif: associer le bug à un développeur
Niveau # communautés Modularité
0 2081 0.01
1 229 0.26
2 16 0.36
3 14 0.37
Méthode Performance
TF-IDF→SVM 32%
TF-IDF + Communauté de l’auteur→SVM 38%
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 53 / 69
Plan de l’exposé
1 Introduction: fouille des réseaux sociaux
2 Caractérisation des réseaux sociaux
3 Analyse relations/contenu: un exemple d’approche
4 Analyse structurelle: communautés
5 Catégorisation de nœuds
6 Méthodes à noyaux pour les graphes
Espace de représentation et noyaux
Projection dans un espace de représentation: transformationΦ
X F
O
O O
O O
X X
X X
X
Φ(X)
Φ(X) Φ(X)
Φ(X) Φ(X)
Φ(Ο) Φ(Ο)
Φ(Ο)
Φ(Ο)
Φ
Φ(Ο)
Kernel K(x,y) =< φ(x), φ(y)>
SVM non linéaire: yˆ = X
i∈SV
αiK(xi,x) +b
⇒ “kernel trick” utilisé dans de nombreux modèles, comme l’ACP, l’Analyse Discriminante, la régression PLS, ...
⇒ peut s’appliquer aux cas où l’on ne dispose pas de représentation vectorielle des exemples (chaînes de symboles, arbres,
graphes...)E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 55 / 69
Définir des noyaux
Condition d’admissibilité
symétrique: k(x,y) =k(y,x) semi-définie positive: P P
cicjk(xi,xj)≥0
On peut construire des noyaux à partir d’autres noyaux:
combinaison: k(x,y) =X
wαkα(x,y),∀wα ≥0 composition: k(x,y) =X
D
Y
d=1
kd(xd,yd) (Haussler 1999)
Exemples: noyaux pour séquences, arbres, graphes Exemple simple: noyau sur arbres
t t0
0 0
k(t,t0) =
2
X
1
Xkc(ci,cj)
Définir des noyaux
Condition d’admissibilité
symétrique: k(x,y) =k(y,x) semi-définie positive: P P
cicjk(xi,xj)≥0
On peut construire des noyaux à partir d’autres noyaux:
combinaison: k(x,y) =X
wαkα(x,y),∀wα ≥0 composition: k(x,y) =X
D
Y
d=1
kd(xd,yd) (Haussler 1999)
Exemples: noyaux pour séquences, arbres, graphes Exemple simple: noyau sur arbres
t t0
c0 c1 c2 c00 c10
k(t,t0) =
2
X
i=0 1
X
j=0
kc(ci,cj)
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 56 / 69
Apprentissage à base de noyaux pour la catégorisation de nœuds
Rappel: condition d’admissibilité K semi-définie positive:
∀fx,X
x
X
x0
fxfx0K(x,x0)≥0
Suivant l’approche d’Haussler (1999), on peut écrire:
eβH = lim
n→∞(1+βH
n )n (1)
= I+βH+β2
2!H2+· · · (2) H auto-adjoint⇒ K =eβH semi-définie positive.
Le paramètreβcontrôle la “localité” du noyau obtenu (diffusion sur le graphe).
Noyau de diffusion
Laplacien du graphe: L=D−A, soitL=
−1 sii∼j di sii=j 0 sinon
Le Laplacien se retrouve souvent en analyse spectrale des graphes.
∀w,wTHw = X
(i,j)∈E
(wi−wj)2
Remarque:
∂
∂tΨ =µ∆Ψ : équation de la chaleur
Si K =eβH,on a dβd Kβ =−LKβ : équation de la chaleur sur le graphe (Kondor
& Lafferty 2002).
Kβ(i,j)can be seen as the energy injected ini received inj, with diffusion parameterβ
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 58 / 69
Noyau de diffusion: mise en œuvre
K(0) = I K(β) = lim
s→∞
I+βL
s s
Problème: K est une matrice dense, même siLest sparse.
⇒utilisation impossible sur de très grands graphes
Mais résultats intéressants: exemple jeux de données “WebKB”:
- 8275 pages webs, 7 classes (6=universités)
- de 8 à 15% d’erreur enignorant le texte des pages !
Applications possibles en transductif (suggéré par Gärtner et Smola 2007).
Conclusions
L’analyse des réseaux sociaux pose de nouveaux défis pour la fouille de données: échantillons non iid, structure, grands volumes, évolution...
Les nouvelles applications industrielles (Telco, Web 2.0, ...)
produisent d’énormes volumes de données “en réseau” , avec une forte valeur potentielle
Nombreuses recherches, nouvelles méthodes et algorithmes.
Aujourd’hui
Évolution des communautés: J.-L. Guillaume Outils industriels: F. Soulié-Fogelman
Analyse des données d’un grand site “social”: R. Kirche Apprentissage et inférence: L. Denoyer
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 60 / 69
Références principales (1)
Ouvrages généraux
Albert-Laszlo Barabasi.
Linked.
Perseus Publishing, 2002.
Nicholas A. Christakis and James H. Fowler.
Connected: The Surprising Power of Our Social Networks and How They Shape Our Lives.
Little, Brown and Company, 2009.
Chris Anderson.
The Long Tail.
Random House Business, 2006.
Références principales (2)
Recherche de communautés
M. E. J. Newman.
Modularity and community structure in networks.
PNAS, 103(23):8577–8582, June 2006.
Luciano da F. Costa, Francisco A. Rodrigues, Gonzalo Travieso, and P. R. Villas Boas.
Characterization of complex networks: A survey of measurements.
Advances in Physics, 56(1):167–242, January 2007.
Santo Fortunato.
Community detection in graphs.
Physics Reports, Jun 2010.
V.D. Blondel, J.L. Guillaume, R. Lambiotte, and E.L.J.S. Mech.
Fast unfolding of communities in large networks.
Journal of Statistical Mechanics: Theory and Experiment, P10008:1742–5468, 2008.
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 62 / 69
Références principales (3)
Graphes et apprentissage
Jure Leskovec.
Dynamics of large networks.
PhD thesis, Carnegie Mellon University, September 2008.
Diane J. Cook and Lawrence B. Holder.
Mining Graph Data.
John Wiley & Sons, 2006.
Nello Cristianini and John Shawe-Taylor.
An introduction to support vector machines : and other kernel-based learning methods.
Cambridge University Press, March 2000.
Merci de votre attention !
Ce travail a été partiellement financé par l’ANR (projets CADI 2007 TLOG 003, Ex DEUSS 2009 CORD 010), par la DGCIS (projet CEDRES 09 2 93 0762) et par le pôle Cap Digital
E. Viennet (L2TI) Analyse des réseaux sociaux 16/02/2010 64 / 69