WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Prédiction des liens dans les réseaux sociaux.

( Télécharger le fichier original )
par Oussama Rouane
Amar Telidgi - Laghouat - Master en systèmes dà¢â‚¬â„¢information et de décision 2015
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ÉT POPULAIRE
MINISTÈRE DE L'ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITÉAMAR TELIDGI - LAGHOUAT

Facultédes sciences

Département de mathématiques et d'informatique

MÉMOIRE DE MASTER

DOMAINE : MATHÉMATIQUES ET INFORMATIQUE. FILIÈRE : INFORMATIQUE.

OPTION : SYSTÈMES D'INFORMATION ET DE DÉCISION.

Mémoire de fin d'étude en vue d'obtention de diplôme
Master en systèmes d'information et de décision

RÉALISÉPAR : ROUANE OUSSAMA
THÈME :

ÉTUDE COMPARATIVE ENTRE DEUX ALGORITHMES DE PRÉDICTION DES LIENS DANS LES RÉSEAUX SOCIAUX

Soutenu publiquement devant le jury composéde :

Mr

Y. GUELLOUMA

Universitéde Laghouat

(Président)

Mr

B. ZIANI

Universitéde Laghouat

(Examinateur)

Mr

A. LAKHDARI

Universitéde Laghouat

(Examinateur)

Mr.

Y. OUINTEN

Universitéde Laghouat

(Encadreur)

Mr.

M. BOUAKKAZ

Universitéde Laghouat

(Co-Encadreur)

Année universitaire : 2014/015

Dédicaces

«

JE dédie affectueusement ce modeste travail :

A mes chers parents :

- A mon cher père Rouane Ali, c'est à toi que je dois tout. Ce travail est le fruit de la rigueur de ton éducation.Que Dieu le garde et protège pour moi.

- A ma chère mère Rouane Zohra qui m'a éclairée mon chemin et qui m'a encouragée et soutenue tout au long de mes études. Que Dieu la garde et protège pour moi aussi.

A mon frère et mes soeurs : Abd Eslam, Saida , Nour el houda et Rihem auxquels je souhaite tout le bonheur, le succès et la réussite.

A tous mes amis : en particulier à Gasmi Aissa , Bakha Abesse, Khorsi Ahmed, Benlehbib Abd essatar.

A tous mes enseignants : qui ne m'ont guère privéde leur savoir et de leur bienséance.

Enfin à tous qui portent le nom Rouane et à tous ceux qui connaissent.»

Rouane Oussama

Remerciements

«

JE remercie tout d'abord ALLAH, le tout puissant de m'avoir donnéla force et la patience et de m'avoir rapprocher des personnes qui m'ont soutenu et aidépour accomplir ce travail.

Mes remerciements s'adressent également à tous les personnes qui ont contribuéde près ou de loin avec leurs conseils ou avec leurs encouragements à l'accomplis-sement de ce travail.

Je tiens à exprimer ma sincère reconnaissance et remerciements à Mr. Ouinten Youcef, professeur à l'universitéde Laghouat d'avoir acceptéd'encadrer et de diriger mes travaux. Mes remerciement vont aussi à mon co-encadreur Mr.Bouakkaz Mustapha qui n'a pas cesséde m'aider et de m'encourager pour l'accomplissement de ce mémoire.

Je remercie tous le personnel de l'universitéAmar telidgi de Laghouat ,l'univer-sitéqui m'a accueilli bras ouvert, mes remerciements vont particulièrement aux enseignants et administrateurs du département de mathématique et informatique.

Enfin, j'exprime mes vifs remerciements à toute ma famille et spécialement àmes parents ,que je leurs souhaite une longue vie pleine de bonheur, de santéet de prospérité, c'est à eux que je dois tout . "

Rouane Oussama

Résumé

E mémoire présente une étude comparative entre deux algorithmes de prédictions Cdes liens dans les réseaux sociaux en se basant sur les motifs topologiques d'un réseau social.

Nous commençons ce mémoire par une petite introduction sur les réseaux sociaux, ensuite nous présentons une vision globale sur le domaine de l'analyse des réseaux sociaux. Enfin nous présentons un état de l'art sur les différentes techniques proposées pour résoudre le problème de prédiction des liens.

Nous nous focalisons dans ce travail sur les mesures de similarités topologique. nous avons choisi d'expérimenter les deux mesures : Adamic/Adar et voisins communs.

Nous avons implémenté, comparéet mesuréles performances de chacun de ces deux algorithmes.

Mots-clés : Analyse des réseaux sociaux, prédiction des liens dans les réseaux sociaux, mesure de similaritétopologique, Adamic/Adar, Voisins communs.

Abstract

HIS dissertation presents a comparative study between two algorithms of link Tprediction in social networks based on topological motifs of social network.

We begin this dissertation by a small introduction about social networks, then we present a global vision about social network analysis domain's. We present a state of art for different technics proposed to resolve the link prediction problem.

We focus in this work on topological mesures of similarity, we chose to experiment two mesures of simiarity : Adamic/Adar and Commons Neighbors.

We implemented, compared, mesured, the preformances of each of these two functions.

Keywords : social networks analysis, link prediction in social networks, topological mesures of similarity, Adamic/Adar, Commons Neighbors.

iii

Table des matières

Résuméi Abstract

Introduction

1 Généralités sur les réseaux sociaux

1.1 Historique des réseaux sociaux

1.1.1 Panorama des réseaux sociaux

1.1.1.1 1997-2001 :les réseaux sociaux foisonnent

1.1.1.2 2002-2003 :Les réseaux sociaux envahissent la toile

1.1.1.3 Myspace

1.1.1.4 Facebook

1.2 Types des réseaux sociaux

ii ix

1

1

2

2

3

3

4

4

 

1.2.1

Réseaux sociaux professionnelles

5

 
 

1.2.1.1 LinkedIn

5

 
 

1.2.1.2 Viadeo

6

 

1.2.2

Les réseaux sociaux grands publics

7

 
 

1.2.2.1 Facebook

7

 
 

1.2.2.2 Twitter

7

 
 

1.2.2.3 Google+

8

2

État de l'art

10

 

2.1 Analyse des réseaux sociaux

10

 

2.1.1

Définition

10

 

2.1.2

Représentation d'un réseau social

11

 

2.1.3

Indicateurs d'un réseau social

13

 
 

2.1.3.1 Densité

13

 
 

2.1.3.2 Centralité

13

 

2.1.4

Caractéristiques d'un réseau social

14

 
 

2.1.4.1 Six degrés de séparation (petit monde)

14

 
 

2.1.4.2 Coefficient de Clustering élevé

15

 
 

2.1.4.3 Structure en communautés

16

 
 

2.1.4.4 Distribution de degréen loi de puissance

16

 

2.2 Prédiction des liens

17

 

2.2.1 Problématique

17

Table des matières iv

Bibliographie 58

2.2.2 Domaines d'applications 18

2.3 Techniques de prédiction des liens 18

2.3.1 Les approches non supervisé 19

2.3.1.1 Mesures basées sur le contenu d'un noeud 19

2.3.1.2 Mesures basées sur les motifs topologiques 20

· Mesures de similaritélocales 21

· Mesures de similaritéglobales 24

· Mesures basées sur les marches aléatoires 25

2.3.1.3 Mesures basées sur la théorie social 25

2.3.2 Méthodes basées sur l'apprentissage supervisé 26

2.3.2.1 Classification binaire 26

3 Les fonctions : Adamic/Adar et voisins communs 28

3.1 La fonction de similarité: Adamic/Adar 28

3.1.1 Origine de la méthode 28

3.1.2 Principe de la méthode 29

3.1.2.1 Calcul de la matrice de similarité 29

3.1.3 Exemple pratique 29

3.2 La fonction de similarité: Voisins communs 34

3.2.1 Origine de la méthode 34

3.2.2 Principe de la méthode 34

3.2.2.1 Calcul de la matrice de similarité 34

3.3 Mesures de performances 37

3.3.1 Le rappel 38

3.3.2 La précision 39

3.3.3 La F-mesure 39

4 Implémentation et Expérimentations 40

4.1 Environnement de travail 40

4.2 Description de l'application 42

4.2.1 Algorithmes et explications 42

4.2.1.1 Construire la matrice de Adamic et Adar 44

4.2.1.2 Construire la matrice de Commons Neighbors . . 46

4.2.1.3 Construire la nouvelle matrice d'adjacence 46

4.2.1.4 Calculer les mesures de performance 47

4.2.2 Représentation de l'application 49

4.3 Expérimentations et résultats 50

4.3.1 Interprétation des résultats 55

4.3.1.1 Point de vue temps d'exécution 55

4.3.1.2 Point de vue Rappel 55

4.3.1.3 Point de vue Précision 55

4.3.1.4 Point de vue F-mesure 56

Conclusion 57

v

Table des figures

1.1

Chronologie des réseaux sociaux

5

1.2

Logo de LinkedIn

6

1.3

Logo de Viadeo

6

1.4

Logo de Facebook

7

1.5

Logo de Twitter

8

1.6

Logo de Google+

9

2.1

Représentation d'un réseau social avec une matric d'adjacence . . .

13

2.2

Théorie de six degrés de séparation

15

2.3

Coefficient de clustering élevée

15

2.4

Structure en communautés

16

2.5

Distribution de degrés en loi de puissance

16

2.6

Problématique

17

3.1

Exemple d'une capture d'un reseau social

30

3.2

L'état du réseau aprés l'exécution de Adamic/Adar

33

3.3

L'état de réseau social aprés l'exécution de Common Neighbors. . .

37

3.4

Les différents types des liens : TP, FP, FN

38

4.1

L'interface de NodeXL

42

4.2

L'organigramme de l'application

43

4.3

L'interface globale de l'application

49

4.4

Capture du réseau de collaboration construite en 2011

50

4.5

Capture du réseau de collaboration construite en 2015

51

Liste des tableaux vi

4.6 Réseau social obtenu après l'exécution de la fonction : Adamic/Adar 52

4.7 Réseau social obtenu après l'exécution de la fonction : Commons

neighbors 53

4.8 Représentation graphique du rappel, précision, F-mesure et temps

d'exécution 54

vii

Liste des tableaux

2.1 Quelques caractéristiques des mesures de similaritélocale [Wp15] . 23

3.1 Représentation du réseau social par une matrice d'adjacence . . . . 31

3.2 Matrice de similarité: Adamic/Adar 31

3.3 Liste de similaritéde Adamic/Adar 32

3.4 Nouvelle matrice d'adjacence aprés l'exécution de Adamic/Adar . 33

3.5 Matrice de similarité: common Neighbors 35

3.6 Liste de similaritéde Common Neighbors 36

3.7 Nouvelle matrice d'adjacence aprés l'exécution de Common Neighbors 36

3.8 Matrice de confusion 38

4.1 Mesures de performances 54

viii

Liste des algorithmes

1

Algorithme de Adamic et Adar

45

2

Algorithme de Commons Neighbors

46

3

Construction de la nouvelle matrice d'adjacence

47

4

Précision, Rappel et F-mesure

48

ix

Introduction

ES réseaux sociaux sont omniprésents depuis l'avènement d'Internet. Ils per-Lmettent aux différents utilisateurs d'interagir en communautés et de se regrouper selon des critères qui leur sont importants.

Ces réseaux sociaux sont de différents types. Certains sont connus de tous et comptent des millions de membres. D'autres exploitent des niches moins connus et peuvent passer relativement inaperçus ou rester confidentiels, tels les réseaux d'entreprise.

Tous ces réseaux sociaux amassent de très nombreuses données : les amis, les messages, les images, la fréquence d'utilisation.. . tous ces échanges et informations sont soigneusement enregistrés. Dès lors se pose le problème de l'exploitation de cette masse d'informations.

L'analyse de ces réseaux et l'exploration de cette énorme quantitéde données peut permettre de chercher à détecter des groupes d'acteurs fortement connectés entre eux. On peut aussi prédire des caractéristiques des acteurs ou de liens entre eux. C'est ce sujet qui est au coeur de ce mémoire, oùnous nous intéressons à la prédiction des liens dans les réseaux sociaux.

Le problème de prédiction des liens dans les réseaux sociaux est un sujet central de la recherche pour l'ensemble de la théorie des réseaux sociaux. On s'intéresse souvent à la dynamique d'un réseau par rapport aux arêtes. Dans les réseaux sociaux, non seulement des nouveaux noeuds apparaissent mais aussi les interactions entre les personnes changent et il serait de savoir estimer l'état de ce réseau à un instant ultérieur.

INTRODUCTION x

L'objectif de ce travail est de présenter un état de l'art sur ce domaine et d'ef-fectuer une étude comparative entre deux algorithmes de prédiction des liens en présentant en détail les principes de chacune de ces algorithmes. Nous avons or-ganiséce mémoire en quatre chapitres, qui commenceront tous par quelques mots introductifs :

Dans LE PREMIER CHAPITRE, nous présentons des généralités sur les réseaux sociaux.

LE DEUXIÈME CHAPITRE sera consacréà un état de l'art sur l'analyse des réseaux sociaux, comment ils ont modélisé, leurs caractéristiques et indicateurs, une grande partie consacréau problème de prédiction des liens. Nous citons les différents travaux de recherches qui ont étémenés autour de ce problème, et surtout les algorithmes basésur la topologie d'un réseau social.

Dans LE TROISIÈME CHAPITRE, nous avons expérimentéles deux algorithmes qui sont basées sur la topologie d'un graphe : Adamic/Adar et Voisins Communs en donnant des exemples pour faciliter leurs compréhensions.

