• Aucun résultat trouvé

Classification hiérarchique mixte des communautés dans les

réseaux sociaux

5.1 Introduction

Les réseaux ou les graphes sont généralement utilisés pour modéliser divers systèmes complexes tels que les systèmes physiques, biologiques, sociaux et politiques. Le noeud représente, dans un réseau complexe, un membre. Cependant, une arête montre les rela-tions existant entre deux membres. En fait, les réseaux complexes sont caractérisés par une structure de communauté ayant une valeur théorique et pratique importante. La dé-tection de ces communautés est largement appliquée dans divers domaines du monde réel, comme la détection des gènes dotés de la même fonctionnalité dans un réseau biologique (Girvan and Newman, 2002, irvan and Newman, 2002), la détection des acteurs d’influence dans un réseau politique (Ratkiewicz et al., 2011, atkiewicz et al., 2011), etc. En outre, les réseaux montrent la structure et les relations hiérarchiques des communautés. Cette hiérarchie simplifie la division du réseau en quelques grandes communautés qui peut être subdivisées en unités plus petites. En fait, la définition de la structure hiérarchique et mo-dulaire appropriée des réseaux complexes joue un rôle primordial pour la compréhension des systèmes complexes où la détection de communauté est considérée comme un problème de partitionnement de graphe NP-complet.

Dans ce chapitre, nous présentons les étapes principales du processus de détection des communautés proposé, à savoir la modélisation des communautés dans les réseaux sociaux sous forme de graphe dans la section 5.2 et la classification hiérarchique mixte (Toujani and Akaichi, 2019a, oujani and Akaichi, 2019a) dans la section 5.3 .

5.2 Modélisation et hiérarchisation des

com-munautés

Dans cette section, nous présentons la formalisation de la structure du réseau, décri-vons le treillis d’un patrtionnement d’une communauté et définissons les fonctions utilisées pour modéliser le réseau et pondérer le graphe.

5.2.1 Formalisation

Nous nous intéressons, dans ce travail, à la détection des communautés en fonction de la structure hiérarchique du réseau. Soit SN = (V, E, µ) où SN correspond au graphe mo-délisant le réseau social, V dénote les noeuds représentant les membres des réseaux sociaux et µ indique les poids des arêtes. Le problème de détection de communauté hiérarchique défini consiste à trouver le partitionnement de SN P (SN ) = {P1, P2, ..., Pn} fourni avec les opérateurs hiérarchiques à savoir l’agrégation et la décomposition. Dans notre travail, le terme communauté ou groupe réfère au nombre des noeuds regroupés dépendants et partageant fortement les mêmes opinions.

5.2.2 Treillis et partitionnement

Soit W (SN ) l’ensemble des partitions de SN . P1, P2, ..., Pk est une partition en k sous-ensembles de SN si et seulement si :

— ∀ pi ∈ W (SN ) et pi , ∅ pour i = 1, ..., k — ∀ i , j , pi ∩ pj , ∅

— S

i=1,...,k pi = SN

Soit P (SN ) = {p1, p2, ...., ps} and G(SN ) = {g1, g2, ...., gr}, Notre méthode de détection de communauté consiste à trouver un partitionnement hiérarchique fourni par la relation ≤ : "être plus fine que" définie de la manière suivante.

P ≤ G ⇔ ∀pi∈ P, ∃gj ∈ G : pi⊆ gj (5.1)

Par ailleurs, si P < G, chaque classe de p est l’union des classes g qu’elle contient :∀gj

G : gj= ∪i:pi⊆gjpi

Ainsi, P détermine une partition des classes de S. La relation ≤ est un ordre partiel, c’est à dire qu’elle vérifie les trois conditions suivantes :

— Elle est réflexive :

∀Z ∈ W (SN )onaZ ≤ Z (5.2)

— Elle est antisymétrique :

