Comment le web est-il devenu social ? 2/2

icone menu

Le numérique et ses sciences dans le réel

Publié le 01/07/19Modifié le 06/11/19

Sur le même sujet

Le Web et ses usages sociétaux

Représenter ou modéliser les réseaux sociaux à l'aide de graphes ou de matrices

Quand on a besoin de représenter ou de modéliser les réseaux sociaux ; en mathématiques, en informatique, dans les sciences du numérique, le premier objet qu'on va utiliser ce sont des graphes, pour capturer la structure du réseau social.

  • Alors dans un graphe, on trouve des nœuds qui représentent par exemple les personnes, et puis on va trouver des arcs qui représentent les liens entre ces personnes. Et puis à partir de ça, on va très vite voir que ce modèle de graphe va pouvoir s'enrichir, et qu'on va en avoir différents types afin de représenter différents types de réseaux sociaux.
  • Par exemple, si dans un réseau social je peux avoir plusieurs liens avec une personne, par exemple un lien familial et un lien professionnel, alors on va passer du graphe au multigraphe : c'est-à-dire, on va avoir la possibilité de faire des arcs entre 2 mêmes nœuds, plusieurs arcs.
  • Si je m'intéresse par exemple à des réseaux dans lesquels les relations sont orientées, par exemple dans Twitter, je "suis" quelqu'un mais la personne n'est pas obligée de "me suivre", donc il y a un sens à la relation, alors je vais utiliser des graphes orientés.
  • Alors que pour Facebook, je n'en ai pas besoin parce que la relation par défaut d'amitié est symétrique. Je n'ai donc pas besoin d'orienter mon graphe. Je vais aussi être amené à regarder s'il y a différents types de liens dans mon réseau, par exemple sur LinkedIn, je peux avoir un lien professionnel, ou d'autres types de liens, et donc on va s'intéresser à des types de graphes qu'on dit "étiquetés", c'est-à-dire qu'on va mettre sur les arcs du graphe, différents types de liens.
  • Et puis les graphes, c'est un exemple parmi d'autres, on peut aussi s'intéresser par exemple à la représentation des communautés. Donc on ne regarde plus vraiment la structure du réseau social, mais on va regarder des groupes à l'intérieur, par exemple des gens qui ont les mêmes centres d'intérêt. Et même d'un point de vue mathématique, là où on utilise des graphes, on pourrait utiliser d'autres structures, comme les matrices.
  • Une matrice, par exemple, peut être construite à partir d'un graphe, notamment ce qu'on appelle une matrice d'adjacence, c'est-à-dire que pour chaque arc que j'ai dans mon graphe, pour chaque lien que je vais avoir dans mon réseau social, je vais mettre dans ma matrice un petit 1 pour dire que j'ai une relation.

Par exemple, si je prends une matrice d'adjacence, les colonnes et les lignes ont toutes les nœuds de mon réseau, et s'il y a un lien entre 2 nœuds de mon réseau, je vais mettre dans la petite case à l'intersection de la colonne et de la ligne correspondante, pour indiquer que j'ai un petit arc, je mets un 1.

  • Et puis ça aussi peut être amené à évoluer, par exemple si demain je m'intéresse à des réseaux dans lesquels on met des poids, c'est-à-dire par exemple pour représenter la certitude que j'ai sur une relation ou la force qu'il y a entre la relation de 2 personnes, je vais avoir ce qu'on appelle un graphe pondéré. Et de façon symétrique, je vais avoir une matrice adjacente, où au lieu de mettre des 1 dans cette matrice, je vais mettre des petits poids pour indiquer à quel point la relation est forte. Donc, en fonction des différents types de réseaux, je vais être amené à utiliser différents types de modèles, mais aussi en fonction des différents types de traitements que je vais vouloir faire dessus.

Quels sont les enjeux scientifiques et techniques des réseaux sociaux ?