Dans LE QUATRIÈME CHAPITRE, nous présentons l'environnement de travail que nous avons choisi. Nous décrivons le réseau social que nous avons expérimenté, c'est un réseau de collaboration des chercheurs au sein de laboratoire de mathématiques et d'informatique de l'université»Amar Telidgi-Laghouat», ainsi l'application que nous avons développé. Puis nous présentons les résultats d'expérimentation. Nous essayons d'interpréter, comparer et juger la performance de chacune des algorithmes que nous avons abordés.

Nous concluons ce travail par une vision globale et synthétique sur le travail que nous avons fait en particulier et sur le domaine de prédiction des liens en général. Nous parlons de l'expérience que nous avons acquise à travers ce mémoire.

Nous pouvons remarquer finalement que dans ce travail, nous analysons l'effica-citédes méthodes de prédiction de liens en termes d'un ensemble de mesures. Nous n'effectuons pas une étude de complexitédes algorithmes et nous ne concentrons pas ce travail sur la meilleure façon pour implémenter ces méthodes. Les méthodes ont étéimplémentées en JAVA d'un point de vue pragmatique, sans optimiser les codes au point de vue de complexitéou de stockage des données...

1

Chapitre 1

Généralités sur les réseaux

sociaux

A

CTUELLEMENT, avec le développement rapide de l'Internet, les réseaux sociaux en ligne deviennent un partie importante de la vie des personnes. Ils sont caractérisés par des ensembles de sites Internet axés sur des communautés. Mais le terme de réseau social provient initialement d'une théorie sociologique. Le terme de réseau social est souvent employépour désigner les médias sociaux qui regroupent les médias intégrant [Pat10] technologies et interactions sociales. Ce sont généralement un ensemble de sites Internet qui permettent de se constituer un réseau d'amis, ou de relations professionnelles, et qui proposent des interactions entre ses membres via des moyens de communication. Le réseau social permet aussi d'échanger du contenu multimédia comme des images ou des liens hypertextes. Les

médias sociaux permettent à l'utilisateur de se créer un profil, une carte d'identitévirtuelle, qui lui permet d'échanger avec les autres. Basés sur la création de liens,

souvent virtuels, les réseaux sociaux ont tendance à regrouper des communautés en fonction de leurs centres d'intérêts, opinions politiques, religions, relations professionnelles ou autre.

1.1 Historique des réseaux sociaux

La place importante des réseaux sociaux aujourd'hui n'est pas simplement due au hasard, elle est inscrite dans l'évolution technologique de ces quarante dernières années. Pour comprendre l'apparition des réseaux sociaux il faut avant tout faire un petit éclairage rétrospectif sur l'être humain. Se souvenir que l'Homme a

Chapitre 1. Généralités sur les réseaux sociaux 2

génétiquement tendance à se regrouper en sociétés plus ou moins structurées. Ce mode de fonctionnement existe depuis toujours et il est constituéd'un ensemble de moyens et d'outils de liens sociaux autour d'un thème fédérateur (religion, loisir, activitéprofessionnelle.. .). Souvent assimilés au développement du Web 2.0, les sites de réseaux sociaux voient le jour durant les années 90. Aujour-d'hui, les utilisateurs de réseaux sociaux se comptent en centaines de millions pour certains sites. Mais, comment cela a débuté.

1.1.1 Panorama des réseaux sociaux

C'est en 1995 que le premier réseau social voit le jour [Pat15] .Classmates 1, fondépar »Ranry Conrad» est lancésur l'Internet. Le site permet de retrouver ses amis

d'écoles, du primaire au lycée, et ses collègues abandonnés. La plate forme a une très forte connotation nostalgique. Mais Il n'offre pas cependant toutes les possibilités des réseaux sociaux actuels.

Sixdegrees2 Lancéen janvier 1997 par la sociétéMacroview [Pat15], fondée par Andrew Weinreich, est le premier réseau social dont la forme se rapproche réellement de ce que nous connaissons aujourd'hui. Basésur le concept des six degrés de séparation, ce réseau social permet de créer un profil et une liste d'amis. Les utilisateurs peuvent envoyer des messages mais aussi poster des messages sur leur propre profil, qui seront visibles jusqu'au troisième degré, c'est-à-dire par les amis des amis de leurs amis. Il est possible d'accéder aux connexions de tous les utilisateurs. Malgréses millions d'utilisateurs, le site dûfermer en 2000 faute de viabilitééconomique.

1.1.1.1 1997-2001 :les réseaux sociaux foisonnent

Entre 1997 et 2001 [Pat15] , de nouvelles plateformes de réseaux sociaux se sont développées, permettant des combinaisons variées de profils et la publication de réseaux d'amis. nous notons :

1. AsianAvenue : communautéasiatique.

2. BlackPlanet : communauténoire.

3. MiGente communautélatino.

Une nouvelle vague de sites de réseaux sociaux tournés vers le développement de réseaux d'affaires permettaient aux utilisateurs de créer des profils personnels,

1. www.classmates.com

2. www.sixdegrees.com

Chapitre 1. Généralités sur les réseaux sociaux 3

professionnels ou de faire des rencontres. Arriva avec le lancement de Ryze3 en 2001. Mais, ce réseau ne connut pas de succès, c'est LinkedIn qui devient un solide réseau d'affaires et un réseau professionnel très actif aujourd'hui.

1.1.1.2 2002-2003 :Les réseaux sociaux envahissent la toile

Entre 2002 et 2003, les réseaux sociaux deviennent le premier courant du web et peuvent apparaître comme une réponse à l'explosion de l'internet en 2000 .L'avènement de site comme Friendster4 fondépar »Jonathan Abrams» à Santa Clara en 2002, lancéen 2003, marque le phénomène de petit monde aussi connu sous la formulation, et le modèle de réseautage social du cercle d'amis. Lin-kedIn5, le premier réseau professionnel en ligne, permet aux professionnels du monde entier de mettre en avant leur parcours, de développer leur réseau et de rester informésur leur secteur d'activité. L'entreprise a vu le jour en 2002 dans le salon de Reid Hoffman, co-fondateur, et a étélancéofficiellement le 5 mai 2003. Le siège social est situéà Mountain View en Californie, mais l'entreprise possède des bureaux dans plus d'une vingtaine de villes aux Etats-Unis et dans le monde. Aujourd'hui on compte plus de 200 sites de réseaux sociaux qui font référence au phénomène de YASNS : Yet Another Social Networking Service, dont les plus significatifs dans l'histoire d'Internet sont Facebook et Myspace. Il convient donc de faire un rapide historique de ces deux sites de réseaux sociaux qui sont aujourd'hui les plus populaires au monde.

1.1.1.3 Myspace

Peu de journalistes notèrent le lancement en 2003 de MySpace6 à Santa Monica, Californie, à quelques centaines de miles de la Silicon Valley [Pat15]. Un des fondateurs Tom Anderson expliquait que MySpace a pu récupérer les utilisateurs du site »Friendster» qui avait perdu son audience après des rumeurs prétendant qu'il voulait adopter un système d'abonnement payant. Les premiers utilisateurs furent des groupes de musiciens rocks indépendants de la région de Los Angeles. Ce succès attira les clubs de musique populaire qui utilisèrent MySpace pour faire de la publicité. Puis l'expansion de MySpace se confirma en devenant une plate-forme de contact entre les groupes et leurs fans.

Le site qui, au départ, était conçu pour tous les publics, acquit très vite une

3. www.ryze.com

4. www.friendster.com

5. www.linkedin.com

6. www.myspace.com

Chapitre 1. Généralités sur les réseaux sociaux 4

spécificitéde réseau social du milieu artistique, ce qui est encore vrai aujourd'hui. L'autre particularitéde MySpace fut d'offrir la possibilitéà ses utilisateurs de créer le design de leur page en leur permettant d'entrer du code spécifique.

Les jeunes commencèrent à rejoindre MySpace en masse à partir de 2004. A cause du manque de couverture de la presse en 2004, peu de personnes remarquèrent la popularitégrandissante du site.

1.1.1.4 Facebook

Facebook7 est lancéle 4 février 2004 par »Mark Zuckerberg» [Pat15] . Alors encore étudiant à Harvard, Mark Zuckerberg décide de créer un site de réseau social ferméréservéaux étudiants de l'université, l'utilisateur devait avoir une adresse e-mail universitaire Harvard.edu. Mais c'est entre 2005 et 2006, sous l'influence de Sean Parker (fondateur de Napster), que le nom de domaine est achetéet que facebook élargi son audience et autorise l'inscription a toute personne âgée d'au moins 13 ans. En 2007 Facebook connaît une ascension phénoménale grâce à son système de micro-blogging.

Le nom du site s'inspire d'ailleurs des albums photo trombinoscopes ou facebooks en anglais regroupant les photos des visages de tous les élèves prises en début d'année universitaire.

Aujourd'hui, D'après les taux de fréquentation fournis par le site Alexa8 : Facebook est le réseau social numéro 1 dans le monde, en février 2015, les statistiques parlent de plus de 1,393 milliard utilisateurs .

1.2 Types des réseaux sociaux

Le monde des réseaux sont très diversifiés, il existe de ce fait plusieurs plateformes de réseaux sociaux, parmi ces plateformes, il faut distinguer deux catégories, ceux à usage exclusivement professionnel, orientésur la mise en valeur et les échanges professionnels de ses membres, et ceux à usage privé, ceux qui sont devenus grand public comme MySpace (construit au départ pour favoriser la mise en relation d'artistes) ou Facebook (conçu à l'origine par et pour des universitaires).

7. www.facebook.com

8. www.alexa.com

Chapitre 1. Généralités sur les réseaux sociaux 5

FIGURE 1.1 - Chronologie des réseaux sociaux [Pat15]

1.2.1 Réseaux sociaux professionnelles

Parmi les principales fonctionnalités et ou raisons de créer son compte sur un réseau social professionnel, nous notons [Har12] :

- trouver du travail ou recruter.

- s'ouvrir de nouvelles perspectives d'affaires.

- disposer d'un carnet d'adresse en ligne accessible et à jour.

Ainsi, la première action et finalitédes réseaux sociaux professionnels est de remplir sa fiche personnelle sur le réseau, et d'indiquer ainsi que l'on existe professionnellement. Cette mise en avant de son profil professionnel, régulièrement mise à jour, permet aux potentiels recruteurs de prospecter et recruter, privilégiant même les réseaux sociaux professionnels aux sites d'emploi.

1.2.1.1 LinkedIn

LinkedIn9 est un réseau social professionnel . Il est l'un des leaders sur ce créneau. Une des finalités de LinkedIn est de rechercher un emploi, des contacts ou des opportunités de business, et d'être recommandépar quelqu'un. Enfin, les employeurs peuvent y diffuser des offres d'emplois. Depuis peu, vous pouvez d'ailleurs recevoir des listes personnalisées d'offres d'emplois [Har12].

LinkedIn a aussi lancédes pages de profils de sociétés : elles permettent aux

9. www.linkedin.com

Chapitre 1. Généralités sur les réseaux sociaux 6

10. www.viadeo.com

sociétés de se présenter, de connaître les connexions avec les membres de linkedIn. Ces pages privées, accessibles aux inscrits, présentent des informations telles que la description de la société, le type d'industrie, les statuts officiels, et son adresse. LinkedIn utilisera ces données pour publier aussi les récentes embauches, promotions, et offres d'emplois. Aujourd'hui , LinkedIn compte plus de 400 millions de membres dans plus de 200 pays et territoires.

FIGURE 1.2 - Logo de LinkedIn

1.2.1.2 Viadeo

Le premier réseau social professionnel français, a étéco-fondéen 2004 par Dan Serfaty [Har12]. Il revendique en tout 2 millions de membres. C'est en fait le prolongement d'un club d'entrepreneurs crééen 2000.