— Elle est transitive : P ≤ Z, Z ≤ G ⇒ P ≤ G (5.4) P = p1, p2, ...., pa | {z } g1 + pa+1, ...., pb | {z } g2 + pb+1, ..., | {z } g3 + pu, ...., ps | {z } gr . G = g1, g2, g3, ..., gr.

P et G ont un infimum (noté P ∩ G) et un supremum (noté P ∪ G) définis comme :

(P ∩ G) ⊆ P et(P ∩ G) ⊆ G, et∀D ⊆ P etD ⊆ G ⇒ D ⊆ (P ∩ G) (5.5) (P ∪ G) ⊇ P et(P ∪ G) ⊇ G, et∀D ⊇ P etD ⊇ G ⇒ D ⊇ (P ∪ G) (5.6) D désigne tout élément (sous-partition) de SN. Par conséquent, la relation entre ∩, ∪ et ⊆ est donnée par :

P ⊆ G ⇔ P ∪ G = P ⇔ P ∩ G = G (5.7)

Ainsi, les partitions de W (SN ) sont fournies avec la relation ⊆ et les opérateurs ∩, ∪ constitue un treillis. La figure 5.1 décrit la construction du pseudo-treillis de notre partitionnement hiérarchique pour P = {m1, m2, m3, m4}.

Figure 5.1: Exemple des treillis obtenus avec P (SN ) = {m

1

, m

2

, m

3

, m

4

}

5.2.3 Fonctions Utiles

Pour faciliter la modélisation des communautés, nous utilisons quelques fonctions qui servent à définir le poids des arrêts du graphe décrivant les groupes des utilisateurs des réseaux sociaux.

— Covariance(Talbi, 2013, albi, 2013) :

Pour mettre l’accent sur l’indépendance et la similarité de la hiérarchie de la structure communautaire dans le réseau social, nous mesurons la covariance qui

qualifie le degré d’indépendance entre deux variables. En fait, nous appliquons cette mesure de covariance sur les liens reliant les noeuds du réseau. En effet, un lien existe entre deux noeuds ayant un grand nombre de voisins communs. Dans notre contexte, deux noeuds ont la même tendance d’opinions. Si un lien connecte deux noeuds avec un petit nombre de voisins communs, il présente alors une faible covariance. Pour calculer la covariance, il faut calculer la matrice d’adjacence A du réseau. Si deux noeuds, V i et V j, de ce réseau sont directement connectés,

A[i, j] serait égale à 1, sinon A[i, j] = 0. La covariance d’un lien est représentée

par Ei,j est définie par l’équation suivante :

cov(Ei,j) = 1

n

n X k=1

(A[i, k] − A[i])(A[j, k] − A[j]) (5.8)

Où A représente la moyenne du vecteur A[i], n est le nombre de noeuds du réseau et k désigne un compteur indiquant le ièmenoeud du réseau

— Similarité de Jaccard (Liben-Nowell and Kleinberg, 2007, iben-Nowell and Klein-berg, 2007) :

Le coefficient de Jaccard est le rapport entre le cardinal (taille) de l’intersection des ensembles considérés et le cardinal de l’union des ensembles. Nous utilisons ce coefficient pour mesurer le chevauchement des opinions contenant deux noeuds voisins connectés à un lien donné. En fait, la fonction de Jaccard introduite est axée sur la classification des sentiments (opinions positives, négatives ou floues) échangées entre les utilisateurs des réseaux sociaux.

Nous commençons par l’élaboration du graphe pondéré modélisant le réseau. Ainsi, nous associons, à chaque noeud, un ensemble d’opinions déterminé à l’aide de la classification floue introduite dans (Toujani Radhia and Jalel, 2015, oujani Radhia and Jalel, 2015). Ensuite, nous pondérons chaque arête par la valeur de Similarité de Jaccard. Ainsi, étant donné deux opinions extraites des noeuds voisins Op (Vi) et Op(Vj), nous utilisons le coefficient de jaccard pour mesurer la similarité sémantique et la similarité structurelle lorsque nous remplaçons Op (Vi) par Niet Op (Vj) par Nj. Ce coefficient est déterminé comme suit :