Il y a beaucoup d'enjeux scientifiques et techniques en fait avec ces réseaux sociaux, on vient d'en voir une avec la question des modèles. C'est déjà une question scientifique : comment choisir le modèle pour représenter, stocker ces données du réseau social ? Comment ce modèle peut-il être implémenté de façon efficace en machine pour prendre le moins d'espace possible, pour être indexé le plus efficacement possible, pour permettre l'accès le plus efficacement possible ? Mais aussi comment je peux le distribuer sur plusieurs machines lorsqu'il devient trop gros et qu'il ne tient pas sur une machine ? Donc déjà la question du modèle, de la représentation, du stockage et de la gestion de ces données pose des questions scientifiques et techniques.

  • En informatique, il y a toujours ces deux aspects, la structure de données et l'algorithme. Et donc se pose aussi la question du traitement que je vais faire sur ces données, et là ces traitements peuvent être extrêmement complexes.

Alors, ils sont difficiles à deux titres : d'une part parce qu'on peut avoir de très gros volumes de données, on a des réseaux sociaux maintenant qui ont des milliards de relations à l'intérieur, et d'autre part parce que le traitement en lui-même qu'on va vouloir faire dessus va être compliqué.

Pour exemple : un traitement qu'on veut faire assez classiquement dans un réseau social, c'est de trouver le plus court chemin qui existe entre deux personnes, pour savoir comment elles sont reliées. Et donc, chercher ce plus court chemin, c'est déjà un traitement qui peut prendre du temps parce qu'il faut regarder tous les chemins qui existent. 

  • Parmi ceux-là, regarder ceux qui relient bien les deux nœuds qui nous intéressent, et puis après choisir le plus petit à l'intérieur, donc c'est déjà compliqué. Mais en plus, dans les réseaux sociaux, on va s'intéresser par exemple à trouver les personnes les plus centrales dans le réseau, pour voir qui sont les gens les plus influents, par exemple dans le réseau. Pour faire cela, il y a une métrique qu'on appelle la "centralité d'intermédiarité", et justement, cette métrique, quand on la calcule, consiste à regarder le nombre de fois où une personne est sur un plus court chemin entre deux autres nœuds. 
  • En fait on regarde à quel point elle est intermédiaire, à quel point on passe par elle pour relier les autres. Et donc on voit qu'on va être obligé de calculer plein de plus courts chemins pour chacun des nœuds pour voir quels sont ceux qui y sont le plus souvent. Et là on voit qu'on augmente encore la complexité.

Donc si on met ensemble le fait qu'on a des gros volumes de données et le fait que les calculs qu'on va faire dessus sont complexes, et bien on voit que très rapidement, on va se poser des questions d'optimisation du calcul, voire même d'approximation du calcul pour avoir des résultats qui ne sont pas tout à fait exacts, mais suffisamment bons.

  • Plein d'autres questions se posent d'un point de vue technologique, par exemple, ces graphes sont amenés à changer dans le temps, les réseaux sociaux évoluent. On crée ou on enlève des nouvelles relations, donc comment est-ce que je gère ces changements ? Comment je les représente ? Comment je les analyse ? Autant de questions sur la temporalité du graphe.

Ou encore, ces graphes vont avoir des contenus qui vont transiter sur eux, on a parlé de médias sociaux, donc je vais échanger, non seulement du texte, mais des images, du son, etc., comment je traite ces contenus ? Comment je peux les analyser ? En regard du réseau social, de la structure pour avoir des indicateurs, savoir qui est intéressé par quel sujet, par exemple dans le réseau social.

  • Toutes ces questions sont effectivement très liées aux technologies et aux sciences du numérique, mais il y en a beaucoup d'autres. En fait c'est une problématique pluridisciplinaire puisqu'on a des enjeux juridiques, des enjeux politiques, des enjeux sociétaux qui se posent à travers ces réseaux sociaux.
  • Donc en fait on pourrait dire que c'est justement parce que ces réseaux sont sociaux en fait, qu'ils posent des questions interdisciplinaires.