Une de ses particularités réside dans ses »hubs», sortes de forums de discussion communautaires et thématiques, publics (lisibles par tous les membres de Viadeo) ou privés (réservés à une poignée d'inscrits).

Viadeo 10 propose un service de base gratuit mais, en fait, il faut souscrire au service payant premium pour accéder à la plupart des fonctionnalités (consulter le profil et contacter sans limites les autres membres, partager et échanger sur les hubs, publier ses événements, discuter en temps réel avec les autres membres...). Par ailleurs, Viadeo offre la possibilitéd'abonner à des flux d'informations provenant du site (offres d'emploi, messages hubs, etc.).

FIGURE 1.3 - Logo de Viadeo

Chapitre 1. Généralités sur les réseaux sociaux 7

1.2.2 Les réseaux sociaux grands publics

L'objectif des réseaux sociaux est de connecter les individus, de partager de l'in-formation, des liens et de créer du contenu qui sera ainsi partagé. Selon la version imaginée par les créateurs de ces réseaux sociaux, chaque contact qui accepte l'in-vitation accroît le réseau de nouveaux contacts. Les arrivants inscrivent à leur tour leurs contacts et ainsi de suite... jusqu'àce le monde entier soit relié. En réalité, la plupart d'entre nous n'invite personne, mais recherche quelles sont ses connaissances déjàprésente dans le réseau, principalement des individus que l'on connaît par Internet interposé.

1.2.2.1 Facebook

Le réseau social le plus connu , dépasse du milliard de membres d'inscrits (àl'heure du post). Le principe est d'échanger avec sa communautéd'amis sur tout et n'im-porte quoi. L'inscription est obligatoire pour l'utiliser. Pour être amis sur Facebook avec une personne, il faut lui envoyer une demande et que cette dernière l'accepte. Facebook permet également de réagir sur les commentaires et news postés par ses amis via le »Like» ou J'aime. C'est un moyen pour dire que l'on a trouvéun commentaire ou un post à son goût. Il est devenu fréquent d'entendre le verbe »like» dans une conversation. Facebook permet beaucoup d'autres choses : discussion instantanée, envoi de message direct, identifier des amis sur une photo[Har12]...

FIGURE 1.4 - Logo de Facebook

1.2.2.2 Twitter

Bien que ne partageant pas la plupart des caractéristiques des autres réseaux sociaux, Twitter s'en apparente de par son nombre d'utilisateurs (232 millions de membres en octobre 2013) et de son utilisation finale. Crééen 2006, Twitter 11 est un site de microblogging qui permet à ses utilisateurs de faire part à leur »suiveurs» (followers) d'informations courtes (»tweets») ne dépassant pas 140 signes, un peu comme les statuts sur Facebook (qui eux ne sont pas limités en longueur).

11. www.twitter.com

Chapitre 1. Généralités sur les réseaux sociaux 8

Ces »tweets» peuvent également contenir des liens externes renvoyant sur des articles, des photos, des vidéos, etc, Les abonnés peuvent être des individus ou des raisons sociales, comme des entreprises, des organisations, etc. Suite à l'arrivée de personnes célèbres ou ayant une grande autorité, il offre la possibilitéde suivre d'autres comptes, pas de demande d'invitation, il permet de suivre n'importe qui, et être suivi par n'importe qui. le site a développéune fonction permettant de certifier l'identitédu tweeter et « »retweeter», et donc par exemple de reconnaître la vrai personne parmi les dizaines de contrefaçons [Har12].

FIGURE 1.5 - Logo de Twitter

1.2.2.3 Google+

Google+ 12 est l'application de réseau social de l'entreprise américaine Google lancée le 28 juin 2011, et accessible pendant près de 90 jours sur invitation, il est conçu comme une couche supplémentaire sur des services Google existants et fonctionnant avec un compte Google. Google met en avant trois nouveaux services [dLP13] :

· Les (circles), des groupes de contact différents que l'utilisateur peut créer et au sein desquels il décide des informations qu'il souhaite partager, proche des »Aspects» de Diaporama. Organisés via une interface en »drag and drop», les contacts font partie de cercles dont ils peuvent connaître les membres mais dont

ils ne connaissent pas le nom, les paramètres de vie privée permettent aussi àchacun de cacher les membres de ses cercles ainsi que ceux dont ils font partie. Ce

système remplace la »liste d'amis» typique d'autres sites comme Facebook.

· Les (hangouts), un système de chat vidéo collectif et spontané, réunissant entre 2 à 10 personnes en simultané. Chaque bulle peut potentiellement être rejointe par quiconque en possèderait l'URL unique. Le 18 août 2011, Google a ajoutéune fonction au bouton »Partage» des vidéos YouTube, permettant de suggérer à un ami de venir regarder la vidéo en simultané, dans une bulle.

· Les (sparks), un système de suggestion et de partage de contenu par thème avec ses contacts, proche de la section »Recommandations» de Google Reader.

12. plus.google.com

Chapitre 1. Généralités sur les réseaux sociaux 9

Le lancement s'est dérouléaprès celui de Google +1, une fonctionnalitéqui permet à un utilisateur d'un compte Google de cliquer sur un bouton disponible sur la plupart des sites internet afin d'indiquer qu'il aime l'article.

FIGURE 1.6 - Logo de Google+

Conclusion

Dans ce chapitre, nous avons vu quelques concepts et définitions liées aux réseaux sociaux, leurs historique, leurs types en donnant quelques exemples sur les réseaux les plus populaires dans le monde qui comptent des centaines de millions d'uti-lisateurs, Tous ces réseaux sociaux amassent de très nombreuses données. Ce problème a obligéaux chercheurs de différents domaines comme la sociologie, les mathématiques, et l'informatique de développer des méthodes d'exploration et d'analyse de cette grande masse de données, c'est ce que nous allons voir dans le deuxième chapitre.

10

Chapitre 2

État de l'art

Nous présentons dans ce chapitre quelques approches et techniques qui ont étéproposées dans le cadre de prédiction des liens dans les réseaux sociaux issues de

différentes sources. Nous expliquons les principes de ces approches en définissant quelques concepts liés à ces techniques pour avoir une idée générale sur le domaine de prédiction des liens. Pour l'organisation de cet état de l'art, nous avons introduit le domaine de l'analyse des réseaux sociaux, nous avons aussi définit quelques concepts et propriétés liées aux réseaux sociaux avant de rentrer sur le fond de notre état de l'art, enfin nous avons choisis de classer les différentes approches de prédiction des liens que nous sommes en mesure de présenter selon des principales catégories que nous allons les définir brièvement.

2.1 Analyse des réseaux sociaux

2.1.1 Définition

Les interactions des utilisateurs au travers les réseaux sociaux amassent de très nombreuses données : les amis, les messages, les images, la fréquence d'utilisation, les Hashtags ... tous ces échanges et informations sont soigneusement enregistres. Des lors se pose le problème de l'exploitation de cette masse d'informations. Ces interactions amènent la communautéscientifique à réfléchir sur les moyens de capter ces usages pour y appliquer les techniques d'analyse des réseaux sociaux. L'analyse des réseaux sociaux est définie comme étant l'étude des entités sociales (les personnes dans les organisations qu'on appelle acteurs) ainsi que leurs interactions et leurs relations [GE09]. Ces interactions et relations peuvent être représentées par un graphe, dans lequel chaque noeud représente un acteur et chaque lien est une

Chapitre 2. État de l'art 11

relation. Nous pouvons étudier les propriétés de la structure et son rôle ainsi que la position et le prestige de chaque acteur social. Nous pouvons rechercher aussi les différents types de sous-graphes comme par exemple les communautés formées par des groupes d'acteurs ayant des intérêts communs, en isolant le groupe d'individus ayant une densitéélevée. Les réseaux sociaux peut être aussi une source permettant l'élaboration de recommandations : trouver un expert dans un domaine donné, suggérer des produits à vendre, proposer un ami, etc. Cette élaboration peut être fondée sur des algorithmes d'exploration de chemins, d'analyse de degrés...

2.1.2 Représentation d'un réseau social

La première personne à avoir représentéun réseau social est[Mor33]. Son objectif étant de visualiser graphiquement un réseau social, il a représentéles personnes par des points et une relation entre deux personnes par des flèches. Cette représentation est depuis désignée par le terme sociogramme, mais on parlait également de toiles en raison de leur aspect en toile d'araignée. Cette forme de visualisation, aussi peu innovante qu'elle puisse paraître de nos jours, fut un premier outil d'identification rapide des caractéristiques d'un réseau social. Moreno a ainsi introduit le concept d'étoile pour désigner les personnes ayant le plus de relations dans un réseau social, en référence à l'étoile formée par un point et ses connections. Les mathématiciens ont rapidement fait le rapprochement entre les représentations sociogrammes et la théorie des graphes au sens mathématique. [Sco00] passe en revue l'évolution de la représentation des réseaux sociaux. Au milieu du vingtième siècle. Le graphe est devenu par la suite la représentation adoptée par toutes les sciences manipulant l'analyse des réseaux sociaux, dont la sociologie, les mathématiques et l'informa-tique. Les définitions suivantes listent quelques notions manipulées par la théorie des graphes pour les réseaux sociaux [GE09] :

1. Un noeud est l'unitéde base d'un réseau, il en représente une ressource. Dans un réseau social on parle d'acteur.

2. Une arête est une connexion entre deux noeud. On parle également d'arc ou de lien.

3. Une arête est orientée si elle ne s'utilise que dans une seule direction. Inversement, on parle d'arête non orientée pour une arête qui s'utilise dans les deux directions.

4. Une arête est pondérée lorsqu'on lui attribue un poids.

5. Une arête est étiquetée lorsqu'on lui attribue un label.

6.

Chapitre 2. État de l'art 12

Un graphe est défini par un ensemble de noeuds et un ensemble d'arêtes.

7. Un graphe orientédésigne un graphe avec des arêtes orientées.

8. Un graphe pondérédésigne un graphe avec des arêtes pondérées.

9. Un graphe étiquetédésigne un graphe avec des arêtes étiquetées.

10. Un graphe multipartite désigne un graphe avec des noeuds de types différents.

11. Le degréd'un noeud est le nombre de ses arêtes adjacentes.

12. Un chemin est une séquence d'arêtes qui relie deux noeuds.

13. Un chemin orientéest une séquence d'arêtes qui relie deux noeuds en respectant l'orientation du parcours à chaque arrête.

14. Une géodésique est l'un des plus courts chemins entre deux noeuds donnés.

15. Le diamètre d'un graphe est le plus long chemin géodésique de ce graphe.

16. Un graphe est complet lorsqu'il existe une arête entre toute paire de noeuds.

17. Un graphe est dit connexe lorsqu'il existe un chemin entre toute paire de noeuds.

Les graphes non orientés sont adaptés pour les réseaux sociaux avec des relations non orientés. Les graphes orientés sont adaptés pour représenter des relations non symétriques comme les réseaux des »followers» par exemple. Les graphes pondérés sont adaptés aux réseaux sociaux qui contiennent différents niveau d'intensités dans les relations. Les graphes étiquetés permettent de représenter différents types de relations. Les graphes multipartites sont adaptés pour des réseaux sociaux incluant différent types de ressources manipulées par les acteurs et qui sont le support d'interactions [GE09].

La matrice est l'objet mathématique le plus utilisépour manipuler ces concepts. On distingue deux types de matrices dans un réseau social, les matrices d'inci-dence et les matrices d'adjacence. On parle de matrice d'adjacence lorsqu'on a les mêmes ressources en ligne et en colonne, on obtient ainsi une matrice carrée avec la ligne i et la colonne i représentant la même ressource comme il est indiquédans la figure 2.1.

Chapitre 2. État de l'art 13

FIGURE 2.1 - Représentation d'un réseau social avec une matric d'adjacence

Un graphe peut ainsi être représentésous la forme d'une matrice M à n lignes et n colonnes représentant un tableau. Chaque case de ce tableau est notée M(i, j) avec i et j les numéros respectifs de ligne et de colonne de la case. La valeur contenue dans la case M(i, j) est le poids de la relation entre les ressources vi et v (égal à 1 dans le cas d'un graphe non pondéré), 0 correspond à une absence de relation. Les matrices d'incidence contiennent deux types de ressources, les lignes représentent un type et les colonnes un autre type[GE09].

2.1.3 Indicateurs d'un réseau social

2.1.3.1 Densité

La Densitéindique la quantitéde liens au sein d'un réseau et permet de définir la cohésion d'un réseau social. Selon [Sco00] cette mesure peut-être utilisée dans l'op-tique d'une analyse socio-centrée ou égocentrée. Une analyse centrée sur l'individu consiste à mesurer la densitédes liens autour d'un noeud donné. Une telle analyse montre notamment l'influence du noeud analysésur la densitédu sous graphe au-

quel il appartient avec ses voisins. Une analyse socio-centrée considère la densitésur l'ensemble du graphe et mesure la contrainte du réseau sur ses membres. Ainsi toute comparaison de densitéentre graphes ne fournit aucun résultat significatif.

2.1.3.2 Centralité

La centralitéest une caractéristique de la position d'un noeud dans un réseau. Elle se mesure par des indices évalués sur les sommet du graphe du reseau. Il en existe plusieurs,[Fre79] reprend l'ensemble de ces approches et en extrait trois principales : la centralitéde degré(degree centrality), la centralitéde proximité

Chapitre 2. État de l'art 14

(closeness centrality) et la centralitéd'intermediarité(betweenness centrality). La première approche appelée centralitéde degré, considère comme centraux les noeuds qui possèdent les degrés les plus élevés du graphe. En effet, ces noeuds suscitent un grand intérêt, sont très visibles, et ont un potentiel élevéà faire circuler l'information, par leur forte connectivitéaux autres éléments du réseau, un noeud moins central plus il dépend de un ou plusieurs voisins pour établir des nouvelles relations.

La centralitéd'intermédiaritése concentre sur la capacitéd'un noeud à servir d'intermédiaire dans un graphe. Un noeud situésur un chemin géodésique possède une position stratégique dans la cohésion d'un réseau et dans la circulation de l'information, d'autant plus si ce chemin est unique. Par exemple, un noeud situésur l'unique chemin reliant deux ensembles connectés de noeuds possède un fort contrôle sur la communication de ces deux groupes. Plus un noeud est intermédiaire, plus le réseau est dépendant de lui et plus il a de pouvoir.

Enfin, la centralitéde proximitépour un noeud, dépende inversement de la somme des chemins géodésique entre ce sommet-làet touts les autres. Dans le

domaine des réseaux sociaux, Cette mesure représente la capacitéd'un noeud àse connecter rapidement avec les autres noeuds du réseau .D'une autre façon, elle peut répondre à la question : quel est l'acteur le plus indépendant.

2.1.4 Caractéristiques d'un réseau social

Ils existent beaucoup de propriétés des réseaux sociaux, nous citons dans ce mémoire les caractéristiques les plus populaires :

2.1.4.1 Six degrés de séparation (petit monde)

Cette théorie s'appuie sur les travaux de [Mil67], qui avaient demandédans les années 1960 à 300 personnes vivant dans le Nebraska (centre des Etats-Unis) de faire parvenir une lettre à quelqu'un à Boston (Massachusetts, nord-est) par l'in-termédiaire de connaissances. Un ami représentait un degréde séparation, l'ami d'un ami deux degrés, etc... Les lettres parvenues à leur destinataire avaient franchi en moyenne 6, 2 degrés de séparation.

Ainsi toute personne dans un réseau social est connectée à toute autre personne par un chemin de courte distance. Le plus court chemin entre deux sommets dans un réseau social de taille n est de l'ordre de log(n). Ainsi lorsque la taille du réseau augmente, la longueur des plus courts chemins n'augmente que très peu 2.2.

Chapitre 2. État de l'art 15

FIGURE 2.2 - Théorie de six degrés de séparation

En 2008 [S08], une équipe de chercheurs travaillant pour Microsoft, étudiant 30 milliards de messages instantanés envoyés par 240 millions de personnes en juin 2006, avaient établi qu'en moyenne, deux personnes peuvent être reliées en 6, 6 étapes. L'étude ayant bénéficiéen 2011 du concours de Facebook et Twitter montre quant à elle que des utilisateurs des sites peuvent se connecter avec un autre internaute, via des connaissances, en 4.74 étapes seulement[Cas14].

2.1.4.2 Coefficient de Clustering élevé

Une autre caractéristique est issue de la tendance de l'homme à se socialiser en groupe ce qui donne aux réseaux sociaux une forte tendance au clustering et une structure en communautés [Kan10]. La question qui se pose Les amis de mes amis tendent-ils à devenir mes amis?

Autrement dit, un réseau montre du clustering si un noeud X est connectéà un noeud Y et que ce noeud Y est connectéà un noeud Z, alors X et Z ont une forte probabilitéd'être également connectés, on parle aussi de transitivité2.3 :

FIGURE 2.3 - Coefficient de clustering élevée

Chapitre 2. État de l'art 16

2.1.4.3 Structure en communautés

Une autre caractéristique des réseaux sociaux c'est la structure en communautés [Kan10], à savoir des groupes de noeuds avec une forte densitéd'arêtes et reliés entre eux par des ponts. Ce phénomène peut être exprimépar des individus ayant des intérêts communs ou de fortes relations entre eux. Donc, cette socialisation s'effectue avec une tendance à l'affiliation entre des noeuds ayant des propriétés quasi équivalentes.

FIGURE 2.4 - Structure en communautés

2.1.4.4 Distribution de degréen loi de puissance

On constate également que la distribution des degrés suit une loi de puissance [Kan10] , à savoir que plus on considère un degréélevé, plus le nombre de sommets qui ont ce degrédans un même réseau est faible. Le réseau est alors dit invariant d'échelle (scalefree), dans l'équation suivante : P(K) = K-8, K : le nombre de noeuds qui ont le degréa comme il est indiquédans la figure 2.5

FIGURE 2.5 - Distribution de degrés en loi de puissance

Chapitre 2. État de l'art 17

2.2 Prédiction des liens

Les réseaux sociaux sont très dynamique, des nouveaux noeuds et des liens sont ajoutés aux graphes d'une instant à une autre, comprendre cette évolution est un problème très complexe dûà l'existence d'un nombre important de paramètres. Ce problème peut être simplifiési nous pouvons trouver des associations entre les noeuds, et à quel niveau, l'évolution d'un réseau social peut être influx par ces associations, dans la suite du chapitre nous présentons en détail ce problème.

2.2.1 Problématique

Considérant une capture d'un réseau social représentépar un graphe G =< V, E c V x V > à l'instant t, tel que V et E sont des ensembles des noeuds et des liens respectivement, la prédiction des liens consiste à prédire l'apparition

des nouveaux liens qui peuvent être apparaitre à l'instant t' tel que t' > t c'est àdire pendant l'intervalle [t, t'] [Wp15]. plus formellement nous définissons le sous graphe temporel G =< G1, . . . , Gi, .. . , GT >, tel que Gi est le sous graphe àl'instant j, la tâche de prédiction des liens consiste à prédire pour chaque couple