J S(OpVi, OpVj) =Op(Vi) ∩ Op(Vj)

Op(Vi) ∪ Op(Vj) (5.9) En fait, si deux noeuds ont plus de voisins communs, le chevauchement des voisi-nages serait important et les liens entre eux seraient plus écrasants.

ScoreimportantOp : Le score d’importance des noeuds : L’importance d’un noeud dans un réseau quantifie la capacité de ce noeud dans la diffusion d’informations au reste du graphe. En fait, l’identification des utilisateurs influents dans les réseaux sociaux ou les communautés est utile pour suivre, par exemple, la diffusion des informations et pour tirer profit des discussions entre les membres des groupes. De plus, découvrir des utilisateurs influents garantit la diffusion des informations précises et des conseils positifs.

Dans le cadre de notre travail, pour mesurer le degré d’importance des noeuds, nous nous concentrons à la fois sur la dépendance et la similarité des utilisateurs

des réseaux sociaux. Nous combinons, d’une part, la moyenne de la covariance des liens reliant deux noeuds, ce qui montre l’indépendance des noeuds. D’autre part, nous nous focalisons sur la similarité basée sur les opinions obtenues en appliquant le coefficient de Jaccard. Par conséquent, pour obtenir la moyenne arithmétique entre la covariance et la similarité de jaccard, il est nécessaire de normaliser les intervalles de ses deux dernières fonctions. Pour ce faire, nous in-troduisons une conversion des valeurs de covariance. Soit [−1, 1[= [−1, 0[∪[0, 1[. Après avoir calculé la valeur de covariance, nous définissons la transformation suivante : µ(cov(Ei,j)) =

 −(cov(Ei,j))if cov(Ei,j) ∈ [−1, 0[

cov(Ei,j)if cov(Ei,j) ∈ [0, 1[

Ensuite, l’équation suivante montre les formules utilisées pour calculer le score d’importance des noeuds :

ScoreimportantOp= µ(cov(Ei,j)) + J S((Vi), (Vj))

2 (5.10)

Une fois nous attribuons les valeurs de ScoreimportantOp : aux different arêtes du graphe, nous procédons à son partitionnement. Dans la section suivante, nous détaillerons les étapes principales de notre processus de détection hiérarchique des communautés.

5.3 Approche de classification hiérarchique des

communautés

Afin de trouver une structure de communauté hiérarchique significative, nous for-mulons le problème de détection des communautés comme un problème de classification hiérarchique. Malgré le grand nombre des algorithmes de détection hiérarchique de com-munauté proposés, certains problèmes restent non résolus. Par exemple, concernant les réseaux à grande échelle, la majorité des algorithmes existants se caractérisent par leur faible efficacité et leur complexité temporelle élevée. Ainsi, les algorithmes hiérarchiques utilisés pour la détection de communauté avec une qualité élevée produisent des réseaux de petite ou moyenne taille qui ne peuvent pas être appliqués efficacement dans les grands réseaux en raison de leur complexité considérable. En outre, en appliquant une méthode de classification unique, il est possible d’obtenir des hiérarchies communautaires déséqui-librées pouvant être dominées par une seule grande communauté absorbant des sommets uniques un par un. Ceci résulte en un déséquilibre de la hiérarchie à tous les niveaux hiérarchiques.

Nous pouvons conclure que, malgré l’importance des algorithmes hiérarchiques de di-vision et d’agglomération, la combinaison des deux n’a pas été examinée de manière appro-fondie dans les travaux existants pour obtenir une structure de communauté hiérarchique complète. Pour cette raison, notre principal objectif, dans cette étude, est d’obtenir une hiérarchie des communautés qui révèle plus clairement et plus complètement la structure

de la communauté en réseau. La figure 5.2 présente le processus proposé de la classification hiérarchique mixte.