x, y E flT i=1 Vi : (x, y) E/ ET?(x, y) E ET+1 [Kan10] . Nous notons que les noeuds sont statiques dans tous les instants de l'évolution d'un réseau social, c'est-à-dire pas d'apparition ou de disparition des noeuds dans ce cas, ce qu'il n'est pas le cas dans les réseaux sociaux réels qui sont dynamique par rapport aux noeuds aussi. La figure 2.6 illustre ce problème :

FIGURE 2.6 - Problématique

Chapitre 2. État de l'art 18

Le problème de prédiction des liens est également liée au problème de détections des liens cachés [Wp15], dans un certain nombre de domaines comme les réseaux sociaux des terroristes ,l'un construit un réseau d'interactions basées sur des données observables et essaie ensuite de déduire des liens supplémentaires qui ne sont pas directement visibles à la même instant t, sont susceptibles d'exister. Ce problème peut-être résolu si nous pouvons exploiter les caractéristiques des noeuds dans un réseau social, au lieu d'évaluer des méthodes de prédiction basées uniquement sur la structure d'un graphe.

2.2.2 Domaines d'applications

La prédiction des liens apparaît dans de nombreux domaines d'applications [Wp15] la construction d'un système de recommandation dans les réseaux sociaux est vue comme un problème de prédiction de liens, il peut aider les personnes à trouver des nouveaux amis, dans les réseaux académiques, comme par exemple les réseaux de co-publication ou de co-citation entre les auteurs, il permet au chercheurs de trouver des bons collaborateurs ou des co-auteurs. La plus part des sites e-commerce aujourd'hui utilisent la prédiction des liens pour fournir au acheteurs des nouveaux produits intéressants en fonction de leurs préférences ou leurs achats, il peut être aussi utilisépour aider les entreprises à trouver des partenaires, attirer plus des clients. Finalement, en bioinformatique, ce problème a étéétudiépar exemple dans le cadre de l'inférence des réseaux biologiques, et en particulier pour la prédiction des interactions protéine-protéine, dans les domaines reliés à la sécurité, comme les réseaux terroristes par exemple, il peut être utilisépour identifier les communications anormales . . .

2.3 Techniques de prédiction des liens

Dans un réseau social, il existe deux façons pour prédire l'évolution des liens [Wp15] : les approches non superviséet les approches basées sur l'apprentissage supervisé. Les approches non supervisécalculent une valeur de similarité,c'est un score attribuéà chaque paire de noeuds non connectés (x, y), un score élevéindique une grande probabilitéque x et y seront liés dans le futur et vice versa, après une liste des scores ordonnées est construite et les liens qui ont des grandes valeurs de similaritésont les plus susceptibles d'être liée.

Les approches basées sur l'apprentissage supervisétraitent ce problème comme un

Chapitre 2. État de l'art 19

problème de classification binaire, par conséquent, nombreux modèles d'appren-tissage et de probabilitépeuvent être utilisépour résoudre ce problème.

2.3.1 Les approches non supervisé

Ils existent beaucoup de méthodes de prédiction des liens non supervisés, simples et basiques, utilisent l'information de noeuds, la topologie et la théorie social pour

calculer la similaritéentre les paires de noeuds non connectés, les méthodes basésur l'apprentissage supervisésont les plus complexe, mais ils ont composépar des mesures de cette classe, nous allons présentéune vue systématique des ces mesures.

2.3.1.1 Mesures basées sur le contenu d'un noeud

Le calcul de la similaritéentre les pairs de noeuds est une solution intuitive dans la tâche de la prédiction des liens. Il est basésur une idée simple : les paires les plus similaires sont des noeuds ayant une grande vraisemblance et donc se sont les plus susceptibles d'être reliéet vice versa.

Cette hypothèse conforme au concept que les personnes tendent à créer des relations avec d'autres personnes qui sont similaires dans l'éducation, religions, les intérêts et localisation... ces caractéristiques peuvent être mesurées par une si-milaritéattribuée à chaque pair de noeuds, une grande valeur de similaritéentre deux noeuds indique qu'ils ont une grande probabilitéd'être liée dans le futur.

Dans les réseaux sociaux réels, un noeud est généralement à un ou plusieurs attributs qui le caractérisent comme les profiles des utilisateurs dans les réseaux sociaux, nom d'un email dans les réseaux des emails, des publications dans les réseaux sociaux académiques, ces informations peuvent être exploitées directement pour calculer la similaritéentre les pairs de noeuds. Dans la plus part des cas, les valeurs de ces attributs ayant une forme textuelle ce qu'il facilite le calcul de la similarité.

Bhattacharyya et Garg [BP11] ont remarquépar exemple qu'une personne dans

un réseau social aime le football et une autre aime le soccer ou bien sport, malgréqu'ils n'ont aucune relation directe ils ont une similaritépar ce qu'ils aiment le

même contexte c'est le sport, en se basant sur cette idée, ils ont construit plusieurs modèles d'arbres de catégorisation pour étudier les mots-clés de profile des utilisateurs puis, ils ont définit des distances entre les mots clés pour déterminer la similaritéentre les pairs d'utilisateurs. Leur observation la plus importante est que, sauf pour les amis directs, la similaritéentre les utilisateurs sont approximativement la même, quelles que soient les paramètres topologiques de réseau. Ils

Chapitre 2. État de l'art 20

montrent également que l'augmentation du nombre d'amis et les mots clés diminue la similaritéentre une personne et leurs amis...

Anderson et Huttenlocher [And12] Utilisent principalement les intérêts des utilisateurs comme une mesure de similarité, ces intérêts sont présentés par des activités, par exemple éditer un article dans WIKIPEDIA, poser une question dans StackOverflow, commenter un statu dans Facebook, évaluer des produits d'un site e-commerce, évaluéune application dans le PlayStore... tous ces actions sont présentées dans un vecteur de poids en calculant les nombres d'interactions par rapport aux interactions avec d'autres groupes, personnes etc. une grande valeur indique que cette personne favorise par exemple des status d'une telle page, produits, d'autres utilisateurs. . .

En conclusion, ils existent des dizaines de méthodes qui utilisent comme référence les attributs et les activités des utilisateurs dans les réseaux sociaux, ces approches donnent des très bons résultats si nous pouvons capturer le maximum de ceux-ci, ce qui nous permettre de connaitre de plus en plus les comportements et les personnalités des internautes dans les réseaux sociaux.

2.3.1.2 Mesures basées sur les motifs topologiques

Considérant un simple réseau social qui ne contient aucun attribut sur les noeuds ou sur les liens, ils existent beaucoup de mesures qui permettent de calculer les similarités entre les paires de noeuds, la plupart concentrent sur l'information de

la structure ou bien de la topologie d'un réseau social. Les auteurs ont montréque la structure joue encore un rôle important sur l'évolution des liens dans un

réseau social, par conséquent, beaucoup de mesures de similaritéen se basant sur la topologie d'un réseau social ont étéproposé, dans la section suivante, nous donnons une vue systématique sur les mesures les plus populaires dans la prédiction des liens. Ce qu'il nous faut prendre en considération que ces mesures se distinguent en trois grandes catégories :

1. Les mesures locales basées sur le voisinage des noeuds.

2. Les mesures globales basées sur les distances entre les noeuds.

3. Les mesures basées sur les marches aléatoires.

· Chapitre 2. État de l'art 21

Mesures de similaritélocales

Dans les réseaux sociaux, les personnes tendent de créer des relations avec des personnes proche de celui-ci, les voisins sont les plus proches, pour cela, les chercheurs ont définit beaucoup de mesures basées sur les voisins d'un noeud, ces mesures attribuent des scores aux paires de noeuds non connectés seulement en fonction de leurs voisins et ne considèrent pas l'information sur tous les noeuds de réseau social, une grande valeur de similaritéentre les noeuds non connectésignifie qu'il y a une grande probabilitéque ce pair soit connectédans le futur.

Attachement préférentiel (PA) :[New01] et [Ba02] considèrent qu'il existe une forte probabilitéque deux noeuds se connectent, si ces noeuds, appelés également «hubs», sont déjàconnectés à un nombre élevéde noeuds . Cette idée rejoint le principe du «rich-get-richer». Le score associéà la possibilitéd'existence d'un lien entre x et y est le suivant :

L'attachement préférentiel a toutefois l'inconvénient d'obtenir des valeurs de similarités élevées concernant les utilisateurs non connectés, au détriment des utilisateurs peu connectés dans le réseau. Cet inconvénient relève du fait que les relations entre les utilisateurs dépendent uniquement de leur connectivité. Or, notre but est de trouver de nouveaux voisins aux noeuds qui en ont peu. En outre, une autre limite de cette méthode est la création de plusieurs liens entre les noeuds et la maximisation de la connectivitédu réseau.

Voisins communs (CN) :[New01] définit une mesure qui est l'une les plus utilisées dans le problème de prédiction des liens principalement en raison de sa simplicité. Pour les deux noeuds, x et y, le CN est définie comme le nombre de noeuds que x et y ont une interaction directe c'est-à-dire sont des voisins communs. Un plus grand nombre des voisins communs facilite l'apparition d'un lien entre X et Y, cette mesure est définie comme suit :

Chapitre 2. État de l'art 22

Comme nous avons dit, cette méthode considère que plus les utilisateurs partagent des voisins, plus ils sont corrélés. Or, comme pour l'attachement préférentiel, l'in-convénient de cette méthode est sa tendance à attribuer des similarités élevées aux utilisateurs ayant de nombreux voisins. De ce fait, la similaritéentre les utilisateurs disposant de peu de voisins tend à être faible, voire nulle.

Coefficient de Jaccard (JC) : le coefficient de Jaccard est une amélioration de la méthode voisins communs, Il mesure la similaritéentre deux noeuds par le nombre de voisins en commun divisépar le nombre total de voisins de ces noeuds. Il affecte des valeurs plus élevées aux paires de noeuds qui ont une grande proportion de voisins communs par rapport au total du nombre de voisins qu'ils ont. Cette mesure est définie comme suit :

Comparéaux deux méthodes précédentes, Jaccard a l'avantage de ne pas augmenter l'influence des utilisateurs disposant d'un grand nombre de voisins.

Adamic et Adar (AA) : [Ada03] à l'origine, cette une méthode est pour calculer la similaritéentre deux pages Web au premier à travers ces items en prenant en compte les items que ces deux utilisateurs ont en commun. La particularitéde cette méthode est que les items qui sont partagés par peu d'utilisateurs, ont un poids plus important que les items dont les occurrences sont élevées (i.e. les items

qui sont communs à plusieurs paires d'utilisateurs), après il a étélargement utilisédans les réseaux sociaux :

Selon l'équation, au lieu de considérer les items, nous considérons les voisins qu'au x et y ont en commun. L'idée de cette mesure consiste à introduire une pondération en fonction du nombre de voisins des voisins communs. Ainsi les voisins communs les moins connectés sont associés à un poids plus important.

Chapitre 2. État de l'art 23

Dans le tableau 2.1, nous comparons les mesures les plus populaires qui sont basées sur le voisinage selon trois principaux critères : la normalisation, la com-plexitétemporelle et leurs caractéristiques. Il existe en effet 3 mesures qui ne sont pas normalisées, c'est-à-dire la similaritéest calculéen utilisant ces mesures ayant une signification seulement si on construit une liste des scores ordonnées et il nous ne donne aucune information sur la topologie par exemple leurs degrés, proportion de leurs voisins communs par rapport aux tous les voisins etc.

La complexitétemporelle est un facteur important pour choisir des mesures en fonction de la taille d'un réseau social. Supposant que la moyenne de nombre de voisins d'un noeud dans un réseau social est n, pour deux noeuds x et y, la com-plexitétemporelle pour trouver tous les voisins d'un noeud est O(n), et la com-plexitétemporelle de l'intersection ou l'union de deux ensembles est O(n2). CN (Voisins communs) , AP (Attachement préférentiel) , JC (Coefficient de Jaccard) ont O(n2) par ce qu'ils ont besoin de calculer l'intersection et l'union de deux ensembles. AA (Adamic et Adar) a besoin de calculer l'intersection de deux ensembles et de trouver les voisins des voisins communs, par conséquent, la complexitétem-porelle sera O(2n2). Les caractéristiques de ces mesures sont aussi discutédans le tableau suivant.

Mesure

ou non

NormaliséComplexitéCaractéristiques

 

AP

Non

O(n2)

Simple, des noeuds ayant des degrés élevés sont plus susceptible d'être liée

CN

Non

O(n2)

Simple et intuitive

JC

Oui

O(n2)

Proportion des voisins communs sur les voisins total

AA

Non

O(2n2)

Voisins communs ayant moins de voisins sont pondérées plus lourdement

 

TABLE 2.1 - Quelques caractéristiques des mesures de similaritélocale [Wp15]

Finalement, nous devons prendre en compte qu'il existe un nombre important des algorithmes de prédiction de liens qui sont basés sur le voisinage, mais pour des expérimentations réels, plusieurs études ont montréqu'il n'existe pas une mesure de similaritéabsolu donne des bonnes prédictions pour n'importe quel réseau social.

· Chapitre 2. État de l'art 24

Mesures de similaritéglobales

Contrairement aux mesures de similaritélocales, les mesures globales nécessitent de connaître toute l'information topologique du réseau social. Ces approches se basent généralement sur l'hypothèse que dans le cas oùil existe plusieurs relations de longueurs différentes (3ème degréou plus), cela peut conduire à une relation entre ces deux personnes dans le futur.

Plus court chemin :[Win14] La mesure la plus directe pour calculer la simila-ritéentre deux noeuds est la distance entre eux. Il est défini comme la plus courte distance qui sépare x à y. Plus précisément, nous initialisons S = {x} et D = {y} . A chaque étape, nous élargissons les deux ensembles en incluant les voisins directes pour chaque noeud de manière récursive. Nous arrêtons si nous trouvons au moins un élément appartient à ces deux ensembles: S et D c'est-à-dire S nD =6 Ø, le plus court chemin dans ce cas est le nombre d'itérations. Une grande distance indique une faible similaritétandis qu'une courte distance indique une grande similarité.

Local path : [Lu09] Cette mesure prend en considération l'information des chemins locales entre les noeuds de longueurs 2 et 3 contrairement aux mesures qui prennent en compte que les voisins les plus proches, cette mesure exploite des informations additionnelles avec un chemin de longueur 3 depuis le noeud courant, évidement, les chemins de longueur 2 sont plus importants par rapport aux chemins de longueur 3 donc il y a un facteur d'ajustement appliquédans cette mesure.

Katz :[Kat53] Cette mesure basésur le principe que deux personnes dans un réseau social peuvent utiliser tous les chemins qui les relie surtout si ses chemins sont nombreux par rapport aux chemins de longueur inferieur, donc elle compte tous les chemins de différentes longueurs qui relient les pairs de noeuds, en utilisant une pondération en fonction de la longueur d'un chemin, tel que les chemins courts ont un poids élevépar rapport aux chemins longs qu'en lui affectant des poids faible.

·

Chapitre 2. État de l'art 25

Mesures basées sur les marches aléatoires

Les interactions entre les noeuds au sein d'un réseau social peuvent être aussi modélisées par des chaines Markoviennes, en affectant une probabilitéde transition a chaque lien entre chaque deux noeuds, la marche aléatoire saute d'un noeud à un autre et ce dernier représente un état d'une chaine de Markov, il existe un nombre assez important de mesures pour calculer la similaritéentre deux noeuds en se basant sur les marches aléatoires.

Hitting Time (HT) : [Fou07] Ht(x,y) est le nombre des étapes pour effectuer une marche aléatoires en partant d'un noeuds x à un noeud y.

Commute time(CT) : puisque la mesure Hitting time n'est pas symétrique, la mesure CT est symétrique c'est-à-dire elle considère le nombre des étapes pour partir d'un x jusqu'au noeud y est le même pour une marche aléatoire allant de y à x. CT(x,y) : Ht(x, y) = Ht(y, x)

SimRank (SR) : [JG02] est une adaptation de l'algorithme de Google qui permet de trier les pages web en selon leurs importance en fonction du nombre de pages qu'ils la référence. simRank est une mesure de similaritédans un graphe orienté, elle est basésur une idée simple : deux noeuds sont similaire s'ils référencent des noeuds qui sont aussi similaires, sachant que la similaritéd'un seul noeud égal à 1, elle calcule ce score à travers le nombre de leur voisins entrants et ces voisins à travers leurs voisins entrants et ainsi de suite jusqu'àarriver à un seul noeud.

La valeur de simRank peut être calculéavec deux marches aléatoires, l'une part d'un noeud x et l'autre à partir un noeud y, elle mesure après combien de temps les deux marches aléatoire stationnent sur le même noeud, le cas le plus favorable c'est que ce dernier est un voisin commun directe et dans ce cas la similaritéest maximale.

2.3.1.3 Mesures basées sur la théorie social

Dans de nombreux travaux récents, un nombre important des algorithmes développés, sont basés sur les théories sociaux classiques comme les communautés, les cen-tralités des noeuds, triades etc. ont étéproposépour résoudre le problème de prédiction des liens.

Chapitre 2. État de l'art 26

Chapitre 2. État de l'art 27

Valverde et Lopes [VJ13] ont combinéles informations topologiques avec la détection des communautés en prenant en considération les intérêts des utilisateurs, puis, ils ont essayéde prédire les futures liens dans le réseau social Twitter , ils ont définit la similaritéentre deux noeuds x et y qui appartiennent à deux communautés différentes Cx et Cy en fonction du nombre des voisins communs qu'ils les partagent dans la même communautédivisésur le nombre de leurs voisins communs total, ils ont montréque cette méthode est efficace et donne des bonnes prédictions.

Liu , Huz et Haddadi [Liu13] ont proposéun modèle de prédiction des liens basésur la combinaison des noeuds ayant des liens faible et les trois types de centralité(de degrés, intermédiaritéet proximité) des voisins communs, ils ont découvrit dans le contexte de leur travaille, que les noeuds centraux sont aussi important pour la prédiction des liens, les noeuds de degrés faible préfèrent établir des relations avec des noeuds centraux par rapport aux noeuds similaires. Ils ont proposéaussi un ensemble d'algorithmes qui peuvent capturer ces noeuds centraux dans les réseaux sociaux.

2.3.2 Méthodes basées sur l'apprentissage supervisé

Les méthodes d'apprentissage sont basés sur des nombreuses méthodes fournit par des mesures de similarités basiques comme les mesures topologiques ou les mesures qui exploitent les contenus des noeuds, les attributs internes et les informations externes, nombreux méthodes ont étéproposéces dernières années en citant par exemple la classification binaire supervisé[MH13]

2.3.2.1 Classification binaire

Supposant que nous avons deux noeuds x, y E V dans le réseau social G(V,E) et considérant L(x,y) est une étiquette de ce pair de noeuds (x,y), dans la prédiction des liens chaque paire de noeuds non connectécorrespond à une instance inclut la classe et un ensemble des caractéristique décrits les pair de noeuds, en plus , le pair étiquetécomme négative s'il n'existe pas un lien entre ces deux noeuds, s'il existe déjàun lien, il est étiquetécomme positif, l'étiquette (x,y) est définit comme suit :

f

+1 si (x,y)E E

l(x,y) =

-1 si (x,y)/E E

Ensuite nous pouvons construire un vecteur d'informations qui contient un ensemble des valeurs (poids) des mesures de similaritéentre tous les noeuds dans un réseau social plus une étiquète de chaque paire, ensuite, nous utilisons n'importe quelle méthode d'apprentissage supervisépour résoudre ce modèle en l'occurrence les SVM, les réseaux de neurones et les méthodes probabilistes comme les réseaux bayésiens...

Pour construire un classifieur efficace et donne des bonnes prédiction de liens, il est important de définir et extraire un ensemble de caractéristiques appropriépour chaque réseau social, les caractéristiques fournit par les noeuds, la topologie et la théorie social sont populaires et important pour les modèles de classification, en plus, plusieurs études expérimentaux ont montréque la combinaisons entre des attributs fournit par des noeuds et des liens (comme l'âges ,les intérêts, nombres d'interactions...) peuvent améliorer la précision d'un classifieur, cependant ces informations ne sont pas toujours accessible pour les fouilleurs.

Conclusion

Nous avons introduit dans ce chapitre l'analyse des réseaux sociaux, parmi les méthodes d'analyse des réseaux sociaux nous avons présentéun état de l'art qui résume les principaux travaux qui ont étémenés autour le problème de prédiction des liens qui est au coeur de ce mémoire. Nous avons présentéles principales approches existantes pour résoudre ce problème, en l'occurrence des approches basée sur le contenu des noeuds, des approches exploitant des propriétés topologiques du réseau et des méthodes d'apprentissage supervisé.

Pour nos travaux, nous avons choisi deux mesures de similaritéqui ont basésur les motifs topologique d'un réseau social, la première mesure c'est la mesure de Adamic et Adar et la deuxième c'est voisins communs.

Dans le chapitre qui suit, nous allons expliquer en détail les principes de fonctionnement de chacune de ces deux mesures de similarité. Ensuite nous implémentons ces deux fonctions dans le but est de faire une comparaison basée sur les résultats de cette implémentation.

28

Chapitre 3

Les fonctions : Adamic/Adar et

voisins communs

Dans ce chapitre, nous allons présenter en détail les principes des deux approches de prédiction des liens que nous avons choisi, voire la mesure de similaritéAda-mic/Adar et Voisins Communs, nous présentons des exemples simples pour bien comprendre leur fonctionnement.

3.1 La fonction de similarité: Adamic/Adar

3.1.1 Origine de la méthode

Cette mesure à étéproposépar [Ada03], est une méthode d'extraction des réseaux d'amis des universités de Stanford et du MIT, à partir des pages personnelles des étudiants. Les étudiants de ces universités, au moment de l'étude, avaient pour usage de mettre des items textuels comme par exemple leurs intérêts, les groupes ou ils appartiennent, leurs localisations géographiques, des hyperliens de leur page personnelle vers les pages personnelles de leurs amis. Ainsi, dans un premier temps, les auteurs démontrent que le graphe formépar la structure en hyperliens de ces pages possède les propriétés des réseaux sociaux : »small world», distribution des degrés en loi de puissance, et un taux de clustering élevé. Ensuite, un indice de simi-laritéentre les pages personnelles est défini à partir de la co-occurrence d'éléments textuels et de la présence d'hyperliens entre les pages.

Les auteurs ont trouvéque deux étudiants plus qu'ils mentionnent des items communs dans leurs pages web, plus ils sont similaires dans leurs vie réel et donc, il existe une relation forte entre eux. Ils ont prouvéaussi que par exemple un

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 29

item commun mentionnépar deux étudiants seulement à une similaritéplus élevéqu'un item commun partagépar 5 étudiants, pour cela, ils ont choisi une formule mathématique pour attribuer des poids aux items communs en fonction du nombre de personne qu'ils les partagent, ils ont utilisél'inverse de ln x pour attribuer des poids élevéau items rarement partagé, par exemple un item partagépar deux étudiants à un poids égal à 1

ln 2, un item partagépar 1000 étudiants sera égal à1

ln 1000.

3.1.2 Principe de la méthode

Comme nous avons citéprécédemment, au lieu de considérer les items, nous considérons les voisins communs dans un réseau social, pour chaque paire de noeuds

(x, y) non connecté, nous calculons la similaritéentre x et y en fonction de degréde leurs voisins communs. Cette mesure est similaire à la mesure Common Neigh-

bors que nous avons la défini dans le chapitre précédent mais elle est adaptée à la tâche d'attribution des poids élevéaux noeuds rarement partagédans un réseau social. Après avoir calculéles similarités entre toutes les pairs de noeuds dans le réseau social, ces derniers sont stockés de manière ordonnés en ordre décroissant dans une liste. Le résultat de la prédiction sera tout simplement les K premiers pairs de noeuds qui ont des valeurs de similaritéles plus élevé.

3.1.2.1 Calcul de la matrice de similarité

Cette mesure de similarités'obtient en calculant la somme de l'inverse de logarithme de dégrées des voisins communs pour chaque paire non connectéet qui partagent un ensemble de voisins comme il est indiquée dans la formule suivante:

3.1.3 Exemple pratique

Supposons que nous avons une capture d'un réseau social constituéde 15 noeuds et 15 liens à l'instant t, tel que les noeuds sont des personnes et les liens indiquent qu'il existe une relation d'amitiéentre eux, comme il est illustrédans la figure 3.1 :

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 30

FIGURE 3.1 - Exemple d'une capture d'un reseau social

Sur cette figure, nous cherchons à inférer les nouveaux liens qui peuvent être apparaissent à l'instant t' > t , pour cela nous allons calculer la similaritéentre chaque paire non connecté, premièrement par l'algorithme de Adamic/Adar. Les étapes d'exécution de l'algorithme de Adamic/Adar est illustrédans la figure suivante, nous allons détailler par la suite chaque étape :

· Etape 1 : nous construisons la matrice d'adjacence de ce petit réseau social, tel que les lignes et les colonnes sont des personnes et leurs intersections indiquent s'il existe une relation d'amitiéentre eux ou non, la valeur 1 indique que ces deux personnes sont des amis, 0 sinon. 3.1

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 31

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

A

0

1

0

1

1

1

0

0

0

0

0

0

0

0

0

B

1

0

1

0

0

0

0

0

1

0

1

1

0

0

0

C

0

1

0

1

0

0

0

0

0

1

0

0

1

0

0

D

1

0

1

0

0

0

1

1

0

0

0

0

0

0

0

E

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

F

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

G

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

H

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

I

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

J

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

K

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

L

0

1

0

0

0

0

0

0

0

0

0

0

0

1

1

M

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

N

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

O

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

 

TABLE 3.1 - Représentation du réseau social par une matrice d'adjacence

· Etape 2 : En utilisant la formule de Adamic/Adar, on peut facilement calculer la matrice de similarité, les intersections entre des lignes et des colonnes indiquent la similaritéentre les deux personnes(x, y) qui ne sont pas des amis 3.2.

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

A

0.0

0.0

1.34

0.0

0.0

0.0

0.72

0.72

0.62

0.0

0.62

0.62

0.0

0.0

0.0

B

0.0

0.0

0.0

1.44

0.72

0.72

0.0

0.0

0.0

0.72

0.0

0.0

0.72

0.91

0.91

C

1.34

0.0

0.0

0.0

0.0

0.0

0.72

0.72

0.62

0.0

0.62

0.62

0.0

0.0

0.0

D

0.0

1.44

0.0

0.0

0.72

0.72

0.0

0.0

0.0

0.72

0.0

0.0

0.72

0.0

0.0

E

0.0

0.72

0.0

0.72

0.0

0.72

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

F

0.0

0.72

0.0

0.72

0.72

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

G

0.72

0.0

0.72

0.0

0.0

0.0

0.0

0.72

0.0

0.0

0.0

0.0

0.0

0.0

0.0

H

0.72

0.0

0.72

0.0

0.0

0.0

0.72

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

I

0.62

0.0

0.62

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.62

0.62

0.0

0.0

0.0

J

0.0

0.72

0.0

0.72

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.72

0.0

0.0

K

0.62

0.0

0.62

0.0

0.0

0.0

0.0

0.0

0.62

0.0

0.0

0.62

0.0

0.0

0.0

L

0.62

0.0

0.62

0.0

0.0

0.0

0.0

0.0

0.62

0.0

0.62

0.0

0.0

0.0

0.0

M

0.0

0.72

0.0

0.72

0.0

0.0

0.0

0.0

0.0

0.72

0.0

0.0

0.0

0.0

0.0

N

0.0

0.91

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.91

O

0.0

0.91

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.0

0.91

0.0

 

TABLE 3.2 - Matrice de similarité: Adamic/Adar

·

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 32

Etape 3 : Nous stockons dans une liste ordonnée de manière décroissante toutes les valeurs de similarités obtenus à travers la matrice de similaritéAda-mic/Adar. Puis en se basant sur le principe que plus la similaritéest élevée plus il y a de chance pour que les paires de noeuds soient connectés dans le futur, pour cela nous choisissons les k premiers pairs qui ont des valeurs de similarités les plus élevés. pour notre exemple, nous avons choisi les 5 premières paires qui ont des valeurs de similaritéles plus élevés 3.3 :

(x,y)

Similarité(x,y)

(1,3)

1.44

(0,2)

1.34

(1,13)

0.91

(1,14)

0.91

(13,14)

0.91

(0,6)

0.72

(0,7)

0.72

(1,4)

0.72

. . .

. . .

(0,8)

0.62

. . .

. . .

(10,11)

0.62

 

TABLE 3.3 - Liste de similaritéde Adamic/Adar

· Etape 4 : nous construisons la nouvelle matrice d'adjacence tout simplement à travers l'ancienne matrice en ajoutant les 5 nouveaux liens choisi comme il est indiquédans la matrice 3.4 :

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 33

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

A

0

1

1

1

1

1

0

0

0

0

0

0

0

0

0

B

1

0

1

 

100

 

0

0

1

0

1

1

0

1

1

C

1

1

0

1

0

0

0

0

0

1

0

0

1

0

0

D

1

1

1

0

0

0

1

1

0

0

0

0

0

0

0

E

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

F

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

G

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

H

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

I

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

J

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

K

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

L

0

1

0

0

0

0

0

0

0

0

0

0

0

1

1

M

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

N

0

1

0

0

0

0

0

0

0

0

0

1

0

0

1

O

0

1

0

0

0

0

0

0

0

0

0

1

0

1

0

 

TABLE 3.4 - Nouvelle matrice d'adjacence aprés l'exécution de Adamic/Adar

· Finalement, nous pouvons visualiser notre nouveau réseau social après la prédiction sur cette figure3.2 :

FIGURE 3.2 - L'état du réseau aprés l'exécution de Adamic/Adar

3.2 Chapitre 3. Les mesures : Adamic/Adar et voisins communs 34

La fonction de similarité: Voisins communs

3.2.1 Origine de la méthode

[New01] a étudiéles réseaux de collaboration scientifique en physique et en biologie, pour cela, il a utilisédeux bases de données bibliographiques :

1. The Los Alamos E-print Archive : est une base de données bibliographique contient les prépublications soumis par leurs co-auteurs.

2. Medline : est une base de donnes des articles publiéen biologie et en médecine.

Ainsi, dans un premier temps, l'auteur démontre que le graphe formépar la structure des noeuds qui l'ont considérécomme des co-auteurs et les liens indiquent s'ils ont publiéau moins un article ensemble, cette structure a les propriétés des réseaux sociaux : »small world», distribution des degrés en loi de puissance, et un taux de clustering élevé. Ensuite, son contribution est que la probabilitéd'apparition des nouvelles collaborations entre les auteurs qui n'ont pas encore publiéensemble augmente en fonction du nombre de collaborateurs qu'ils ont en communs.

3.2.2 Principe de la méthode

Au lieu de considérer les réseaux de collaboration scientifique, nous pouvons appliquer la mesure de voisins communs sur la relation d'amitiédans notre réseau social, pour chaque paire de noeuds (x, y) non connecté, la similaritéentre deux personnes est tout simplement le nombre de leurs voisins communs. La fonction CommonsNeighbors utilise une matrice d'adjacence qui représente une capture d'un réseau social à une instant donnée ou les lignes et les colonnes représentent des personnes. Après avoir calculéles similarités entre toutes les paires de noeuds non connectés de ce petit réseau social. Le résultat de la prédiction sera tout simplement les K premières paires qui ont les valeurs de similarités les plus élevés.

3.2.2.1 Calcul de la matrice de similarité

Cette mesure consiste à calculer le nombre des voisins communs pour chaque pair non connectéet qui partage un ensemble de voisins comme il est indiquédans la formule suivante : Avec le même exemple, nous calculons la similaritéentre les personnes à partir la matrice d'adjacence de notre réseau social, comme nous avons indiquéprécédemment, nous avons résumél'exécution de cette algorithme en seulement 3 étapes comme il est indiquédans la figure suivante :

·

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 35

Etape 1 : c'est tout simplement la création de la matrice d'adjacence de notre réseau social

· Etape 2 : Cette étape consiste à calculer la similaritétopologique entre chaque paire non connecté, la similaritédans ce cas est le nombre de voisins communs de ce pair 3.5

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

A

0

0

2

0

0

0

1

1

1

0

1

1

0

0

0

B

0

0

0

2

1

1

0

0

0

1

0

0

1

1

1

C

2

0

0

0

0

0

1

1

1

0

1

1

0

0

0

D

0

2

0

0

1

1

0

0

0

1

0

0

1

0

0

E

0

1

0

1

0

1

0

0

0

0

0

0

0

0

0

F

0

1

0

1

1

0

0

0

0

0

0

0

0

0

0

G

1

0

1

0

0

0

0

1

0

0

0

0

0

0

0

H

1

0

1

0

0

0

1

0

0

0

0

0

0

0

0

I

1

0

1

0

0

0

0

0

0

0

1

1

0

0

0

J

0

1

0

1

0

0

0

0

0

0

0

0

1

0

0

K

1

0

1

0

0

0

0

0

1

0

0

1

0

0

0

L

1

0

1

0

0

0

0

0

1

0

1

0

0

0

0

M

0

1

0

1

0

0

0

0

0

1

0

0

0

0

0

N

0

1

0

0

0

0

0

0

0

0

0

0

0

0

1

O

0

1

0

0

0

0

0

0

0

0

0

0

0

1

0

 

TABLE 3.5 - Matrice de similarité: common Neighbors

· Etape 3 : de la même manière, nous avons construit une liste qui contient toutes les valeurs de similaritétrouvé, nous allons trier cette dernière en ordre décroissant, ensuite nous choisissons les k premières paires qui ont des valeurs de similaritémaximum, puisque l'idée c'est plus la similaritéest élevéentre un pair non connectéplus nous allons une forte probabilitéque ce pairs liée dans le futur, par exemple, nous allons choisi k = 5, c'est le même nombre des pair choisi pour l'algorithme précédent afin de voir les différences entre les deux algorithmes 3.6 :

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 36

TABLE 3.7 - Nouvelle matrice d'adjacence aprés l'exécution de Common Neigh-

bors

(x,y)

Similarité(x,y)

(0,2)

2

(1,3)

2

(0,6)

1

(0,7)

1

(0,8)

1

(0,10)

1

(0,11)

1

(1,4)

1

. . .

. . .

(3,12)

1

. . .

. . .

(13,14)

1

 

TABLE 3.6 - Liste de similaritéde Common Neighbors

· voici la nouvelle matrice d'adjacence de ce réseau social 3.7 :

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

A

0

1

1

1

1

1

1

1

1

0

0

0

0

0

0

B

1

0

1

1

0

0

0

0

1

0

1

1

0

0

0

C

1

1

0

1

0

0

0

0

0

1

0

0

1

0

0

D

1

1

1

0

0

0

1

1

0

0

0

0

0

0

0

E

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

F

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

G

1

0

0

1

0

0

0

0

0

0

0

0

0

0

0

H

1

0

0

1

0

0

0

0

0

0

0

0

0

0

0

I

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

J

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

K

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

L

0

1

0

0

0

0

0

0

0

0

0

0

0

1

1

M

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

N

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

O

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

 

·

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 37

Finalement, nous pouvons visualiser notre nouvelle état du réseau social après la prédiction sur cette figure 3.3 :

FIGURE 3.3 - L'état de réseau social aprés l'exécution de Common Neighbors

3.3 Mesures de performances

Nous avons choisis comme mesures de performance : le rappel, la précision ainsi que le rapport entre les deux caractérisépar la F-mesure [LC12] , nous allons voir en détail le principe de chaque mesure de performance dans le contexte de la prédiction des liens, dont le but est de faire une comparaison entre les résultats de ces deux algorithmes Adamic/Adar et Commons Neighbors.

Notant que nous pouvons mesurer les performances de nos algorithmes seulement si nous prendrions une nouvelle capture de notre réseau social, ce qui nous permet de voir les différences entre le réseau social réel et le réseau sociaux prédit.

Nous distinguons 4 types des liens dans un réseau social :True Positif (TP), False

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 38

Positif (FP), False Negatif (FN) et True Negatif (TN), nous les représentons dans la matrice suivante 3.8 :

 

Nouvelle capture : +

Nouvelle capture : -

Prédit à: +

TP

FP

Prédit à : -

FN

TN

TABLE 3.8 - Matrice de confusion

- TP : sont des liens ajoutés après la prédiction, et ils ont apparut aussi dans la nouvelle capture de réseau social.

- FP : sont des liens ajoutéaprès la prédiction, et qui ne sont pas inclut dans l'ensemble des liens de la nouvelle capture de réseau social.

- FN : sont des liens qui ne sont pas ajoutés après la prédiction, et ils sont ajoutés dans le nouvel état de réseau social.

- TN : sont des liens qui n'ont pas ajoutéaprès la prédiction, et qui n'existent pas dans la nouvelle état de réseau social.

la figure 3.4 illustre les différents types des liens pour calculer les performances d'un algorithme de prédiction des liens :

FIGURE 3.4 - Les différents types des liens: TP, FP, FN

Dans notre contexte, le rappel correspond au rapport du nombre des liens ajoutéaprès la prédiction et ils ont inclut aussi dans l'ensemble des liens observédans la

3.3.1 Le rappel

Chapitre 3. Les mesures : Adamic/Adar et voisins communs 39

nouvelle capture d'un réseau social, sur le nombre total des liens ajoutédans la nouvelle capture de ce même réseau social, ce rapport a étécalculéà l'aide de la formule :

Rappel = T P

TP+FN

3.3.2 La précision

La précision correspond au rapport du nombre des liens ajoutéaprès la prédiction et observéaussi dans la nouvelle capture d'un réseau social, sur le nombre total des liens ajoutéaprès la prédiction, nous l'avons calculéà l'aide de la formule :

Précision = T P

TP+FP

3.3.3 La F-mesure

Une mesure qui combine entre le rappel et la précision en effectuant une moyenne entre ces deux, plusieurs variantes de cette mesure ont étéproposées, la variante la plus populaire est définie par la formule :

F-mesure = 2×Rappel×Précision

Rappel+Précision

Conclusion

Dans ce chapitre, nous avons vu la motivation et les principes de fonctionnement de chacune des deux mesures de similarité: Adamic/Adar et Commons Neighbors. Nous avons également présentédes exemples illustrant d'avantage ces deux techniques.

Dans le chapitre suivant nous allons présenter l'application que nous avons développéainsi notre processus expérimental pour comparer ces deux mesures.

40

Chapitre 4

Implémentation et

Expérimentations

Dans ce chapitre nous visons à présenter notre projet, l'outil que nous avons développéainsi que les différentes expérimentations que nous avons effectuépour évaluer et comparer les deux mesures de similaritéAdamic/Adar et Common Neighbors dans le contexte de la prédiction des liens dans les réseaux sociaux, l'ensemble de données utiliséest construite à partir d'un réseau de collaboration scientifique des chercheurs de laboratoire de Mathématiques et d'informatique de l'universitéAmar Telidgi.

4.1 Environnement de travail

Nous avons implémentéles deux algorithmes de prédiction des liens en JAVA, il s'agit d'un langage de programmation objet, gratuit et portable, ce qui lui a permis d'être parmi les langages les plus utilisé. Il a étédéveloppépar la firme Sun Microsystems en 1995, cette dernière a étérachetée en 2009 par Oracle. Le JDK (Java Development Kit) et le JRE (Java Runtime Environnent) peuvent être gratuitement téléchargés sur le site officiel 1 .

Nous avons utiliséla version JDK1.8 dans un ordinateur portable dotéd'un processeur Intel R Dual core @ 2.00 GHz (2 CPUs), avec une mémoire vive (RAM) de 2GO qui fonctionne sur le système d'exploitation Microsoft Windows 7 Professional 32 bits. Pour l'éditeur, nous avons choisi L'IDE (Integrated Development Environment) NetBeans IDE 8. Il s'agit de la dernière version de Netbeans, ce dernier est parmi les éditeurs java les plus appréciés, cette forte appréciation est

1. http :// www.oracle.com/technetwork/java/javase/downloads/index.html

Chapitre 4. Implémentation et Expérimentations 41

due à de multiples avantages notamment les simplifications d'édition et la facilitéde la création des interfaces graphiques par l'option drag and drop. Ils intègrent

les fonctionnalités suivantes :

1. Éditeur de textes avec coloriage syntaxique

2. L'option auto Complète (menus contextuels suggère de multiples choix).

3. Génération automatique des conteneurs et dossiers nécessaires à l'organisa-tion d'un projet et des paquetages des classes.

4. Intégration des commandes Java et de leurs options dans des menus et des boîtes de dialogue appropriés.

5. Débogueur pour corriger les erreurs.

6. Proposition pour la résolution automatique de quelques erreurs de programmation

Nous avons visualiser notre réseau social avec NodeXL, c'est un outil gratuit d'ex-ploration et d'analyse des réseaux sociaux. En effet, NodeXL est facile d'utilisation et simple à assimiler. Il permet à l'utilisateur de s'initier à l'analyse des réseaux sociaux et manipuler des graphes sociaux. Parmi la panoplie d'outils disponibles sur le marché, nous avons trouvéque NodeXL est le mieux adaptéà un public large.

Celui-ci reprend l'utilisation de feuilles de calcul du tableur pour y afficher dans un premier temps des données qui permettront de produire un graphe sous la forme noeud-lien. L'utilisation des feuilles de calcul permet un import souvent direct ou plus aisée des données.

Toutefois, comme il s'agit de produire un graphe relationnel sous la forme noeud-lien, il est demandéà l'utilisateur de mettre en évidence les relations (arêtes) entre les entités. Pour cela, les données doivent être présentées suivant un format strict. Chaque ligne de la table décrit une arête qui sera identifiéa l'aide des deux entités (sommets) qu'elle met en relation. Les sommets sont stockées dans les deux premières colonnes de la ligne puis suit une liste d'attributs qui seront affectés àl'arête.

Pour ce qui est de la présentation du réseau sous forme noeud-lien, l'utilisateur a le choix entre plusieurs algorithmes de dessin qu'il peut relancer à chaque fois qu'il apporte une modification au graphe. Ces modifications peuvent être faite soit directement dans la représentation noeud-lien soit dans la table. Ce module permet

Chapitre 4. Implémentation et Expérimentations 42

donc d'importer un réseau social, d'en construire une représentation et enfin de pratiquer une analyse visuelle. Les points forts du module nodeXL sont :

1. la construction d'un graphe noeud-lien a partir d'une table.

2. le calcul automatique de métriques grâce a la puissance du tableur.

3. analyse visuelle du réseau.

4. un module intégrée au Microsoft Excel. la figure 4.1 résume tous ce que nous avons dit :

FIGURE 4.1 - L'interface de NodeXL

4.2 Description de l'application

Afin de comparer les deux fonctions de prédiction des liens, il est nécessaire de les appliquer sur les mêmes données et dans le même contexte, pour cela, nous avons

4.2.1 Algorithmes et explications

Chapitre 4. Implémentation et Expérimentations 43

choisi d'utiliser le même réseau social. Comme le langage que nous avons utiliséest un langage objet, nous avons profitéde cet aspect de programmation durant

le développement de l'outil d'expérimentation. L'organigramme global suivant 4.2 présente les différentes étapes de l'implémentation :

FIGURE 4.2 - L'organigramme de l'application

L'étape (2) : C'est une étape très importante, il s'agit des opérations d'entrée/sortie dans laquelle le programme lit le réseau social à partir du fichier texte, notre réseau social est stockésous une forme matricielle, ce qu'il facilite son interprétation. L'étape (3) : Ce niveau de calcul est distinguéen deux étapes indépendantes,

Chapitre 4. Implémentation et Expérimentations 44

une étape consiste à appliquer la fonction qui calcul la matrice de similaritéAda-mic/Adar et l'autre consiste à appliquer la fonction de similaritéVoisins communs, à partir de la matrice d'adjacence.

L'étape (4) : consiste à recalculer la nouvelle matrice d'adjacence pour chaque algorithme en ajoutant les liens prédits.

L'étape (5) : Cette étape consiste à mesurer les performances de nos algorithmes

de prédiction des liens, nous prenons les deux matrices d'adjacence construit àpartir de l'étape précédente et nous les comparons avec une nouvelle capture de

ce même réseau social.

Dans la suite nous allons voir les fonctions et les procédures qui sont incluent dans chaque étape.

4.2.1.1 Construire la matrice de Adamic et Adar

Le pseudo code suivant [1] représente l'exécution de l'algorithme de Adamic et Adar. la fonction Adamic et Adar commence par récupérer la matrice d'adjacence de réseau social, puis elle recherche pour tous pairs de noeuds non connecté, leurs voisins commun, s'ils existent elle fait appel à une autre fonction (degreenoeud(k)) qui calcul le degréde chaque voisin commun en lui passant comme paramètre, puis

elle calcul l'inverse de log de degréde ce dernier. A la fin la matrice de similaritéreçoit la somme des inverses delog dégrée de tous les voisins communs pour tous les

pairs non connecté, par convention la similaritéentre deux noeuds déjàconnec(dans la matrice d'adjacence (M(i, j) = 1)) est égal à 0, ainsi la similaritéentre un noeud et le même noeud est aussi égal à 0.

Chapitre 4. Implémentation et Expérimentations 45

Algorithm 1 Algorithme de Adamic et Adar

1: function DEGREE NOEUD(adj,k)

2: entier degree +- 0

3: entier N +- adj.length

4: fori +- 1 to N do

5: if adj(k, i) = 1 then

6: degree +- degree + 1

7: end if

8: end for

9: return degree

10: end function

11: function ADAMIC ET ADAR(adj)

12: Output matrice de similarité: adamicAdar

13: double freq +- 0

14: entier N +- adj.length

15: fori +- 1 to N do

16: forj +- 1 to N do

17: if i = j then

18: adamicAdar(i, j) +- 0

19: else

20: if adj(i, j) = 1 then

21: adamicAdar(i, j) +- 0

22: else

23: for k +- 1 to N do

24: if adj(i, k) = 1 ? adj(k, j) = 1 then

1

25: freq +- freq + ln(DEGREE NoEUD(M,k))

26: adamicAdar(i, j) +- freq

27: end if

28: end for

29: freq +- 0

30: end if

31: end if

32: end for

33: end for

34: return adamicAdar

35: end function

Chapitre 4. Implémentation et Expérimentations 46

4.2.1.2 Construire la matrice de Commons Neighbors

la multiplication matricielle est la solution la plus intuitive pour trouver les voisins communs entre chaque deux noeuds non connecté, si M est la matrice d'adjacence qui indique les chemins de longueurs 1 (voisin directe), alors M2 est la matrice qui indique les chemins de longueur 2 entre chaque deux noeuds, c'est-à-dire se sont voisins des voisins, si nous trouvons par exemple M2(i, j) = 2 ça veux dire qu'il existe deux chemins de longueur 2 entre i et j et donc forcement il existe 2 voisins communs entre i et j, nous avons effectuer une modification dans laquelle M2(i, i) = 0 et M2(i, j) = 0 si i et j sont des voisins directe dans la matrice d'adjacence c'est-à-dire M(i, j) = 1, le pseudo code[2] résume ce calcul :

Algorithm 2 Algorithme de Commons Neighbors

1: function COMMON NEIGHBORS(adj)

2: Input matrice: adj

3: Output matrice de similarité: commonNeighbors

4: entier N +- adj.length

5: for i +- 1 to N do

6: for j +- 1 to N do

7: if i = j V adj(i,j) = 1 then

8: commonNeighbors(i, j) +- 0

9: else

10: fork+-1toNdo

11: commonNeighbors(i, j) +- CN(i, j) + adj(i, k) x adj(k, j)

12: end for

13: end if

14: end for

15: end for

16: return commonNeighbors

17: end function

4.2.1.3 Construire la nouvelle matrice d'adjacence

Comme nous avons citédans les chapitres précédents, les algorithmes de prédiction des liens calculent des scores selon un paramètre topologique entre chaque deux noeuds non connecté, un score élevéindique une probabilitéélevéque cette paire soit connectédans le futur, en se basant sur ce principe, nous avons construit une liste contient toutes les valeurs de similaritétrouvéaprès l'exécution d'un tel algorithme, cette liste est ordonnée de manière décroissante, ensuite la spécification

Chapitre 4. Implémentation et Expérimentations 47

des nouveaux liens prédit dépend seulement de l'utilisateur, donc il a le choix sur les K premiers liens dans la liste qui ont les valeurs de similaritéles plus élevé, à la fin il nous reste qu'àrécupérer les indices des ces valeurs choisi ( c'est-à-dire le pair (i, j) ) en mettant un 1 dans la nouvelle matrice d'adjacence et ainsi de suite, nous notons aussi que nous avons gardétous les liens qu'ils existent dans la matrice d'adjacence en leurs mettant dans la nouvelle matrice d'adjacence[3] :

Algorithm 3 Construction de la nouvelle matrice d'adjacence

1: Input matrice : ancien, similarite

2: entier K, N +- ancien.length

3: Output matrice : nouvelle

· Stocker toutes les valeurs (6= 0) de similarités calculés dans une liste.

· Trier la liste en ordre décroissant selon les valeurs de similarités.

4: for i +- 1 to N do

5: for j +- 1 to N do

6: if ancien(i,j) = 1 then

7: nouvelle(i,j) +- 1

8: else

9: fork+-1toKdo

10: if i = indice i de kiéme élément dans la liste ? j = indice j de kiéme élément dans la liste then

11: nouvelle(i,j) +- 1, nouvelle(j,i) +- 1

12: end if

13: end for

14: end if

15: end for

16: end for

4.2.1.4 Calculer les mesures de performance

Cette étape consiste à voir les différences entre la matrice d'adjacence calculés en lui comparant avec une nouvelle matrice d'adjacence qui représente une capture de ce même réseau social, pour cela nous avons utiliséles mesures que nous avons définit dans le chapitre 3 : Le rappel, la précision et la F-mesure, pour le rappel nous avons calculéla quantitédes liens prédit correctement sur le nombre de tous les nouveaux liens qui sont apparut dans la nouvelle capture, la précision indique seulement le nombre des liens prédit correctement sur les K liens spécifiés par l'utilisateur, finalement la F-mesure est une moyenne entre la précision et le rappel[4] :

Chapitre 4. Implémentation et Expérimentations 48

Algorithm 4 Précision, Rappel et F-mesure

1: function PR'EcIsIoN(avant,apres,snapshot)

2: Output : double precision

3: entier tp +- 0

4: entier fp +- 0

5: entier N +- avant.length

6: for i +- 1 to N do

7: for j +- i + 1 to N do

8: if avant(i, j) = 0 ? apres(i, j) = 1 ? snapshot(i, j) = 1 then

9: tp +- tp + 1

10: end if

11: if avant(i, j) = 0 ? apres(i, j) = 1 ? snapshot(i, j) = 0 then

12: fp+-fp+1

13: end if

14: end for

15: end for

16: return precision +- tp tp+fp

17: end function

18: function RAPPEL(avant,apres,snapshot)

19: Output : double rappel

20: entier tp +- 0

21: entier fn +- 0

22: entier N +- avant.length

23: for i +- 1 to N do

24: for j +- i + 1 to N do

25: if avant(i, j) = 0 ? apres(i, j) = 1 ? snapshot(i, j) = 1 then

26: tp +- tp + 1

27: end if

28: if avant(i, j) = 0 ? apres(i, j) = 0 ? snapshot(i, j) = 1 then

29: fn+-fn+1

30: end if

31: end for

32: end for

33: return rappel+- tp tp+fn

34: end function

35: function F-MEsuRE(Precision, Rappel)

36: Output : double fmesure

37: fmesure +- PR'EcIsIoN(avant,apres,snapshot)×RAPPEL(avant,apres,snapshot) PR'EcIsIoN(avant,apres,snapshot)+RAPPEL(avant,apres,snapshot)

38: return fmesure

39: end function

Chapitre 4. Implémentation et Expérimentations 49

4.2.2 Représentation de l'application

La figure 4.3 représente une capture d'écran de l'application, l'outil que nous avons développépour évaluer et comparer les deux fonctions de prédiction des liens.

· Menu de l'application : pour quitter ou voir quelques informations sur l'ap-plication.

· Paramétrage : Représente les différents paramètres nécessaires pour l'exécution des deux fonctions, on distingue un menu déroulant pour préciser le réseau so-cial,(nous avons expérimenter seulement un réseau social), Il existe aussi deux zones de texte pour spécifier le nombre des liens choisi »K» pour les deux algorithmes de prédiction.

· Résultats et mesures de performances : Un simple tableau qui affiche l'ordre des liens qui ont étéprédit par les deux algorithmes en fonction de K, il existe aussi un autre espace oùles différents mesures de performances, un tableau affiche le rappel, la précision ainsi que la F-mesure pour les deux fonctions.

· Temps d'exécution : dans cet espace, le temps d'exécution est affichépour comparer les deux fonctions en point de vue de complexité.

FIGURE 4.3 - L'interface globale de l'application

Chapitre 4. Implémentation et Expérimentations 50

4.3 Expérimentations et résultats

Pour assurer une comparaison efficace entre les deux fonctions, nous avons les testés sur un réseau de collaboration scientifique au laboratoire de mathématiques et d'informatique de notre université, pour cela nous avons essayer de construire deux captures de ce réseau, l'une à 2011 et la deuxième à 2015, ensuite nous allons essayer de prédire l'apparition des nouveaux liens pendant la période [2011,2015]. Pour effectuer la prédiction par les deux fonctions que nous avons présenté, Nous avons envisagéune opération de pré-traitement, cette dernière consiste à effectuer sur l'ensemble des noeuds et des liens les opérations suivantes :

1. Nous allons assurer de prendre les mêmes noeuds (représentent des chercheurs) pour les deux captures (2011 et 2015).

2. Nous avons assurer aussi de garder les liens (représentent des collaborations entre les chercheurs) en 2011 même s'ils sont disparu dans le réseau de collaboration en 2015.

les figures 4.4 et 4.5 représentent les deux captures que nous avons construit en 2011 et en 2015 respectivement :

FIGURE 4.4 - Capture du réseau de collaboration construite en 2011

Chapitre 4. Implémentation et Expérimentations 51

FIGURE 4.5 - Capture du réseau de collaboration construite en 2015

Nous avons utilisél'outil NodeXL pour visualiser les résultats de chacune de ces deux fonctions pour les 70 premiers liens que nous avons choisi dans les figures 4.6 et 4.7, Nous notons que avons visualiser que les liens prédit correctement puisque les deux fonctions ajoutent 96 liens. Nous pouvons remarquer que l'algorithme Adamic/Adar a prédit correctement 1 lien plus par rapport à l'algorithme Common Neighbors.

Chapitre 4. Implémentation et Expérimentations 52

FIGURE 4.6 - Réseau social obtenu après l'exécution de la fonction: Adamic/A-

dar

Chapitre 4. Implémentation et Expérimentations 53

FIGURE 4.7 - Réseau social obtenu après l'exécution de la fonction: Commons

neighbors

Le tableau 4.1 résume les différentes mesures que nous avons effectuées pour juger les performances des deux fonctions. Nous avons fait varier K (nombre des liens) de 10 jusqu'à90.

Chapitre 4. Implémentation et Expérimentations 54

 

Adamic/Adar

Commons Neighbors

K

Temps

Rappel

Précision

F-mesure

Temps

Rappel

Précision

F-mesure

10

1208526

0.0%

0.0%

0.0%

631793

0.0%

0.0%

0.0%

20

1151133

0.0%

0.0%

0.0%

627128

0.0%

0.0%

0.0%

30

1069943

0.0%

0.0%

0.0%

634593

0.0%

0.0%

0.0%

40

1148800

40.0%

5.0%

8.9%

628527

20.0%

2.5%

4.4%

50

1240723

40.0%

4.0%

7.3%

632727

20.0%

2.0%

3.6%

60

1150200

60.0%

5.0%

9.2%

629460

40.0%

2.9%

6.2%

70

1083008

80.0%

5.7%

10.7%

629461

40.0%

2.9%

5.3%

80

1151601

80.0%

5.1%

9.4%

649992

60%

3.8%

7.6%

90

1154867

80.0%

4.8%

8.9%

628527

60%

3.5%

6.7%

TABLE 4.1 - Mesures de performances

Nous avons également représentégraphiquement nos résultats par rapport à notre réseau social, la figure 4.8 montre le rapport, la précision, le temps d'exécution ainsi que le F-mesure par rapport à K .

FIGURE 4.8 - Représentation graphique du rappel, précision, F-mesure et temps

d'exécution

Chapitre 4. Implémentation et Expérimentations 55

4.3.1 Interprétation des résultats

Dans le but de comparer et juger les performances de chacune des deux fonctions en détectant leurs différents avantages et inconvénients à travers les mesures que nous avons effectué, voire, le temps d'exécution, le rappel, la précision ainsi que le rapport entre ces deux derniers qui est la F-mesure.

4.3.1.1 Point de vue temps d'exécution

Nous pouvons voir à partir le graphes de temps d'exécution dans la figure 4.8 que la mesure de similaritéAdamic/Adar prend un temps plus considérable par rapport à la mesure de similaritéCommons Neighbors. Cela s'explique par le fait que Adamic/Adar fait beaucoup d'opérations supplémentaires, voire l'extraction des voisins communs, le calcul de degrés des ces voisins communs. ce qui consomme plus de temps. Par contre la fonction Commons Neighbors calcule simplement le nombre de voisins communs entre chaque pair non connecté.

4.3.1.2 Point de vue Rappel

Nous rappelons qu'une forte valeur de rappel se traduit par un taux de résultat pertinent élevéet vice versa. Nous apercevons clairement les performances de la fonction Adamic/Adar à travers la courbe du rappel qui s'est montrétrès considérable par rapport à la fonction Commons Neighbors surtout quand le nombre des liens choisi k est important. ce qui est un remarquable avantage. Le rappel est restéfixéà zéro pour tout k ? [10, 30] et pour les deux fonctions, cela s'interprète par le fait qu'il n'existe aucun lien prédit correctement, ce qu'il présente un inconvénient pour ces deux mesures.

4.3.1.3 Point de vue Précision

Nous rappelons également qu'une forte valeur de précision s'interprète par une bonne qualitéde prédiction. Dans notre cas, nous avons marquéun écart de presque 2% privilégiant la fonction Adamic/Adar par rapport à la fonction Commons Neibhbors, cela s'exprimer que la fonction Adamic/Adar prédit correctement 1 lien plus par rapport à la fonction Commons Neighbors (Voir les figures : 4.6 et

4.7). Pour un k ? [10, 30] la précision est la même que le rapport est restéfixéàzéro pour les deux mesure ce qui représente aussi un inconvénient.

Chapitre 4. Implémentation et Expérimentations 56

4.3.1.4 Point de vue F-mesure

Nous rappelons que la F-Mesure est la moyenne entre le rappel et la précision. Nous remarquons que les deux mesures ont marquéun très mauvais F-mesure qui est restéfixéà zéro pendant l'intervalle k ? [10, 30] , cela est dûaux valeurs du rappel, et précision cependant nous pouvons constater. clairement que la fonction Adamic/Adar a donnéde très bon résultats par rapport à la fonction Commons Neighbors,

Enfin nous pouvons conclure que la performance de la fonction Adamic/Adar est supérieure à celle de la fonction Commons Neighbors, cette dernière prends plus de temps à l'exécution mais elle reste très efficace surtout quand le nombre de liens choisi est grand car elle donne la prioritéaux voisins qui sont rarement partagédans un réseau social, ce qui représente un grand manque dans la fonction Commons Neighbors.

57

Conclusion

UiTE à l'importance de la prédiction des liens opérant sur les réseaux sociaux. SActuellement, de nombreux auteurs se sont intéressés à ce nouveau domaine .Récemment, beaucoup des travaux de recherche proposant d'avantage de techniques et de fonctions de prédiction des liens dans les réseaux sociaux sont entrain de se faire.

Notre but à travers ce mémoire est d'effectuer une étude comparative entre deux algorithmes de prédiction des liens. Pour cela, nous avons choisi les fonctions Adamic/Adar et Voisin Communs, nous avons implémentéles deux fonctions en langage JAVA.

Nous avons appliquéles deux fonctions sur un réseau de collaboration scientifique

au sein de laboratoire de Mathématiques et d'Informatique de notre universiAmar Telidgi, ainsi, nous avons visualiséle réseau de collaboration avec l'outil

NodeXL.

Les différentes mesures que nous avons effectuées sur ces fonctions nous ont permis de conclure que la fonction Adamic/Adar est plus performante que Voisin commun, malgréle fait qu'elle nécessite un peu de temps d'exécution supplémentaire.

Ce travail nous a permis également de savoir ce qu'est les domaines d'analyse des réseaux sociaux et surtout la prédiction des liens dans les réseaux sociaux. L'implémentation que nous avons effectuée en langage JAVA nous a permis de nous familiariséd'avantage avec la programmation orientéobjet.

Enfin, Ce travail est une expérience très enrichissante qui nous a permis d'acquérir une quantitéappréciable de connaissances très utiles...

58

Bibliographie

[Ada03] Adar Adamic. Friend and neighbors on the web. Social Networks, 2003.

[And12] Kleinberg J et al Anderson, Huttenlocher D. Effects of user similarity in social media. In Proceedings of the 5th ACM International Conference on Web Search and Data Mining (WSDM'12), 2012.

[Ba02] Neda Z Barabasi, Jeong H and al. Evolution of the social network of scientic collaborations. Physica A, pages 590-616, 2002.

[BP11] Wu F S Bhattacharyya P, Garg A. Analysis of user keyword similarity in online social networks. Social Network Analysis and Mining, 2011.

[Cas14] Jean-Laurent Cassely. Sur twitter et facebook, la théorie des «six degrés de séparation» ne fonctionne pas. 2014.

[dLP13] Xavier de La Porte. Google+ : bienvenue dans la matrice. 2013.

[Fou07] Renders J M et al Fouss, Pirotte A. Random-walk computation of similarities between nodes of a graph with application to collaborative recommendation. IEEE Transactions on Knowledge and Data Engineering, 2007.

[Fre79] L. Freeman. Centrality in social networks : Conceptual clarification.social network. 1979.

[GE09] Michel B Patrick G Guillaume E, Fabien G. Analyse des réseaux sociaux et web sémantique : un état de l'art. ISICIL, 2009.

[Har12] Jean Harrold. Les types de réseaux sociaux les réseaux sociaux. 2012.

[JG02] Widom J Jeh G. Simrank : a measure of structural-context similarity. In : Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD'02), 2002.

[Kan10] R Kanawati. Prédiction de liens dans les réseaux sociaux. UniversitéParis 13, 2010.

[Kat53] Katz. A new status index derived from sociometric analysis. Psychome-trika, 1953.

BIBLIOGRAPHIE 59

[LC12] Ryan Lichtenwalter and Nitesh V. Chawla. Link prediction : fair and effective evaluation. Department of Computer Science The University of Notre Dame, 2012.

[Liu13] Haddadi H et al Liu, Hu Z. Hidden link prediction based on node centrality and weak ties. EPL (Europhysics Letters), 2013.

[Lu09] Zhou T Lu, Jin H. Similarity index based on local paths for link prediction of complex networks. Physical Review E, 2009.

[MH13] Zaki M Hasan, S Saeed. Link prediction using supervised learning. Machine Learning and Applications (ICMLA), 2013 12th International Conference, 2013.

[Mil67] S. Milgram. The small world problem. Psychology Today, 1967. [Mor33] Jacob Moreno. Emotions mapped by new geography. 1933.

[New01] Newman. Clustering and preferential attachment in growing networks. Physical Review Letters E, 2001.

[Pat10] Elodie Patenotte. Les media sociaux. 2010.

[Pat15] Elodie Patenotte. Les réseaux sociaux, cultures numériques remasterisées. 2015.

[S08] David S. Proof! just six degrees of separation between us. Microsoft

researchers, 2008.

[Sco00] Scott. Social network analysis,a handbook. second edition. 2000.

[VJ13] Lopes A Valverde J. Exploiting behaviors of communities of twitter users for link prediction. Social Network Analysis and Mining,, 2013.

[Win14] Andrew Winslow. Link prediction algorithms. 2014.

[Wp15] Z Xiaoyu W peng, W yurong. Link prediction in social networks : the state-of-the-art. Science China, 2015.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Là où il n'y a pas d'espoir, nous devons l'inventer"   Albert Camus